王宇歌,張涌,黃林雄,趙奉奎



摘? 要:麥穗數(shù)量檢測(cè)對(duì)于作物表型參數(shù)計(jì)算、產(chǎn)量預(yù)測(cè)和大田管理都具有重要的意義。為了解決人工計(jì)數(shù)工作量大且容易出錯(cuò)的問(wèn)題,提出了一種基于You Only Look Once (YOLO)的麥穗目標(biāo)檢測(cè)與計(jì)數(shù)方法。首先利用大量小麥圖像對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后利用神經(jīng)網(wǎng)絡(luò)對(duì)小麥圖像進(jìn)行麥穗目標(biāo)檢測(cè)與計(jì)數(shù),最后對(duì)神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè)的準(zhǔn)確率和召回率進(jìn)行計(jì)算評(píng)估,并通過(guò)分析檢測(cè)結(jié)果驗(yàn)證其魯棒性。分析結(jié)果顯示,所訓(xùn)練網(wǎng)絡(luò)對(duì)麥穗檢測(cè)的精確率為76.96%,召回率為93.16%,均值平均精度mean Average Precision (mAP)為89.52%。此外,該模型可以檢測(cè)不同生長(zhǎng)時(shí)期的麥穗,具有較高的魯棒性。研究表明,該方法對(duì)比其他麥穗計(jì)數(shù)方法準(zhǔn)確高效,可以實(shí)際應(yīng)用到小麥的產(chǎn)量估算上。
關(guān)鍵詞:目標(biāo)檢測(cè);產(chǎn)量預(yù)測(cè);YOLO;深度學(xué)習(xí)
中圖分類(lèi)號(hào):TP391.4? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Research of Wheat Ear Target Detection based on Convolutional Neural Network
WANG Yuge, ZHANG Yong, HUANG Linxiong, ZHAO Fengkui
(College of Automobile and Traffic Engineering, Nanjing Forestry University, Nanjing 210037, China)
515400100@qq.com; zyjs111@126.com; 1773361196@qq.com; zfk@njfu.edu.cn
Abstract: Detecting the number of wheat ears is of great significance to the calculation of crop phenotypic parameters, yield prediction and field management. In order to solve the problem of heavy workload and error-prone manual counting, this paper proposes a wheat ear target detection and counting method based on You Only Look Once (YOLO). First, a large number of wheat images are used to train the deep neural network. Then, the neural network is used to detect and count wheat ears in the wheat images. Finally, the accuracy and recall rate of the neural network target detection are calculated and evaluated, and the robustness is verified by analyzing the detection results. The analysis results show that the trained network has an accuracy rate of 76.96% for wheat ear detection, a recall rate of 93.16%, and a mean Average Precision (mAP) of 89.52%. In addition, the model can detect wheat ears in different growth periods, and has high robustness. Studies have shown that this method is more accurate and efficient than other wheat ear counting methods, and can be applied to wheat yield estimation.
Keywords: target detection; output prediction; YOLO; deep learning
1? ?引言(Introduction)
小麥種植密度估算是小麥產(chǎn)量預(yù)測(cè)的重要手段,也是小麥大田管理的重要依據(jù)。目前,小麥產(chǎn)量預(yù)測(cè)方法有人工預(yù)測(cè)、年景預(yù)測(cè)[1]、基于遙感圖像預(yù)測(cè)[2]和基于多元線性回歸預(yù)測(cè)[3]等。人工預(yù)測(cè)費(fèi)時(shí)費(fèi)力,容易出錯(cuò);年景預(yù)測(cè)只適合地區(qū)大范圍產(chǎn)量預(yù)測(cè);基于遙感圖像預(yù)測(cè)準(zhǔn)確率低;基于多元線性回歸預(yù)測(cè)受降水等變量影響較大,準(zhǔn)確率難以保證。相比之下,視覺(jué)傳感器可以獲取豐富的紋理和顏色信息,且成本較低。近年來(lái),機(jī)器視覺(jué)在麥穗檢測(cè)研究中發(fā)揮著越來(lái)越大的作用。傳統(tǒng)圖像處理技術(shù)常使用移動(dòng)窗法[4]或超像素分割法[5]采樣子圖像,從子圖像中提取顏色或紋理特征,然后訓(xùn)練分類(lèi)器,利用分類(lèi)器識(shí)別麥穗,完成計(jì)數(shù);或者通過(guò)圖像處理方法突出麥穗,如將圖像進(jìn)行二值化處理,在去除粘連后識(shí)別麥穗[6]。
近年來(lái),基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的機(jī)器學(xué)習(xí)方法在圖像處理領(lǐng)域取得了突破性進(jìn)展。在物體識(shí)別、目標(biāo)檢測(cè)與目標(biāo)分割等應(yīng)用上,基于CNN的圖像處理在技術(shù)表現(xiàn)上遠(yuǎn)好于傳統(tǒng)方法[7]。因此,越來(lái)越多的研究采用目標(biāo)檢測(cè)算法進(jìn)行作物穗檢測(cè)。目標(biāo)檢測(cè)方法可分為T(mén)wo-stage和One-stage兩類(lèi)。Two-stage方法先采用一定的算法生成候選框,然后通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)樣本進(jìn)行分類(lèi),典型方法包括R-CNN[8]及Fast R-CNN[9]目標(biāo)檢測(cè)模型,例如HE等[10]提出的SPP-net、REN等[11]提出的Faster R-CNN等。Two-stage目標(biāo)檢測(cè)方法準(zhǔn)確率高,但是速度相對(duì)較慢。One-stage方法直接回歸目標(biāo)的類(lèi)別概率和邊界框,運(yùn)算速度相比于Two-stage方法有較大提高,常用方法包括Single Shot MultiBox Detector[12]等。YOLO系列目標(biāo)檢測(cè)框架是一種非常典型的One-stage方法,包括王宇寧等改進(jìn)的YOLO[13],李鵬飛等改進(jìn)的YOLOv2[14],REDMON等提出的YOLOv3[15],以及BOCHKOVSKIY等[16]提出的YOLOv4。One-stage和Two-stage方法均已應(yīng)用在作物穗的檢測(cè)上,如HASAN等[17]利用R-CNN進(jìn)行麥穗檢測(cè),MADEC等[18]利用Faster R-CNN進(jìn)行麥穗檢測(cè)。還有研究開(kāi)始使用One-stage目標(biāo)檢測(cè)算法,如利用YOLO等對(duì)作物穗進(jìn)行目標(biāo)檢測(cè)[19],從而進(jìn)行作物穗計(jì)數(shù)。由于麥穗目標(biāo)尺寸小,相互遮擋嚴(yán)重,而且還有葉片的遮擋,目標(biāo)識(shí)別困難,因此,仍然有必要對(duì)麥穗目標(biāo)檢測(cè)開(kāi)展進(jìn)一步的研究。
本文研究基于YOLOv3的麥穗目標(biāo)檢測(cè)算法,對(duì)目標(biāo)檢測(cè)效果進(jìn)行評(píng)價(jià),并對(duì)比基于深度學(xué)習(xí)的麥穗計(jì)數(shù)與人工麥穗計(jì)數(shù)兩種方式,驗(yàn)證該方法的可行性。
2? 麥穗小目標(biāo)檢測(cè)機(jī)制(Detection mechanism of small wheat ear target)
2.1? ?YOLOv3目標(biāo)檢測(cè)原理
YOLO系列目標(biāo)檢測(cè)算法是一種典型的One-stage目標(biāo)檢測(cè)算法。該系列算法可以直接回歸得出目標(biāo)可能所處的位置,顯著提高了目標(biāo)檢測(cè)的速度,并在實(shí)現(xiàn)實(shí)時(shí)性的同時(shí)確保檢測(cè)精度。YOLO系列算法在實(shí)踐中被廣泛使用。YOLOv3是YOLO系列目標(biāo)檢測(cè)算法的典型代表,是目前實(shí)際工程應(yīng)用領(lǐng)域最優(yōu)秀的目標(biāo)檢測(cè)算法之一。
YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。由于ResNet[10]可以有效加深網(wǎng)絡(luò)深度并提高預(yù)測(cè)精度,YOLOv3使用了殘差網(wǎng)絡(luò)Residual,引入了多個(gè)ResNet模塊,并大量使用了殘差的跳層連接,減輕了深度神經(jīng)網(wǎng)絡(luò)在加深深度時(shí)梯度消失的問(wèn)題。YOLOv3最終設(shè)計(jì)了一個(gè)具有53 個(gè)卷積層的神經(jīng)網(wǎng)絡(luò),命名為Darknet-53,用以提取圖像特征。
YOLOv3生成3 個(gè)具有不同深度的特征圖,來(lái)預(yù)測(cè)不同尺度的目標(biāo)。3 個(gè)特征層的shape分別為(52,52,256)、(26,26,512)、(13,13,1024),劃分越精細(xì)的特征圖所能檢測(cè)的目標(biāo)就越精細(xì),有效提高了小目標(biāo)的檢測(cè)效果。YOLOv3通過(guò)將上采樣后的特征圖與較前層的特征圖融合,例如將26×26的特征層上采樣后與52×52的特征層融合,從而得到上采樣層的語(yǔ)義信息和前層特征圖的細(xì)粒度信息,再進(jìn)行卷積運(yùn)算后對(duì)目標(biāo)進(jìn)行準(zhǔn)確預(yù)測(cè)。
特征層預(yù)測(cè)結(jié)果shape分別為(N,13,13,255)、(N,26,26,255)、(N,52,52,255),其中N為圖片數(shù)量。每個(gè)特征圖網(wǎng)格單元上生成3 個(gè)錨框,每個(gè)網(wǎng)格單元負(fù)責(zé)一個(gè)區(qū)域的檢測(cè),因此YOLOv3的邊界框預(yù)測(cè)過(guò)程就是將特征圖每個(gè)網(wǎng)格點(diǎn)加上它對(duì)應(yīng)的坐標(biāo)偏移量,相加的結(jié)果即為預(yù)測(cè)框的中心,然后再利用先驗(yàn)框和縮放尺度計(jì)算出預(yù)測(cè)框的長(zhǎng)和寬,從而可以得到整個(gè)預(yù)測(cè)框的位置。
2.2? ?YOLOv3改進(jìn)
神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前,對(duì)YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn)。本文需要檢測(cè)麥穗和背景,因此,只有一個(gè)類(lèi)別,則輸出特征層的最后一個(gè)維度為3×(5+1)=18,其中“3”表示每個(gè)網(wǎng)格生成3 個(gè)預(yù)測(cè)框;“5”則分別表示橫縱坐標(biāo)偏置、預(yù)測(cè)框長(zhǎng)寬、置信度;“1”表示分類(lèi)結(jié)果。因此,3 個(gè)特征層的輸出結(jié)果的尺寸改為(N,13,13,18)、(N,26,26,18)、(N,52,52,18),其中N為圖片數(shù)量。
2.3? ?評(píng)價(jià)函數(shù)
目標(biāo)檢測(cè)通常使用準(zhǔn)確率和召回率這兩個(gè)指標(biāo)來(lái)評(píng)估目標(biāo)檢測(cè)算法的性能。精確率(Precision)是指正確檢測(cè)為正類(lèi)的目標(biāo)在所有判定為正類(lèi)的目標(biāo)中所占的比例;召回率(Recall)是指被正確檢測(cè)為正類(lèi)的目標(biāo)在所有正類(lèi)目標(biāo)中所占的比例。精確率和召回率的計(jì)算公式分別如式(1)和式(2)所示。
(1)
(2)
式中,TP表示正確識(shí)別為正類(lèi)的目標(biāo)個(gè)數(shù);FP表示錯(cuò)誤識(shí)別為正類(lèi)的目標(biāo)個(gè)數(shù);FN表示錯(cuò)誤識(shí)別為負(fù)類(lèi)的目標(biāo)個(gè)數(shù)。
在實(shí)際的應(yīng)用過(guò)程中,精確率和召回率兩個(gè)指標(biāo)無(wú)法同時(shí)滿(mǎn)足要求,因此使用AP值綜合考慮兩個(gè)指標(biāo),從而衡量網(wǎng)絡(luò)的性能。AP計(jì)算公式如式(3)所示。
(3)
式中,N表示測(cè)試集中圖片的數(shù)量;Precision(k)表示第k 張圖片的Precision值;?Recall(k)表示從k-1 張圖片到k 張圖片Recall值的變化情況。針對(duì)具有C類(lèi)目標(biāo)的具體任務(wù)時(shí),一般采用平均AP值即mAP,來(lái)衡量網(wǎng)絡(luò)的性能,其計(jì)算如式(4)所示。
(4)
3? ?實(shí)驗(yàn)分析(Analyses of experiment)
3.1? ?YOLOv3框架運(yùn)行平臺(tái)
麥穗目標(biāo)檢測(cè)程序運(yùn)行環(huán)境為Ubuntu 18.04,采用keras開(kāi)源框架,后端引擎為T(mén)ensorflow張量操作框架;硬件平臺(tái)為Intel i9-9900K CPU,主頻3.60 GHz,32 GB內(nèi)存,顯卡為NVIDIA RTX 2080Ti。
3.2? ?數(shù)據(jù)集制作
神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)來(lái)源于文獻(xiàn)[18]。然而該文獻(xiàn)提供的數(shù)據(jù)中存在很多錯(cuò)誤,標(biāo)簽位置與圖像中麥穗目標(biāo)不匹配,無(wú)法用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。因此,本文校正了文獻(xiàn)[18]提供的數(shù)據(jù),查找標(biāo)定錯(cuò)誤的圖像,并對(duì)圖像進(jìn)行翻轉(zhuǎn)和旋轉(zhuǎn)等操作,使標(biāo)簽與麥穗目標(biāo)匹配,最終獲得有效圖像222 張。將其中80%的數(shù)據(jù)用于網(wǎng)絡(luò)訓(xùn)練,其余20%的數(shù)據(jù)作為測(cè)試集用于測(cè)試網(wǎng)絡(luò)的性能。在訓(xùn)練過(guò)程中,將前文所述80%數(shù)據(jù)中90%的數(shù)據(jù)作為訓(xùn)練集用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)中的參數(shù),其余10%的數(shù)據(jù)作為驗(yàn)證集用于驗(yàn)證模型性能的樣本集合。由于采用了YOLOv3的預(yù)訓(xùn)練權(quán)重,設(shè)置batch_size=4,經(jīng)過(guò)150 輪迭代后,損失函數(shù)趨于穩(wěn)定。
3.3? ?實(shí)驗(yàn)結(jié)果分析
為了驗(yàn)證YOLOv3在麥穗識(shí)別中的性能,基于上文所述的測(cè)試集,通過(guò)計(jì)算目標(biāo)檢測(cè)算法典型評(píng)價(jià)指標(biāo)來(lái)對(duì)YOLOv3算法進(jìn)行評(píng)價(jià)。三種評(píng)價(jià)指標(biāo)計(jì)算結(jié)果如表1所示。由于本文所識(shí)別的為單一目標(biāo),因此,本文中mAP值即為麥穗這一類(lèi)別的AP值。從表1中的數(shù)據(jù)可以得出,YOLOv3在麥穗檢測(cè)中表現(xiàn)出較優(yōu)的性能,其精確率為76.96%,召回率為93.16%。由于精確率和召回率取決于閾值設(shè)定,為了更準(zhǔn)確地評(píng)估模型目標(biāo)檢測(cè)性能,繪制精確率-召回率變化曲線如圖2所示,曲線包圍面積即mAP為89.52%。
為了驗(yàn)證YOLOv3在麥穗識(shí)別中具有較高的魯棒性,本文選取了小麥在不同生長(zhǎng)時(shí)期所拍攝的照片進(jìn)行測(cè)試分析。測(cè)試結(jié)果如圖3、圖4和圖5所示,測(cè)試圖片按生長(zhǎng)周期進(jìn)行排序。各實(shí)例圖片檢測(cè)結(jié)果如表2所示,其中,檢測(cè)成功的目標(biāo)使用方框進(jìn)行標(biāo)注。在圖3中,成功檢測(cè)出138 個(gè)目標(biāo),有8 個(gè)目標(biāo)未成功檢測(cè),準(zhǔn)確率為94.52%;在圖4中,成功檢測(cè)出100 個(gè)目標(biāo),有6 個(gè)目標(biāo)未成功檢測(cè),準(zhǔn)確率為94.34%;在圖5中,成功檢測(cè)出129 個(gè)目標(biāo),有1 個(gè)目標(biāo)檢測(cè)失敗,準(zhǔn)確率為99.23%。通過(guò)以上數(shù)據(jù)可知,該算法漏檢少量麥穗,主要原因是麥穗目標(biāo)比較小,麥穗與麥穗之間、葉片與麥穗之間相互遮擋。從上述圖片的總體檢測(cè)結(jié)果中可以看出,該算法在麥穗生長(zhǎng)的各個(gè)時(shí)期均表現(xiàn)出較高的識(shí)別準(zhǔn)確率,并且預(yù)測(cè)框的大小與位置也與麥穗非常匹配,可以認(rèn)為該算法表現(xiàn)出較高的麥穗識(shí)別魯棒性。
4? ?結(jié)論(Conclusion)
本文基于YOLOv3目標(biāo)檢測(cè)算法,對(duì)麥穗進(jìn)行檢測(cè)和計(jì)數(shù)。首先對(duì)開(kāi)源的小麥麥穗數(shù)據(jù)集進(jìn)行校正,并且適當(dāng)劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集;其次,本文根據(jù)單類(lèi)目標(biāo)檢測(cè)需求對(duì)YOLOv3進(jìn)行改進(jìn),基于劃分的數(shù)據(jù)集并結(jié)合YOLOv3的預(yù)訓(xùn)練權(quán)重對(duì)YOLOv3網(wǎng)絡(luò)進(jìn)行訓(xùn)練;最后,利用訓(xùn)練完成的神經(jīng)網(wǎng)絡(luò)對(duì)測(cè)試集數(shù)據(jù)進(jìn)行測(cè)試。最終的實(shí)驗(yàn)結(jié)果證明,YOLOv3在麥穗檢測(cè)這一任務(wù)中具有較高的準(zhǔn)確率和mAP指標(biāo),且表現(xiàn)出較高的魯棒性。同時(shí)也發(fā)現(xiàn),由于麥穗目標(biāo)較小,加之相互遮擋嚴(yán)重,仍存在部分麥穗漏檢的情況,對(duì)麥穗的目標(biāo)檢測(cè)仍需要進(jìn)一步的研究來(lái)提高準(zhǔn)確率。
參考文獻(xiàn)(References)
[1] 侯英雨,王建林,毛留喜,等.美國(guó)玉米和小麥產(chǎn)量動(dòng)態(tài)預(yù)測(cè)遙感模型[J].生態(tài)學(xué)雜志,2009,28(10):2142-2146.
[2] 朱秀紅,李秀珍,姚文軍,等.基于SPSS的日照市小麥產(chǎn)量年景預(yù)測(cè)模型[J].中國(guó)農(nóng)學(xué)通報(bào),2010,026(02):295-297.
[3]周永生,肖玉歡,黃潤(rùn)生.基于多元線性回歸的廣西糧食產(chǎn)量預(yù)測(cè)[J].南方農(nóng)業(yè)學(xué)報(bào),2011,42(09):1165-1167.
[4] 劉濤,孫成明,王力堅(jiān),等.基于圖像處理技術(shù)的大田麥穗計(jì)數(shù)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2014,45(2):282-290.
[5] 杜穎,蔡義承,譚昌偉,等.基于超像素分割的田間小麥穗數(shù)統(tǒng)計(jì)方法[J].中國(guó)農(nóng)業(yè)科學(xué),2019,52(01):21-33.
[6] 李毅念,杜世偉,姚敏,等.基于小麥群體圖像的田間麥穗計(jì)數(shù)及產(chǎn)量預(yù)測(cè)方法[J].農(nóng)業(yè)工程學(xué)報(bào),2018,34(21):193-202.
[7] 翁楊,曾睿,吳陳銘,等.基于深度學(xué)習(xí)的農(nóng)業(yè)植物表型研究綜述[J].中國(guó)科學(xué):生命科學(xué),2019,49(06):698-716.
[8] 董靜,耿達(dá),郭迎港,等.室內(nèi)環(huán)境下基于R-CNN的光照自適應(yīng)物體檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2019,55(2):168-173.
[9] 莫宏偉,汪海波.基于Faster R-CNN的人體行為檢測(cè)研究[J].智能系統(tǒng)學(xué)報(bào),2018,13(6):967-973.
[10] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in Deep Convolutional Networks for visual recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 37(9):1904-1916.
[11] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137-1149.
[12] 陳冰曲,鄧濤.基于改進(jìn)型SSD算法的目標(biāo)車(chē)輛檢測(cè)研究[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2019,33(1):58-63.
[13] 王宇寧,龐智恒,袁德明.基于YOLO算法的車(chē)輛實(shí)時(shí)檢測(cè)[J].武漢理工大學(xué)學(xué)報(bào),2016,38(10):41-46.
[14] 李鵬飛,劉瑤,李珣,等.YOLO9000模型的車(chē)輛多目標(biāo)視頻檢測(cè)系統(tǒng)研究[J].計(jì)算機(jī)測(cè)量與控制,2019,27(8):21-24,29.
[15] REDMON J, FARHADI A. YOLOv3: An incremental improvement[Z/OL]. [2021-05-26]. https://arxiv.org/abs/1804.02767.
[16] BOCHKOVSKIY A, WANG C Y, LIAO H. YOLOv4: Optimal speed and accuracy of object detection[Z/OL]. [2021-05-26]. https://arxiv.org/abs/2004.10934.
[17] HASAN M M, CHOPIN J P, LAGA H, et al. Detection and analysis of wheat spikes using Convolutional Neural Networks[J]. Plant Methods, 2018, 14(1):100-113.
[18] MADEC S, JIN X, LU H, et al. Ear density estimation from high resolution RGB imagery using deep learning technique[J]. Agricultural and Forest Meteorology, 2019(264):225-234.
[19] 梁胤豪,陳全,董彩霞,等.基于深度學(xué)習(xí)和無(wú)人機(jī)遙感技術(shù)的玉米雄穗檢測(cè)研究[J].福建農(nóng)業(yè)學(xué)報(bào),2020,35(4):456-464.
作者簡(jiǎn)介:
王宇歌(1999-),女,本科生.研究領(lǐng)域:汽車(chē)電子.
張? 涌(1971-),男,博士,教授.研究領(lǐng)域:智能車(chē)底盤(pán)線控.
黃林雄(1996-),男,碩士生.研究領(lǐng)域:汽車(chē)電子.
趙奉奎(1986-),男,博士,講師.研究領(lǐng)域:智能車(chē)環(huán)境感知技術(shù).本文通訊作者.