韓振浩 李 佳 苑嚴偉 方憲法 趙 博 朱立成
(1.中國農(nóng)業(yè)大學(xué)工學(xué)院, 北京 100083; 2.中國農(nóng)業(yè)機械化科學(xué)研究院土壤植物機器系統(tǒng)技術(shù)國家重點實驗室, 北京 100083)
我國是世界上最大的果品生產(chǎn)國之一,果品產(chǎn)業(yè)已成為我國農(nóng)村經(jīng)濟發(fā)展的重要支柱和農(nóng)民收入的主要來源,為了進一步提高生產(chǎn)效率和經(jīng)濟效益,果園機械化與智能化是未來發(fā)展的必然趨勢。自主導(dǎo)航技術(shù)作為智能農(nóng)機裝備的關(guān)鍵技術(shù)之一,極大地提高了農(nóng)業(yè)機械的田間作業(yè)品質(zhì)和作業(yè)效率,有效地降低了農(nóng)機駕駛員的勞動強度。視覺導(dǎo)航技術(shù)具有探測信息廣、獲取信息完整和價格低廉的特點,是目前主流的導(dǎo)航方法之一,廣泛應(yīng)用于自動駕駛中的局部路徑規(guī)劃問題,該技術(shù)通過圖像處理方法對導(dǎo)航路徑進行可靠、穩(wěn)定地識別,進而引導(dǎo)機具行進。
實時穩(wěn)定的導(dǎo)航路徑識別是當(dāng)前國內(nèi)外學(xué)者研究的重點。文獻[1]在神經(jīng)網(wǎng)絡(luò)圖像分割的基礎(chǔ)上,通過霍夫變換提取邊界直線,進而生成橘園導(dǎo)航信息。文獻[2]根據(jù)天空和樹冠的差異,從樹冠背景中分割天空,并擬合導(dǎo)航路徑。文獻[3]根據(jù)形態(tài)學(xué)特征識別植株的中心區(qū)域,并根據(jù)回歸算法和霍夫變換生成導(dǎo)航線。文獻[4]通過圖像分割,基于OTSU方法的雙閾值處理和最小二乘線性回歸進行作物行的檢測。文獻[5]基于圖分割理論將聚類后的圖像進行分割,應(yīng)用霍夫變換提取路徑特征。文獻[6]基于綜合閾值法進行圖像二值化處理,并采用B樣條曲線進行水稻待收獲區(qū)域的邊緣擬合。文獻[7]提出了一種基于改進遺傳算法的作物行直線檢測方法,并在玉米實驗田進行了導(dǎo)航跟蹤實驗。文獻[8]提出了一種基于改進平滑度紋理特征的路徑識別算法,并基于達芬奇平臺在田間環(huán)境進行了導(dǎo)航實驗。文獻[9]采用HSV顏色空間的V分量閾值進行田間道路的閾值分割處理,經(jīng)形態(tài)學(xué)處理后通過最小二乘法生成導(dǎo)航路徑。文獻[10]選取樹干與道路的交點,基于最小二乘法原理擬合道路左右兩側(cè)邊緣,并提取幾何中心點,生成導(dǎo)航基準線。在果園環(huán)境中,采用傳統(tǒng)的圖像處理方法易受果樹形態(tài)不一、環(huán)境背景復(fù)雜以及光照條件變化等因素的干擾。果樹低矮、樹冠稠密,較難進行樹干識別,道路邊緣不規(guī)則,較難穩(wěn)定生成道路信息,采用霍夫變換、垂直投影法等直線擬合方法不適合果園的曲線路徑。近年來,卷積神經(jīng)網(wǎng)絡(luò)在圖像處理方面取得了較大研究進展,其中,U-Net網(wǎng)絡(luò)是一種基于全卷積神經(jīng)網(wǎng)絡(luò)的語義分割網(wǎng)絡(luò),采用U型編碼-解碼結(jié)構(gòu),適用于語義簡單、灰度范圍大、邊界不清晰的圖像分割任務(wù)。
基于現(xiàn)有研究成果,本文提出一種基于U-Net網(wǎng)絡(luò)的果園視覺導(dǎo)航路徑識別方法。在制作果園導(dǎo)航數(shù)據(jù)集的基礎(chǔ)上,訓(xùn)練基于U-Net的語義分割模型,根據(jù)模型生成的道路掩碼邊緣,進行導(dǎo)航信息的提取,生成擬合中點,最后進行多段三次B樣條曲線擬合,識別導(dǎo)航路徑。
本文提出的果園導(dǎo)航路徑識別方法由兩部分組成:道路語義分割和導(dǎo)航路徑識別。道路語義分割基于U-Net全卷積神經(jīng)網(wǎng)絡(luò),進行果園圖像中道路信息的像素級識別,得到對應(yīng)的掩碼區(qū)域;導(dǎo)航路徑識別根據(jù)語義分割結(jié)果,利用掃描法對生成的二值化掩碼圖像進行邊緣信息提取,并進行多段三次B樣條曲線擬合,識別果園導(dǎo)航路徑。
1.1.1圖像采集與數(shù)據(jù)集制作
數(shù)據(jù)采集地點位于廣東省江門市新會區(qū)的新會柑種植園,采集日期為2019年11月。
數(shù)據(jù)采集時通過手動遙控履帶底盤行走,模擬機具的正常作業(yè)狀態(tài)。利用車頂ZED型立體相機進行數(shù)據(jù)采集,視頻數(shù)據(jù)存入車載計算機。攝像頭通過云臺固定架安裝于底盤上蓋,縱向距底盤前部0.02 m,橫向位于底盤箱體中軸線,距離地面0.55 m,拍攝方向為機體正前方。機具行進速度約為1.2 m/s,攝像頭采集的圖像分辨率為1 280像素×720像素,采集幀率為60 f/s。
從采集數(shù)據(jù)中隨機選取1 300幅圖像進行果園數(shù)據(jù)集制作,其中850幅用于訓(xùn)練集,150幅用于驗證集,300幅用于測試集。采用Labelme工具進行數(shù)據(jù)處理,根據(jù)研究目標,本文只對道路像素進行標注。對標簽文件中道路邊緣的坐標信息進行讀取,得到每幅圖像對應(yīng)的掩碼區(qū)域灰度圖。圖1為數(shù)據(jù)集中3種不同光照條件下的圖像標注與灰度圖生成效果。
1.1.2基于U-Net的果園道路分割網(wǎng)絡(luò)
果園環(huán)境中存在著目標非結(jié)構(gòu)化、光照明暗變化、視角變化、尺度變化以及物體遮擋等多種問題,對傳統(tǒng)的圖像處理方法造成一定影響。本文基于全卷積神經(jīng)網(wǎng)絡(luò)原理,根據(jù)果園道路檢測的實時性和準確性要求,選擇U-Net作為本文的道路分割網(wǎng)絡(luò)。
U-Net是較早使用全卷積神經(jīng)網(wǎng)絡(luò)的語義分割網(wǎng)絡(luò),該網(wǎng)絡(luò)呈完全對稱分布,其中較淺的高分辨率特征圖解決像素的定位問題,較深的低分辨率特征圖解決像素的分類問題。網(wǎng)絡(luò)通過跳躍連接的方式將特征圖進行維度拼接,能夠保留更多的位置和特征信息,更適合處理像素級語義分割任務(wù)。由于網(wǎng)絡(luò)權(quán)重參數(shù)總量較少,對較小的數(shù)據(jù)集具有良好的適應(yīng)性[11-12]。
解碼階段由4個上采樣模塊組成,每個上采樣模塊包含1個步長為2的3×3反卷積層、1步跳躍連接和2個填充像素為0、步長為1的3×3卷積層。每個上采樣模塊處理時,先通過反卷積層將特征圖尺寸增大一倍,通道數(shù)減半,然后與對應(yīng)編碼階段下采樣模塊生成的特征圖通過跳躍連接的方式進行維度拼接,由于特征圖尺寸不一致,跳躍連接前需要先對特征圖進行裁剪。對維度拼接生成的特征圖進行2層卷積后,特征圖尺寸變?yōu)?2H-2-2,2W-2-2)。經(jīng)過4個上采樣模塊堆疊處理后,最終得到語義分割結(jié)果,網(wǎng)絡(luò)整體框架如圖2所示[13-14]。
網(wǎng)絡(luò)訓(xùn)練時,輸出特征圖中逐像素回歸值pc(x)計算式為
(1)
式中ac(x)——位置x通道c上的像素得分
K——類的數(shù)量
能量函數(shù)E為逐像素回歸值的交叉熵損失函數(shù),計算式為
(2)
式中pl(x)(x)——位置x的softmax損失函數(shù)
l(x)——位置x的標簽值
w(x)——位置x的權(quán)重
語義分割模型訓(xùn)練完成后,將測試集圖像輸入便可得到每個像素的回歸概率,分割結(jié)果如圖3所示。對預(yù)測結(jié)果進行二值化處理后,便可進行道路導(dǎo)航路徑的生成。
現(xiàn)有的路徑識別方法多采用霍夫變換、垂直投影法進行線性擬合,適用于直線路徑。果園環(huán)境中道路邊緣不規(guī)則且路徑多為曲線,直接對分割結(jié)果進行直線擬合誤差較大。本文采用掃描法提取道路左右側(cè)邊緣信息點,然后通過加權(quán)求和的方式得到道路擬合中點位置,最后基于樣條曲線擬合原理對道路導(dǎo)航路徑進行識別。
1.2.1邊緣信息提取
對分割結(jié)果進行二值化處理,選取最大輪廓作為道路掩碼區(qū)域。掩碼區(qū)域的形狀多呈“凸”字形,其中靠近道路起始的區(qū)域近似為長方形,靠近道路盡頭的區(qū)域近似為三角形。如果采用單一的掃描方式會出現(xiàn)邊緣信息提取不完整的現(xiàn)象,本文提出了一種基于掃描法的掩碼邊緣信息提取方法,流程如圖4所示,具體步驟為:
(1)選取圖像下沿中心位置作為導(dǎo)航起始點,輪廓極點坐標位置作為道路盡頭點,求出兩點間的斜率k,公式為
(3)
式中 (xstart,ystart)——導(dǎo)航起始點坐標
(xend,yend)——道路盡頭點坐標
(2)以導(dǎo)航起始點為中心,對稱生成橫坐標間距相等的掃描起始點,并使用步驟(1)生成的斜率組成多對等距掃描線進行逐像素斜向掃描,其中第i對等距掃描線公式為
(4)
式中h——掃描間距
(3)在二值化圖像中,道路區(qū)域像素值為255,背景像素值為0,如果某2個相鄰位置像素的像素值從0變?yōu)?55,則可認為該點為邊緣信息點,其中左側(cè)掃描線得到左邊緣信息點,右側(cè)掃描線得到右邊緣信息點。
(4)對斜向掃描法提取的多對邊緣信息點進行加權(quán)求和,自上而下得到道路擬合中點,第i個擬合中點坐標表達式為
(5)
其中
(6)
式中 (xi,left,yi,left)——左側(cè)邊緣信息點坐標
(xi,right,yi,right)——右側(cè)邊緣信息點坐標
(xi,middle,yi,middle)——擬合中點坐標
wi,left——左側(cè)權(quán)重
wi,right——右側(cè)權(quán)重
N——斜向掃描次數(shù)
η——修正系數(shù)
修正系數(shù)η取值為式(7)的解,即
(7)
其中
(8)
此時前2個擬合中點的連線為道路盡頭夾角的角平分線,可適應(yīng)不同相機視角。
(5)道路形狀為“凸”字形,只采用斜向掃描提取的邊緣信息不夠完整,以步驟(3)最下方擬合中點縱坐標的1.5個掃描步長位置為開始,道路起始點縱坐標為結(jié)束,進行等距水平掃描,繼續(xù)得到左右側(cè)邊緣信息點。
(6)對水平掃描得到邊緣信息點進行平均加權(quán)求和,繼續(xù)生成道路擬合中點,此時左右側(cè)權(quán)重均為0.5。
邊緣信息提取和擬合中點生成的效果如圖5所示。從結(jié)果中可以發(fā)現(xiàn),本文提出的邊緣信息提取方法對道路形狀有著良好的適應(yīng)性,能夠生成適應(yīng)邊緣弧度的道路擬合中點。為了識別出平順的導(dǎo)航路徑,需要選擇合適算法對擬合中點進行曲線擬合。
1.2.2基于B樣條曲線的導(dǎo)航路徑擬合算法
果園道路邊緣不規(guī)則且路徑多為曲線,B樣條曲線相較于多項式、指數(shù)以及對數(shù)曲線具有局部可控、凸組合、連續(xù)性等優(yōu)勢。本文將導(dǎo)航起始點、道路擬合中點以及道路盡頭點作為B樣條的控制頂點,進行多段三次B樣條曲線擬合,生成平順的道路導(dǎo)航路徑[15-17]。
導(dǎo)航路徑的擬合基于n+1個控制頂點Pi(i=0,1,…,n),每次取出4個相鄰控制頂點便可得到一段三次B樣條曲線,其中第i段的三次B樣條曲線的表達式為
(9)
其中Nj,4(t)=[N1,4(t),N2,4(t),
N3,4(t),N4,4(t)]
(10)
(11)
式中t——曲線參數(shù)
Nj,4(t)——樣條曲線的基函數(shù)
將基函數(shù)代入,可得到第i段的三次B樣條曲線對應(yīng)的矩陣表達形式為
(12)
第i段B樣條曲線始末端點的坐標位置、一階導(dǎo)數(shù)以及二階導(dǎo)數(shù)分別為
(13)
(14)
(15)
基于上述推導(dǎo),對道路擬合中點進行多段三次B樣條曲線擬合,生成道路導(dǎo)航路徑?;跇訔l曲線擬合原理,掃描值越小,擬合中點越多,導(dǎo)航精度相對越高,但此時計算量較大。掃描值越大,路徑相對較為平順,但導(dǎo)航精度越低。不同的橫向、縱向掃描距離生成的導(dǎo)航路徑如圖6所示,對比測試結(jié)果,當(dāng)掃描值為70像素時,識別的導(dǎo)航路徑能夠有效反映邊緣信息,曲線整體較為平順,計算量相對較小。
為了驗證本文提出的路徑識別方法在果園數(shù)據(jù)集中的準確性、穩(wěn)定性以及魯棒性,分別進行道路分割與路徑識別實驗。
2.1.1評價指標
道路分割主要通過3個考核指標進行評價:準確率P(Precision)、召回率R(Recall)以及交并比I(Intersection over Union)[18-20],公式分別為
(16)
(17)
(18)
式中TP——判定為正樣本的正樣本像素數(shù)量
FP——判定為正樣本的負樣本像素數(shù)量
FN——判定為負樣本的正樣本像素數(shù)量
2.1.2網(wǎng)絡(luò)模型訓(xùn)練
在Win10系統(tǒng)下,基于Tensorflow框架搭建U-Net網(wǎng)絡(luò)。訓(xùn)練的硬件配置為Intel i7-6700HQ CPU,Nvidia Geforce GTX960 GPU,8 GB內(nèi)存。訓(xùn)練前,隨機選取850幅圖像作為訓(xùn)練集,150幅作為驗證集,300幅作為測試集。為了加快訓(xùn)練和預(yù)測速度,預(yù)處理時,圖像分辨率統(tǒng)一轉(zhuǎn)換為256像素×256像素。為了增大訓(xùn)練數(shù)據(jù)量,提高模型魯棒性,本文通過隨機水平翻轉(zhuǎn)訓(xùn)練集拓充數(shù)據(jù)量。使用He權(quán)重初始化方法對網(wǎng)絡(luò)初始參數(shù)進行處理[11],采用丟棄函數(shù)預(yù)防訓(xùn)練過程中的過擬合。
根據(jù)經(jīng)驗,優(yōu)化方法選擇Adam自適應(yīng)學(xué)習(xí)率優(yōu)化器,其中單次迭代樣本數(shù)為8,丟棄率為0.5,初始學(xué)習(xí)率為0.001,學(xué)習(xí)率衰減系數(shù)為0.1,最小學(xué)習(xí)率為1×10-6,分別采用3、4、5組上下采樣模塊進行100個周期的訓(xùn)練,訓(xùn)練集和驗證集的損失函數(shù)曲線如圖7所示。
觀察學(xué)習(xí)曲線可知,模型訓(xùn)練損失始終小于驗證損失,在前20個訓(xùn)練周期內(nèi),3種U-Net網(wǎng)絡(luò)的訓(xùn)練損失和驗證損失衰減較為劇烈,隨著迭代次數(shù)的增加,在剩余周期中損失值趨于穩(wěn)定。
最優(yōu)模型訓(xùn)練結(jié)果如表1所示,其中4組上下采樣模塊的U-Net網(wǎng)絡(luò)的驗證損失值為0.095 1,驗證集準確率為96.76%,召回率為89.41%,交并比為86.82%,相對其他2種網(wǎng)絡(luò)的訓(xùn)練效果較好,因此采用該網(wǎng)絡(luò)生成的訓(xùn)練模型進行果園道路分割。
2.1.3分割精度測試
模型分割時會得到每個像素的回歸概率,如果大于設(shè)定臨界閾值,則可以認為該像素點為正樣本。為了驗證模型的測試精度與魯棒性,得到不同環(huán)境下較優(yōu)的臨界閾值,本文進行3組不同果園光照強度、4組不同臨界閾值的語義分割實驗,將測試集中的圖像數(shù)據(jù)輸入至果園分割模型中,模型分割效果如圖8所示,精度測試結(jié)果如表2所示。
表1 模型訓(xùn)練結(jié)果對比Tab.1 Comparison of model training results
表2 語義分割精度測試結(jié)果Tab.2 Test results of semantic segmentation accuracy
從表2可以看出,當(dāng)臨界閾值為0.2和0.4時,光照強度對道路分割精度影響不大,臨界閾值為0.6和0.8時,隨著光照強度的增加,道路分割的召回率和交并比呈逐漸減小趨勢。觀察模型分割結(jié)果可知,識別誤差區(qū)域主要存在于道路邊緣位置,大面積樹冠陰影、強光造成的圖像模糊均會降低道路邊緣像素的預(yù)測概率,但在道路主干部分,不同光照條件下的預(yù)測概率基本不受影響,可實現(xiàn)道路可行駛區(qū)域的像素級分割。
從表2可以看出,在相同光照強度下,隨著臨界閾值的增加,模型的準確率呈逐步增加、召回率呈逐步減小、交并比呈先增加后減少的趨勢。觀察不同光照強度的模型分割結(jié)果可知,主要原因在于較高的臨界閾值會篩選掉較多低概率像素點,預(yù)測結(jié)果會更為準確,但與此同時,會損失掉一部分正樣本像素,目標識別的完整度會降低,道路掩碼面積減小。
如表2所示,當(dāng)臨界閾值為0.4時,低光照強度下準確率為92.61%,召回率為96.41%,交并比為89.52%;普通光照強度下準確率為94.51%,召回率為91.02%,交并比為86.45%;強光照強度下準確率為92.17%,召回率為92.97%,交并比為86.16%。本文選擇0.4作為果園分割的臨界閾值,此時光照強度變化對分割精度的影響較小,3項評價指標綜合表現(xiàn)較好。
2.2.1測試方法
將機具在果園的實際行駛軌跡映射至圖像中,從道路盡頭位置開始,在識別路徑中自上而下等距選取10個檢測點,與相同縱坐標的實際路徑點進行橫坐標像素對比,取絕對值得到路徑識別的像素誤差,公式為
epixel=abs(udetect-uactual)
(19)
式中udetect——檢測點像素橫坐標
uactual——實際路徑點像素橫坐標
abs()——取絕對值函數(shù)
為了得到像素誤差對應(yīng)的實際距離誤差,基于針孔相機模型將檢測點和路徑點從像素平面坐標轉(zhuǎn)換至相機坐標,通過計算2點的歐氏距離得到實際距離誤差。相機內(nèi)部參數(shù)與畸變系數(shù)廠家已標定,圖像深度信息可通過深度相機立體測距原理實時返回,近距離測量誤差為1%。坐標轉(zhuǎn)換公式為
(20)
(21)
(x,y)=(X/Z,Y/Z)
(22)
式中 (u,v)——像素平面坐標
fx、fy、cx、cy——相機內(nèi)部參數(shù)
(xcorrected,ycorrected)——歸一化平面糾正后坐標
k1、k2、p1、p2——畸變系數(shù)
(x,y)——歸一化平面直角坐標
r——歸一化平面極徑
(X,Y,Z)——相機坐標系坐標
2.2.2精度測試
分別在3種光照強度和3種相機視角的測試集圖像中進行路徑識別實驗,識別結(jié)果如圖9所示。從圖中可以看出,在不同光照和視角條件下,本文采用的網(wǎng)絡(luò)模型對道路主干部分像素的識別效果受光照明暗變化的影響較小,邊緣信息提取方法可以完整地獲取不同視角下的道路輪廓信息,并基于加權(quán)求和生成隨邊緣弧度變化的道路擬合中點,樣條曲線擬合能夠有效減弱不規(guī)則邊緣對路徑識別的干擾,進而得到平順的導(dǎo)航路徑。
像素誤差測試結(jié)果如表3所示,在低光照強度下,視角偏左、居中和偏右的平均像素誤差分別為13.7、11.8、10.0像素。在普通光照強度下,平均像素誤差分別為8.2、6.5、12.0像素。在強光照強度下,平均像素誤差分別為9.3、2.9、11.4像素??傻貌煌瑮l件下平均像素誤差為9.5像素。
距離誤差換算結(jié)果如表4所示,在低光照強度下,視角偏左、居中和偏右的平均距離誤差分別為0.056、0.048、0.041 m。在普通光照強度下,平均距離誤差分別為0.041、0.040、0.052 m。在強光照強度下,平均距離誤差分別為0.046、0.022、0.048 m??傻貌煌瑮l件下平均距離誤差為0.044 m。從檢測點對應(yīng)像素深度信息可知,檢測點與相機的距離在1.112~7.743 m之間,隨著檢測點與相機距離的增加,誤差呈逐步增大的趨勢,主要原因在于,檢測點離相機越遠,對應(yīng)像素深度和歐氏距離越大,距離誤差越大。
已知所在果園的道路寬度約為3.1 m,平均距離誤差占比為1.4%。果園履帶底盤的正常行駛速度多在0~1.4 m/s之間,記錄測試集中每幅圖像的計算時間,路徑識別的平均處理時間為0.154 s。在當(dāng)前果園環(huán)境和硬件配置下,本文提出的路徑識別方法具有較好的精度和實時性。
(1)提出了一種基于U-Net全卷積神經(jīng)網(wǎng)絡(luò)的果園道路分割方法。臨界閾值為0.4時,訓(xùn)練后模型在弱光、普通光以及強光光照強度下的分割交并比分別為89.52%、86.45%、86.16%??构庹崭蓴_能力強,能夠平穩(wěn)實現(xiàn)果園道路像素級分割。
表3 像素誤差測試結(jié)果Tab.3 Test result of pixel error 像素
表4 距離誤差換算結(jié)果Tab.4 Conversion result of transverse distance error mm
(2)在道路分割的基礎(chǔ)上,提出了一種基于掃描法的邊緣信息提取方法和基于B樣條曲線擬合的導(dǎo)航路徑識別方法,邊緣信息提取和路徑識別方法對不同視角的道路掩碼形狀具有良好的適應(yīng)性。
(3)在不同光照和視角條件下進行了路徑識別實驗,本文提出的導(dǎo)航路徑識別方法受光照視角影響較小,平均像素誤差為9.5像素,平均距離誤差為0.044 m。已知所在果園道路寬度約為3.1 m,平均距離誤差占比為1.4%。果園履帶底盤的正常行駛速度在0~1.4 m/s之間,單幅圖像平均處理時間為0.154 s。在當(dāng)前果園環(huán)境和硬件配置下,本研究可為視覺導(dǎo)航任務(wù)提供有效參考。