宋懷波,江 梅,王云飛,宋 磊
(1. 西北農(nóng)林科技大學(xué)機(jī)械與電子工程學(xué)院,楊凌 712100; 2. 農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點實驗室,楊凌 712100; 3. 陜西省農(nóng)業(yè)信息感知與智能服務(wù)重點實驗室,楊凌 712100)
幼果期果實表型數(shù)據(jù)獲取是優(yōu)良果樹品種選育研究的重要基礎(chǔ)。復(fù)雜環(huán)境下的幼果精準(zhǔn)檢測是獲取該階段果實生長指標(biāo)數(shù)據(jù)的前提。幼果期果實因其較為微小且與葉片顏色高度一致,同時,受到不同環(huán)境因素的影響,會產(chǎn)生陰影、高光和振蕩等干擾,進(jìn)一步加大了近景色果實目標(biāo)檢測的難度[1-3]。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)雖具有魯棒性強(qiáng)的優(yōu)點,但其網(wǎng)絡(luò)層數(shù)多,結(jié)構(gòu)通常較為復(fù)雜。在CNN中融合視覺注意機(jī)制可有效提高網(wǎng)絡(luò)特征提取能力而不明顯增加復(fù)雜度,避免訓(xùn)練發(fā)散。
國內(nèi)外眾多學(xué)者已將CNN應(yīng)用于果實檢測、分割和估產(chǎn)等研究之中并取得了較好的結(jié)果[4-5]。針對自然環(huán)境下的綠色柑橘檢測問題,熊俊濤等[6]提出了一種基于Faster R-CNN模型的柑橘檢測方法。經(jīng)過模型訓(xùn)練與參數(shù)調(diào)優(yōu),該模型在測試集上的平均精度為85.5%,檢測一幅圖像平均耗時0.4 s。針對自然環(huán)境下未成熟芒果的準(zhǔn)確識別問題,薛月菊等[7]提出了一種改進(jìn)的YOLOv2網(wǎng)絡(luò)模型,該模型基于密集連接的Tiny-YOLO-dense網(wǎng)絡(luò)結(jié)構(gòu),通過利用圖像多層特征提高目標(biāo)識別準(zhǔn)確度。結(jié)果表明,該方法識別準(zhǔn)確率為97.0%,為開放環(huán)境中的未成熟果實識別提供了借鑒。Kang等[8]針對蘋果園中果實檢測問題,提出了基于深度學(xué)習(xí)的實時檢測框架,該框架包含自動標(biāo)簽生成模塊和名為“LedNet”的果實檢測器。結(jié)果表明,基于輕量級主干的LedNet的準(zhǔn)確率為85.3%,召回率為82.1%。該模型大小僅為7.4 M,平均運行時間為28 ms,可兼顧速度與精度。Yu等[9]提出了基于Mask R-CNN的草莓檢測與采摘定位方法,測試結(jié)果表明該方法的平均檢測準(zhǔn)確率、召回率分別為95.8%和95.4%,采摘點平均誤差為±1.2 mm。為了實現(xiàn)開放果園中綠色芒果的精準(zhǔn)檢測,Koirala等[10]基于YOLOv3和YOLOv2(tiny)網(wǎng)絡(luò)結(jié)構(gòu)提出了 MangoYOLO-s、MangoYOLO-pt和MangoYOLO-bu模型,經(jīng)過訓(xùn)練,MangoYOLO-pt在測試集上的平均精確度為98.3%,處理一幅512×512 pixels圖像平均耗時8 ms,可有效實現(xiàn)自然場景中綠色芒果目標(biāo)的實時檢測。
為了提高模型檢測精度,現(xiàn)有網(wǎng)絡(luò)的深度、寬度和模塊數(shù)不斷增加[11-13]。但網(wǎng)絡(luò)結(jié)構(gòu)加深會帶來網(wǎng)絡(luò)訓(xùn)練發(fā)散等問題,將CNN與視覺注意機(jī)制相結(jié)合,可在不明顯加深網(wǎng)絡(luò)結(jié)構(gòu)的前提下加強(qiáng)網(wǎng)絡(luò)性能[14]。Wang等[15]提出了一種非局部操作方法,并基于非局部塊(Non-Local block, NL block)構(gòu)建了非局部神經(jīng)網(wǎng)絡(luò)(Non-Local Neural Network),在視頻分類和目標(biāo)檢測任務(wù)上性能優(yōu)越。在Mask R-CNN主干網(wǎng)絡(luò)ResNet-50中加入非局部塊,在MS COCO數(shù)據(jù)集上平均精度為39.0%。Woo等[16]提出了卷積塊注意模型(Convolutional Block Attention Module, CBAM),可針對輸入特征從空間與通道兩方面自適應(yīng)調(diào)整并提取有意義的深層特征信息。該模塊可以插入到現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,F(xiàn)aster R-CNN骨干網(wǎng)絡(luò)ResNet-50中加入CBAM與未加入該模塊相比,在MS COCO數(shù)據(jù)集上平均精度可提高2.0%。Hu等[17]提出了擠壓激發(fā)塊(Squeeze-and-Excitation block, SE block),可以從通道維度自適應(yīng)細(xì)化和提取特征。在MS COCO數(shù)據(jù)集上,主干為SE-ResNet-50的Faster R-CNN網(wǎng)絡(luò)平均精度為46.8%,表明該模塊可有效提高網(wǎng)絡(luò)分類和檢測性能。Zhang等[18]提出了分支注意塊(Split-Attention block),并基于此模塊與ResNet架構(gòu)構(gòu)造了ResNeSt。在ImageNet上,ResNeSt-101的top-1精度為82.3%。為了更好地利用通道信息,Wang等[19]提出了高效通道注意模塊(Efficient Channel Attention Module, ECAM)。在MS COCO數(shù)據(jù)集上,以ResNet-101為主干網(wǎng)絡(luò)并添加ECAM的Faster R-CNN平均精度為40.3%。研究表明,將視覺注意機(jī)制融入到網(wǎng)絡(luò)模型中,能夠以較小的額外計算量為代價顯著提高網(wǎng)絡(luò)表現(xiàn)。本研究以視覺注意機(jī)制與深度神經(jīng)網(wǎng)絡(luò)為重點,解決復(fù)雜場景下的果實檢測難題。
為實現(xiàn)自然場景下蘋果幼果的高效檢測,本研究擬提出一種蘋果幼果檢測網(wǎng)絡(luò)YOLOv4-SENL?;赮OLOv4模型[20],并在模型中融入SE block和NL block兩種視覺注意機(jī)制,以在不明顯增加網(wǎng)絡(luò)深度的前提下,避免網(wǎng)絡(luò)收斂困難的問題,并改善CNN特征提取能力。通過加強(qiáng)骨干網(wǎng)絡(luò)的特征提取能力和網(wǎng)絡(luò)瓶頸中融合視覺特征的信息,網(wǎng)絡(luò)可從相似背景中準(zhǔn)確分離近景色蘋果幼果,為幼果目標(biāo)橫縱徑和著色度等幼果期果實表型數(shù)據(jù)的高效獲取提供參考。
試驗圖像拍攝于西北農(nóng)林科技大學(xué)園藝學(xué)院實驗站,采集對象為嘎啦和紅富士幼果目標(biāo)圖像,種植方式為矮砧密植,行間距為3 m。試驗選用iPhone 8Plus手機(jī)進(jìn)行拍攝。為保證試驗結(jié)果的可靠性,拍攝角度涵蓋東南西北4個方向。由于光線變化會對圖像成像造成較大影響從而影響試驗結(jié)果,因此本研究分別在順光和逆光條件下,以人距離樹干0.4~1.5 m的拍攝距離在全天不同時間段進(jìn)行圖像采集。圖1a是拍攝示意圖,圖1b~d分別是多云、逆光和順光條件采集的圖像。將采集的3 000幅原始圖像(4 032×3 024像素)隨機(jī)裁剪為不同分辨率(150×131像素~4 032×3 024像素)并利用LabelImg進(jìn)行人工標(biāo)注。
具體拍攝信息如表1所示,拍攝天氣包括晴天、多云和陰天。數(shù)據(jù)集中包括枝葉遮擋的果實、運動模糊及過度曝光造成的模糊果實、重疊果實、不同光照程度的果實和被鋼絲、柵欄遮擋的果實。每幅圖像大多包括一個或多個干擾因素,用于驗證本研究模型對不同背景的檢測魯棒性。3 000幅圖像中包含互不重復(fù)的訓(xùn)練集1 920幅,驗證集480幅和測試集600幅。
表1 數(shù)據(jù)集圖像詳細(xì)信息 Table 1 Data set images details
試驗過程在Windows 10操作系統(tǒng)下進(jìn)行,處理器型號為英特爾 Xeon E5-1620,內(nèi)存32 GB,顯卡Nvidia GeForce RTX 2080Ti。深度學(xué)習(xí)框架采用PyTorch 1.5.1,Python 3.8。
1.3.1 擠壓激發(fā)塊
CNN關(guān)注特定局部區(qū)域,通過濾波器提取特征信息。為了建立像素間的深層聯(lián)系,CNN通常會堆疊多個濾波器提取信息,網(wǎng)絡(luò)層數(shù)較深。SE block則從通道維度作為突破,通過模擬特征的通道維度依賴性提高網(wǎng)絡(luò)分類、檢測的準(zhǔn)確度。SE block是一個高效的構(gòu)造模塊,可以插入到現(xiàn)有的主流網(wǎng)絡(luò)結(jié)構(gòu)中,以較小的參數(shù)增加實現(xiàn)網(wǎng)絡(luò)性能的提升。
本研究提出的YOLOv4-SENL模型在骨干網(wǎng)絡(luò)結(jié)尾處應(yīng)用了SE block。SE block的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。輸入特征經(jīng)過自適應(yīng)平均池化操作得到通道維度統(tǒng)計值。通道維度統(tǒng)計值輸入至兩層結(jié)構(gòu)的全連接層,自適應(yīng)計算和調(diào)整各通道的權(quán)重,得到通道注意力結(jié)果。第一層全連接層的輸出單元數(shù)量是輸入單元數(shù)量的1/16,第二層輸出單元數(shù)量與第一層全連接的輸入單元數(shù)量一致。兩層全連接層的設(shè)計既有效降低了計算量,又能較好地實現(xiàn)注意力分配。最后,將通道注意力結(jié)果通過Python廣播機(jī)制與輸入特征元素相乘得到輸出特征。
1.3.2 非局部塊
非局部操作受非局部均值運算啟發(fā),將不同坐標(biāo)的像素、不同時序幀聯(lián)系起來,捕捉長程依賴。卷積操作和非局部操作相結(jié)合,能高效地捕捉局部信息和遠(yuǎn)程依賴中的上下文信息,以此增強(qiáng)網(wǎng)絡(luò)對關(guān)鍵視覺信息的表征能力。
與非局部均值算法定義類似,非局部操作的定義如式(1)~(3)所示:
式中x表示輸入特征,i為輸出位置索引,j為i的所有關(guān)聯(lián)位置索引。輸出信號y由歸一化參數(shù)C(x)、對應(yīng)關(guān)系函數(shù)f和線性嵌入函數(shù)g計算得到。對應(yīng)關(guān)系函數(shù)f形式多樣,嵌入高斯形式如式(2)所示,其中。線性嵌入函數(shù)g由1×1卷積實現(xiàn),Wg為可學(xué)習(xí)權(quán)重。
非局部操作由四組1×1卷積塊和殘差鏈接組成為更豐富的層次結(jié)構(gòu)NL block,如式(4)所示。
式中zi為輸出特征。
本研究提出的方法在YOLOv4模型網(wǎng)絡(luò)瓶頸的3個聚合路徑中分別加入了NL block,以尺寸[bs, 1024, 19, 19]的輸入特征為例,NL block的結(jié)構(gòu)流程圖如圖3所示。在θ、φ和g3條路徑中,通道數(shù)由1024降至512。在w路徑中,通道數(shù)由512升至1 024,并與輸入特征進(jìn)行元素相加。通道數(shù)改變和最大池化操作都可以減少計算量,使模型輕便。
1.3.3 YOLOv4-SENL模型構(gòu)建
YOLOv4網(wǎng)絡(luò)是改進(jìn)和融合眾多優(yōu)越訓(xùn)練策略的高效網(wǎng)絡(luò),包括空間金字塔池化[21]、Mish激活函數(shù)[22]、交叉迷你批歸一化[20]和改進(jìn)PAN[23]等。由于YOLOv4網(wǎng)絡(luò)是深度復(fù)雜CNN,網(wǎng)絡(luò)深度對訓(xùn)練收斂影響較大。因此,本研究以視覺注意機(jī)制為出發(fā)點,提出了基于YOLOv4-SENL網(wǎng)絡(luò)的近景色幼果檢測方法。
YOLOv4-SENL的結(jié)構(gòu)如圖4所示,本研究引入了兩種注意力構(gòu)造塊:1)SE block:放置在YOLOv4網(wǎng)絡(luò)的特征骨干CSPDarknet53后。模擬骨干網(wǎng)絡(luò)提取的特征通道維度依賴性,自適應(yīng)調(diào)整特征通道維度的權(quán)重響應(yīng);2)NL block:嵌入在改進(jìn)PAN結(jié)構(gòu)的3個路徑中。深層卷積特征與淺層卷積特征在通道維度進(jìn)行連結(jié)后,通過NL blocks提取融合特征的長程依賴性,獲取非局部信息。
SE block和NL block分別對高級視覺特征進(jìn)行通道維度調(diào)整和提取非局部依賴性。改進(jìn)PAN結(jié)構(gòu)融合不同階段視覺特征后,經(jīng)過卷積操作得出3個針對不同尺度目標(biāo)的輸出層。輸出結(jié)果包含檢測目標(biāo)的類別和位置坐標(biāo)信息。SE block和NL block組成豐富結(jié)構(gòu),有效提高了網(wǎng)絡(luò)的特征捕捉能力。
試驗通過準(zhǔn)確率P、召回率R、F1值和AP值指標(biāo)評價模型的檢測效果,計算公式如式(5)~(8)所示。P、R、F1和AP值越高,表明網(wǎng)絡(luò)檢測精準(zhǔn)度越高。
式中TP表示網(wǎng)絡(luò)檢測出的目標(biāo)數(shù)量,F(xiàn)P表示將背景誤識別為目標(biāo)的數(shù)量,F(xiàn)N表示未檢出目標(biāo)的數(shù)量。
網(wǎng)絡(luò)訓(xùn)練過程中,加載骨干網(wǎng)絡(luò)在MS COCO數(shù)據(jù)集的預(yù)訓(xùn)練權(quán)重并采用隨機(jī)梯度下降法更新參數(shù)。初始學(xué)習(xí)率為0.01,訓(xùn)練輪次為350,權(quán)重衰減率設(shè)為0.000 484,動量因子設(shè)為0.937。YOLOv4-SENL與YOLOv4模型以相同方式訓(xùn)練以對比模型效果。圖5是YOLOv4和YOLOv4-SENL模型在訓(xùn)練集和驗證集上的損失曲線。由損失曲線可以看出,兩個模型損失值均可快速收斂。
為了評價YOLOv4-SENL模型的魯棒性和精度,利用測試集進(jìn)行測試,并與SSD[24]、Faster R-CNN[25]和YOLOv4模型進(jìn)行了比較,結(jié)果如表2所示。
表2 3種模型的測試集檢測結(jié)果 Table 2 Detection results of three models on test set
經(jīng)過訓(xùn)練,YOLOv4-SENL模型在測試集上的平均精度比SSD、Faster R-CNN和YOLOv4模型分別提高了6.9個百分點、1.5個百分點和0.2個百分點。YOLOv4-SENL模型檢測一幅測試集圖像平均耗時31.6 ms。同時,YOLOv4-SENL模型大小比SSD大69 M,比Faster R-CNN小59 M,比YOLOv4模型大11 M,具備向便攜式系統(tǒng)移植的基礎(chǔ)。
圖6是3種模型的檢測結(jié)果,從圖6a中SSD模型檢測結(jié)果的白色虛線框中可知,由于葉片干擾,SSD模型出現(xiàn)錯檢情況。圖6a中Faster R-CNN模型檢測出了白色虛線框中生長期初期幼果。圖6a-1中幼果面積占圖像面積的比例過小,經(jīng)過多次卷積操作可能造成所包含的有效特征信息的損失,3個模型均未能將幼果全部檢出。圖6b中大多數(shù)果實為微小果實,SSD和Faster R-CNN模型均未完全檢測出圖6b-2和圖6b-3中的遠(yuǎn)景果實,存在不同程度的漏檢與錯檢(如白色虛線框中的果實)。YOLOv4-SENL模型能精準(zhǔn)檢測微小近景色果實,表明其具有更好的魯棒性。
為了進(jìn)一步分析兩種視覺注意機(jī)制的有效性,本研究設(shè)計了三組消融試驗并根據(jù)多個評價指標(biāo)結(jié)果表明視覺注意機(jī)制對網(wǎng)絡(luò)性能提升的影響。
為了探索SE block對網(wǎng)絡(luò)的影響,僅保留YOLOv4-SENL模型中SE block而去除NL block,命名為YOLOv4-SE。本研究在YOLOv4模型網(wǎng)絡(luò)瓶頸的3個分支中加入了NL block。為了探索NL block對網(wǎng)絡(luò)性能的影響,試驗僅保留YOLOv4-SENL模型的NL block,命名為YOLOv4-NL。為了分析SE block和NL block組合對網(wǎng)絡(luò)的影響,將YOLOv4-SENL中的SE block替換為NL block,3個NL block替換為SE block,模型命名為YOLOv4-NLSE。消融試驗測試結(jié)果如表3所示,5個模型在驗證集上的指標(biāo)結(jié)果表明,與YOLOv4模型相比,兩種視覺注意機(jī)制的融合,略微增大了模型大小和檢測時間,但仍能實現(xiàn)實時檢測。改進(jìn)后的模型以較小的額外計算量為代價,使測試指標(biāo)得到不同程度提升,精度值提升較大。SE block和NL block兩種視覺注意機(jī)制對提高模型性能起到不同程度作用,SE block的影響更明顯。
表3 5種模型的驗證集測試結(jié)果 Table 3 Test results of five models on validation set
圖7展示了設(shè)置相同參數(shù)訓(xùn)練得到的5種模型在驗證集上的精度結(jié)果。從5個模型訓(xùn)練過程的精度曲線可以看出,融合視覺注意模塊的模型精度均比YOLOv4模型高。其中,YOLOv4-SENL模型的精度值整體提升最快。
2.2.1 僅保留SE block對網(wǎng)絡(luò)的影響
與YOLOv4模型比較,YOLOv4-SE在驗證集上的P、R、AP和F1值分別提高3.8個百分點、0.2個百分點、0.2個百分點和2.2個百分點。YOLOv4-SENL模型的P、R、AP和F1值比YOLOv4模型分別提高5.0個百分點、降低0.1個百分點、提高0.2個百分點和提高2.8個百分點,表明SE block可對骨干網(wǎng)絡(luò)提取的特征進(jìn)行通道信息整合,有助于提高網(wǎng)絡(luò)性能。由圖7可知,在前200迭代輪次中,YOLOv4-SE的精度值波動較小,且YOLOv4-SE的精度值比YOLOv4模型整體提高,表明SE block的添加提高了模型的特征表征能力。
2.2.2 僅保留NL block對網(wǎng)絡(luò)的影響
與YOLOv4模型相比,YOLOv4-NL模型的P、R、AP和F1值分別提高了2.7個百分點、0.1個百分點、0.2個百分點和1.6個百分點,表明NL block可明顯增加網(wǎng)絡(luò)精度和F1值。圖7中,YOLOv4和YOLOv4-NL模型的精度值在200迭代輪次之內(nèi)出現(xiàn)多次浮動。150迭代輪次后,YOLOv4-NL精度值整體高于YOLOv4模型,表明NL block提取高級融合特征的非局部信息,提高了網(wǎng)絡(luò)目標(biāo)檢測任務(wù)的準(zhǔn)確性。
2.2.3 互換SE block和NL block對網(wǎng)絡(luò)的影響
與YOLOv4模型相比,YOLOv4-NLSE模型的P、R、AP和F1值分別提高4.1個百分點、降低0.3個百分點、保持不變、提高2.2個百分點,表明YOLOv4-SENL模型的指標(biāo)提升程度更高,檢測效果更好。從圖7可以看出,YOLOv4-SENL模型的精度值整體上升較快,且最終精度值比YOLOv4-NLSE模型略高。這表明SE block和NL block在不同層均發(fā)揮了作用,模型設(shè)計合理。
由消融試驗可知,SE block和NL block都有助于提升網(wǎng)絡(luò)性能,SE block的影響更加明顯。兩種視覺注意機(jī)制模塊SE block與NL block均使得該模型具備了更好的目標(biāo)檢測效果,表明YOLOv4-SENL模型結(jié)構(gòu)設(shè)計合理,檢測結(jié)果更精準(zhǔn)和高效。
1)幼果目標(biāo)檢測技術(shù)是自動獲取幼果期果實表型微變化信息的基礎(chǔ)。針對近景色幼果檢測問題,本研究提出了一種利用視覺注意機(jī)制改進(jìn)YOLOv4網(wǎng)絡(luò)的YOLOv4-SENL模型。600幅測試集圖像的測試結(jié)果表明,本研究提出的YOLOv4-SENL模型的平均精度為96.9%,與SSD、Faster R-CNN和YOLOv4模型相比,分別提高了6.9個百分點、1.5個百分點和0.2個百分點,表明視覺注意機(jī)制模塊的融入有助于提升自然環(huán)境下幼果的檢測精度。
2)為了進(jìn)一步探究YOLOv4-SENL模型的有效性,本研究設(shè)計了消融試驗。消融試驗的驗證集結(jié)果表明,添加SE block和NL block使模型的大小和檢測時間有所增加,但有助于提升網(wǎng)絡(luò)檢測的準(zhǔn)確性且不影響實時檢測,YOLOv4-SENL模型結(jié)構(gòu)設(shè)計合理高效。
3)針對微小果實,本研究提出的YOLOv4-SENL模型檢測效果仍有提升空間。未來將進(jìn)行模型結(jié)構(gòu)簡化和改進(jìn)工作,以進(jìn)一步提高模型的抗干擾能力和泛化能力。下一步將研究含標(biāo)定的幼果表型測定算法,結(jié)合幼果目標(biāo)檢測技術(shù)實現(xiàn)長效、高頻次、精確獲取果實生長期數(shù)據(jù)。