寧 姍 陳海濤 趙秋多,2 王業(yè)成
(1.東北農(nóng)業(yè)大學(xué)工程學(xué)院, 哈爾濱 150030;2.黑龍江科技大學(xué)工程訓(xùn)練與基礎(chǔ)實驗中心, 哈爾濱 150022)
種質(zhì)資源是大豆品質(zhì)和產(chǎn)量的基礎(chǔ),大豆考種是大豆作物表型組學(xué)研究中種質(zhì)資源鑒定與篩選的重要方法之一。作物表型組學(xué)研究能夠獲得高質(zhì)量、高精度和可重復(fù)性的植物表型數(shù)據(jù)[1-2]。然而,傳統(tǒng)大豆考種工作主要依靠人工,在考種過程中需要消耗大量的人力物力。同時,人工操作還存在人為主觀誤差、效率低、時間周期長等問題。人工考種的方式已經(jīng)制約了植物生物學(xué)研究的發(fā)展,隨著機器視覺技術(shù)的飛速發(fā)展,采用高效率、低誤差、低成本的自動化表型信息檢測平臺獲取植物表型信息已成為農(nóng)業(yè)領(lǐng)域研究熱點且具有巨大潛力[3]。植物表型采集平臺按照搭載方式可分為臺式、傳送帶式、車載式、自走式、門架式、懸索式以及無人機式植物表型平臺;按照使用環(huán)境分為室內(nèi)植物表型平臺和田間植物表型平臺。大豆考種是對成熟后的大豆植株和籽粒性狀調(diào)查的田間試驗環(huán)節(jié),目的是了解不同品種或不同處理因素對植株性狀及籽粒的影響,從而分析掌握不同品種、不同處理因素的作用。其中,室內(nèi)考種通常包括植株考種和籽??挤N兩部分[4]。本文研究的是室內(nèi)植株考種,其調(diào)查項目包括株高、有效分枝數(shù)、主莖、株型及全株莢數(shù)。
近年來,基于深度學(xué)習(xí)的目標檢測在農(nóng)業(yè)領(lǐng)域得到了廣泛的應(yīng)用,如大豆豆莢識別[5]、雜草的田間識別[6]、番茄關(guān)鍵器官識別[7-8]、獼猴桃圖像識別[9-10]、蛋類識別[11]等。深度卷積神經(jīng)網(wǎng)絡(luò)[12-16](Deep convolution neural network, DCNN)是深度學(xué)習(xí)中較為常用的網(wǎng)絡(luò)模型,在目標檢測方面的應(yīng)用非常廣泛并顯現(xiàn)出巨大的優(yōu)越性,它主要包括兩大類:一類是基于區(qū)域生成的檢測方法,即根據(jù)生成可能包含目標的候選區(qū)域采用卷積神經(jīng)網(wǎng)絡(luò)(Convolution neural network,CNN)對每個候選區(qū)域進行分類,如RCNN[17]、Fast R-CNN[18]、Faster R-CNN[19];另一類是基于回歸的檢測方法,采用CNN對整個圖像進行處理,在實現(xiàn)目標定位的同時預(yù)測目標類別,如YOLO[20]、YOLO v2[21]、SSD[22]。
LIU等[22]對Faster R-CNN、YOLO、SSD300、SSD512進行了比較,YOLO的實時性較好,但準確率相對SSD低。REDMON等[20]將YOLO v2與SSD進行比較,它們有較相似的整體框架,但在低分辨率圖像上SSD精度略高,SSD對GPU資源占用率較低。SSD通過anchor boxes機制,在不同尺度感受野的特征層上提取特征,回歸計算得到目標的空間信息以及分類結(jié)果,進而提升準確率。然而,如果將SSD直接應(yīng)用于大豆植株的豆莢與莖稈的定位與識別,其檢測精度受到豆莢與豆莢、豆莢與莖稈之間相互遮擋影響較大,在檢測重疊、遮擋等特殊情況時易出現(xiàn)漏檢、誤檢等情況。針對傳統(tǒng)SSD的缺陷,本文提出一種增加殘差結(jié)構(gòu)的IM-SSD模型,在網(wǎng)絡(luò)的中低層部分引入殘差結(jié)構(gòu),將低層的細節(jié)傳到高層進行融合,調(diào)整基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),提高識別準確率。
在植物莖稈定位與識別研究中,深度學(xué)習(xí)算法常常需要與其它算法相結(jié)合來準確提取莖稈[23],本文采用IM-SSD模型對大豆植株莖稈分段識別和定位,再結(jié)合蚊群優(yōu)化(Ant colony optimization, ACO)算法提取大豆植株的完整莖稈,根據(jù)豆莢與莖稈的定位獲取全株莢數(shù)、株高、主莖、有效分枝數(shù)與株型。
試驗大豆樣本為收獲期的大豆植株,包括東農(nóng)52、東農(nóng)251、東農(nóng)252和東農(nóng)253共4個品種,均來自于東北農(nóng)業(yè)大學(xué)向陽農(nóng)場試驗基地,分別在2017年9月底和2018年10月初分兩次采集。試驗樣本圖像采集采用大豆植株圖像表型檢測平臺,如圖1所示,該檢測平臺采用佳能5D Mark Ⅱ型相機搭配佳能EF 24~105 mm 1∶4 L IS USM型變焦鏡頭,垂直固定于距放置植株的采集平臺2 000 mm處,照明系統(tǒng)采用高角度照明方式,為DPX-400型工作室閃光燈,指數(shù)為GN66,色溫為5 500 K,輸出量為0.375,柔光箱長、寬、高為1 200、800、450 mm。拍攝圖像的分辨率為5 616像素×3 744像素,焦點為55 mm,光圈值f/11,曝光時間0.005 s,ISO為100,曝光補償為0。在植株表型檢測中,葉片不作為檢測目標,為避免葉片可能產(chǎn)生的誤識別及遮擋等問題,樣本采集前,將大豆植株上未脫落的葉片清理干凈。同時為減少復(fù)雜背景的干擾,植株采集平臺以藍色無紡布為背景,采集時將大豆植株平放并將植株子葉結(jié)與采集平臺的子葉結(jié)基準線對齊。最后,批量剪切圖像尺寸為5 400像素×2 700像素,圖像背景處理采用RGB彩色模型并根據(jù)每個像素的R、G、B分量的亮度來判定是否為背景,如果B分量的亮度大于其它兩個分量,則視該像素為背景,如圖2所示,圖像保存為.jpg格式。
為實現(xiàn)對IM-SSD模型的訓(xùn)練,本文使用圖像標注工具Windows v1.6.0對植株上的豆莢和莖稈分別進行定位及標記,豆莢為“pod”類,莖稈為“stem”類。由于豆莢與豆莢、豆莢與莖稈的相互遮擋,對豆莢和莖稈的識別和定位影響較大,而豆莢尖部的相互遮擋概率相對較小,為了減少相互遮擋的影響,在真實框標注中僅標注豆莢尖部即遠離莖稈的1/3至1/2部分,具體標注范圍視被遮擋情況而定。莖稈標注采用分段標注,僅標注未被遮擋的部分,因為未被遮擋的莖稈易于識別與定位,大豆植株標注如圖3所示。
圖像樣本總量為3 695幅,按7∶2∶1分成訓(xùn)練集、測試集和驗證集,訓(xùn)練集樣本2 600幅、測試集樣本735幅、驗證集樣本360幅。訓(xùn)練集和測試集分別用于訓(xùn)練和評估模型。在模型訓(xùn)練過程中,利用驗證集對超參數(shù)進行優(yōu)化。為保證樣本集的均勻分布及評價的可靠性,所有樣本集均為隨機抽取。
為降低顏色變化、拍攝角度、生長狀態(tài)等對識別的影響,提高檢測精度[24-25],實現(xiàn)模型的魯棒性,通過以下幾種方式對訓(xùn)練數(shù)據(jù)進行擴增。采用RGB顏色3通道對訓(xùn)練集圖像進行隨機調(diào)整,以提高圖像顏色的多樣性。對訓(xùn)練集圖像進行水平、垂直和對角翻轉(zhuǎn)、隨機旋轉(zhuǎn)和平移操作。將所有變換后的訓(xùn)練集樣本進行整理,如果變換后樣本圖像的標注框超出邊界,該標注框?qū)⒈粊G棄,如果變換后圖像丟棄標注后沒有標注信息,則刪除圖像。
SSD網(wǎng)絡(luò)是在VGG16[26]網(wǎng)絡(luò)的基礎(chǔ)上進行修改,在VGG16網(wǎng)絡(luò)結(jié)構(gòu)上增加了5個特征提取層,同時分別在6個不同尺度的卷積層輸出特征圖,目的是對不同尺度的目標進行檢測。傳統(tǒng)SSD網(wǎng)絡(luò)主要包括SSD300和SSD512,其輸入圖像分別被壓縮為300像素×300像素、512像素×512像素,這種壓縮比對于植株圖像的壓縮變形大,為降低圖像變形帶來的影響,IM-SSD的輸入圖像被壓縮為300像素×600像素。另外,傳統(tǒng)SSD在檢測重疊、遮擋等情況下的豆莢時易出現(xiàn)漏檢、誤檢。針對傳統(tǒng)SSD的缺點,IM-SSD在網(wǎng)絡(luò)的中低層部分引入殘差結(jié)構(gòu),將低層的細節(jié)傳到高層進行融合,調(diào)整基礎(chǔ)網(wǎng)絡(luò),提高識別率。
IM-SSD結(jié)構(gòu)在SSD深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增加了2個卷積層:Add1層,由Maxpool2和Conv3_2按位相加并歸一化(Batch normalization,BN)[27];Add2層,由Maxpool3和Conv4_2按位相加并歸一化,其結(jié)構(gòu)如圖4所示,紅色的層為卷積核3×3的卷積層,綠色的層為卷積核1×1的卷積層,藍色的層為最大池化層,步長為2。增加殘差結(jié)構(gòu)的卷積層能夠提高網(wǎng)絡(luò)對小目標的檢測能力,從而提升被遮擋或重疊豆莢的識別率。
IM-SSD采用特征金字塔檢測目標,分別對Conv4_3層、Conv7層、Conv8_2層、Conv9_2層、Conv10_2層和Conv11_2層生成比例不同的默認框,每一類共生成17 236個檢測框,使用非極大值抑制(Non-maximum suppression, NMS)[28]過濾重復(fù)的預(yù)測框。在多個特征圖上同時進行識別和定位回歸,損失值L由置信損失值(Lconf)和定位損失值(Lloc)的加權(quán)組成[22],計算式為
(1)
(2)
(3)
(4)
式中N——匹配的默認框數(shù)
x——類別的真實值
c——類別置信度的預(yù)測值
l——預(yù)測框位置
g——真實框位置
α——加權(quán)因子
cx——預(yù)測框中心x坐標
cy——預(yù)測框中心y坐標
w——預(yù)測框?qū)挾?/p>
h——預(yù)測框高度
f(·)——平滑函數(shù)
Neg——負樣本集
Pos——正樣本集
(5)
(6)
(7)
σ——光滑度控制系數(shù)
IM-SSD對植株莖稈的定位是不連續(xù)的,不能完全反映真實的莖稈形態(tài)。本文提出了一種基于ACO算法的完整莖稈提取方法,該方法利用IM-SSD已定位莖稈的數(shù)據(jù),以及莖稈的連續(xù)性特點,運用ACO算法獲取最短路徑將分段莖稈連接起來最終獲得完整的莖稈。ACO算法對路徑搜索空間有一定要求,如果搜索空間大、復(fù)雜度高,螞蟻易陷入非可行點或規(guī)劃路徑迂回等問題。通過IM-SSD的莖稈定位,根據(jù)已定位莖稈的坐標數(shù)據(jù)對二值圖像進行剪切,為減小柵格地圖的規(guī)模,將剪切圖像分為3部分,如圖5所示。3部分圖像運用等間隔像素采樣的方法將圖像壓縮成z×z柵格并形成柵格地圖,如圖6所示。此外,每個部分都根據(jù)已定位莖稈的位置設(shè)置多個起點和終點,為降低算法的復(fù)雜度,將信息素存儲在柵格中。
在ACO的柵格模型中采用二進制,其中“1”表示非植株柵格,“0”表示植株柵格。每個柵格按照從上至下、從左到右的順序進行編號。
柵格地圖與植株二值圖像的二維坐標(x′,y′)轉(zhuǎn)換式為
(8)
式中r——柵格包含的像素行數(shù),列數(shù)和行數(shù)相等
n——柵格數(shù)目
R——當(dāng)前行數(shù)
mod(·)——取余函數(shù)
ceil(·)——取整函數(shù)
ACO是一種進化智能啟發(fā)式搜索算法,用于尋找螞蟻從居住地到食物源的最短路徑[29-30]。螞蟻k從柵格i移動到下一個柵格j是基于距離和未被訪問柵格的信息素濃度。
迭代中,當(dāng)每只螞蟻到達終點或出現(xiàn)死鎖時,搜索將停止。完成搜索后,保存所有到達終點螞蟻的搜索路徑長度。信息素濃度計算式為
(9)
其中
(10)
(11)
式中τij(st+1)——下一時刻從柵格i到下一個柵格j的信息量
m——螞蟻數(shù)量
ρ——信息揮發(fā)系數(shù)
st——當(dāng)前時刻
Q——常量
Lk——螞蟻搜索的路徑長度
dOiOi+1——螞蟻一次移動的長度
Rk={O1,O2,…,On+1}是組成路徑的一組柵格,O1=S,On+1=E。從初始點到終點有多條可選路徑,路徑規(guī)劃可以得到一條最優(yōu)或次優(yōu)的可行路徑,最短路徑Lopt的數(shù)學(xué)模型為
Lopt=min(Lk)
(12)
最短路徑與大豆莖稈坐標轉(zhuǎn)換公式為
Ropt=min(Rk)
(13)
F(Ropt)=(k1ONi,k2ONj)
(14)
式中ONi——橫坐標值
k1、k2——橫坐標轉(zhuǎn)換系數(shù)
ONj——縱坐標值
Ropt——最優(yōu)路徑
F——路徑轉(zhuǎn)換函數(shù)
本研究深度學(xué)習(xí)運行硬件環(huán)境為Intel(R)Core TM i7-9700K CPU,3.6 GHz,16 GB內(nèi)存,3 TB硬盤,256 GB固態(tài)硬盤,NVIDIA GTX1080GPU顯卡,操作環(huán)境為Ubuntu 16.04系統(tǒng)、Anaconda 4.2.0、Tensorflow 1.4.0和Keras 2.0.8。
由于采集的訓(xùn)練樣本數(shù)量有限,不足以訓(xùn)練全新的網(wǎng)絡(luò),同時也為了減少訓(xùn)練時間,采用遷移學(xué)習(xí)[31-32]方法,使用Pascal-VOC“07+12”[33]20類數(shù)據(jù)集的網(wǎng)絡(luò)權(quán)重剪裁后對訓(xùn)練集進行訓(xùn)練。用隨機梯度下降算法對網(wǎng)絡(luò)分類層進行微調(diào)。加權(quán)因子α為0.8時,可降低局部損失因子對全局損失函數(shù)的影響。批處理量設(shè)置為32,動量衰減設(shè)置為0.9,初始學(xué)習(xí)率為0.01,每20次迭代驗證一次。根據(jù)平均損失的變化率,每次將學(xué)習(xí)率降低為原來的1/10,直至網(wǎng)絡(luò)不再收斂。
采用3個全局指標和1個局部指標來評估網(wǎng)絡(luò)模型的穩(wěn)定性和分類性能,分別為精確率(Precision,P)、假陰性率(False,F(xiàn))、召回率(Recall,R)和交并比(Intersection over union,IoU)。其中,使用精確率和假陰性率來獲得測試集中的性能指標,召回率代表預(yù)測框與所有真實框匹配的比例,IoU評價每個目標檢測結(jié)果的指標。
在確定默認框的情況下,正樣本為IoU大于0.4的默認框。精確率是預(yù)測樣本為陽性樣本占所有陽性樣本的比例。假陽性是指被誤判為陰性的樣本。假陰性率是指被誤判的陽性樣本占所有陽性樣本的比例。
根據(jù)2.1節(jié)的模型參數(shù),通過隨機抽取訓(xùn)練樣本和驗證樣本的方式對IM-SSD模型進行訓(xùn)練和性能評估,以判斷模型的可靠性和穩(wěn)定性,經(jīng)過4 200次迭代后收斂,其試驗結(jié)果如圖7所示。
大豆植株樣本I通過IM-SSD模型識別豆莢和莖稈的預(yù)測框分別為52、21個,如圖7a所示。其中,在豆莢檢測中有4個未被檢出,在莖稈檢測中多檢出2個、少檢出1個莖稈。大豆植株樣本Ⅱ的豆莢和莖稈預(yù)測框分別為75、31個,如圖7b所示。其中,在豆莢檢測中有7個未被檢出,在莖稈的檢測中多檢出3個、少檢出4個莖稈。從試驗結(jié)果可以看出,在豆莢的識別中,未重疊豆莢的識別率最高,相鄰豆莢次之,重疊豆莢識別率較差,被遮擋豆莢識別率最差。當(dāng)豆莢由于拍攝或擺放角度產(chǎn)生變形時,容易被漏檢。因此,在全株豆莢數(shù)檢測時,增加全株豆莢數(shù)補償因子,全株豆莢數(shù)計算公式為
Ps=Pf+Pb
(15)
其中
Pb=0.08Pf
(16)
式中Pf——IM-SSD模型已檢測到的豆莢數(shù)目
Pb——補償因子
Ps——全株豆莢數(shù)
計算得到樣本Ⅰ的全株豆莢數(shù)檢測值為56個,樣本Ⅱ的全株豆莢數(shù)檢測值為81個。而在莖稈的識別過程中,中間部分多檢或少檢對莖稈的完整提取影響較小。IM-SSD模型對豆莢和莖稈的檢測精確率分別為89.68%和81.99%,平均檢測精確率為85.84%,豆莢的識別精確率高于莖稈。另外,通過增加豆莢數(shù)補償因子使全株豆莢數(shù)的統(tǒng)計精確率達到92.76%。
在莖稈完整提取試驗中,為了驗證ACO算法提取大豆莖稈的有效性,以其中一個驗證集樣本為例,將其分為3部分,3部分壓縮尺寸均以35×35的柵格作為蟻群規(guī)劃地圖。參數(shù)設(shè)置為:種群規(guī)模n=50,最大迭代T=200,α′=1,β′=7,ρ=0.3,Q=1。
在蟻群地圖中,將已定位柵格的最左側(cè)中“0”柵格作為起始柵格S,將最右側(cè)與起始柵格相對應(yīng)的“0”柵格作為結(jié)束柵格E,分別對植株的每個分枝進行基于蟻群算法的路徑規(guī)劃,并根據(jù)路徑規(guī)劃結(jié)果獲得完整的植株莖稈定位,圖8為最優(yōu)路徑規(guī)劃結(jié)果,圖9為最優(yōu)路徑的收斂曲線。最終獲得的完整大豆植株莖稈的預(yù)測結(jié)果如圖10所示。
基于ACO算法的大豆植株莖稈提取同樣適用于具有較復(fù)雜分枝結(jié)構(gòu)的大豆植株,如圖11所示。有效分枝數(shù)是指成熟期植株上有兩個以上莖節(jié)并有一個以上成熟豆莢的第1級分枝數(shù)。試驗中通過擬合的分枝個數(shù)確定植株的有效分枝數(shù)。在多分枝大豆植株中,與其它分枝相比主莖較粗,將平均莖粗最大的莖作為主莖,用不同顏色標出不同的分枝,其中藍色虛線標出主莖,圖10共2個有效分枝、圖11共4個有效分枝。株型的判斷是通過成熟期下部分枝與主莖的收斂程度確定,如圖12所示,下部分枝的生長方向與主莖的自然夾角為α1、α2、α3,當(dāng)所有夾角的平均值小于30°則為收斂型,大于30°小于60°為半開張型,大于60°為開張型,其中圖10為收斂型,圖11為半開張型植株。株高是成熟期從子葉節(jié)到植株生長點的高度,如圖12所示,株高的計算是通過最頂端莖稈像素點到子葉結(jié)基準線的垂直距離乘以0.05,其株高的單位為mm,其中圖10的株高為992 mm,圖11的株高為875 mm。
利用大豆植株訓(xùn)練集對3種網(wǎng)絡(luò)模型(SSD300、SSD512、IM-SSD)的性能進行評價,所有默認框的IoU大于0.4即為正樣本。經(jīng)過4 200次迭代,損失曲線如圖13所示。在相同的網(wǎng)絡(luò)參數(shù)下,SSD300模型的網(wǎng)絡(luò)訓(xùn)練初始損失誤差小,收斂速度快。而SSD512模型的初始損失誤差最大,收斂速度較快,但IM-SSD模型在3種模型中經(jīng)過2 000次迭代后損失值最小。
將3種模型與植株真實值進行對比,其樣本均來自于驗證集,其中3種模型分別對豆莢和莖稈通過分段定位進行預(yù)測。由于人工檢測可能存在主觀誤差,為獲得植株的真實值,采用多次人工選莢和人工框選取莖稈的方法,即對所有驗證集樣本進行5次重復(fù)檢測,真實值為5次觀測選莢的數(shù)量結(jié)果中出現(xiàn)概率最多的數(shù)值,莖稈框選真實位置為5次框選中IoU最大的一次框選,結(jié)果如表1所示。從試驗結(jié)果可以看出,人工對豆莢和莖稈的檢測與定位的精確率最高,但人力和時間耗費較大,而文中模型通過樣本訓(xùn)練后可自動對豆莢及莖稈定位,無需人工操作。另外,與SSD300網(wǎng)絡(luò)和SSD512網(wǎng)絡(luò)相比,IM-SSD平均檢測精確率分別提高了7.79、3.83個百分點,在3種模型中IM-SSD模型對大豆植株豆莢與莖稈的檢測更穩(wěn)定、有效。
表1 3種模型與人工檢測結(jié)果的比較Tab.1 Comparison of three models and manual detection results %
由IM-SSD模型得到的植株莖稈定位是不連續(xù)的非完整莖稈。本文提出了基于ACO算法并運用IM-SSD獲得莖桿定位來提取完整莖稈的方法能夠準確定位莖稈,并彌補IM-SSD的不足。同時,根據(jù)完整莖稈定位,提取出大豆植株的株高、有效分枝數(shù)和株型。將人工5次重復(fù)測量株高及有效分枝數(shù)、株型中出現(xiàn)次數(shù)最多的值作為真實值。人工檢測的單次株高、有效分枝數(shù)和株型的精確率分別為98.65%、99.12%、93.21%,運用完整莖稈定位提取的精確率分別為95.56%、96.12%、90.28%,其精確率均略低于人工測量。株型判斷的準確率較低的原因是受拍攝角度的影響,單一角度很難準確獲取復(fù)雜結(jié)構(gòu)的植株分支夾角。人工檢測雖然有較高的精確率但消耗大量的人力物力且勞動強度高、時間周期長、對數(shù)量級也有一定要求,而本文檢測模型通過樣本訓(xùn)練后可自動對豆莢及莖稈定位,無需人工操作,減少了主觀誤差、降低了勞動強度、縮短了檢測周期,適于數(shù)據(jù)量較大的樣本檢測,更具有客觀性,精確率均在90%以上,基本滿足植株表型平臺自動化的要求。
(1)提出了一種基于IM-SSD模型的大豆植株豆莢與莖稈表型信息檢測方法。試驗結(jié)果表明,該模型具有較高的檢測精度,對遮擋和重疊干擾有較強的魯棒性。
(2)在整株大豆植株樣本訓(xùn)練集上,對已標注訓(xùn)練樣本進行隨機處理,實現(xiàn)圖像擴增,提高網(wǎng)絡(luò)的特征提取能力。在真實框標注時,只標注一部分特征區(qū)域,有效降低了相互遮擋產(chǎn)生的誤判率。
(3)提出了基于SSD結(jié)構(gòu)的殘差網(wǎng)絡(luò),將低層特征圖融合到高層特征圖,增強對小目標檢測能力,提高網(wǎng)絡(luò)的識別率。與SSD300網(wǎng)絡(luò)和SSD512網(wǎng)絡(luò)相比,IM-SSD平均檢測精確率分別提高了7.79、3.83個百分點。同時,增加全株豆莢數(shù)補償,使全株豆莢數(shù)統(tǒng)計的精確率提高到92.76%。IM-SSD模型與傳統(tǒng)SSD相比,檢測精度得到了提高,同時也為其他植株檢測的研究提供了思路。
(4)采用ACO算法彌補IM-SSD分段提取莖稈的不足,從而獲取大豆植株的株高、有效分枝數(shù)和株型。