楊蜀秦 劉江川 徐可可 桑 雪 寧紀(jì)鋒 張智韜
(1.西北農(nóng)林科技大學(xué)機(jī)械與電子工程學(xué)院, 陜西楊凌 712100; 2.農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室, 陜西楊凌 712100;3.西北農(nóng)林科技大學(xué)信息工程學(xué)院, 陜西楊凌 712100; 4.陜西省農(nóng)業(yè)信息感知與智能服務(wù)重點(diǎn)實(shí)驗(yàn)室, 陜西楊凌 712100;5.西北農(nóng)林科技大學(xué)水利與建筑工程學(xué)院, 陜西楊凌 712100)
玉米屬于雌雄同株的植物,雄蕊位于植株頂端,是判斷玉米進(jìn)入抽雄期的關(guān)鍵標(biāo)志。準(zhǔn)確識(shí)別抽雄期雄蕊的位置、數(shù)量、尺寸等特征可為去雄等田間作業(yè)管理提供有效信息,同時(shí)也可作為玉米良種培育的重要參考依據(jù)[1-3]。由于玉米植株密集且雄蕊位置較高,在識(shí)別大范圍玉米種植區(qū)域雄蕊時(shí),傳統(tǒng)人工調(diào)查的方法存在主觀性高和效率低等問(wèn)題,影響統(tǒng)計(jì)結(jié)果的準(zhǔn)確性。
無(wú)人機(jī)遙感因其具備機(jī)動(dòng)性強(qiáng)和成像分辨率高等特點(diǎn),為檢測(cè)抽雄期玉米雄蕊提供了一種有效的途徑。文獻(xiàn)[4]通過(guò)修改Faster R-CNN[5]模型的錨框尺寸提高對(duì)無(wú)人機(jī)拍攝的玉米雄蕊圖像的識(shí)別精度。文獻(xiàn)[6]采用輕量級(jí)的SSD_mobilenet[7]模型對(duì)玉米雄蕊圖像進(jìn)行識(shí)別,為無(wú)人機(jī)機(jī)載系統(tǒng)部署雄蕊檢測(cè)系統(tǒng)提供參考。以上研究均采用有錨框(Anchor-base)算法,其檢測(cè)結(jié)果依賴錨框的尺寸和比例等參數(shù)的設(shè)置和調(diào)試[6-9]。在大田作物目標(biāo)識(shí)別和計(jì)數(shù)方面,文獻(xiàn)[10]采用傳統(tǒng)的SVM學(xué)習(xí)算法對(duì)小麥骨架特征進(jìn)行識(shí)別,進(jìn)而實(shí)現(xiàn)小麥麥穗計(jì)數(shù)。文獻(xiàn)[11]研究發(fā)現(xiàn)基于特征的稻穗檢測(cè)方法對(duì)小尺寸稻穗目標(biāo)有較大的提升效果。文獻(xiàn)[12]對(duì)玉米無(wú)人機(jī)遙感影像進(jìn)行作物和土壤分離后,利用骨架提取和毛刺處理等形態(tài)學(xué)方法提取玉米苗形態(tài),采用Harris角點(diǎn)檢測(cè)算法檢測(cè)玉米苗期影像的株數(shù)信息。
對(duì)大田作物檢測(cè)識(shí)別主要有基于傳統(tǒng)的機(jī)器學(xué)習(xí)方法[13-14]和基于深度學(xué)習(xí)[15-17]的方法?;谏疃葘W(xué)習(xí)的方法因?yàn)槟軌蛱崛D像的高層語(yǔ)義特征和端到端的訓(xùn)練已成為主流方法。目前面向農(nóng)作物檢測(cè)計(jì)數(shù)的主要方法是基于錨框的Faster R-CNN和SSD 2種方法,雖然能夠取得較高的識(shí)別精度,但仍依賴于復(fù)雜的錨框設(shè)計(jì),網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜。另一方面,由于基于無(wú)錨框的CenterNet模型[18]在特征提取階段將圖像分辨率降為原來(lái)的1/4,仍能有效保持目標(biāo)結(jié)構(gòu),因此,憑借其算法簡(jiǎn)潔和無(wú)非極大值抑制等操作,在目標(biāo)檢測(cè)應(yīng)用領(lǐng)域[19-23]已顯示出一定優(yōu)勢(shì)。
玉米抽雄期的雄蕊尺寸相對(duì)較小,直接使用CenterNet模型,其特征提取過(guò)程會(huì)對(duì)小目標(biāo)玉米雄蕊壓縮過(guò)度,同時(shí)影響雄蕊的檢測(cè)速度。因此,為實(shí)現(xiàn)快速、準(zhǔn)確地檢測(cè)無(wú)人機(jī)遙感拍攝的農(nóng)田玉米雄蕊,本文從簡(jiǎn)化CenterNet網(wǎng)絡(luò)結(jié)構(gòu)加速雄蕊檢測(cè)和在特征提取網(wǎng)絡(luò)中增加坐標(biāo)信息增強(qiáng)雄蕊檢測(cè)的準(zhǔn)確性兩方面進(jìn)行改進(jìn),提高玉米抽雄期的雄蕊目標(biāo)檢測(cè)精度和速度,以期為玉米抽雄期的農(nóng)情監(jiān)測(cè)提供參考。
試驗(yàn)地點(diǎn)位于陜西省關(guān)中平原中部的西北農(nóng)林科技大學(xué)玉米試驗(yàn)田(108°4′19.53″E,34°17′34.24″N),如圖1所示,屬于溫帶半干旱或半濕潤(rùn)氣候,年平均氣溫11~13℃,年降水量500~700 mm。試驗(yàn)區(qū)域面積約2 080 m2,種植的夏玉米為一年一熟制,于2020年6月中旬播種,并在10月上旬收獲。
采用大疆精靈4型多光譜版無(wú)人機(jī)(圖2a)拍攝試驗(yàn)區(qū)域遙感影像。該無(wú)人機(jī)在自動(dòng)飛行和手動(dòng)操作下最大飛行速度分別為6 m/s和5 m/s,搭載的多光譜成像系統(tǒng)集成1個(gè)可見光傳感器和5個(gè)用于多光譜成像的單色傳感器(圖2b)。由于可見光傳感器具有更高的分辨率,因此本研究采用拍攝的可見光圖像檢測(cè)抽雄期玉米雄蕊。于2020年8月中旬拍攝抽雄期玉米農(nóng)田,設(shè)置無(wú)人機(jī)飛行高度為10 m,地面采樣距離(Ground sample distance, GSD)為0.53 cm/像素,云臺(tái)拍攝角度為垂直地面,航向重疊率80%,旁向重疊率70%,共獲得449幅1 600像素×1 300像素的可見光遙感圖像。
為防止樣本數(shù)據(jù)過(guò)度重復(fù),將拍攝獲取的數(shù)據(jù)集每間隔2幅進(jìn)行采樣,并剔除樣本中質(zhì)量較差的圖像,最后共獲得140幅玉米雄蕊圖像,按照9∶1比例劃分126幅為訓(xùn)練集和14幅為測(cè)試集。每幅訓(xùn)練集圖像隨機(jī)裁剪出15個(gè)600像素×600像素區(qū)域,并采用高斯加噪、鏡像變換、改變亮度、平移變換的方式將訓(xùn)練集擴(kuò)充至9 450幅,如圖3所示。
結(jié)合地面調(diào)查,采用LabelImg軟件對(duì)雄蕊進(jìn)行標(biāo)注。從玉米抽雄期的雄蕊遙感影像可以看出,雄蕊圖像尺寸較小。借鑒COCO數(shù)據(jù)標(biāo)注規(guī)范[24],將尺寸小于等于32像素×32像素的目標(biāo)認(rèn)定為小目標(biāo),大于96像素×96像素的為大目標(biāo),其余的為中等目標(biāo)。圖4是對(duì)數(shù)據(jù)集中所有雄蕊的尺寸統(tǒng)計(jì),可以看出小目標(biāo)和中目標(biāo)占比分別為22.77%和77.11%,大目標(biāo)占比僅0.12%。在小目標(biāo)中,絕大部分雄蕊尺寸均大于16像素×16像素,這將指導(dǎo)本文基于CenterNet修改雄蕊檢測(cè)骨干特征提取網(wǎng)絡(luò)。
CenterNet是無(wú)錨框目標(biāo)檢測(cè)算法的典型代表,該算法在4倍下采樣的高分辨率特征圖中,預(yù)測(cè)目標(biāo)的中心點(diǎn)、中心點(diǎn)偏置、預(yù)測(cè)框?qū)捀?,整體架構(gòu)非常簡(jiǎn)單。CenterNet支持Hourglass[25]、DLA[26]、Resnet[27]作為骨干特征提取網(wǎng)絡(luò),由于Hourglass和DLA網(wǎng)絡(luò)參數(shù)量較大,不便于實(shí)際應(yīng)用,故采用Resnet50作為骨干特征提取網(wǎng)絡(luò)。通過(guò)對(duì)骨干網(wǎng)絡(luò)末端特征層進(jìn)行反卷積,獲取4倍下采樣高分辨率特征圖,進(jìn)而回歸圖像熱力特征圖、目標(biāo)中心點(diǎn)偏置、目標(biāo)框尺寸信息獲取預(yù)測(cè)結(jié)果。CenterNet相較于傳統(tǒng)的候選框篩選方法,避免了非極大抑制操作,縮短了檢測(cè)目標(biāo)的時(shí)間,同時(shí)也克服了Faster R-CNN檢測(cè)方法依賴于復(fù)雜的錨框設(shè)計(jì),適用于田間的玉米雄蕊識(shí)別。
CenterNet對(duì)于輸入的圖像,通過(guò)高斯核函數(shù)將其映射為熱力圖進(jìn)行訓(xùn)練,保留預(yù)測(cè)熱力圖3×3鄰域的局部極大值,進(jìn)而確定目標(biāo)中心和類別。高斯核函數(shù)公式為
(1)
式中 (x,y)——圖中每個(gè)點(diǎn)的坐標(biāo)
(xgt,ygt)——雄蕊中心點(diǎn)坐標(biāo)
σ——自適應(yīng)標(biāo)準(zhǔn)差[28],取1/3
yxyc——?dú)w一化后的輸出真值
由于訓(xùn)練的熱力特征圖分辨率為原圖的1/4,因此存在中心點(diǎn)位置的偏差,在訓(xùn)練過(guò)程中需要同時(shí)對(duì)預(yù)測(cè)框的寬高和中心點(diǎn)偏置進(jìn)行回歸訓(xùn)練。因此,CenterNet模型預(yù)測(cè)包括熱力圖損失Lk、中心點(diǎn)偏置損失Loff和目標(biāo)框?qū)捀邠p失Lsize3個(gè)損失函數(shù),分別定義為
(2)
(3)
(4)
式中N——雄蕊個(gè)數(shù)
P——真實(shí)中心點(diǎn)
R——下采樣倍數(shù),取4
α、β——損失中的超參數(shù),分別取2和4
總損失Ldet為3種損失之和,定義為
Ldet=Lk+λsizeLsize+λoffLoff
(5)
式中λsize、λoff——比例因子,分別取0.1、1
如前所述,在無(wú)人機(jī)遙感玉米抽雄期圖像中,雄蕊主要體現(xiàn)為小目標(biāo)(小于等于32像素×32像素)和中等目標(biāo)(大于32像素×32像素且小于等于96像素×96像素)。針對(duì)玉米雄蕊中小目標(biāo)的特點(diǎn),本文通過(guò)簡(jiǎn)化特征提取骨干網(wǎng)絡(luò),加快檢測(cè)速度,同時(shí),在CenterNet的特征提取網(wǎng)絡(luò)中增加坐標(biāo)信息,以增強(qiáng)雄蕊檢測(cè)的準(zhǔn)確度。圖5為改進(jìn)的CenterNet玉米雄蕊檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)圖。圖中w為特征尺寸長(zhǎng),H為特征尺寸寬。
2.2.1優(yōu)化骨干網(wǎng)絡(luò)
CenterNet特征提取骨干網(wǎng)絡(luò)的最后一層將圖像縮小為原圖的1/32,這對(duì)于尺寸小于32像素×32像素的雄蕊小目標(biāo)將造成其結(jié)構(gòu)信息丟失,從而影響最終的檢測(cè)結(jié)果。因此,本文將去掉骨干特征提取網(wǎng)絡(luò)的最后一層,僅使圖像縮至原圖的1/16。如圖5所示,在保留了雄蕊小目標(biāo)結(jié)構(gòu)信息的同時(shí),減少骨干網(wǎng)絡(luò)模型的參數(shù),從而提升CenterNet的檢測(cè)精度和速度。相應(yīng)地,將反卷積模塊第1層重新設(shè)置其卷積核尺寸、padding填充、卷積步長(zhǎng)3個(gè)參數(shù),實(shí)現(xiàn)尺寸不變的特征傳遞。
2.2.2添加坐標(biāo)信息增強(qiáng)定位準(zhǔn)確性
在Coordconv坐標(biāo)卷積[29]模型中,將坐標(biāo)信息作為特征層信息輸入進(jìn)行卷積,根據(jù)前層傳入的特征層長(zhǎng)寬建立2個(gè)和特征層尺寸相同的坐標(biāo)信息層。第1層記錄每層特征層橫坐標(biāo)信息,第2層記錄每層特征層縱坐標(biāo)信息。在卷積前通過(guò)對(duì)添加坐標(biāo)信息后的特征層進(jìn)行歸一化處理,保留特征之間的相對(duì)位置,便于卷積訪問(wèn)特征坐標(biāo)信息。通過(guò)在特征圖中添加坐標(biāo)位置信息,增強(qiáng)深度學(xué)習(xí)模型的位置敏感性,從而提升檢測(cè)精度。
在本研究中,玉米雄蕊屬于中小目標(biāo),對(duì)位置誤差較為敏感。試驗(yàn)發(fā)現(xiàn),在圖像分辨率較高的最后一個(gè)反卷積層中添加坐標(biāo)信息,能夠增強(qiáng)特征的位置敏感性,從而改進(jìn)玉米雄蕊檢測(cè)的精度。因此,本文在反卷積層的最后一層添加橫坐標(biāo)層和縱坐標(biāo)層信息(圖5),然后進(jìn)行特征融合和歸一化處理,進(jìn)一步提升模型精度[30]。
采用準(zhǔn)確率(P)、召回率(R)、平均精度(AP)、交并比(IoU)和平均幀率(FPS)來(lái)評(píng)估模型的性能。IoU用于測(cè)量真實(shí)框與檢測(cè)框之間的重疊度,重疊度越高,相關(guān)度越高。本研究對(duì)玉米雄蕊目標(biāo)進(jìn)行檢測(cè)識(shí)別,選擇IoU大于30%作為判斷雄蕊檢測(cè)的閾值。在上述評(píng)價(jià)指標(biāo)中,模型性能參數(shù)的重要性依次為平均精度、召回率、準(zhǔn)確率。
采用隨機(jī)裁剪的600像素×600像素圖像構(gòu)建訓(xùn)練集,預(yù)測(cè)時(shí)對(duì)無(wú)人機(jī)拍攝的分辨率為1 300像素×1 600像素的圖像進(jìn)行檢測(cè)和計(jì)數(shù)。顯卡為NVIDIA Tesla P100,顯存為16 GB,操作系統(tǒng)為 Ubuntu 16.04,深度學(xué)習(xí)框架為Pytorch 1.4。
模型訓(xùn)練將所有訓(xùn)練集按9∶1隨機(jī)劃分為訓(xùn)練集和驗(yàn)證集,以防止模型過(guò)擬合訓(xùn)練。模型訓(xùn)練100個(gè)周期,前50個(gè)周期凍結(jié)骨干網(wǎng)絡(luò)參數(shù),只訓(xùn)練模型分類器參數(shù),初始學(xué)習(xí)率為1×10-3,批處理尺寸為8,權(quán)重衰減為5×10-4;后50個(gè)周期解凍骨干網(wǎng)絡(luò)參數(shù),初始學(xué)習(xí)率為1×10-4,批處理尺寸為4,權(quán)重衰減為5×10-4,共迭代850 500次。
用相同數(shù)據(jù)集分別在Faster R-CNN、YOLO v4網(wǎng)絡(luò)上進(jìn)行同批次的訓(xùn)練,與改進(jìn)后的CenterNet模型進(jìn)行對(duì)比,檢測(cè)結(jié)果如表1所示。盡管YOLO v4的準(zhǔn)確率最高,但召回率指標(biāo)顯示其漏檢率僅高于Faster R-CNN,并且復(fù)雜錨框設(shè)計(jì)也影響了它的檢測(cè)速度。而在綜合指標(biāo)AP方面,改進(jìn)的CenterNet模型AP為92.40%,分別比Faster R-CNN、YOLO v4和原CenterNet高26.22、3.42、0.62個(gè)百分點(diǎn)。改進(jìn)模型的參數(shù)量?jī)H為45 MB,低于其余3個(gè)模型的參數(shù)量,對(duì)應(yīng)其檢測(cè)速度最快為36 f/s,分別比Faster R-CNN、YOLO v4以及原CenterNet高32、23、3 f/s。
表1 不同目標(biāo)檢測(cè)模型的玉米雄蕊檢測(cè)試驗(yàn)結(jié)果Tab.1 Maize tassels test result of different object detection models
圖6為部分檢測(cè)結(jié)果及部分細(xì)節(jié)展示圖,預(yù)測(cè)圖中共包含64個(gè)玉米雄蕊,藍(lán)色框、粉色框和紅色框分別代表正確檢測(cè)、漏檢和誤檢。其中,F(xiàn)aster R-CNN檢測(cè)結(jié)果最差,正確檢測(cè)33個(gè)雄蕊目標(biāo),漏檢31個(gè),誤檢1個(gè);YOLO v4正確檢測(cè)53個(gè)雄蕊目標(biāo),漏檢11個(gè),CenterNet模型正確檢測(cè)55個(gè)雄蕊目標(biāo),漏檢9個(gè),誤檢1個(gè),改進(jìn)后的模型正確檢測(cè)59個(gè)雄蕊目標(biāo),漏檢5個(gè)。
如圖6a所示,F(xiàn)aster R-CNN在預(yù)測(cè)結(jié)果中漏檢目標(biāo)較多,并且存在非極大值抑制后保留識(shí)別框的問(wèn)題,圖6b和圖6c是YOLO v4和CenterNet算法的檢測(cè)效果,相對(duì)于Faster R-CNN,漏檢明顯減少,改進(jìn)后的CenterNet算法檢測(cè)精度進(jìn)一步提升,在減少漏檢的前提下提高了檢測(cè)速度。
表2列出了改進(jìn)的CenterNet模型中各個(gè)部分的試驗(yàn)結(jié)果。CenterNet-Backbone為簡(jiǎn)化后的骨干網(wǎng)絡(luò)模型,CenterNet-Coordconv為僅在CenterNet網(wǎng)絡(luò)添加坐標(biāo)信息的改進(jìn)模型,改進(jìn)的CenterNet為在優(yōu)化骨干網(wǎng)絡(luò)的基礎(chǔ)上添加坐標(biāo)信息??梢钥闯?,原CenterNet模型參數(shù)量較大且檢測(cè)精度和檢測(cè)速度存在提升空間;去除CenterNet骨干網(wǎng)絡(luò)的最后一層特征提取部分,整體AP值略低于原始網(wǎng)絡(luò),但因?yàn)閰?shù)量明顯降低,識(shí)別速度因此提升了6 f/s;僅在網(wǎng)絡(luò)中加入坐標(biāo)信息的CenterNet-Coordconv相較于原CenterNet模型,AP提升了0.45個(gè)百分點(diǎn),檢測(cè)速度略降;而本文提出的改進(jìn)CenterNet方法融合二者優(yōu)點(diǎn),相較于原始模型在平均精度和速度上分別提升了0.62個(gè)百分點(diǎn)和3 f/s,實(shí)現(xiàn)了對(duì)玉米雄蕊的高精度快速識(shí)別。
表2 改進(jìn)的CenterNet算法玉米雄蕊識(shí)別試驗(yàn)分析Tab.2 Experimental analysis of maize tassels recognition based on improved CenterNet
(1)基于錨框與基于中心點(diǎn)算法的比較
玉米雄蕊主要呈現(xiàn)為中小目標(biāo),不同雄蕊存在明顯的形態(tài)區(qū)別,基于錨框的Faster R-CNN、YOLO v4等算法對(duì)模型訓(xùn)練存在過(guò)擬合,這一點(diǎn)體現(xiàn)在圖6a和圖6b中的識(shí)別框過(guò)大和漏檢數(shù)量較多。本研究采用無(wú)錨框的CenterNet算法,通過(guò)熱力特征圖來(lái)回歸檢測(cè)目標(biāo)的中心點(diǎn)坐標(biāo),避免了傳統(tǒng)方法中預(yù)設(shè)錨框帶來(lái)的局限,從而有效降低玉米雄蕊漏檢。在表1中,F(xiàn)aster R-CNN、YOLO v4的召回率分別為72.61%、89.22%,改進(jìn)后的CenterNet召回率達(dá)到93.76%,顯著減小了漏檢率?;谥行狞c(diǎn)的檢測(cè)算法對(duì)圖像尺寸的依賴較小,通過(guò)學(xué)習(xí)不同形態(tài)和尺寸的玉米雄蕊中心點(diǎn)特征,能夠準(zhǔn)確識(shí)別農(nóng)田環(huán)境下的雄蕊目標(biāo)。
(2)CenterNet算法檢測(cè)遮擋雄蕊存在的缺陷
觀察圖6d可以發(fā)現(xiàn),漏檢的玉米雄蕊多受到葉片或其他雄蕊遮擋,這種情況同樣存在于原CenterNet模型的檢測(cè)結(jié)果中(圖6c)。分析其主要原因有:①影響模型準(zhǔn)確提取雄蕊特征,導(dǎo)致其無(wú)法突出雄蕊的熱力中心點(diǎn)。②算法在熱力圖預(yù)測(cè)目標(biāo)中心點(diǎn)時(shí),將圖中每個(gè)像素點(diǎn)的峰值與8連通域內(nèi)各個(gè)峰值進(jìn)行篩選,保留峰值最高的點(diǎn),而雄蕊的相互重疊,會(huì)誤抑制被遮擋的雄蕊中心點(diǎn)峰值,從而導(dǎo)致模型對(duì)重疊雄蕊產(chǎn)生漏檢。
(1)針對(duì)無(wú)人機(jī)遙感拍攝的農(nóng)田復(fù)雜背景下玉米雄蕊檢測(cè)問(wèn)題,提出了一種優(yōu)化骨干網(wǎng)絡(luò)和添加坐標(biāo)位置信息的CenterNet檢測(cè)模型。簡(jiǎn)化的骨干網(wǎng)絡(luò)能夠減少CenterNet模型參數(shù),從而提高檢測(cè)速度,同時(shí)幾乎不影響CenterNet的檢測(cè)精度。通過(guò)在特征中添加坐標(biāo)位置信息,增強(qiáng)模型的位置敏感性,提高檢測(cè)精度。最后,改進(jìn)的CenterNet模型融合二者的優(yōu)點(diǎn),在提升檢測(cè)精度的同時(shí),保持了CenterNet的實(shí)時(shí)性。
(2)與有錨框的Faster R-CNN和YOLO v4相比,改進(jìn)的CenterNet算法在相同的數(shù)據(jù)集條件下,AP分別高于Faster R-CNN、YOLO v4模型26.22、3.42個(gè)百分點(diǎn),檢測(cè)速度分別比Faster R-CNN、YOLO v4模型高32、23 f/s。AP值較CenterNet算法提升了0.62個(gè)百分點(diǎn),檢測(cè)速度提升了3 f/s。因此,提出的CenterNet玉米雄蕊識(shí)別模型為玉米抽雄期的農(nóng)情監(jiān)測(cè)提供了一種有效的方法支持。