劉哲, 袁冬根, 王恩
(西北政法大學軍民融合研究院, 西安 710122)
糧食安全始終是關系我國國民經濟發展、社會穩定和國家自立的全局性重大戰略問題[1]。保障我國糧食安全對實現全面建設小康社會的目標、構建社會主義和諧社會和推進社會主義新農村建設具有十分重要的意義。為保證國家糧食安全、制定合理的糧食價格及宏觀調控政策,需要及時、準確地預測、估算小麥等農作物的預期產量[2]。
目前,小麥田間測產方法主要依靠人工測定單位面積麥穗數,收獲后稱取千粒重,計算產量估值[3]。該方法費時費力,效率低下。隨著機器視覺技術和人工智能的發展,尤其是深度學習技術的日益進步,國內外研究者逐步將圖像處理和人工智能技術應用于農作物生長管理和長勢估產中。卷積神經網絡(convolutional neural network, CNN)是目前較有效的深度學習方法之一,能夠直接以圖像作為輸入,具有識別準確率高等優點[4-5],已在小麥的雜草和害蟲識別[6-7]、植物病害和脅迫診斷[8,9]、農業圖像分割[10-12]、產量預報[13-14]等多個領域得到了廣泛應用。在小麥長勢分析和估產研究方面,張佩等[15]為優選出最佳的冬小麥產量結構要素預報方法,選擇冬小麥成穗數、穗粒數及千粒重為預報目標,綜合考慮種植品種、密度及地區等因子,采用多元線性回歸因子分析進行建模分析,預報精度平均達85.3%。Li 等[16]利用麥穗圖像中穗頭的顏色和紋理等特征參數并結合神經網絡來檢測,其正確率在80%左右。朱婉雪等[17]基于冬小麥返青拔節期、抽穗灌漿期和成熟期的無人機遙感影像數據集,采用最小二乘法,構建了基于不同植被指數與冬小麥實測產量的9 種線性模型,估產精度的相關系數指標可達0.8以上。楊俊等[18]利用無人機航拍獲取田間小麥主要生育時期的RGB 圖像,基于小麥顏色指數和紋理特征參數值對小麥生物量和產量進行分析,相關系數能達到0.91。張波等[19]研發了基于卷積神經網絡的冬小麥麥穗檢測計數系統,其對麥穗的識別準確率高達99%;Hasan 等[20]訓練了4 種R-CNN 模型,對田間小麥進行識別并估算其產量,準確率為88%~94%。Cointault等[21]通過濾波和尋找最大值的方法檢測計數所采集田間麥穗圖像中的麥穗數,識別精度達到了90%。Xiong等[22]提出了一種基于簡單線性迭代聚類(SLIC) 超像素分割的Panicle-SEG算法,通過構建CNN 模型進行訓練,并結合熵率超像素最優化,實現了大田環境下水稻稻穗的識別。張領先等[23]在大田環境下提取麥穗、葉片、陰影3類標簽圖像作為數據集,構建了冬小麥麥穗識別的卷積神經網絡結構,并采用梯度下降法對模型進行訓練,將構建的冬小麥麥穗識別模型與非極大值抑制結合進行麥穗計數,總體識別正確率達到99.6%。劉哲等[24]提出用改進的K-Means算法進行大田麥穗計數,該算法可以適用于不同光照環境下的麥穗計數,精度可以達到98%。Fernandez-Gallego等[25]利用高頻濾波器和低頻濾波器去除麥穗圖像中出現的低頻成分和高頻成分,再通過自適應中值濾波器來濾除麥穗周圍的噪聲,最后利用最大值濾波器分割局部峰值并確定圖像中的麥穗數目,識別精度達到90%。李毅念等[26]利用特定裝置使麥穗傾斜的方式獲取小麥穗部圖像,通過顏色空間轉換、去除細窄處粘連、粘連麥穗判斷、凹點檢測分割等算法過程實現圖像中粘連麥穗的有效分割,在對田間3 個品種小麥麥穗數識別中,單幅圖像平均識別精度為91.63%。
綜上所述,運用圖像處理技術對田間小麥測產研究主要是通過圖像分析對單位面積內麥穗進行識別和計數,然后通過多元回歸方法建立數學數學模型,計算出單位面積麥穗數,最后根據千粒重得出小麥產量。綜上可知,很少有研究通過圖像分析直接精確獲取每株麥穗上的麥穗數。改進Bayes摳圖算法作為經典的摳圖算法,能將前景從背景中精細分割出來。因此,本文以田間小麥群體圖像為研究對象,利用改進Bayes摳圖算法將自然生長條件下的麥穗圖像分割出來,而后運用圖像濾波、二值化、腐蝕等算法分離出麥穗上每個單獨的小穗,最后對小穗形成的連通區域進行標記和計數,實現麥穗小穗的精確自動計數。
田間麥穗圖像采集自寶雞市農業科學院實驗基地,位于寶雞市鳳翔縣杏林鎮。拍攝時間為2018年6月1日至6月5日傍晚時段,此時小麥正處于成熟期,生長態勢良好。小麥品種選擇在陜西關中地區種植面積較大的西農529、西農511、西農583、陜農33,獲取圖像樣本分別為50幅、50幅、60幅、60幅。選用德國Basler工業相機,采用無線WiFi進行傳輸,圖像分辨率為6 000×3 368像素,格式為JPG,拍攝視場大小為0.75 m×0.42 m。原始圖像在小麥自然生長環境下拍攝,如圖1所示。

圖1 麥穗原始圖像Fig.1 Primitive image of wheat ear
首先,利用改進Bayes算法對獲取的圖像進行摳圖,將麥穗從自然背景中分割出來;然后對該圖像進行二值化,在此基礎上運用腐蝕運算進行細化處理,去除麥穗圖像中的麥芒,在對圖像再進行腐蝕運算,分離出麥穗上每個單獨的麥穗小穗;經過膨脹運算、面積濾波、黑洞填充算法處理,每個單獨的麥穗小穗形成一個連通區域;最后對連通區域進行標記和計數,完成麥穗小穗的自動計數。
1.2.1改進的Bayes摳圖算法 圖像摳圖的基本原理是把一幅圖像簡單劃分為前景圖像和背景圖像,其中感興趣的部分定義為前景圖像,不感興趣的部分定義為背景圖像[31]。根據用戶指定的前景圖像信息和背景圖像信息來計算兩者之間的邊界圖像信息,通過計算把用戶感興趣的部分摳取出來。摳圖公式可以用(1)式來表示。
C=aF+(1-a)B
(1)
式中,a表示掩像,代表該圖像的不透明度,F代表圖像的前景部分,B代表圖像的背景部分。
α值介于0~1之間。當α=0時,C表示背景圖像;當α=1時,C表示前景圖像。一般情況下,前景圖像和背景圖像都是指定的,所以摳圖算法的關鍵就是確定α值,計算兩者之間的邊界圖像信息。改進的Bayes摳圖算法包括四個步驟。
①區域劃分。人工對原圖像進行區域劃分,分為確定的前景區域、確定的背景區域和未知區域三部分。
②樣本分簇pH。對于未知區域的像素點,使用圓形的活動窗口由未知區域邊界的像素點開始逐漸向未知區域中移動,對未知區域像素進行采樣,當獲取足夠的已知背景點和前景點后,對采集到的樣本點進行分簇,且假定在顏色空間中這些樣本點服從有向高斯分布。
③顏色估計。應用Bayes框架建立顏色估計和掩像值α間的計算模型。運用最大后驗概率MAP進行優化求解。在最大后驗概率MAP值的估計中,對于未知區域的像素點C,尋找該像素點最有可能的F、B和α的估計值。這個問題就轉化為概率分布P(F,B,α|C)上的優化問題[32]。

=argmaxL(C|F,B,α)+L(F)+L(B)+L(α)
(2)


(3)

(4)
(5)

(6)
L(B)與L(F)類似,把w中的αi替換為1-αi。求解過程即為迭代過程,先假設α確定,對式(6)右側求偏導數,得到六元一次方程組。

(7)
迭代過程轉化為解線形方程組問題。
④α值估計。將式(7)結果代入式(8)中,得到新的α掩像值。
(8)
1.2.2圖像二值化及迭代極限腐蝕 用改進的Bayes摳圖算法將麥穗圖像分為背景和麥穗兩部分,對于屬于背景部分像素,將其值設為0,對于屬于麥穗部分像素,將其值設為255,從而實現麥穗圖像的二值化。
用迭代極限腐蝕算法對二值化麥穗圖像進行4鄰域與8鄰域結構元素交替迭代腐蝕。1次迭代極限腐蝕包括1次4鄰域結構元素腐蝕和1次8鄰域結構元素腐蝕,每次腐蝕運算相當于將二值化圖像腐蝕掉1層。不斷的交替腐蝕會導致不斷地出現新的連通區域,但同時會導致一些已經存在的連通區域消失,這就會造成種子點的流失。因此,在得到腐蝕后的圖像中保存消失的連通區域,即在每次迭代極限腐蝕后,麥穗小穗種子區域小代替大,有代替無。該方法以原始二值化圖像為初始圖像,其連通區域為初始種子點,在不斷的迭代腐蝕過程中,種子點數目不斷增加或者保持不變。迭代腐蝕運算在迭代3次后,基本上能把弱粘連的麥穗小穗分割開來。迭代腐蝕完成后,對保留下的種子區域進行膨脹運算。
1.2.3面積濾波及麥穗小穗計數 經迭代極限腐蝕和膨脹處理后,麥穗上的麥芒完全被去除,麥穗小穗被基本分割開來。但是,圖中還殘留一些小的區域,不屬于麥穗小穗部分,需要用面積濾波濾除掉。

(10)
為了驗證本文方法的性能,采用決定系數R2、統計誤差Pe和統計精度Pa三個指標參數對本文方法進行評價,計算公式分別如式(11)~(13)所示。

(11)

(12)
Pa=(1-Pe)×100%
(13)
式中,M是總共要統計的麥穗數,i為第i個麥穗,Yi為本文算法對第i個麥穗上麥穗小穗的計數結果,Xi為人工對第i個麥穗上麥穗小穗的計數結果。
2.1.1摳圖效果 利用改進的Bayes摳圖算法對麥穗圖像進行摳圖,去除圖中的背景,只保留麥穗,效果如圖2所示。背景部分像素的顏色值標記為:RB=255,GB=0,BB=255。麥穗部分像素的顏色值保持不變。由圖2可以看出,經過摳圖算法處理,能很好將麥穗圖像摳出來,為下一步麥穗小穗計數打下基礎。
2.1.2迭代腐蝕膨脹效果 對摳圖后的麥穗圖像進行二值化處理,觀察圖2第2行可知,絕大多數情況下麥穗上的小穗處于弱粘連狀態,即相鄰小穗之間只有幾個像素粘連。在麥穗頂部,麥穗小穗之間處于強粘連狀態,即相鄰麥穗小穗之間有很多像素粘連。為了盡可能將處于弱粘連狀態的麥穗小穗分割出來,本文利用迭代的極限腐蝕膨脹算法進行分割,結果如圖2第3行所示。經過迭代腐蝕和膨脹,可以將弱連接的麥穗小穗完全分割開,但是麥穗頂部屬于強粘連區域,所以麥穗頂部的小穗不能完全分隔開,需要進行處理。

圖2 麥穗圖像處理結果Fig.2 Processing results of wheat ear image
2.1.3面積濾波效果 經過面積濾波后,面積極小的非麥穗小穗連通區域被濾除,剩下連通區域即為麥穗小穗,如圖2第4行所示。可以看出,經過面積濾波,圖中遺留小區域已經被濾除掉,只剩下麥穗小穗圖像。利用本文提出的小穗計數方法,找出小穗的閉合輪廓,并加以標記,如圖2第5行所示,直接可以計算出小穗數。
4個品種田間麥穗圖像中的麥穗小穗數計數預測值與實測值的相關關系如圖3所示,可以看出,圖像預測的麥穗小穗數與實測麥穗小穗數具有極顯著的線性相關性,所有品種的計數預測值與實測值的決定系數R2都大于0.86。

圖3 4個品種小麥圖像預麥穗小穗數與實測麥穗小穗數的線性相關關系Fig.3 Linear correlation between predicted value and actual value for grain number in images of 4 varieties of wheat
分別從西農529、西農511、西農583、陜農33小麥樣本中各選取40個,進行人工實測計數和本文算法計數的統計分析比較,結果如表1所示。由表1可以看出,與人工實測計數相比, 西農529統計誤差是4.92%,統計精度95.08%;西農511統計誤差是5.33%,統計精度94.67%;西農583統計誤差5.79%,統計精度是94.21%,陜農33統計誤差是5.84%,統計精度是94.16%。對于4種小麥品種的麥穗小穗計數,其平均統計誤差是5.47%,平均統計精度是94.53%。

小麥品種Wheat variety人工統計Manual statistics算法統計Algorithm statistics統計誤差Statistical error/%統計精度Statistical accuracy/%西農529 Xinong 5291 3411 2754.9295.08西農511 Xinong 5111 3321 2615.3394.67西農583 Xinong 5831 3651 2835.7994.21陜農33 Shaannong 331 3531 2745.8494.16平均 Average--5.4794.53
在田間生長環境下拍攝的麥穗圖像背景非常復雜,用現有的圖像分割方法很難將麥穗從背景中分割出來。本文提出基于改進Bayes摳圖算法,輔以人工背景標記,能快速準確地將麥穗從背景中分割出來,不但能分割出一個麥穗,而且能將同一幅圖上的多個麥穗分割出來。實驗統計,使用聯想Lenovo 拯救者Y7000(處理器i5-8300H,16 GB內存,全固態硬盤),對于大小為1 024×1 024麥穗高清圖像,本文算法分割1個麥穗大約耗時0.14 s,對于分割3個麥穗大約耗時0.21 s。
本文提出了一種圖像處理方法,針對獲取自然生長條件下的麥穗圖像進行處理得到麥穗小穗數的估計值。該方法最大優勢是非接觸式測量,不需要采集小麥樣本,在田間直接可以操作獲取測量參數,快速便捷。
李毅念等[26]利用自制的兩端開口的四棱錐,將小麥樣本斜靠在四棱錐四周,用相機拍攝麥穗圖片,運用圖像處理技術和線性回歸建立麥穗面積與麥穗小穗數之間的線性關系,從而獲取麥穗小穗數,測量精度為93.43%,圖像算法估測的麥穗小穗數與實測麥穗小穗數具有較好的線性相關性,其平均決定系數R2為0.82,而本文平均測量精度94.53%,R2為0.871,均較高。算法計數比人工計數的結果偏小,這是因為:①本文算法在進行迭代極限腐蝕時,有可能將小的麥穗小穗圖像區域腐蝕掉,造成計數誤差;②在麥穗頂部,麥穗小穗與麥穗小穗之間是強粘連,用本文算法對處于麥穗頂部的麥穗小穗不能完全分割開,往往會造成少計數。