劉天真 滕桂法 苑迎春 劉 博 劉智國
(1.河北農(nóng)業(yè)大學(xué)信息科學(xué)與技術(shù)學(xué)院, 保定 071001; 2.保定學(xué)院信息工程學(xué)院, 保定 071000;3.河北省農(nóng)業(yè)大數(shù)據(jù)重點實驗室,保定 071001; 4.石家莊學(xué)院計算機科學(xué)與工程學(xué)院, 石家莊 050035)
隨著果園機械化、信息化管理的推進(jìn),果實識別作為機械化采摘、果實產(chǎn)量預(yù)測等果園精細(xì)化管理的關(guān)鍵技術(shù),已成為近年來的研究熱點[1]。河北省是棗種植主產(chǎn)區(qū),冬棗是河北省優(yōu)勢棗種之一,其種植面積大、產(chǎn)量高,具有重要的經(jīng)濟價值[2-3]。冬棗園果實密集、枝葉遮擋嚴(yán)重、環(huán)境復(fù)雜,為實現(xiàn)冬棗的機械化采摘,冬棗果實的精準(zhǔn)識別與檢測至關(guān)重要。
近年來,針對棗類果實的識別檢測問題,許多學(xué)者基于傳統(tǒng)機器視覺技術(shù)進(jìn)行了研究[4-6],其中針對靈武長棗采用的基于最大熵彩色圖像分割方法和基于幾何特征的圖像分割算法獲得了較高的準(zhǔn)確率。利用傳統(tǒng)機器視覺技術(shù)對蘋果、柑橘等常見果實進(jìn)行識別檢測[7-10]多數(shù)采用基于果實顏色和紋理等特征的圖像分割改進(jìn)方法,其識別準(zhǔn)確率高,但檢測速度不足。
傳統(tǒng)機器視覺方法在自然場景下的魯棒性、實時性較差,難以滿足果園信息化管理和機械化采摘的要求。卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測方面體現(xiàn)出強大的優(yōu)勢。卷積神經(jīng)網(wǎng)絡(luò)方法分為兩類:一類基于區(qū)域建議方法,采用先生成建議框、再分類的two-stage檢測模型,以RCNN[11-13]系列模型為代表,其檢測精度高,泛化能力強,但檢測時間較長,不能滿足實時性需求[14-15];另一類用單一的卷積網(wǎng)絡(luò)直接獲得預(yù)測目標(biāo)位置和分類的端到端的one-stage檢測模型,以YOLO[16-18]系列模型為代表,因其具有檢測實時性、高精度等優(yōu)勢而得到廣泛應(yīng)用。研究學(xué)者針對深度模型進(jìn)行了一系列研究[19-23],針對自然場景下的水果果實,采用改進(jìn)的YOLO系列模型進(jìn)行自動化識別,獲得了較高的可靠性和檢測效率。
然而,在自然光線變化、枝葉遮擋或果實密集、果實不同成熟期等實際情況下,需要對卷積神經(jīng)網(wǎng)絡(luò)作進(jìn)一步改進(jìn),以便較好地解決實際問題、提升果實檢測效率。與蘋果、柑橘、芒果等果實相比,冬棗果實果型小、產(chǎn)量大,成熟期集中,冬棗果樹枝葉較密[24]、果實重疊、枝葉對果實遮擋嚴(yán)重,并且不同成熟期冬棗果實混雜、果實顏色差異明顯[25],這些均增加了識別的難度。本文利用YOLO v3模型在目標(biāo)檢測方面的優(yōu)勢,針對冬棗果實的特征引入注意力模塊(SE)對YOLO v3進(jìn)行改進(jìn),并選擇最優(yōu)閾值對冬棗進(jìn)行檢測,分別采用不同復(fù)雜情況的冬棗數(shù)據(jù)集來驗證本文模型的有效性。
YOLO v3是對深度卷積神經(jīng)網(wǎng)絡(luò)YOLO的改進(jìn),利用多尺度檢測和殘差網(wǎng)絡(luò)實現(xiàn)目標(biāo)檢測,在目標(biāo)檢測方面具有實時性、泛化能力強、精度高等優(yōu)勢[13],是目前最先進(jìn)的目標(biāo)檢測方法之一,能夠從圖像中快速分類檢測目標(biāo)。
YOLO v3模型包括Darknet層和YOLO層兩部分,Darknet是YOLO v3的特征提取層,YOLO層是目標(biāo)檢測層。模型采用尺寸為416×416×3的圖像作為輸入,利用Darknet層提取圖像特征,得到3個尺寸(52×52×256、26×26×512、13×13×1 024)的特征圖,在YOLO層中進(jìn)行檢測。每個網(wǎng)格檢測出B個目標(biāo)檢測框及其置信度c,即產(chǎn)生5個預(yù)測值(x,y,w,h,c),其中(x,y)是目標(biāo)坐標(biāo),(w,h)是目標(biāo)檢測框的寬度和高度,最后通過設(shè)置置信度閾值對預(yù)測結(jié)果進(jìn)行取舍。
對檢測冬棗果實分析可知,自然場景受光線、遮擋等因素干擾,冬棗果實情況復(fù)雜。針對YOLO v3模型對因受部分遮擋和受光線影響而使冬棗果實錯檢、漏檢和置信度較低情況,可以通過增強感受野,加強有效特征提取的方法有效提高檢測效果。
SE Net(Squeeze and excitation networks)[26]是基于加權(quán)特征圖思想提出的一種網(wǎng)絡(luò)結(jié)構(gòu),其核心是SE結(jié)構(gòu),如圖1所示。
SE結(jié)構(gòu)主要由擠壓(Squeeze)和激發(fā)(Excitation)兩個操作組成,Squeeze操作先將輸入的特征圖做全局平均池化(Global average pooling)[27]計算,得到特征通道的全局分布特征,去除特征通道中的空間分布特征,也賦予網(wǎng)絡(luò)全局感受野,然后進(jìn)入3層的全連接網(wǎng)絡(luò),該網(wǎng)絡(luò)的隱含層為ReLU激活函數(shù),輸入層和輸出層神經(jīng)元數(shù)相同。Excitation操作為Sigmoid激活函數(shù)計算。輸入的特征圖經(jīng)過Squeeze和Excitation處理后輸出一個向量,向量中的元素作為原輸入特征圖的各層權(quán)值,該值用于衡量其重要程度。最后Scale操作將輸出向量與原輸入特征圖相乘,得到施加權(quán)值后的特征圖,來強化有效特征,弱化低效或無效特征,使提取的特征具有更強的指向性,從而提高檢測結(jié)果。
鑒于SE Net在通道方向上的特征校正能力,本文提出一種將其嵌入YOLO v3的模型結(jié)構(gòu),為了區(qū)分其他嵌入SE Net的YOLO v3模型[28-29],本文稱為YOLO v3-SE模型,模型結(jié)構(gòu)如圖2所示。
YOLO v3模型網(wǎng)絡(luò)深度為102層,其中Darknet特征提取層是準(zhǔn)確檢測目標(biāo)的關(guān)鍵,包含75層。YOLO v3-SE是在YOLO v3模型的第37、52層分別輸出Scale3、Scale2兩個尺寸的特征圖后嵌入SE結(jié)構(gòu),使Darknet增至77層,SE結(jié)構(gòu)作為YOLO v3-SE模型的第38、54層。YOLO v3 和YOLO v3-SE模型的網(wǎng)絡(luò)結(jié)構(gòu)及各層參數(shù)對比如圖3所示。
YOLO v3-SE為提升模型對高分辨率圖像的處理能力,采用512×512×3作為輸入圖像尺寸,兩個SE層分別將前一層輸出的尺寸為64×64×256、32×32×512的特征圖作為輸入,全局平均池化后得到尺寸為1×1×256、1×1×512的特征圖,經(jīng)過全連接網(wǎng)絡(luò)后仍為1×1×256、1×1×512,再由Sigmoid激活函數(shù)處理后得到1×1×256和1×1×512的權(quán)值,將權(quán)值與原輸入特征圖相乘,得到輸出特征圖為64×64×256、32×32×512。
YOLO v3模型的第85、95層為route[18]層,用于將淺層特征與深層特征上采樣后進(jìn)行拼接融合,這種多尺度融合預(yù)測的思想使網(wǎng)絡(luò)性能更強。本文模型沿用route層結(jié)構(gòu),route層信息如表1所示。
表1 route層信息
嵌入SE結(jié)構(gòu)后,YOLO v3-SE模型在第87層為route層,將第86層(32×32×256)與第54層(32×32×512)連接,構(gòu)成尺寸為32×32×768的特征圖。同樣,第97層route層得到的特征圖尺寸為64×64×384。
本文圖像采集地點分別為河北省滄州市的滄縣紅棗樹教育基地和南顧屯村冬棗園,采集日期集中在2019年8月底至10月初,分別在晴天及陰天、白天和傍晚進(jìn)行采集。實驗選用佳能數(shù)碼相機、手機等設(shè)備,采集了大量冬棗果實圖像,作為冬棗圖像數(shù)據(jù)集。從圖像中選取不同光線、不同遮擋情況、不同成熟期混雜的冬棗圖像1 000幅作為冬棗果實檢測實驗所用數(shù)據(jù)集,并使用圖像標(biāo)注工具LableImg對冬棗目標(biāo)進(jìn)行標(biāo)注,得到VOC格式的xml文件。在標(biāo)注時采取人工可觀測的冬棗果實全標(biāo)注方式,即圖像中所有遮擋情況的冬棗果實均按可見大小來標(biāo)注,按人眼觀測結(jié)果進(jìn)行識別。
將標(biāo)注的冬棗果實數(shù)據(jù)集劃分為訓(xùn)練集、測試集、驗證集,按8∶1∶1進(jìn)行隨機分配,分別包括800、100、100幅圖像,包含冬棗果實目標(biāo)分別為8 586、1 327、1 288個。
模型訓(xùn)練和測試均在同一臺計算機進(jìn)行,硬件配置為Inter Core i7-8700K CPU@3.70 GHz,GeForce GTX 1080Ti GPU,16 GB運行內(nèi)存,軟件環(huán)境為64位Windows 10系統(tǒng),TensorFlow深度學(xué)習(xí)框架。
訓(xùn)練時批處理集尺寸(Batchsize)為8個樣本,初始學(xué)習(xí)率(Learning rate)為0.001,權(quán)值衰減(Decay)為0.9。為防止過擬合,設(shè)置在訓(xùn)練100輪時沒有產(chǎn)生損失值下降即結(jié)束訓(xùn)練。訓(xùn)練時使用K-means聚類計算當(dāng)前數(shù)據(jù)集的錨點預(yù)訓(xùn)練值。
采用相同訓(xùn)練集、驗證集和測試集分別在YOLO v3-SE和YOLO v3兩模型上進(jìn)行訓(xùn)練,對比迭代損失值變化曲線,如圖4所示。
由圖4可以看出,兩模型在前6 000次迭代擬合速度快,損失值迅速變小,然后緩慢下降,最終穩(wěn)定在最小值,模型訓(xùn)練完成。其中,YOLO v3經(jīng)過6.2 h、32 720次迭代穩(wěn)定在極值,YOLO v3-SE模型經(jīng)4.7 h、24 800次迭代穩(wěn)定在極值??梢姡琘OLO v3-SE模型比YOLO v3模型收斂速度更快,損失值更小,說明本文模型訓(xùn)練的效率更高。
選取準(zhǔn)確率P、召回率R、平均檢測精度(mAP)以及調(diào)和平均數(shù)F作為評價指標(biāo)。
在使用模型進(jìn)行實際檢測時,需要設(shè)置置信度閾值來對檢測目標(biāo)進(jìn)行取舍。因此,在模型檢測時,置信度閾值選取比較關(guān)鍵。
在訓(xùn)練結(jié)束后設(shè)置不同置信度閾值得到多組評估指標(biāo),對比結(jié)果見圖5。由于F是綜合P、R的評估指標(biāo),選取F為主要參考值。由圖5可見,閾值為0.55時,F(xiàn)取得最大值86.19%,此時mAP維持在較高值82.01%,而P為88.71%,R為83.80%,也處于較高水平,說明模型性能最優(yōu)。所以最終選取置信度閾值0.55作為模型檢測實驗所用參數(shù)。
對YOLO v3-SE和YOLO v3模型在相同訓(xùn)練集和驗證集上分別進(jìn)行訓(xùn)練,并在相同測試集上進(jìn)行檢測,得到各評估指標(biāo)、檢測結(jié)果的置信度以及檢測速度等。在檢測效果圖中,統(tǒng)一用黃框表示假負(fù)例FN,即應(yīng)檢出而未檢出的目標(biāo)冬棗果實,藍(lán)框表示假正例FP,即錯檢的目標(biāo)冬棗果實。
3.1.1評估指標(biāo)對比
通過訓(xùn)練和測試,YOLO v3-SE和YOLO v3兩模型的PR曲線如圖6所示,評估指標(biāo)如表2所示。
從圖6可以看出,YOLO v3-SE的PR曲線覆蓋范圍更大,說明mAP更大,P、R也比YOLO v3有明顯提升。從表2可以看出,YOLO v3-SE和YOLO v3兩模型的P均處于較高水平,而YOLO v3-SE的R為83.80%,比YOLO v3模型的R,提升了4.36個百分點,mAP從YOLO v3的77.23%提升到Y(jié)OLO v3-SE的82.01%,提升了4.78個百分點,F(xiàn)從YOLO v3的83.81%提升到Y(jié)OLO v3-SE的86.19%,提升了2.38個百分點??梢姳疚哪P偷膍AP和F都有明顯提升,比YOLO v3檢測效果更好。
表2 YOLO v3-SE和YOLO v3模型檢測結(jié)果的評估指標(biāo)對比
3.1.2置信度對比
在模型檢測中,對比兩模型對3幅圖像的檢測效果,如圖7所示,3幅圖像從左到右依次記為P1、P2、P3,相應(yīng)置信度對比如表3所示。
從表3可以看出,YOLO v3-SE模型在3幅圖像上的正確檢出目標(biāo)分別為17、19、10個,而YOLO v3模型正確檢出目標(biāo)為15、15、6個,YOLO v3-SE模型檢測目標(biāo)的置信度是1的情況明顯更多,絕大多數(shù)置信度在0.9以上。從圖7可以看出,YOLO v3-SE模型在比YOLO v3模型多檢出的目標(biāo)冬棗果實的置信度也在較高水平。對照表3和圖7來看,YOLO v3-SE模型在對應(yīng)檢測框的置信度比YOLO v3模型更高,并且從YOLO v3模型未檢出、YOLO v3-SE模型檢出的目標(biāo)來看,置信度也較高,說明本文模型對檢測目標(biāo)的置信度有一定加強作用,使檢測效果更好,檢測能力更強。
表3 圖7中檢測結(jié)果的置信度對比
3.1.3檢測速度對比
實驗選取單幅圖像和批量圖像兩種方式對比檢測速度。檢測時間通常指從待檢測圖像讀入至檢測結(jié)果輸出所用的時間。在批量檢測速度的實驗中,記錄兩模型分別對101幅600像素×600像素的圖像檢測所用時間,再分別減去各自在第1幅圖像所用檢測時間,這是因為第1幅圖像檢測時需要載入權(quán)重模型而導(dǎo)致耗時較長。
在模型中嵌入其他結(jié)構(gòu)往往使檢測速度降低。對比兩模型對兩種不同尺寸的單幅和批量圖像檢測速度,結(jié)果如表4所示。
表4 兩模型圖像檢測速度對比
由表4可見,在中等尺寸和大尺寸圖像的檢測上,YOLO v3-SE模型與YOLO v3模型耗時相差很小,而批量檢測時,YOLO v3-SE模型的檢測速度與YOLO v3模型相差在毫秒級。
從檢測速度對比看,無論是單幅圖像,還是批量圖像,YOLO v3-SE模型與YOLO v3模型差異不明顯。
為檢驗YOLO v3-SE模型在自然場景下的適應(yīng)性和有效性,根據(jù)實際條件進(jìn)一步檢測模型的效率。以自然場景下拍攝的光線不足、密集遮擋和成熟期混雜等復(fù)雜情況下的冬棗果實圖像各50幅,分別組成測試集進(jìn)行檢測,與YOLO v3模型對比,利用P、R、mAP和F評估本文模型的性能。
3.2.1光線不足情況下的檢測效果對比
為避免密集遮擋對實驗的影響,選取50幅逆光、陰天或傍晚等光線不足情況下的非密集冬棗果實圖像組成測試集,共包含270個冬棗果實目標(biāo),使用YOLO v3-SE和YOLO v3模型進(jìn)行檢測,評估指標(biāo)如表5所示,檢測效果如圖8所示。
表5 光線不足情況下的冬棗果實測試集評估結(jié)果
從表5中可以看出,YOLO v3-SE模型的mAP比YOLO v3模型高3.75個百分點,YOLO v3-SE模型的F比YOLO v3模型高1.96個百分點。YOLO v3-SE模型的R提升明顯,比YOLO v3高4.08個百分點。兩模型檢測結(jié)果均保持較高的準(zhǔn)確率,但YOLO v3-SE模型在R、mAP和F指標(biāo)上明顯高于YOLO v3模型,檢測效果更好。
圖8分別選取光線不足情況中的逆光和陰暗兩組圖像進(jìn)行對比,其中左圖為逆光情況,右圖為陰暗情況。從圖中可以看出,光線不足時,數(shù)碼設(shè)備拍攝的圖像質(zhì)量明顯下降,導(dǎo)致被檢測目標(biāo)的邊緣不清晰、顏色失真、紋理特征缺失,為檢測帶來阻礙。受此影響YOLO v3模型漏檢率較高。綜合來看,本文模型比YOLO v3模型的檢測效果有明顯提升。
3.2.2密集遮擋情況下的檢測效果對比
實驗選取50幅冬棗果實密集度較高、遮擋較嚴(yán)重、光線充足的圖像組成測試集,共包含1 028個冬棗果實目標(biāo),使用YOLO v3-SE和YOLO v3兩模型進(jìn)行檢測,實驗結(jié)果如表6所示,檢測效果對比如圖9所示。
表6 密集冬棗果實測試集評估結(jié)果
從表6來看,YOLO v3-SE模型的mAP比YOLO v3高2.38個百分點,YOLO v3-SE的F比YOLO v3高1.75個百分點。圖9中左圖為果實密集多枝葉遮擋,右圖為果實密集多重疊情況,由于選取圖像光線充足,冬棗果實邊界清晰,兩模型檢測準(zhǔn)確率均較高。但由于枝葉茂盛,對果實遮擋嚴(yán)重,以及果實密集重疊,甚至出現(xiàn)冬棗果實不同部位的遮擋,冬棗果實與枝葉顏色相差不大,會出現(xiàn)錯檢和漏檢情況。圖中YOLO v3出現(xiàn)的錯檢和漏檢情況明顯多于YOLO v3-SE,無論是冬棗果實多重疊還是多遮擋情況,本文模型的檢測效果均優(yōu)于YOLO v3模型。
3.2.3不同成熟期冬棗的檢測效果對比
分別選取50幅以白熟期、脆熟期和完熟期3個不同時期的冬棗果實圖像組成3個測試集,分別包含冬棗果實目標(biāo)數(shù)量為532、333、400個,使用YOLO v3-SE和YOLO v3模型檢測,各評估指標(biāo)如表7所示,檢測效果如圖10所示。
表7 不同成熟期的冬棗果實測試集的評估結(jié)果
從表7可以看出,YOLO v3-SE模型的mAP在3個成熟期的測試結(jié)果比YOLO v3分別高3.34~4.81個百分點。不同成熟期YOLO v3-SE模型的R比YOLO v3高3~5個百分點,YOLO v3-SE的F也比YOLO v3高2.02~2.77個百分點。
圖10為以3個成熟期為主的測試圖像對比,從左至右為白熟期、脆熟期、完熟期。從圖中可以看出,在光線充足情況下,脆熟期冬棗果實部分變紅、完熟期為全紅色,顏色紋理特征明顯,在光線充足情況下與周圍環(huán)境對比清晰。而由于白熟期冬棗果實顏色為青綠色,重疊或遮擋時會呈現(xiàn)出與樹葉較接近的顏色和形狀,在標(biāo)注時要做到人眼準(zhǔn)確、全面地觀測也較困難,所以會導(dǎo)致誤檢、漏檢。綜合3個成熟期的檢測效果,YOLO v3模型的mAP和F明顯低于YOLO v3-SE模型,YOLO v3-SE模型檢測效果更好。
(1)提出了基于YOLO v3-SE模型的自然場景下冬棗果實識別方法。實驗表明,YOLO v3-SE模型檢測精度高、速度快,在自然場景下對復(fù)雜因素的抗干擾能力強,模型的平均檢測精度達(dá)82.01%,綜合評價指標(biāo)F達(dá)86.19%,對單幅圖像和批量圖像的檢測速度與YOLO v3模型無明顯差異。
(2)通過在YOLO v3中嵌入SE Net,增強了特征圖的特征表達(dá)能力,與YOLO v3模型相比,YOLO v3-SE的召回率提升了4.36個百分點,mAP提升了4.78個百分點,F(xiàn)提升了2.38個百分點。
(3)通過對比閾值對評估指標(biāo)的影響,選取0.55作為本文模型檢測的置信度閾值,以保證模型性能最優(yōu)。
(4)與YOLO v3相比,在光線不足、密集遮擋和冬棗不同成熟期等多種情況下本文模型檢測效果均有不同程度的提升,其中,在光線不足和密集遮擋情況下mAP分別提升了3.75、2.38個百分點,F(xiàn)分別提升1.96、1.75個百分點,在白熟期、脆熟期和完熟期為主的情況下mAP分別提升了3.34~4.81個百分點,F(xiàn)提升了2.02~2.77個百分點,從而驗證了本文模型的有效性。