張領(lǐng)先 陳運(yùn)強(qiáng) 李云霞 馬浚誠(chéng) 杜克明
(1.中國(guó)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院, 北京 100083; 2.中國(guó)農(nóng)業(yè)科學(xué)院農(nóng)業(yè)環(huán)境與可持續(xù)發(fā)展研究所, 北京 100081)
產(chǎn)量預(yù)測(cè)是冬小麥生產(chǎn)管理的重要環(huán)節(jié)之一,準(zhǔn)確的產(chǎn)量預(yù)測(cè)可以為農(nóng)業(yè)管理決策提供參考[1-2]。單位面積麥穗數(shù)是表征冬小麥產(chǎn)量的常用指標(biāo)之一[3],快速、準(zhǔn)確地識(shí)別麥穗并檢測(cè)單位面積穗數(shù),不僅對(duì)估產(chǎn)起著重要的作用,在育種、植物表型分析等方面也有重要意義。傳統(tǒng)的人工計(jì)數(shù)方法不僅時(shí)效性差,而且主觀性較高,缺乏統(tǒng)一的麥穗計(jì)數(shù)標(biāo)準(zhǔn)[3]。
計(jì)算機(jī)視覺(jué)是目前麥穗識(shí)別和檢測(cè)計(jì)數(shù)的主要技術(shù)手段,利用冬小麥RGB圖像,獲取麥穗的顏色[4-6]、紋理[4-5]和形狀[6]特征,通過(guò)機(jī)器學(xué)習(xí)方法建立麥穗識(shí)別分類(lèi)器,從而實(shí)現(xiàn)麥穗識(shí)別和檢測(cè)計(jì)數(shù)。雖然這些方法取得了一定的效果,但需要人為設(shè)置圖像特征,對(duì)大田環(huán)境下光照不均勻和復(fù)雜背景等噪聲的魯棒性不足,難以拓展應(yīng)用。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)是目前最有效的圖像識(shí)別方法[7-8],在病蟲(chóng)害識(shí)別分類(lèi)[9-10]、植物器官計(jì)數(shù)[11-12]、雜草識(shí)別[13-14]、植物識(shí)別及物種分類(lèi)[15-16]、土地覆蓋分類(lèi)[17]等農(nóng)業(yè)領(lǐng)域均有廣泛的應(yīng)用。KAMILARIS等[18]調(diào)查并比較了40項(xiàng)關(guān)于深度學(xué)習(xí)在農(nóng)業(yè)中應(yīng)用的研究,結(jié)果表明,深度學(xué)習(xí)在圖像識(shí)別方面有更高的準(zhǔn)確性,結(jié)果優(yōu)于現(xiàn)有常用的圖像處理技術(shù)。XIONG等[19]提出了一種基于簡(jiǎn)單線(xiàn)性迭代聚類(lèi)(Simple linear iterative clustering,SLIC)超像素分割的Panicle-SEG分割算法,通過(guò)構(gòu)建CNN模型進(jìn)行訓(xùn)練,并結(jié)合熵率超像素最優(yōu)化,實(shí)現(xiàn)了大田環(huán)境下水稻稻穗的識(shí)別。CNN已在農(nóng)業(yè)領(lǐng)域得到廣泛應(yīng)用,而在冬小麥麥穗檢測(cè)計(jì)數(shù)上的研究卻鮮有報(bào)道。
本研究基于CNN開(kāi)展冬小麥麥穗檢測(cè)計(jì)數(shù)系統(tǒng)研究,利用CNN構(gòu)建冬小麥麥穗識(shí)別模型,結(jié)合非極大值抑制方法(Non-maximal suppression,NMS)進(jìn)行單位面積麥穗檢測(cè)計(jì)數(shù),使模型具有從復(fù)雜背景中快速檢測(cè)麥穗的能力。
基于深度學(xué)習(xí)技術(shù),結(jié)合冬小麥大田環(huán)境及麥穗圖像特點(diǎn),以大田環(huán)境下采集的冬小麥圖像為系統(tǒng)輸入,旨在實(shí)現(xiàn)麥穗的快速識(shí)別和準(zhǔn)確檢測(cè)計(jì)數(shù),提高CNN在麥穗識(shí)別和檢測(cè)計(jì)數(shù)中的適用性,從而為冬小麥產(chǎn)量預(yù)測(cè)提供參考。
根據(jù)設(shè)計(jì)目標(biāo),基于模塊化的思想進(jìn)行系統(tǒng)功能設(shè)計(jì)并將系統(tǒng)劃分為麥穗提取、數(shù)據(jù)集構(gòu)建、麥穗檢測(cè)計(jì)數(shù)和系統(tǒng)管理4個(gè)模塊,各功能模塊的主要功能如圖1所示[20-22]。
麥穗提取模塊的功能主要是對(duì)原始冬小麥圖像進(jìn)行預(yù)處理,并從圖像中分別提取麥穗、葉片和陰影3類(lèi)標(biāo)簽圖像。數(shù)據(jù)集構(gòu)建模塊的功能主要是對(duì)麥穗提取模塊中提取的標(biāo)簽圖像進(jìn)行數(shù)據(jù)擴(kuò)充,并將擴(kuò)充后的數(shù)據(jù)集進(jìn)行劃分,建立可用于CNN模型訓(xùn)練、驗(yàn)證和測(cè)試的數(shù)據(jù)集。麥穗檢測(cè)計(jì)數(shù)模塊的功能主要是利用構(gòu)建的CNN模型,實(shí)現(xiàn)麥穗識(shí)別及麥穗檢測(cè)計(jì)數(shù)。系統(tǒng)管理模塊主要功能包括系統(tǒng)管理員對(duì)用戶(hù)相關(guān)信息及登錄權(quán)限進(jìn)行管理,同時(shí)負(fù)責(zé)系統(tǒng)的日常事務(wù)管理和維護(hù)以及數(shù)據(jù)庫(kù)管理,以提高系統(tǒng)的安全性和數(shù)據(jù)的完整性。
基于系統(tǒng)結(jié)構(gòu)功能設(shè)計(jì)與分析,將麥穗檢測(cè)計(jì)數(shù)的流程分為麥穗提取、數(shù)據(jù)集構(gòu)建、CNN模型構(gòu)建和麥穗檢測(cè)計(jì)數(shù)4部分。具體流程如圖2所示。
圖2 麥穗檢測(cè)計(jì)數(shù)流程圖Fig.2 Flow chart of winter wheat ears detection and counting
1.3.1麥穗提取
不同生長(zhǎng)階段的冬小麥麥穗有不同的特征。開(kāi)花期的麥穗顏色與冬小麥植株顏色差異不大,難以單純利用圖像特征來(lái)識(shí)別麥穗。除此之外,大田環(huán)境中采集的冬小麥圖像具有植株密度高、重疊多、光照不均和背景復(fù)雜等諸多干擾。為提高網(wǎng)絡(luò)模型的抗干擾能力,保障其識(shí)別正確率,根據(jù)大田環(huán)境下采集的冬小麥圖像特點(diǎn),本研究采用手動(dòng)分割的方式從冬小麥圖像中提取麥穗、葉片和陰影3類(lèi)標(biāo)簽圖像,并將標(biāo)簽圖像尺寸調(diào)整為64像素×64像素。為了確保試驗(yàn)的準(zhǔn)確性和嚴(yán)謹(jǐn)性,只對(duì)圖像中包含一個(gè)完整采樣區(qū)域的部分進(jìn)行研究。
圖3 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Architecture of CNN model
1.3.2麥穗識(shí)別模型
一個(gè)基本CNN模型由輸入層、卷積層、激活函數(shù)、池化層、全連接層和輸出層組成[23-24]。CNN模型訓(xùn)練時(shí),輸入層中圖像經(jīng)過(guò)卷積、池化多次迭代,提取麥穗特征,去噪降參,進(jìn)行前向傳播,訓(xùn)練分類(lèi)器。同時(shí),驗(yàn)證集中的圖像會(huì)根據(jù)分類(lèi)正確率通過(guò)反向傳播來(lái)調(diào)整CNN模型權(quán)重和偏置參數(shù),不斷優(yōu)化現(xiàn)有網(wǎng)絡(luò)模型,提高CNN模型識(shí)別麥穗正確率。
基于以上分析,本研究建立的CNN模型結(jié)構(gòu)[25]如圖3所示。該結(jié)構(gòu)主要包含5個(gè)卷積層、4個(gè)池化層以及2個(gè)全連接層。卷積層中卷積核大小均為3×3,所有卷積層中卷積核的個(gè)數(shù)均為128個(gè),每經(jīng)過(guò)一次卷積操作,CNN會(huì)有效地提取圖像中的特征,生成128個(gè)特征圖。池化層采用2×2的卷積核進(jìn)行最大池化,實(shí)現(xiàn)特征圖的降采樣,卷積核步長(zhǎng)設(shè)置為2,即每次移動(dòng)2個(gè)像素。經(jīng)過(guò)4個(gè)池化層可以大大降低網(wǎng)絡(luò)結(jié)構(gòu)中的權(quán)重參數(shù),減小計(jì)算成本。最后一個(gè)池化層之后是2個(gè)全連接層,全連接層將所有特征圖矢量化,用一維向量表示整個(gè)圖像的特征。在全連接層的前后分別增加了丟棄層(Dropout),將神經(jīng)網(wǎng)絡(luò)單元按照一定的概率暫時(shí)從CNN中丟棄,從而防止過(guò)擬合現(xiàn)象,提高模型識(shí)別正確率[26]。最后在輸出層中,采用Softmax函數(shù)將特征向量劃分為麥穗、葉片和陰影3類(lèi)。
1.3.3麥穗計(jì)數(shù)方法
NMS在計(jì)算機(jī)視覺(jué)中具有廣泛的應(yīng)用[27-28],如邊緣檢測(cè)、目標(biāo)檢測(cè)等。本文采用NMS實(shí)現(xiàn)麥穗計(jì)數(shù),能夠有效抑制低概率麥穗檢測(cè)窗口,消除鄰域內(nèi)多余的交叉檢測(cè)窗口,找到最佳的麥穗檢測(cè)位置,實(shí)現(xiàn)麥穗準(zhǔn)確計(jì)數(shù)。其流程如圖4所示。
針對(duì)與大型會(huì)計(jì)師事務(wù)所的多層次發(fā)展對(duì)策,途徑、范圍都是很多的。首先在業(yè)務(wù)種類(lèi)和數(shù)量上,大型事務(wù)所可以多方位擴(kuò)展不同類(lèi)型的業(yè)務(wù),從傳統(tǒng)的業(yè)務(wù)角度出發(fā),拓展到各方面的財(cái)務(wù)咨詢(xún)與財(cái)務(wù)顧問(wèn)工作。當(dāng)然,在此過(guò)程中,要根據(jù)審計(jì)準(zhǔn)則的相關(guān)要求保證不影響?yīng)毩⑿?。同時(shí)事務(wù)所還可以充分利用自身資源優(yōu)勢(shì)建立品牌,甚至把業(yè)務(wù)做到“專(zhuān)而精,大又專(zhuān)”的境地。
圖4 基于非極大值抑制的麥穗計(jì)數(shù)流程Fig.4 Process of counting for winter wheat ears based on non-maxima suppression
(1)冬小麥圖像預(yù)處理,提取冬小麥圖像中間位置尺寸為1 280像素×1 280像素的區(qū)域,并將其尺寸調(diào)整為640像素×640像素。
(2)采用步長(zhǎng)為16像素、尺寸為64像素×64像素的滑動(dòng)窗口進(jìn)行圖像采樣,并將采樣圖像輸入到CNN模型進(jìn)行識(shí)別。針對(duì)每一個(gè)采樣圖像,CNN模型計(jì)算其置信度分?jǐn)?shù)p,取值范圍為0~1,表示采樣圖像屬于麥穗的概率。
(3)確定合適的置信度分?jǐn)?shù)p的閾值和重疊面積比率I的閾值,采用NMS進(jìn)行麥穗計(jì)數(shù)。其中,設(shè)定p的閾值是為了移除低概率的麥穗檢測(cè)窗口,設(shè)定I閾值可有效移除交叉重疊面積較大的麥穗檢測(cè)窗口,保障麥穗計(jì)數(shù)的準(zhǔn)確性。對(duì)重疊面積比率I的定義為
(1)
式中A、B——相鄰兩個(gè)麥穗檢測(cè)窗口
min()——最小值函數(shù)
area()——檢測(cè)窗口面積函數(shù)
由此計(jì)算出本研究中可能的I閾值(完全重疊的不計(jì)在內(nèi))分別有0.062 5、0.125、0.187 5、0.25、0.375、0.5、0.562 5和0.75共8個(gè)值。將這8個(gè)閾值與不同的置信度分?jǐn)?shù)p組成多組不同的試驗(yàn)組,以確定適用于該麥穗檢測(cè)計(jì)數(shù)系統(tǒng)的最佳參數(shù)組合。
基于卷積神經(jīng)網(wǎng)絡(luò)的麥穗識(shí)別模型由Matlab 2018a編程實(shí)現(xiàn)[29]。麥穗檢測(cè)系統(tǒng)采用Matlab 2018a與Microsoft Visual C++編程實(shí)現(xiàn)。系統(tǒng)試驗(yàn)的硬件環(huán)境為Intel i5處理器,8 GB內(nèi)存,NVIDIA GeForce GTX 1050Ti(2 GB顯存)。
圖5 大田環(huán)境下采集的冬小麥圖像Fig.5 Winter wheat images in field conditions
麥穗提取模塊如圖6所示,圖像導(dǎo)入后,系統(tǒng)采用不同顏色的方框進(jìn)行麥穗、葉片和陰影3類(lèi)標(biāo)簽圖像提取。提取的麥穗、葉片和陰影3類(lèi)圖像可在模塊界面的下方部分顯示。同時(shí),所有提取的3類(lèi)標(biāo)簽圖像會(huì)被保存至預(yù)先設(shè)定好的位置。
圖6 麥穗提取模塊Fig.6 Module of winter wheat ears extraction
如圖7所示,由數(shù)據(jù)集構(gòu)建模塊,系統(tǒng)可加載并顯示當(dāng)前麥穗、葉片和陰影3類(lèi)標(biāo)簽圖像的數(shù)據(jù)量。
圖7 數(shù)據(jù)集構(gòu)建模塊Fig.7 Module of dataset construction
本研究經(jīng)過(guò)篩選,剔除了一些質(zhì)量較低的圖像,構(gòu)建了包含麥穗、葉片和陰影3類(lèi)標(biāo)簽圖像的數(shù)據(jù)集,其中麥穗、葉片和陰影圖像的數(shù)據(jù)量分別為501、514和498。
對(duì)于CNN而言,可用于網(wǎng)絡(luò)模型訓(xùn)練的數(shù)據(jù)集越大,網(wǎng)絡(luò)模型的識(shí)別效果就越好[30-32]。為擴(kuò)充輸入數(shù)據(jù)集的數(shù)據(jù)量,提高網(wǎng)絡(luò)模型的識(shí)別正確性,參考相關(guān)文獻(xiàn)的數(shù)據(jù)擴(kuò)充方法,采用色彩抖動(dòng)、水平和垂直方向翻轉(zhuǎn),以及90°、180°、270°旋轉(zhuǎn)等方式對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充[18,22,31]。通過(guò)擴(kuò)充,原始數(shù)據(jù)集擴(kuò)充至原來(lái)的26倍。數(shù)據(jù)擴(kuò)充后,系統(tǒng)將數(shù)據(jù)集劃分成訓(xùn)練集、驗(yàn)證集和測(cè)試集。擴(kuò)充后的數(shù)據(jù)集共包含39 338幅圖像,其中麥穗13 026幅,葉片13 364幅,陰影12 948幅。在數(shù)據(jù)集構(gòu)建面板中,系統(tǒng)顯示了每類(lèi)圖像的數(shù)據(jù)量及用于訓(xùn)練、驗(yàn)證和測(cè)試的數(shù)據(jù)量。
圖8為CNN模型構(gòu)建模塊,該模塊包含模型訓(xùn)練、模型測(cè)試和圖像識(shí)別3部分。系統(tǒng)采用梯度下降算法對(duì)CNN進(jìn)行訓(xùn)練。
圖8 CNN模型構(gòu)建模塊Fig.8 Module of CNN construction
模型訓(xùn)練完成后,系統(tǒng)調(diào)用測(cè)試數(shù)據(jù)集對(duì)網(wǎng)絡(luò)模型進(jìn)行測(cè)試,測(cè)試結(jié)果會(huì)顯示在右側(cè)的測(cè)試結(jié)果面板中。為進(jìn)一步展示麥穗識(shí)別分類(lèi)器的效果,該研究采用混淆矩陣(Confusion matrix)來(lái)評(píng)價(jià)分類(lèi)器的效果。從混淆矩陣中可以看出,測(cè)試數(shù)據(jù)集包含7 868個(gè)樣本,麥穗識(shí)別分類(lèi)器正確識(shí)別了2 603個(gè)麥穗樣本,占總測(cè)試數(shù)據(jù)的33.1%;正確識(shí)別了2 583個(gè)陰影樣本,占總測(cè)試數(shù)據(jù)的32.8%;正確識(shí)別了2 653個(gè)葉片樣本,占總測(cè)試數(shù)據(jù)的33.7%。只有1個(gè)葉片樣本和1個(gè)陰影樣本被誤識(shí)別為麥穗,分別占總測(cè)試數(shù)據(jù)的比例近乎為零。4個(gè)葉片樣本和3個(gè)麥穗樣本被誤識(shí)別為陰影,分別占總測(cè)試數(shù)據(jù)的0.05%和0.04%。8個(gè)陰影樣本和12個(gè)麥穗樣本被誤識(shí)別為葉片,分別占總測(cè)試數(shù)據(jù)的0.1%和0.15%。從混淆矩陣中可以看出,該研究識(shí)別分類(lèi)器的正確率為99.6%,麥穗識(shí)別正確率為99.9%,陰影識(shí)別正確率99.7%,葉片識(shí)別正確率為99.3%。從分類(lèi)器測(cè)試的結(jié)果來(lái)看,該系統(tǒng)能夠準(zhǔn)確地從復(fù)雜背景中識(shí)別出麥穗,正確率滿(mǎn)足實(shí)際應(yīng)用的要求。
如圖9所示,系統(tǒng)采用測(cè)試后的CNN模型結(jié)合NMS進(jìn)行麥穗計(jì)數(shù),結(jié)果顯示在麥穗檢測(cè)計(jì)數(shù)面板中。
圖9 麥穗檢測(cè)計(jì)數(shù)面板Fig.9 Module of winter wheat ears counting
為了驗(yàn)證麥穗檢測(cè)計(jì)數(shù)的正確率,本研究對(duì)166幅冬小麥圖像進(jìn)行系統(tǒng)測(cè)試。通過(guò)剔除重復(fù)圖像和質(zhì)量較差的圖像后,選擇100幅冬小麥圖像測(cè)試系統(tǒng)的正確率。在進(jìn)行系統(tǒng)測(cè)試時(shí),為降低麥穗重疊對(duì)計(jì)數(shù)正確率造成的影響,通過(guò)多次試驗(yàn)選擇麥穗置信度分?jǐn)?shù)p和重疊面積比率I的閾值,最終將麥穗置信度分?jǐn)?shù)p閾值設(shè)置為0.95,重疊面積比率I閾值設(shè)置為0.1。圖像中麥穗實(shí)測(cè)數(shù)據(jù)通過(guò)人工計(jì)數(shù)獲得。由于冬小麥圖像的邊緣區(qū)域存在麥穗不完整的現(xiàn)象,增加了人工計(jì)數(shù)的主觀性。為了保證計(jì)數(shù)的正確性和試驗(yàn)的嚴(yán)謹(jǐn)性,本研究制定了統(tǒng)一的麥穗計(jì)數(shù)原則,由5位團(tuán)隊(duì)成員分別對(duì)每幅圖像中的麥穗進(jìn)行計(jì)數(shù)。針對(duì)每幅冬小麥圖像,將5個(gè)計(jì)數(shù)結(jié)果的平均值作為該圖像的麥穗實(shí)測(cè)數(shù)據(jù),以減小人工計(jì)數(shù)的主觀性誤差。將系統(tǒng)計(jì)數(shù)結(jié)果與實(shí)測(cè)數(shù)據(jù)進(jìn)行對(duì)比分析,結(jié)果如表1所示。
表1 麥穗計(jì)數(shù)結(jié)果Tab.1 Results of winter wheat ears counting 個(gè)
從表1中可以看出,針對(duì)100幅冬小麥圖像,人工計(jì)數(shù)方法獲得的麥穗數(shù)量為3 138,而系統(tǒng)計(jì)數(shù)方法共獲得3 121個(gè)麥穗。進(jìn)一步采用回歸分析對(duì)系統(tǒng)正確率進(jìn)行定量分析,采用決定系數(shù)(Coefficient of determination,R2)和歸一化均方根誤差(Normalized root mean square error,NRMSE)進(jìn)行正確率定量評(píng)價(jià),結(jié)果如圖10所示。針對(duì)100幅冬小麥圖像,麥穗計(jì)數(shù)結(jié)果R2為0.62,NRMSE為11.73%。系統(tǒng)計(jì)數(shù)正確率較為理想,可滿(mǎn)足麥穗計(jì)數(shù)實(shí)際應(yīng)用中的要求。
圖10 麥穗計(jì)數(shù)線(xiàn)性擬合結(jié)果Fig.10 Line fitting of winter wheat ears counting results
為進(jìn)一步評(píng)估系統(tǒng)應(yīng)用的效率,對(duì)系統(tǒng)測(cè)試的耗時(shí)進(jìn)行了統(tǒng)計(jì)分析。在本系統(tǒng)硬件條件下,針對(duì)100幅冬小麥圖像測(cè)試共耗時(shí)3 991.24 s,平均耗時(shí)為39.91 s。
針對(duì)麥穗重疊的問(wèn)題,該系統(tǒng)通過(guò)試驗(yàn)選取合適的麥穗置信度分?jǐn)?shù)p閾值和重疊面積比率I閾值,在一定程度上降低了麥穗重疊對(duì)正確率的影響(圖11a),針對(duì)重疊面積較小的情況,能夠取得良好的計(jì)數(shù)效果。而對(duì)于麥穗重疊面積較大的情況(圖11b),系統(tǒng)將進(jìn)一步對(duì)算法進(jìn)行優(yōu)化,擬采用增加麥穗稈的特征來(lái)提高計(jì)數(shù)的正確率,即在提取麥穗標(biāo)簽數(shù)據(jù)時(shí),增加部分秸稈圖像,進(jìn)一步提高麥穗計(jì)數(shù)的正確率。
圖11 交叉重疊識(shí)別結(jié)果Fig.11 Counting results for ears under occlusion
(1)構(gòu)建了適用于冬小麥麥穗識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)了大田環(huán)境下麥穗的快速、準(zhǔn)確識(shí)別。模型總體識(shí)別正確率為99.6%,其中麥穗識(shí)別正確率為99.9%,陰影識(shí)別正確率為99.7%,葉片識(shí)別正確率為99.3%。
(2)采用NMS方法實(shí)現(xiàn)了麥穗計(jì)數(shù)。對(duì)100幅冬小麥圖像進(jìn)行麥穗計(jì)數(shù)測(cè)試的結(jié)果表明,系統(tǒng)計(jì)數(shù)的擬合度較好,R2為0.62,歸一化均方根誤差較小,為11.73%。