楊 洋,張博立,查家翼,溫 興,陳黎卿※,張 鐵,董 祥 ,楊學軍
(1. 安徽農業大學工學院,合肥 230036;2. 安徽省智能農機裝備工程實驗室,合肥 230036;3. 中國農業機械化科學研究院,北京 100083)
高地隙植保機在進行玉米田間植保作業時要求車輪沿壟間行走,由于駕駛員視野遮擋嚴重,易出現輪胎壓苗現象,如何避免車輪壓苗亟需解決。
近年來眾多學者針對拖拉機、收獲機、果園植保機等的自動導航作業系統開展研究并取得一定成果[1-8],為高地隙植保機的自動駕駛提供了基礎。針對高地隙植保機田間自動駕駛,劉兆朋等[9]基于 RTK-GNSS技術開發高地隙噴霧機自動導航作業系統,實現噴霧機在極少人工干預下自動植保作業。陳黎卿等[10]設計了高地隙植保機輔助駕駛系統,夏祥孟[11]開展了植保機器人全局路徑規劃研究。Seong等[12]基于GPS和超聲波傳感器開發了噴霧機自主導航作業系統,基于超聲波檢測實現了避障識別并設計了規避路徑。基于衛星定位技術開發無人駕駛系統,根據田塊幾何信息規劃全局行走路徑,但是無法解決高地隙植保機車輪壓苗、傷苗問題。
實現高地隙植保機玉米田間自動作業的關鍵是玉米壟間導航路徑的實時獲取。玉米通常采用條播種植,可以通過提取玉米苗帶中心線規劃車輪壟間行走路徑[13]。張鐵民等[14]通過視覺監測系統,對不同顏色的標識線、綠色植物與裸露地面的分界線等路徑進行識別和導航控制。廖娟等[15]以秧苗為研究對象,提出了基于分區域特征點聚類的秧苗行中心線提取方法,用于插秧機導航行走。宋宇等[16-17]基于機器視覺提取玉米根莖導航線,用于農業機器人玉米行間行走導航。基于機器視覺提取作物中心線,大多數學者結合顏色特征分割圖像中的作物或壟溝,再通過Hough變換或最小二乘法提取作物中心線[18-20]。文獻[21]采用隨機Hough完成玉米作物行提取,處理時間約290 ms,文獻[22]采用大豆垂直投影圖獲取作物特征點,然后利用最小二乘法擬合導航軌跡,平均耗時185 ms,文獻[23]基于圖像特征點粒子群聚類算法完成玉米根莖識別,耗時為423.7 ms。通過對國內外文獻分析可以看出,目前導航線提取算法主要存在田間適應性差,運行速度慢等問題,無法滿足導航線實時提取的要求。
高地隙植保機田間植保作業速度可達15 km/h,穩定、高效和準確的導航線提取算法是自動導航的前提,目前大多數基于機器視覺提取導航線的算法耗時大于100 ms。基于此,本文提出了高地隙植保機車輪在玉米行間行走的動態ROI(Region of Interest, ROI)區域劃分算法,然后在動態ROI區域內提取導航線,并通過算法對比試驗和田間導航試驗驗證本文算法的可靠性和準確性。
高地隙植保機底盤結構簡圖如圖 1所示[10],主要由柴油機、高地隙車橋、轉向油缸、高地隙輪胎、自動轉向系統和機器視覺系統等組成。高地隙植保機底盤離地間隙1.1 m,軸距1.6 m,輪距1.3 m。傳動系統采用HST靜液壓變速箱,能夠實現底盤無極變速。轉向系統采用伺服電機驅動全液壓轉向器,車輪轉向精度為0.1°。導航攝像頭安裝在車輪上方,離地高度1.5 m。

圖1 高地隙植保機底盤基本結構Fig.1 Basic structure of chassis for the high-clearance plant protection machine
如圖1所示,圖像采集設備采用CMOS機器視覺攝像頭,相機距離地面高度1.5 m,傾斜角度30 °,利用相機成像原理對相機進行標定。圖像分辨率為 1 920像素×1 080像素,視頻幀率為12幀/s,格式為AVI。
在安徽省宿州市埇橋區灰古鎮安徽農業大學皖北綜合試驗站(116°97′E、33°63′N)采集玉米苗帶視頻,玉米種植農藝行距為60 cm。分別在2019年7月2日(時期Ⅰ,玉米平均高度30 cm,光照強度37 600 LX)、7月8日(時期Ⅱ,玉米平均高度50 cm,光照強度102 300 LX)和7月14日(時期Ⅲ,玉米平均高度70 cm,光照強度149 200 LX),開展玉米苗帶視頻采集。
圖像處理軟件采用Python3.6和C語言混合編程,其中 Python編譯器為 PyCharm。圖像處理硬件采用研華MIC-7700型工控機,處理器Inter Core i7(主頻2.6 GHz),顯卡GTX1660(顯存6 G),內存8 G。
基于機器視覺的高地隙植保機玉米行間導航線提取流程如圖 2所示,首先通過安裝在車輪正前方的相機獲取車輪正前方玉米苗帶圖像信息,然后對采集到的圖像進行預處理,確定導航ROI,并在導航ROI內采用最小二乘法擬合導航線,最后根據路徑跟蹤控制算法實現高地隙植保機玉米行間行走。

圖2 導航線提取流程Fig.2 Process of navigation line extraction
為了減少光照強度對圖像識別的影響,將顏色分量R、G、B值進行歸一化[24],采用歸一化后的顏色分量代替原有顏色分量,克服不同光照強度對苗帶特征提取的影響,計算方法如式(1)所示。

式中r、g和b分別為顏色分量R、G和B的歸一化值。
分別在弱光和強光條件下俯拍玉米田間圖像,選取2種光照條件下各40幀視頻圖像,每幅圖像提取20個玉米和土壤測試點,進行顏色分量R、G、B值統計分析。如圖3a和圖3b所示,顏色分量變化規律的不確定直接影響玉米與土壤背景的準確分割。通過對顏色分量歸一化處理,確保不同光照條件下顏色分量變化規律相同,結果如圖3c和圖3d所示。
采用超綠特征算子對玉米苗帶圖像進行灰度化處理,超綠特征算子計算方法如式(2)所示。

式中Eg(x,y)為像素點(x,y)的灰度值。
采用超綠特征算子計算土壤和玉米苗帶圖像灰度值,統計結果如圖 4a,統計結果表明玉米不同生長時期土壤背景灰度值顯著小于玉米。以超綠特征算子為玉米分割閾值,采用最大類間方差法[25-27]分割玉米和土壤背景,不同時期玉米二值化分割效果如圖4c所示。

圖3 顏色分量統計結果Fig.3 Statistical results of color components

圖4 不同時期玉米與土壤背景分割結果Fig.4 Segmentation results of corn and soil background in different periods
田間雜草、秸稈以及玉米葉片外展噪聲,直接干擾靜態ROI的提取。采用形態學膨脹和腐蝕去除噪聲,并連通小范圍斷壟區域,結果如圖4d所示,該區域可用于車輪對行行走路徑規劃效果較好。圖像預處理與苗帶分割為后續的ROI可靠提取提供了必要條件。
如果直接對相機采集的圖像進行處理,單幀圖像處理時間普遍大于300 ms[28],無法滿足導航作業的實時性需求,為此本文提出在可行走動態ROI內開展導航線提取。
玉米種植采用條播法,行與行之間保持相同的距離,垂直投影法能夠較好的應用于條播作物導航線提取。針對垂直投影法應對復雜環境適應性差,容易出現苗帶中心線擬合角度偏移大,且耗時較長的問題,本文將垂直投影法用于初始幀圖像處理,確定靜態 ROI,然后在靜態ROI的基礎上確定導航動態ROI。
3.1.1 圖像帶劃分
由于相機俯拍角度的影響,玉米苗帶在圖像中并不是相互平行的,無法直接對圖像使用垂直投影,因此需要將圖像劃分成若干圖像條。在采集圖像W×H像素范圍內按照Δh像素高度劃分圖像帶,如圖5a所示。圖像帶垂直投影結果如圖5b所示。

圖5 圖像帶劃分與垂直投影結果Fig.5 Image band division and vertical projection results
3.1.2 ROI區域的幾何表達
確定靜態 ROI,需要定位玉米行中心點,采用垂直投影法獲取玉米行中心點的步驟如下:
1)從下至上依次對劃分的圖像帶進行編號1、2、…、n、…、N,其中N為圖像帶總數,根據聚類計算結果本文取10。采用公式(3)計算圖像帶W×Δh像素范圍列像素累加值,得到列像素曲線Z(j),如圖5所示。

式中下標j為圖像帶像素點列坐標;下標i為圖像帶像素點行坐標。
2)確定圖像帶中玉米行中心點。設置閾值T,當Z(j-1)<T<Z(j+1)時,圖像帶像素列坐標j為上升列序號;當Z(j+1)<T<Z(j-1)時,j為下降列序號,其中閾值T根據公式(4)~(6)計算。上升點與下降點的中心點即為圖像帶中玉米行中心點。

式中M為圖像帶所有列像素累加和的均值;E為圖像帶列像素累加值標準差。
3)按照上述步驟對所有圖像帶進行相同操作,得到W×H像素范圍內的所有玉米行中心點。
4)在編號1的圖像帶中,從W/2位置向兩側掃描,記錄兩側掃描的第 1個像素點坐標分別為 (),(,計算2個像素坐標點的中點水平位置Wc。
5)在編號為2的圖像帶中,掃描線從Wc處向兩邊掃描,并執行步驟 4)。以此循環,最后確定編號為N的圖像帶左右 2行作物行中心點的像素坐標分別為()。
6)采用公式(7)對和進行運算,獲得梯形ROI的4個頂點的像素坐標,基于頂點位置確定ROI。

式中(X1,)為ROI左下角像素坐標,()為ROI右下角像素坐標,()為ROI左上角像素坐標,(X4,)ROI右上角像素坐標。A和B的值根據圖6確定。
3.1.3 靜態ROI內玉米苗帶特征點聚類
如圖6所示,在圖像帶中定義圓心坐標P(x,y),直徑Δh的圓CR,在圖像帶中從ROI左側邊界向ROI中心線移動圓CR,統計圓CR中的像素不為0的像素點數,如圖7所示。當圓CR中包含像素點數最多時,記錄此時圓心像素坐標,從ROI中心線向ROI右側邊界執行相同操作。在已劃分的圖像帶中執行此操作,最終獲得特征點集l、r。使用最小二乘法擬合特征點集l、r,得到左右兩側玉米苗帶識別線和導航線。

圖6 ROI幾何表示Fig.6 Geometric representation of Region of Interest(ROI)
采用上述算法,確定靜態ROI并提取玉米苗帶特征點共耗時473.7 ms,由于靜態ROI在相機開機后自動確定,此時尚未開展導航作業,較長的處理時間不影響導航作業的實時性。
由靜態ROI提取的苗帶中心線確定動態ROI,并在動態ROI內提取玉米苗帶識別線,實現ROI的動態更新。
3.2.1 動態ROI更新
1)計算由靜態 ROI提取的苗帶中心線端點像素坐標,分別記為(,0),(,0)和(,N×Δh),(,N×Δh),如圖7。根據的坐標值,按照公式(7)計算動態ROI的頂點像素坐標。

圖7 動態ROI更新Fig.7 Update of dynamic ROI
2)通過視頻上一幀獲取的導航線,將動態ROI劃分為P區域與Q區域,如圖8所示,并在左右區域內分別采用特征點聚類,得到特征點集p、q,采用最小二乘法擬合特征點集,得到左右兩側玉米苗帶識別線和導航線。
3)計算步驟 2)得到的玉米苗帶識別線像素位置坐標,重復步驟1)和2),更新ROI的頂點像素位置坐標,得到玉米苗帶識別線,實現動態ROI的更新。

圖8 玉米苗帶線與導航線Fig.8 Corn seedling belt line and navigation line
3.2.2 動態ROI劃分可行性分析
選取連續 225幀視頻,進行人工劃分 ROI,將本文方法得到的動態ROI與人工劃分的ROI進行對比。選取梯形ROI的4個頂點,計算人工劃分ROI與算法劃分ROI在1、2、3、4點的水平像素差值,評價動態ROI劃分的準確性,試驗結果如圖9所示。

圖9 人工劃分ROI與算法劃分動態ROI的對比Fig.9 Comparisons of dynamic ROI between algorithm and manual
以1、2、3、4點的像素距離為指標評價算法動態ROI提取準確性,由于圖像上部玉米苗帶水平像素距離小,所以1和2點水平像素距離對ROI劃分的影響更顯著,基于此確定評價指標計算如公式(8)。

式中 ΔX1、ΔX2、ΔX3和 ΔX4分別為 1、2、3、4 點水平像素距離;a為上邊界水平像素距離的影響因子,b為下邊界水平像素距離的影響因子。a和b表征ROI上邊界像素距離和下邊界像素距離對算法 ROI標定與人工標定 ROI的差異程度,a和b的取值按公式(9)所示。

式中X12為1點和2點苗帶水平像素距離,X34為3點和4點苗帶水平像素距離。
人工劃分ROI與本文算法劃分ROI的差異統計結果如圖10所示,算法劃分ROI與人工劃分ROI的像素偏差收斂在10像素左右,說明本算法具有良好的收斂性。

圖10 水平像素誤差Fig.10 Horizontal pixel error
隨機選取500幀圖像,采用該算法進行動態ROI劃分,結果如圖11所示,動態ROI的劃分準確率為98.2%,動態ROI提取耗時20 ms,與靜態ROI相比,耗時顯著減少,表明本文提出的動態ROI劃分算法能夠滿足高地隙底盤植保機的田間苗帶對行導航行走的可靠性和實時性。

圖11 不同情景下的動態ROI劃分結果Fig.11 Dynamic ROI division results under different scenes
完成動態ROI提取后進行玉米行間行走導航線實時提取,并基于提取結果計算底盤的玉米行間行走航向角。在動態ROI內識別兩側苗帶中心線,其斜率分別記為k1和k2,根據角平分線斜率求取公式(10)計算導航線斜率k,以底盤中軸線為Y軸,計算得到導航線與底盤中軸線偏角,即航向角θ(°)。

由圖圖像采集過程中存在大量隨機干擾(如底盤抖動、刮風導致苗帶擺動以及缺苗等),因此本文采用卡爾曼濾波方法確定導航線偏角[29-31]。
導航線偏角卡爾曼濾波模型采用狀態空間模型描述:

式中xt和xt-1分別表示t和(t-1)時刻導航線相對于底盤中軸線的偏角狀態;yk表示t時刻的觀測值;f為系統參數,為一維離散數據,取值為 1;uk-1表示(t-1)時刻系統的控制量,ut-1=0;g為測量系統參數,為一維離散數據,取值1;qt表示高斯白噪聲;rt為觀測高斯白噪聲。
qt、rt均符合高斯分布,設高斯分布的協方差矩陣分別為過程噪聲Qt和觀測誤差Rt。由試驗可知相機晃動造成的苗帶識別誤差最大,可歸屬于觀測誤差Rt,經過反復試驗,確定觀測噪聲Rt=0.3;刮風導致玉米葉片晃動屬于環境因素,引起的誤差較小,屬于過程誤差,經過試驗,確定過程噪聲Qt=0.02。基于上述分析建立導航線偏角濾波模型時間更新和狀態更新模型:

式中和x?t-1分別表示t和(t-1)時刻的預估狀態值;Pt-1表示(t-1)時刻的最優誤差協方差;Jt表示卡爾曼增益;I表示系統模型維數,I=1;Pt表示t時刻的最優誤差協方差,其中初始誤差協方差=0.01。
通過玉米苗帶圖像視頻采集系統采集底盤靜止狀態下車輪正前方苗帶視頻和底盤以0.5 m/s速度行走時車輪正前方苗帶視頻。底盤靜止狀態下,設置車輪與苗帶對齊,理論航向角為0,底盤沿著苗帶行走,通過人工標定圖像苗帶獲取導向線。視頻采集過程中風速3.4~5.4 m/s(微風),光照37 600 LX,溫度35.2 ℃。
底盤靜止時的導航線提取結果及其濾波效果如圖12a,可見基于卡爾曼濾波處理獲取的航向角與人工航向角的誤差顯著減小。底盤靜止狀態下理論航向角應該保持不變,但是刮風導致玉米苗帶隨風擺動,產生航向角變化。對于底盤運動工況,由于底盤晃動、葉片擺動和缺苗等因素影響,航向角變化如圖12b,可見通過卡爾曼濾波可以獲取穩定的航向角,與人工航向角的誤差顯著減小。

圖12 不同底盤狀態下的航向角曲線Fig.12 Heading angle curve under different chassis state
為了判斷導航線提取的準確性,以人工提取的玉米苗帶導航線作為評價標準,驗證本文算法的準確性。通過人工標定視頻圖像最合理的導航線,定義人工與本文算法提取的導航線之間的夾角為誤差角,用于評價本文算法的準確性。當誤差角度大于5°,視為導航線提取無效。
對采集的玉米苗帶視頻進行導航線提取,隨機挑選100幀圖像進行人工提取導航線,本文算法提取導航線與人工提取結果的平均誤差為1.157°,單幀圖像導航線提取耗時平均97.56 ms(標準偏差8 ms)。
采用文獻算法處理拍攝的玉米苗帶視頻,并針對拍攝的玉米圖像進行文獻算法參數調試,確保能夠準確分割玉米苗帶和土壤背景后,進行算法導航線提取準確性和算法耗時對比,結果如表1所示,提取效果如圖13所示。文獻[21]采用Hough變換提取導航線,該方法的玉米苗帶識別率為84%,導航線提取準確率為78%,單幀圖像處理耗時 420 ms。文獻[22]采用垂直投影法提取導航線,該方法的玉米苗帶識別率為 65%,導航線提取準確率為40%,單幀圖像耗時360 ms。文獻[21]和文獻[22]的苗帶識別率較低的主要原因是算法對整幅圖像進行處理,非行走區域的雜草、秸稈等噪聲影響苗帶中心線的識別。此外,由于相機晃動,相機采集的圖像覆蓋區域也會有很大偏移,因此由苗帶中心線擬合出的導航線會產生跳動現象,甚至可能出現導航線跳出車輪正前方的可行走區域,導致無法進行田間導航行走。

表1 不同算法的導航線提取準確率和耗時對比Table 1 Comparison of accuracy and time-consuming of different algorithms for navigation line extraction

圖13 不同算法的玉米行間導航線提取效果對比Fig.13 Comparison of extraction effects of navigation lines between corn rows by different algorithms
2019年7月16日,在安徽省肥東縣楊清傳家庭農場開展田間試驗,玉米平均株高62 cm,行距60 cm,高地隙植保機底盤離地間隙1.1 m,軸距1.6 m,輪距1.3 m。傳動系統采用HST(Hydraulic Stepless Transmission)靜液壓變速箱,能夠實現底盤無極變速。轉向系統采用伺服電機驅動全液壓轉向器,車輪轉向精度為0.1°。采用拉桿式直線位移傳感器(品牌:MIRAN,型號:PR1,精度:0.01 mm)測量高地隙植保機轉向油缸伸縮位移,標定車輪轉角和油缸位移關系,獲得車輪轉角。通過北斗移動基站(北斗信通,型號C201-AT-680)獲得底盤行駛速度和位置坐標,將底盤作業速度信號反饋給靜液壓變速箱控制器,控制底盤作業速度為0.5 m/s。選擇玉米苗帶為直線的區域開展試驗,試驗前檢查傳感器參數、動態ROI區域提取是否正常,試驗過程中實時監測底盤位置坐標、車輪轉角。
試驗結果如圖14所示。試驗結果表明算法能夠穩定地獲取航向角,由于試驗區域玉米苗帶近似為直線,底盤車輪沿著玉米苗帶行走,因此導航偏轉角在 0°上下波動(圖14a)。以航向角為自動轉向系統輸入,基于PID算法控制底盤自動轉向,底盤車輪轉角在 0°上下浮動(圖14b),高地隙行走軌跡近似直線行走。在100米導航行走過程中, 人工統計車輪壓苗21株(共計952株玉米),壓苗率2.2%。

圖14 田間導航試驗結果Fig.14 Test results of field navigation
本文以不同時期玉米苗帶為研究對象,基于機器視覺提取高地隙植保機玉米行間行走導航線。通過顏色分量歸一化、超綠特征算子以及最大類間方差法對采集視頻幀進行圖像預處理,為導航線的可靠提取提供必要條件。提出底盤車輪可行走視覺區域(動態ROI區域)劃分算法,并在動態ROI區域內提取導航線。本文提出的算法提取導航線與人工提取結果平均誤差1.157°,準確率為96 %、視頻單幀圖像處理平均耗時97.56 ms(標準偏差8 ms),算法能夠滿足高地隙植保機田間對行行走的準確性和實時性要求。田間試驗表明,高地隙植保機車輪沿著玉米行行走,車輪轉角在 0°上下浮動,為后續的高地隙植保機無人植保提供技術支持。