胡笑天,王克儉*,王超,剪文灝,何振學(xué)
(1.河北農(nóng)業(yè)大學(xué)信息科學(xué)與技術(shù)學(xué)院,保定 071001;2.河北省城市森林健康技術(shù)創(chuàng)新中心,保定 071001;3.河北省農(nóng)業(yè)大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,保定 071001; 4.河北省木蘭圍場國有林場管理局,承德 067000)
原木楞堆是森林收獲過程中原木暫存和運(yùn)輸?shù)闹匾绞?,傳統(tǒng)的楞堆原木材積計(jì)量都是采用人工檢尺的方法,這種方法需要大量的人力,并且容易受檢測工作人員的工作態(tài)度和經(jīng)驗(yàn)影響,效率低、周期長、成本高。隨著計(jì)算機(jī)技術(shù)特別是計(jì)算機(jī)視覺技術(shù)的發(fā)展,通過圖像采集、端面識(shí)別代替人工檢尺是原木管理的迫切需求,同時(shí)原木輪廓的多樣性、拍照環(huán)境的復(fù)雜性,對設(shè)計(jì)魯棒的原木輪廓識(shí)別算法提出了更高的要求。筆者針對復(fù)雜環(huán)境,提出了一種原木端面識(shí)別方法,為自動(dòng)檢尺系統(tǒng)的構(gòu)建奠定了基礎(chǔ)。
近年來原木端面識(shí)別主要是以景林和林耀海團(tuán)隊(duì)為代表的對傳統(tǒng)方法的研究。2006年,景林等[1]通過計(jì)算灰度圖像的閾值等效圓擬合原木端面面積;2013—2015年該團(tuán)隊(duì)結(jié)合彩色特征和空域特征[2]、多特征綜合[3]對成捆原木端面區(qū)域進(jìn)行了識(shí)別。鐘新秀等[4]使用Lab顏色空間的K-Means聚類結(jié)合Hough變換對原木根數(shù)進(jìn)行統(tǒng)計(jì)。林耀海等[5]利用圓弧特征對原木輪廓進(jìn)行了識(shí)別。另外,趙亞鳳等利用雙目視覺[6-8]對原木徑級和材積進(jìn)行了計(jì)算。李小林等[9]通過將K-Means算法與分水嶺算法相結(jié)合計(jì)算出原木端面區(qū)域。唐浩等[10]基于色差聚類對原木圖像端面進(jìn)行了檢測與統(tǒng)計(jì)。近年來,隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在圖像處理上的優(yōu)勢也顯現(xiàn)出來[11],林耀海等[12]針對成捆原木端面裂紋、端面有污漬霉變等情況引入YOLOv3-tiny卷積神經(jīng)網(wǎng)絡(luò)對原木端面圖像進(jìn)行目標(biāo)檢測,獲得了較好效果。
上面這些算法主要利用的是原木端面為類圓的幾何特征,原木邊緣、紋理等特征進(jìn)行識(shí)別,雙目視覺對環(huán)境光照要求敏感,計(jì)算復(fù)雜性高。這些算法在原木端面較為完整干凈并且光照比較好的情況下能夠準(zhǔn)確實(shí)現(xiàn)原木端面面積計(jì)算。但是,原木背景環(huán)境復(fù)雜、原木楞堆參差不齊、端面差異大,或者原木端面存在遮擋重疊及陰影覆蓋等情況對原木自動(dòng)檢尺提出了更高的要求。以SSD(single shot multibox detector)和YOLO為代表的目標(biāo)檢測算法不需要產(chǎn)生候選框,直接計(jì)算出物體的類別概率和位置等信息,具有較高的檢測精確度和檢測速度。
本研究針對自然環(huán)境下原木楞堆存在的端面大小差異大、遮擋重疊或陰影覆蓋等問題,以SSD算法作為基本的框架,對其進(jìn)行改進(jìn)。首先在SSD上引入RFB模塊,RFB模塊結(jié)合了空洞卷積和多尺度卷積核,能夠提高網(wǎng)絡(luò)的感受野,能夠較好識(shí)別小目標(biāo);然后將CBAM注意力模塊添加到SSD的有效特征層,提高SSD的特征提取能力,對于遮擋重疊或陰影覆蓋等有較好效果。
本研究使用的實(shí)驗(yàn)數(shù)據(jù)是拍攝的自然環(huán)境下的成垛原木以及木材廠拍攝的成垛原木,拍攝地點(diǎn)為河北省承德市木蘭圍場工作驗(yàn)收現(xiàn)場以及木材廠,拍攝設(shè)備采用尼康D7500相機(jī)和華為mate系列手機(jī)。
使用python對圖像進(jìn)行裁剪,將原始一張圖像裁剪成多個(gè)300×300的標(biāo)準(zhǔn)圖像,標(biāo)注圖像若沒有原木則xml文件為空,會(huì)導(dǎo)致訓(xùn)練時(shí)出錯(cuò),因此將不含原木的圖像從數(shù)據(jù)集中剔除。在測試集中可以保留不含原木的圖像,最終得到828張,實(shí)驗(yàn)中圖像數(shù)量分布為:訓(xùn)練集596張,占總數(shù)據(jù)的72%;驗(yàn)證集66張,占總數(shù)據(jù)的8%;測試集166張,占總數(shù)據(jù)的20%。清楞和混楞的原木圖像如圖1a~c所示,其中清楞是原木端面大小相似的原木楞堆,混楞是原木端面差異較大的原木楞堆。原木端面大小差異較大的混楞原木堆見圖1b,原木端面存在差異且存在陰影和遮擋的原木楞堆見圖1c。
圖1 原木楞實(shí)驗(yàn)數(shù)據(jù)示例Fig.1 Examples of log pile experimental data
為了使算法有更好的泛化性,模型中使用數(shù)據(jù)增廣算法,減少因數(shù)據(jù)集數(shù)量限制對模型性能發(fā)揮的影響。本研究使用了圖像旋轉(zhuǎn)、翻轉(zhuǎn)、高斯噪聲、椒鹽噪聲、圖像亮暗變化對訓(xùn)練集數(shù)據(jù)進(jìn)行擴(kuò)充。圖像加入噪聲以及亮度變化的結(jié)果見圖1d~f。
裁剪及數(shù)據(jù)增廣完成后獲得實(shí)驗(yàn)圖像3 312張,使用labelImg工具對圖像進(jìn)行標(biāo)注,將圖像中的原木框選并注明類別,標(biāo)注圖像如圖1g~i所示。
SSD是一種one stage的目標(biāo)檢測網(wǎng)絡(luò)[13]。SSD結(jié)合了Faster R-CNN的anchors機(jī)制和YOLO回歸的思想,不用產(chǎn)生候選框,直接對圖像進(jìn)行多尺度的回歸。
本研究中的SSD網(wǎng)絡(luò)以300×300的圖像作為輸入,以VGG16作為主干網(wǎng)絡(luò),VGG16具有13個(gè)卷積層和3個(gè)全連接層,SSD將VGG16的全連接層fc6和fc7替換成卷積層,并更名為conv_fc6和conv_fc7,舍棄fc8層并在VGG16后加入了額外的卷積層即Extra層,包括conv6等一系列卷積層。最后以conv4_3、conv_fc7、conv8_2、conv9_2、conv10_2、conv11_2作為有效特征層進(jìn)行目標(biāo)的檢測,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
SSD進(jìn)行目標(biāo)檢測時(shí),通過上述6個(gè)有效特征層提取不同尺度的特征,檢測目標(biāo)的方法借鑒Faster R-CNN的anchor機(jī)制,預(yù)先設(shè)定先驗(yàn)框,先驗(yàn)框生成規(guī)則如下:
SSD的6個(gè)有效特征層每個(gè)特征單元分別會(huì)產(chǎn)生4,6,6,6,4,4個(gè)先驗(yàn)框,不同特征層的先驗(yàn)框尺度不同,同一個(gè)特征單元的先驗(yàn)框?qū)捀弑炔煌L卣鲌D中每個(gè)特征單元產(chǎn)生先驗(yàn)框的個(gè)數(shù)由參數(shù)aspect_ratio決定,asprct_ratio即模型給定的不同特征層先驗(yàn)框的個(gè)數(shù)和寬高比,其具體值為aspect_ratio ={[2],[2,3],[2,3],[2,3],[2],[2]}。生成情況如圖2所示。
以conv4_3為例,aspect_ratio值只有1個(gè)2,根據(jù)圖2所示規(guī)則,默認(rèn)產(chǎn)生2個(gè)不同大小的正方形,如圖2虛線所示;然后根據(jù)aspect_ratio=2,得出寬高比為1∶2的兩個(gè)長方形,因此一共產(chǎn)生4個(gè)先驗(yàn)框。再如conv_fc7的aspect_ratio值為[2,3],兩個(gè)值分別得到寬高比為1∶2和1∶3的4個(gè)長方形,一共產(chǎn)生6個(gè)先驗(yàn)框。
圖2 預(yù)測框結(jié)構(gòu)Fig.2 Structure chart of prediction box
SSD模型訓(xùn)練過程如圖3所示。
圖3 SSD檢測流程Fig.3 SSD detection process
首先生成各有效特征層相應(yīng)數(shù)量的先驗(yàn)框,根據(jù)輸入的訓(xùn)練樣本,獲取預(yù)先人工標(biāo)注的真實(shí)框;然后計(jì)算真實(shí)框與所有先驗(yàn)框的交并比IoU,選出一個(gè)IoU值最大的先驗(yàn)框,保證至少有一個(gè)先驗(yàn)框可以作為正樣本與真實(shí)框進(jìn)行匹配,將剩余先驗(yàn)框中IoU值大于設(shè)定閾值的框也作為正樣本與真實(shí)框進(jìn)行匹配;將保留的先驗(yàn)框與真實(shí)框進(jìn)行中心位置和寬高差異的計(jì)算,即計(jì)算先驗(yàn)框相對于真實(shí)框的偏移量,并將計(jì)算結(jié)果保存,這樣能夠?qū)⒄鎸?shí)框轉(zhuǎn)換成能參與loss計(jì)算的形式;訓(xùn)練樣本經(jīng)過網(wǎng)絡(luò)預(yù)測得到一系列的預(yù)測框,將預(yù)測框和上述保存的結(jié)果進(jìn)行l(wèi)oss回歸計(jì)算,并將loss反向傳播修正網(wǎng)絡(luò)權(quán)重。
訓(xùn)練完成之后的預(yù)測過程為將待測圖片輸入網(wǎng)絡(luò)進(jìn)行預(yù)測,生成的預(yù)測框根據(jù)類別置信度和相應(yīng)類別的置信度值,將置信度值低于閾值的預(yù)測框舍棄,保留下來的預(yù)測框的數(shù)量可能依然很多,所以需要通過NMS進(jìn)行進(jìn)一步的篩選,得到最終的檢測結(jié)果。
SSD目標(biāo)檢測算法雖然具有較高的速度,但是在對小目標(biāo)的檢測上,容易出現(xiàn)漏檢的現(xiàn)象[14-15]。這是因?yàn)镾SD網(wǎng)絡(luò)采用了多尺度特征融合的方法,含有多個(gè)有效特征層來提取圖像的特征,但是對于小目標(biāo)的檢測主要依賴conv4_3特征層,該層位于網(wǎng)絡(luò)的淺層,感受野小,特征表達(dá)力差。
因此,為了增強(qiáng)淺層conv4_3的特征提取能力,將其相鄰的有效特征層conv_fc7增加一個(gè)分支,將該分支經(jīng)過上采樣變成與conv4_3大小相同的特征圖后融合提高原conv4_3的特征提取能力,conv_fc7特征圖與conv4_3的大小差異相比其他有效特征層更小,因此選conv_fc7與其進(jìn)行上采樣融合最合適。
融合兩層特征替換原conv4_3后,為進(jìn)一步擴(kuò)大SSD有效特征層的感受野,提高網(wǎng)絡(luò)的特征提取能力,引入了RFB模塊,RFB模塊來源于RFB Net[16],由多分支卷積層和膨脹卷積層組成。多分支卷積層借鑒了Inception的思想,用不同尺寸的卷積核進(jìn)行卷積操作,從增加網(wǎng)絡(luò)的寬度實(shí)現(xiàn)增加感受野、提升網(wǎng)絡(luò)性能的目的,但網(wǎng)絡(luò)寬度的增加也造成網(wǎng)絡(luò)學(xué)習(xí)參數(shù)的增加,使網(wǎng)絡(luò)計(jì)算量增大并且容易陷入過擬合。為了使計(jì)算量不增加又能擴(kuò)大網(wǎng)絡(luò)的感受野,在引入多分支卷積結(jié)構(gòu)的基礎(chǔ)上加入膨脹卷積層,與普通卷積的不同是膨脹卷積包括一個(gè)膨脹率,用來表示膨脹的大小,若膨脹率為1,則與普通卷積核相同;膨脹率為3,則在普通卷積核的每個(gè)參數(shù)之間插入兩個(gè)空洞。因?yàn)槭强斩?,所以在?jì)算時(shí)并沒有增加計(jì)算量且擴(kuò)大了感受野。
RFB模塊分為BasicRFB和BasicRFB-a兩種,BasicRFB模塊結(jié)構(gòu)見圖4虛線內(nèi)部。BasicRFB模塊使用了1×1、3×3、5×5 3個(gè)不同尺寸的卷積核構(gòu)成多分支卷積結(jié)構(gòu),模塊內(nèi)還包含rate={1,3,5}的膨脹卷積層;最后將不同尺度的特征圖進(jìn)行融合,并使用1×1卷積來調(diào)整特征維度,調(diào)整特征維度后與shortcut執(zhí)行element-wise相加。BasicRFB-a與BasicRFB不同的是使用3×3卷積層替換5×5的卷積層,并將原有的3×3卷積層拆分成1×3和3×1兩個(gè)卷積層,減少了計(jì)算量,提升了網(wǎng)絡(luò)性能。
圖4 BasicRFB結(jié)構(gòu)Fig.4 Structure chart of BasicRFB
將BasicRFB_a放在融合conv4_3與經(jīng)過下采樣的conv_fc7分支之后,目的是在增加較少計(jì)算量的情況下進(jìn)一步擴(kuò)大該特征層的感受野。將BasicRFB放在conv_fc7層之后,并將SSD的extras特征層中的前兩組卷積層即conv6和conv7替換成BasicRFB,增大了網(wǎng)絡(luò)的感受野。
擴(kuò)大了感受野之后,網(wǎng)絡(luò)的特征提取能力增強(qiáng),但是不同特征的重要程度不同,而且在計(jì)算機(jī)視覺領(lǐng)域,卷積操作的工作大部分是在空間上更多特征的融合,而卷積對通道維度的特征融合僅限于對特征圖的所有通道進(jìn)行融合。針對這一問題引入注意力機(jī)制,在原木端面識(shí)別的過程中根據(jù)特征的重要程度分配權(quán)重。
常用的注意力機(jī)制有兩個(gè),分別是squeeze-and-excitation (SE)和convolutional block attention module (CBAM)。SE模塊僅對通道特征進(jìn)行加權(quán),CBAM則是一種結(jié)合通道和空間的注意力模塊,經(jīng)過對比實(shí)驗(yàn),本研究選擇的是CBAM注意力模塊[17],實(shí)驗(yàn)結(jié)果如表1所示。
表1 注意力機(jī)制對比Table 1 Comparison of attention mechanism 單位:%
本研究改進(jìn)的目的是加強(qiáng)模型對小目標(biāo)的檢測能力,從而提高原木端面的識(shí)別效果。因此召回率的提升較為重要,從表1數(shù)據(jù)可以看出,SE模塊和CBAM在混楞原木端面識(shí)別中,CBAM的召回率較高,因此本研究選擇CBAM來對SSD進(jìn)行改進(jìn)。
CBAM首先通過一個(gè)通道注意力模塊,將輸入的特征圖F0經(jīng)過最大化池化和平均池化操作得到兩個(gè)通道特征,再將兩個(gè)通道特征分別通過兩個(gè)全連接層,將全連接層的輸出融合再經(jīng)過sigmoid激活,得到了通道注意力權(quán)值Mchannel,如公式(1)所示。
Mchannel=σ{MLP[AvgPool(F0)]+
MLP[MaxPool(F0)]}
(1)
式中:MLP為全連接層;AvgPool和MaxPool分別為平均池化和最大池化;σ為sigmoid激活函數(shù)。
將通道注意力權(quán)值Mchannel與輸入特征F0進(jìn)行矩陣全乘,得到空間注意力模塊的輸入F1,如公式(2)所示;將F1分別通過最大池化和平均池化得到兩個(gè)特征圖,融合后再經(jīng)過一個(gè)卷積層得到空間維度特征權(quán)值Mspatial,如公式(3)所示;利用矩陣全乘運(yùn)算,將這個(gè)特征權(quán)值與F1融合得到的新特征圖F2能夠加強(qiáng)有效特征的權(quán)重,提高識(shí)別效果,如公式(4)所示。
F1=Mchannel×F0
(2)
Mspatial=σ(f7×7{[AvgPool(F1),MaxPool(F1)]})
(3)
F2=MspatialF1
(4)
式中,f7×7為一個(gè)7×7的卷積層。
本研究在SSD目標(biāo)檢測網(wǎng)絡(luò)的基礎(chǔ)上使用RFB模塊與CBAM注意力機(jī)制(圖5)。對conv_fc7層的一個(gè)分支使用上采樣,將conv_fc7與conv4_3兩層進(jìn)行特征組合,提高特征提取能力,然后在融合后的特征圖后嵌入BasicRFB_a模塊,使其成為第1個(gè)有效特征層(effective feature layer,EF1);在conv_fc7后嵌入BasicRFB模塊,作為EF2;將原SSD的conv6、conv7兩個(gè)卷積層替換成BasicRFB模塊,并作為EF3、EF4;第5和第6特征層保持原有特征層不變,即Conv8_2和Conv9_2。
圖5 改進(jìn)SSD結(jié)構(gòu)Fig.5 Improved SSD structure diagram
此外,在SSD嵌入RFB模塊的基礎(chǔ)上,為了使較大的目標(biāo)獲得較大的感受野并保持特征的完整性,較小的目標(biāo)可以使用較小的感受野來保證足夠的細(xì)節(jié)信息,引入CBAM注意力機(jī)制,使得網(wǎng)絡(luò)自適應(yīng)的學(xué)習(xí)特征在空間和通道上的權(quán)重,與原特征圖相乘后的結(jié)果能夠更有效地使網(wǎng)絡(luò)增加對有效特征的關(guān)注,尤其是對小目標(biāo)細(xì)節(jié)特征的關(guān)注。在conv4_3、conv_fc7、EF3、EF4、conv8_2、conv9_2層嵌入CBAM模塊,提高網(wǎng)絡(luò)的特征提取能力。改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
原木端面檢測的流程為輸入待檢測圖像,由改進(jìn)的網(wǎng)絡(luò)各層產(chǎn)生先驗(yàn)框并用卷積對不同特征圖提取檢測結(jié)果,經(jīng)過分類器判定是原木或背景后,采用非極大值抑制去除大量的無效框,進(jìn)而獲得最終的原木端面檢測結(jié)果。
為驗(yàn)證本研究改進(jìn)SSD網(wǎng)絡(luò)的有效性和實(shí)用性,對算法進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)使用的硬件平臺(tái)為windows10操作系統(tǒng),內(nèi)存16 GB,處理器為酷睿i7-9750H,GPU為NVIDIA GeForce GTX 1660Ti。
神經(jīng)網(wǎng)絡(luò)中最常用的評價(jià)指標(biāo)有精確率(precision,P)、召回率(recall,R)、AP(average precision,AP)值和mAP(mean average precision)值,本研究檢測類別只有原木,因此評價(jià)指標(biāo)只使用精確率、召回率和AP值。其中精確率和召回率的計(jì)算如公式(5)、(6)所示。
(5)
(6)
式中:tp為被判斷為正樣本的正樣本;fp為被判斷為正樣本的負(fù)樣本;fn為被判斷為負(fù)樣本的正樣本。
AP則為一個(gè)目標(biāo)檢測中的常用指標(biāo),通常其AP值越高,說明這個(gè)分類器的效果越好。根據(jù)應(yīng)用場景的不同,對精確率和召回率的要求不同,因此得到精確率和召回率后,可以繪制Precision-Recall曲線來幫助分析,確定應(yīng)用場景適合的值,AP的幾何意義是P-R曲線下的面積。
為驗(yàn)證改進(jìn)算法在原木識(shí)別上的有效性,對本研究制作的數(shù)據(jù)集使用改進(jìn)的SSD進(jìn)行檢測,并使用改進(jìn)前的SSD、SSD+RFB以及YOLO系列網(wǎng)絡(luò)中常用的模型來進(jìn)行對比實(shí)驗(yàn),因?yàn)閅OLOv5是以速度為優(yōu)勢的輕量級網(wǎng)絡(luò),在識(shí)別效果上不足以與其他網(wǎng)絡(luò)進(jìn)行對比,所以選用YOLOv3和YOLOv4進(jìn)行對比,從而驗(yàn)證本研究改進(jìn)的算法對目標(biāo)的檢測能力有很大的提升。
為減少模型的訓(xùn)練時(shí)間,在實(shí)驗(yàn)中采用遷移學(xué)習(xí)的思想,將SSD算法在PASCAL VOC2007上的訓(xùn)練模型遷移到本應(yīng)用中,無須從零開始學(xué)習(xí),只要稍加訓(xùn)練,即可得到較好的效果。清楞原木數(shù)據(jù)集上的AP、精確率、召回率對比結(jié)果如表2所示。
表2 原木檢測結(jié)果Table 2 Log test results 單位:%
從表2可以看出,SSD+RFB以及本研究改進(jìn)的算法在精確率、召回率上均有提升,但提升幅度較小,分析原因是測試集中如圖1a所示的清楞原木容易檢測,因此檢測效果好,算法之間區(qū)分度較低,因此再針對混楞原木堆組成的測試集進(jìn)行檢測,檢測結(jié)果如表2所示。
從表2可以看出,SSD、YOLOv3、YOLOv4、SSD+RFB與本研究算法的精確率相差較小,但本研究改進(jìn)的SSD召回率比SSD、YOLOv3、YOLOv4和SSD+RFB分別高14.03%,12.68%,21.54%和2.96%。
結(jié)合公式(6)分析,是因?yàn)檎龢颖颈粰z測為負(fù)樣本導(dǎo)致召回率低。4種算法針對復(fù)雜圖像的檢測效果如圖6所示。為方便觀察,將目標(biāo)檢測算法中傳統(tǒng)的畫矩形框改為橢圓形框,因此邊界處少于半棵的原木輪廓框不準(zhǔn)確,但不影響個(gè)數(shù)的統(tǒng)計(jì),黑色橢圓框代表標(biāo)記出的未檢測到的原木。從圖6可以看出,圖6a、b、c中明顯有未被檢測到的原木存在,這些原木在圖6e中被網(wǎng)絡(luò)檢測到,圖6d也檢測出絕大部分原木,但也存在少部分未檢測的原木在圖6e中被正確檢測出來。因此改進(jìn)的SSD召回率比另外3種算法高,從而充分驗(yàn)證了本研究對SSD改進(jìn)的有效性。
圖6 混楞原木檢測效果對比Fig.6 Comparison of detection results of mixed log
YOLOv3和SSD同屬于one stage的目標(biāo)檢測算法,具有速度快等優(yōu)點(diǎn),但是同時(shí)存在檢測精度不足,尤其是對小目標(biāo)檢測不足的缺點(diǎn)。本研究對SSD目標(biāo)檢測算法的改進(jìn)在于針對其對小目標(biāo)檢測不足的缺點(diǎn)以及其對小目標(biāo)檢測主要依賴conv4_3這一有效特征層的特點(diǎn),引入了CBAM的conv4_3與引入CBAM并經(jīng)過上采樣的conv_fc7層進(jìn)行結(jié)合,最后將結(jié)合得到的新特征圖通過RFB模塊獲得第一個(gè)有效特征層。其余有效特征層分別為引入了CBAM的兩個(gè)RFB模塊和conv6_2、conv7_2。與原SSD相比,提高了小目標(biāo)的特征提取能力,也提高了整體網(wǎng)絡(luò)的特征提取能力。
本研究改進(jìn)的SSD目標(biāo)檢測對存在遮擋重疊或陰影覆蓋情況的原木楞堆檢測效果如圖7所示,可見本研究改進(jìn)的算法對上述復(fù)雜情況的原木楞堆檢測有了顯著提高。
圖7 遮擋重疊或陰影覆蓋檢測Fig.7 Detection of occlusion overlap or shadow coverage
SSD目標(biāo)檢測模型只能對300×300的原木圖像進(jìn)行檢測,因此在本研究改進(jìn)SSD的基礎(chǔ)上設(shè)計(jì)一種能夠檢測常規(guī)大小圖像的原木端面識(shí)別模型,算法流程如下:
1)下采樣。與制作數(shù)據(jù)集用于訓(xùn)練時(shí)的方法相同,首先對高分辨率的原木圖像使用下采樣,將圖片統(tǒng)一下采樣成900×900,經(jīng)過實(shí)驗(yàn)驗(yàn)證,本研究使用尼康D7500和華為mate系列手機(jī)拍攝的原木圖像下采樣到900×900,再使用分割進(jìn)行檢測不會(huì)對檢測效果產(chǎn)生影響即沒有丟失特征信息。因此將下采樣大小預(yù)先設(shè)置成900×900。
2)小塊圖像分割。對圖像使用含重疊區(qū)域的分割機(jī)制進(jìn)行分割,重疊區(qū)域的大小需要根據(jù)待檢測目標(biāo)大小和原高分辨率圖像進(jìn)行評估,重疊區(qū)域越大包含的重復(fù)目標(biāo)信息越多,造成的重復(fù)計(jì)算越多。本研究經(jīng)過實(shí)驗(yàn)將原木圖像分割時(shí)的重疊區(qū)域設(shè)置為0.3。
設(shè)置小塊圖像保存路徑及名稱,名稱包含其左上角坐標(biāo)在原圖上的坐標(biāo)及小塊圖像尺寸等信息,方便后續(xù)根據(jù)小塊圖像的名稱得到其與原圖的位置映射。
3)小塊圖像目標(biāo)檢測。遍歷小塊圖像的保存路徑,將該路徑下的所有小塊圖像均通過本研究改進(jìn)的SSD目標(biāo)檢測網(wǎng)絡(luò)進(jìn)行檢測,檢測結(jié)果為一系列的預(yù)測框,預(yù)測框的位置信息是其在小圖上的坐標(biāo)。
根據(jù)預(yù)測框在小圖的位置信息和其關(guān)于原圖的位置映射,得到這些預(yù)測框在原圖上的位置信息,并將其保存。
4)檢測結(jié)果合并。將每個(gè)小圖的預(yù)測框位置信息合并至一個(gè)列表中,即得到較高分辨率圖像所分割的所有塊圖像經(jīng)過目標(biāo)檢測產(chǎn)生的預(yù)測框信息。
5)NMS去除冗余。由于采用了含有重疊區(qū)域的分割機(jī)制,導(dǎo)致有大量的重復(fù)計(jì)算,上一步保存的檢測結(jié)果若直接畫在原高分辨率圖像上,同一個(gè)位置的原木會(huì)有多個(gè)預(yù)測框出現(xiàn),因此調(diào)用NMS進(jìn)行冗余預(yù)測框的刪除。
6)獲得檢測結(jié)果。將經(jīng)過NMS去除冗余的預(yù)測框逐一畫在完整原木圖像上,就得到了較高分辨率原木圖像目標(biāo)檢測結(jié)果。
模型的實(shí)際檢測效果如圖8所示。被檢測圖像是尼康D7500拍攝的,圖像尺寸為4 608×3 456,經(jīng)過算法縮放至900×900,這樣的尺寸不僅能夠使圖像不失真,又便于分割成300×300的圖像進(jìn)行檢測。檢測結(jié)果最終呈現(xiàn)在900×900的圖像上,并且通過統(tǒng)計(jì)預(yù)測框的個(gè)數(shù)得到原木堆中原木共149個(gè)。
圖8 模型檢測結(jié)果Fig.8 Test results of the model
本研究提出一種基于RFB模塊和CBAM機(jī)制改進(jìn)SSD目標(biāo)檢測模型的原木識(shí)別方法。
1)通過conv4_3和經(jīng)過上采樣的conv_fc7層的結(jié)合提高網(wǎng)絡(luò)對小目標(biāo)的檢測能力,并通過引入RFB和CBAM提高了網(wǎng)絡(luò)的整體特征提取能力。
2)利用遷移學(xué)習(xí)的思想,將PASCAL VOC公共數(shù)據(jù)集的訓(xùn)練權(quán)重引入改進(jìn)的SSD算法中作為預(yù)訓(xùn)練權(quán)重,使得本研究改進(jìn)的SSD訓(xùn)練時(shí)間縮短。
3)改進(jìn)的SSD能對自然環(huán)境下堆放的原木進(jìn)行識(shí)別,尤其在混楞原木上的小目標(biāo)和存在遮擋重疊或陰影覆蓋檢測,更能證明改進(jìn)的有效性和實(shí)用性。
本研究改進(jìn)的SSD提高了網(wǎng)絡(luò)對小目標(biāo)的特征提取能力,使網(wǎng)絡(luò)的整體性能得到提升,結(jié)合能夠檢測高分辨率圖像的原木端面識(shí)別模型,能夠?qū)Τ啥言具M(jìn)行計(jì)數(shù)統(tǒng)計(jì)。下一步研究將著重關(guān)注原木端面面積的計(jì)算方法,從而實(shí)現(xiàn)自動(dòng)原木檢尺系統(tǒng)。