王 川,趙恒濱,2,李國(guó)強(qiáng),張建濤,高桐梅,趙巧麗,鄭國(guó)清
(1. 河南師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng) 453007;2. 河南省農(nóng)業(yè)科學(xué)院 農(nóng)業(yè)經(jīng)濟(jì)與信息研究所/河南省智慧農(nóng)業(yè)工程技術(shù)研究中心,河南 鄭州 450002;3. 農(nóng)業(yè)農(nóng)村部黃淮海智慧農(nóng)業(yè)技術(shù)重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450002;4. 河南省農(nóng)業(yè)科學(xué)院 芝麻研究中心,河南 鄭州 450002)
芝麻是我國(guó)重要的油料作物之一,是農(nóng)業(yè)結(jié)構(gòu)調(diào)整的優(yōu)勢(shì)作物,也是傳統(tǒng)的出口創(chuàng)匯作物[1-3]。我國(guó)芝麻常年種植面積在60 萬(wàn)hm2左右,總產(chǎn)60 萬(wàn)~70 萬(wàn)t,其總產(chǎn)和單產(chǎn)均居世界首位[4-5]。精確預(yù)估籽粒產(chǎn)量是芝麻育種和栽培生產(chǎn)的重要環(huán)節(jié)。在實(shí)際應(yīng)用中,田間估產(chǎn)主要依據(jù)單位面積株數(shù)、單株蒴果數(shù)、蒴果粒數(shù)和千粒質(zhì)量。目前,單株蒴果數(shù)的獲取主要依靠手工統(tǒng)計(jì),費(fèi)時(shí)費(fèi)力。因此,快速精確識(shí)別芝麻蒴果,將有助于提高芝麻考種效率和估產(chǎn)精度。
近年來(lái),國(guó)內(nèi)外學(xué)者利用機(jī)器視覺(jué)和圖像處理技術(shù),開(kāi)展了不同農(nóng)作物果實(shí)目標(biāo)檢測(cè)研究。PAYNE等[6]提出基于顏色空間特征和相鄰像素紋理特征的分割方法,實(shí)現(xiàn)芒果果實(shí)的識(shí)別和產(chǎn)量預(yù)估,準(zhǔn)確率達(dá)到74%。ZHANG 等[7]提出基于多特征融合和支持向量機(jī)(SVM)的檢測(cè)方法,實(shí)現(xiàn)對(duì)石榴果實(shí)的識(shí)別,檢測(cè)準(zhǔn)確率為78.15%。李寒等[8]提出基于RGB-D 圖像和K-means 優(yōu)化相結(jié)合的自組織映射神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)番茄果實(shí)的識(shí)別與定位,準(zhǔn)確率達(dá)到87.2%。LIU 等[9]提出基于顏色與形狀特征的圖像分割方法,實(shí)現(xiàn)對(duì)蘋(píng)果果實(shí)的檢測(cè),召回率為85%。上述方法利用果實(shí)的顏色、形狀、紋理等不同尺度特征進(jìn)行識(shí)別檢測(cè),但是在果實(shí)間粘連重疊、枝葉遮擋等情況下的檢測(cè)準(zhǔn)確率并不高。
隨著計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)等人工智能技術(shù)的快速發(fā)展,深度卷積神經(jīng)網(wǎng)絡(luò)(Deep convolutional neural networks,DCNN)比傳統(tǒng)目標(biāo)檢測(cè)方法更有優(yōu)勢(shì)?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)分為兩類:一類是以R-CNN[10]、Fast R-CNN[11]、Faster R-CNN[12]為代表的雙階段算法,另外一類是以SSD[13]、YOLO[14]、Retina Net[15]為代表的單階段算法。張文靜等[16]通過(guò)改進(jìn)Faster R-CNN 網(wǎng)絡(luò)模型實(shí)現(xiàn)番茄果實(shí)的識(shí)別,檢測(cè)準(zhǔn)確率為83.9%。張伏等[17]通過(guò)改進(jìn)輕量型YOLOv4 神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)密集圣女果的識(shí)別定位,網(wǎng)絡(luò)召回率達(dá)到97.10%。劉天真等[18]提出一種基于SE Net 的YOLOv3 網(wǎng)絡(luò)模型,實(shí)現(xiàn)自然場(chǎng)景下冬棗果實(shí)的檢測(cè)識(shí)別,檢測(cè)準(zhǔn)確率為82.01%。郭瑞等[19]通過(guò)融合K-means 聚類算法與優(yōu)化的注意力機(jī)制模塊改進(jìn)YOLOv4 檢測(cè)算法,對(duì)大豆單株豆莢數(shù)檢測(cè)準(zhǔn)確率為84.3%。由上可知,DCNN 用于檢測(cè)圣女果、冬棗、大豆豆莢等,具有較好的精度。而針對(duì)芝麻蒴果識(shí)別的研究未見(jiàn)報(bào)道,且針對(duì)此類尺寸更小、重疊遮擋嚴(yán)重,且密集度高的情景也少見(jiàn)報(bào)道。為此,以芝麻蒴果為檢測(cè)目標(biāo),以YOLOX 為基準(zhǔn)網(wǎng)絡(luò)模型,通過(guò)改進(jìn)優(yōu)化路徑聚合網(wǎng)絡(luò)PANet 和引入注意力機(jī)制CBAM模塊,提出基于YOLOX模型的芝麻蒴果檢測(cè)方法,以實(shí)現(xiàn)密集場(chǎng)景下芝麻單株蒴果的準(zhǔn)確檢測(cè),為高通量獲取芝麻表型提供理論依據(jù)。
2020—2021 年于芝麻生長(zhǎng)季,在河南省農(nóng)業(yè)科學(xué)院農(nóng)業(yè)科技試驗(yàn)基地(113°57′E,35°3′N),利用數(shù)碼相機(jī)(佳能Canon Power Shot G1),從植株的正面、側(cè)面和仰拍等角度,拍攝芝麻蒴果照片。所拍攝的圖片尺寸為2 448×4 352(像素),從原始圖片中篩選出300張,包含順光、背光、遮擋、粘連等各種芝麻蒴果田間生長(zhǎng)圖像。然后將采集圖像統(tǒng)一裁剪為512×512(像素),經(jīng)過(guò)篩選和預(yù)處理后獲得芝麻蒴果高清圖像數(shù)據(jù)集500張。
為提高訓(xùn)練模型的泛化能力,利用Pytorch框架中的Opencv軟件對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),對(duì)采集數(shù)據(jù)進(jìn)行明暗度變化、加入高斯噪聲、50%概率水平翻轉(zhuǎn)以及-45°~45°方向的隨機(jī)旋轉(zhuǎn)。增強(qiáng)后得到的數(shù)據(jù)集包含4 362 張圖像。利用標(biāo)注工具Labelimg,按照Pascal VOC 數(shù)據(jù)集的格式要求,對(duì)數(shù)據(jù)集進(jìn)行人工標(biāo)注,生成.xml 類型的標(biāo)注文件。將數(shù)據(jù)集按照9∶1 比例劃分,其中90%部分再按照9∶1 比例分為訓(xùn)練集和驗(yàn)證集,10%部分作為測(cè)試集。最終得到訓(xùn)練集、驗(yàn)證集和測(cè)試集的樣本數(shù)量分別為3 532、393、437張。
YOLOX 網(wǎng)絡(luò)結(jié)構(gòu)主要包括CSPDarknet-53 主干網(wǎng)絡(luò)、路徑聚合網(wǎng)絡(luò)(Path aggregation network,PANet)和預(yù)測(cè)頭(Prediction head),如圖1 所示。CSPDarknet53 為模型主干特征提取部分,由Focus、CSP1 和CSP2 三種模塊組成。路徑聚合網(wǎng)絡(luò)PANet為自頂向下和自底向上的雙向融合骨干網(wǎng)絡(luò),由特征金字塔FPN[20](Feature pyramid networks)和PAN(Path aggregation network)兩部分構(gòu)成。FPN 將主干網(wǎng)絡(luò)提取的特征自頂向下進(jìn)行特征融合,然后由PAN 自底向上進(jìn)行路徑增強(qiáng)。預(yù)測(cè)頭用于檢測(cè)目標(biāo)的分類和回歸,不同級(jí)別的任務(wù)需要不同的預(yù)測(cè)頭。在預(yù)測(cè)頭部分中,3 個(gè)平行分支分別用于預(yù)測(cè)框回歸、類別劃分和判斷是否包含物體。
圖1 YOLOX網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.1 Structure of YOLOX network model
由于芝麻蒴果尺寸較小,且互相遮擋,因此,直接利用YOLOX 模型檢測(cè)芝麻蒴果時(shí),會(huì)出現(xiàn)一定數(shù)量的錯(cuò)檢、漏檢等問(wèn)題,不能很好地?cái)M合蒴果檢測(cè)任務(wù)。據(jù)此,將以YOLOX 模型為基準(zhǔn),重點(diǎn)優(yōu)化細(xì)粒度特征信息和準(zhǔn)確空間位置信息的提取性能。將改進(jìn)后的模型稱為CE-YOLOX 模型,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 CE-YOLOX網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.2 Structure of CE-YOLOX network model
1.4.1 PANet模塊改進(jìn) 在YOLOX 模型中,經(jīng)過(guò)主干網(wǎng)絡(luò)得到13×13(特征層P5)、26×26(特征層P4)、52×52(特征層P3)3 種不同尺度的特征層。P5、P4依次經(jīng)過(guò)CSP2-1、CBS 和Upsample 操作后,獲得與其下一層相同尺寸和通道數(shù)的特征圖,然后通過(guò)級(jí)聯(lián)向下傳遞。PAN 模塊將FPN 融合后得到的特征圖依次經(jīng)過(guò)CSP2-1 和CBS 模塊降維,再與其上層特征圖級(jí)聯(lián),最后輸出P5′、P4′、P3′3 種特征層。改進(jìn)前的PANet模塊見(jiàn)圖3a。
主干網(wǎng)絡(luò)中的大尺度特征層具有豐富的細(xì)粒度特征信息,更加有利于小尺寸目標(biāo)的檢測(cè)[21]。通過(guò)引入大尺度特征層,融合深層特征的語(yǔ)義信息和淺層特征的細(xì)粒度信息,充分保留小目標(biāo)細(xì)節(jié)特征,可有效提高芝麻蒴果的檢測(cè)精度。據(jù)此,經(jīng)主干網(wǎng)CSPDarknet的CSP1-1模塊,獲取104×104大尺度特征層,加入PANet中。改進(jìn)后的PANet模塊(圖3b)保留了原模塊中的P5、P4、P3 特征層,新增大尺度104×104(特征層P2)。特征層P3 經(jīng)過(guò)CSP2-1、CBS 和Upsample 操作后,與特征層P2 融合,獲得具有豐富語(yǔ)義信息和大量細(xì)節(jié)信息的特征圖。然后又經(jīng)過(guò)CBAM、CSP2-1 和CBS 模塊進(jìn)行特征強(qiáng)化和降維,隨后與P3 級(jí)聯(lián)并向上傳遞。為避免網(wǎng)絡(luò)冗余,經(jīng)過(guò)PAN 模塊后,輸出特征層P5′、P4′、P3′,不再輸出104×104特征層。
圖3 改進(jìn)的PANet結(jié)構(gòu)圖Fig.3 Structure diagram of improved PANet
1.4.2 引入CBAM 注意力機(jī)制 CBAM 注意力機(jī)制是一種結(jié)合空間和通道的卷積注意力機(jī)制模塊[22]。由通道注意力CAM 模塊和空間注意力SAM 模塊組成。通道注意力模塊用于提取檢測(cè)目標(biāo)的重要輪廓特征,獲取檢測(cè)目標(biāo)的主要內(nèi)容。而空間注意力模塊用于獲取檢測(cè)目標(biāo)的空間位置信息,來(lái)實(shí)現(xiàn)對(duì)檢測(cè)目標(biāo)的精準(zhǔn)定位。為了提高芝麻蒴果的檢測(cè)效果,在CBS 模塊后加入CBAM 模塊(圖2)。CBAM模塊將對(duì)3種不同尺度輸入特征圖進(jìn)行自適應(yīng)特征細(xì)化,從而提高模型檢測(cè)準(zhǔn)確率。
1.4.3 引入Soft-NMS 算法 由于芝麻蒴果具有較高重疊度,采用傳統(tǒng)NMS 非極大值抑制算法,將直接刪除重合面積過(guò)大的先驗(yàn)框,造成部分有效先驗(yàn)框的損失,影響部分蒴果的檢測(cè)效果。而Soft-NMS在進(jìn)行非極大值抑制時(shí),將同時(shí)考慮置信度和邊框之間的重合程度[23],采用加權(quán)方式降低重疊度大于一定閾值的先驗(yàn)框置信度,并實(shí)時(shí)更新閾值,有效避免剔除正確先驗(yàn)框。因此,在CE-YOLOX 模型后處理階段,本研究將NMS非極大值抑制算法替換為Soft-NMS非極大值抑制算法。
1.5.1 試驗(yàn)環(huán)境與參數(shù)設(shè)置 采用的硬件設(shè)備配置:Core i7-10700kf 3.9GHz 處理器,16 GB 運(yùn)行內(nèi)存,英偉達(dá)RTX 3080 10 GB 顯卡。軟件試驗(yàn)環(huán)境:Win10 操作系統(tǒng),環(huán)境配置為pytorch 1.8.1、CUDA 11.1、cudnn 11.2 和Python 3.8。在CE-YOLOX 模型訓(xùn)練時(shí),輸入圖片尺寸為416×416(像素),優(yōu)化器采用Adam[24],初始學(xué)習(xí)率為0.001,動(dòng)量因子為0.92,單次送入網(wǎng)絡(luò)的樣本數(shù)為4,設(shè)置總迭代次數(shù)為200次,每訓(xùn)練5次保存模型,最終選擇在驗(yàn)證集上損失最小的模型為本研究試驗(yàn)?zāi)P蚚25]。
1.5.2 模型評(píng)價(jià)指標(biāo) 為客觀衡量網(wǎng)絡(luò)模型對(duì)芝麻蒴果的檢測(cè)效果,采用準(zhǔn)確率(Precision,P)、召回率(Recall,R)、平均精度(Mean average precision,mAP)、調(diào)和均值F1(F1score)和誤檢率作為評(píng)價(jià)指標(biāo)。計(jì)算公式分別為:
式中:TP為目標(biāo)被正確識(shí)別的數(shù)量;FP為未識(shí)別或錯(cuò)誤識(shí)別的正樣本數(shù)量;FN為目標(biāo)被錯(cuò)誤劃分到負(fù)樣本的數(shù)量;P(R)為以召回率R為參數(shù)的函數(shù)。
將改進(jìn)后的CE-YOLOX 網(wǎng)絡(luò)模型在芝麻蒴果數(shù)據(jù)集上進(jìn)行訓(xùn)練,模型的損失值變化曲線如圖4a所示。在前50次迭代,訓(xùn)練集和驗(yàn)證集損失值雖有不同程度振蕩現(xiàn)象,但總體都呈現(xiàn)快速下降趨勢(shì),此時(shí)模型處于快速學(xué)習(xí)狀態(tài);在第50 次迭代之后,驗(yàn)證集和訓(xùn)練集損失值變化趨于平穩(wěn),模型達(dá)到收斂狀態(tài)。
圖4 損失值變化曲線(a)與PR曲線(b)Fig.4 Curves of loss value(a)and PR(b)
CE-YOLOX 模型的PR 曲線如圖4b 所示,橫軸為模型召回率,縱軸為準(zhǔn)確率,曲線與坐標(biāo)軸所圍的面積為平均精度,PR 曲線在平衡點(diǎn)(準(zhǔn)確率=召回率)時(shí)接近于坐標(biāo)點(diǎn)(1,1),CE-YOLOX 模型的平均精度為99.71%。
為驗(yàn)證所采用不同改進(jìn)方法的有效性,設(shè)計(jì)了消融試驗(yàn)進(jìn)行對(duì)比。方法1 為YOLOX 模型,方法2為加入CBAM 注意力機(jī)制后的模型,方法3 為將104×104 特征層引入PANet 模塊后得到的模型,方法4 為本研究模型。采用相同訓(xùn)練數(shù)據(jù)集和參數(shù),分別訓(xùn)練4種模型,結(jié)果如表1所示。
由表1 可知,方法2 相較于YOLOX 模型平均精度提高1.25 個(gè)百分點(diǎn),F(xiàn)1值提高0.01,權(quán)重增加0.94 MB,參數(shù)量增加0.37%。這說(shuō)明引入CBAM 注意力機(jī)制能夠抑制無(wú)用特征,保留更有效的輪廓特征和空間位置信息。方法3 相較于YOLOX 模型平均精度提高1.59 個(gè)百分點(diǎn),F(xiàn)1值提高0.01,權(quán)重增加1.35 MB,參數(shù)量增加0.74%,這說(shuō)明引入104×104 大尺度特征層,能更好地提取出蒴果目標(biāo)的細(xì)粒度特征信息,有效提升模型對(duì)小目標(biāo)的檢測(cè)性能。方法4相較于YOLOX模型平均精度提高3.28個(gè)百分點(diǎn),F(xiàn)1值提高0.05,權(quán)重增加2.29 MB,參數(shù)量增加1.11%,檢測(cè)時(shí)間增加0.002 s。雖然模型4的參數(shù)量和檢測(cè)時(shí)間略有增加,但平均精度明顯提高??芍?,將2種改進(jìn)方法同時(shí)融合到Y(jié)OLOX 模型中,能提升對(duì)芝麻蒴果識(shí)別與定位的精確性,由此也驗(yàn)證了CEYOLOX模型改進(jìn)方法的有效性。
表1 不同改進(jìn)方法檢測(cè)結(jié)果Tab.1 Detection results of different improved structures
為進(jìn)一步對(duì)比不同檢測(cè)模型對(duì)芝麻蒴果的識(shí)別性能,在相同試驗(yàn)平臺(tái)上用相同數(shù)據(jù)集分別在Faster R-CNN、YOLOv3[26]、YOLOv4[27]和YOLOX[28]4 種模型上進(jìn)行同批次的訓(xùn)練。檢測(cè)結(jié)果如表2 所示。由表2 可知,在5 種檢測(cè)模型中,YOLOv3 和Faster R-CNN 模型的平均精度低于其他3 種模型,說(shuō)明YOLOv3 對(duì)密集、小尺寸蒴果檢測(cè)效果較差,F(xiàn)aster R-CNN 模型檢測(cè)精度雖接近于YOLOv4 和YOLOX模型,但其召回率和檢測(cè)速度低于這2 種模型。相比而言,CE-YOLOX 模型檢測(cè)效果最好,其中,平均精度比YOLOv3、Faster R-CNN、YOLOv4、YOLOX 模型分別提高7.94、5.31、4.61、3.28 個(gè)百分點(diǎn);召回率分別提高14.20、15.46、9.00、6.27 個(gè)百分點(diǎn);F1值分別提高0.11、0.12、0.08、0.05。從檢測(cè)時(shí)間來(lái)看,CE-YOLOX 模型的檢測(cè)時(shí)間雖高于YOLOX 和YOLOv3,但與Faster R-CNN 和YOLOv4相比具有良好的檢測(cè)速度,以犧牲少量計(jì)算成本為代價(jià),獲得更高檢測(cè)精度,因此,改進(jìn)后模型更適用于密集、小尺寸芝麻蒴果的檢測(cè)。
表2 不同網(wǎng)絡(luò)模型檢測(cè)結(jié)果Tab.2 Detection results of different network models
圖5 對(duì)比了5 種不同模型對(duì)芝麻蒴果的識(shí)別結(jié)果,圖5a 和b 中共含有73 個(gè)蒴果目標(biāo)。YOLOv3 模型正確檢出45 個(gè)蒴果,漏檢25 個(gè),誤檢3 個(gè)。Faster R-CNN 模型正確檢出48 個(gè)蒴果,漏檢23 個(gè),誤檢2個(gè)。YOLOv4 模型正確檢出57 個(gè)蒴果,漏檢15 個(gè),誤檢1 個(gè)。YOLOX 模型正確檢出65 個(gè)蒴果,漏檢8個(gè)。CE-YOLOX 模型正確檢出72 個(gè)蒴果,誤檢1個(gè)??芍?,YOLOv3、Faster R-CNN 和YOLOv4 3種模型均出現(xiàn)不同程度的漏檢和誤檢,對(duì)于遮擋嚴(yán)重的蒴果檢測(cè)時(shí)漏檢較多;YOLOX模型并沒(méi)有出現(xiàn)誤檢情況,但對(duì)較小尺寸蒴果也存在漏檢情況;CE-YOLOX 模型也存在誤檢,但正確檢出率高于上述4種模型。
圖5 5種不同網(wǎng)絡(luò)模型效果對(duì)比Fig.5 Comparison of the effects of five different network models
為進(jìn)一步對(duì)比不同模型對(duì)芝麻蒴果的檢測(cè)效果,隨機(jī)選取100張測(cè)試集圖片進(jìn)行計(jì)數(shù)統(tǒng)計(jì),人工統(tǒng)計(jì)共有總蒴果數(shù)2 879個(gè)。如表3所示,通過(guò)與其他4 種檢測(cè)模型對(duì)比,可以看出,CE-YOLOX 模型檢測(cè)計(jì)數(shù)準(zhǔn)確率最高,正確檢測(cè)出蒴果數(shù)2 788 個(gè),漏檢48 個(gè),誤檢43 個(gè),準(zhǔn)確率為96.84%,誤檢率為1.49%。相比其他4種檢測(cè)模型誤差最低,具有較強(qiáng)檢測(cè)性能,更適用于實(shí)際情況下的芝麻蒴果檢測(cè)任務(wù)。
表3 不同網(wǎng)絡(luò)模型計(jì)數(shù)結(jié)果Tab.3 Counting results of different network models
針對(duì)芝麻蒴果尺寸小且存在互相遮擋情況,本研究提出了一種密集場(chǎng)景下芝麻蒴果檢測(cè)模型CE-YOLOX。在YOLOX 模型基礎(chǔ)上,首先優(yōu)化PANet 網(wǎng)絡(luò),增加104×104 大尺度特征層,以提高小目標(biāo)蒴果特征信息的提取效率;然后通過(guò)加入CBAM 模塊,抑制無(wú)用特征信息,獲取檢測(cè)目標(biāo)重要的輪廓特征和空間位置信息;最后,在后處理階段,將NMS 非極大值抑制算法替換為Soft-NMS 非極大值抑制算法,以降低檢測(cè)目標(biāo)的漏檢率。CEYOLOX 模型對(duì)芝麻蒴果檢測(cè)的平均精度為99.71%,與原模型相比提高了3.28 個(gè)百分點(diǎn),模型對(duì)單幅蒴果圖片測(cè)試時(shí)間為0.021 s。在相同測(cè)試集上進(jìn)行計(jì)數(shù)試驗(yàn),CE-YOLOX 模型的計(jì)數(shù)準(zhǔn)確率為96.84%。表明,對(duì)高度重疊、粘連遮擋的芝麻蒴果,CE-YOLOX 模型擁有高識(shí)別率、強(qiáng)魯棒性和良好的泛化性能。