李秀智 彭小彬 方會敏 牛萌萌 康建明 薦世春
(1.北京工業大學信息學部, 北京 100124; 2.山東省農業機械科學研究院, 濟南 250100)
為適應智能農業的發展需求,具有自動導航功能的農業機器人成為近年研究的熱點,在植保、采摘、種植等領域[1-3]具有廣闊的應用前景。其中,植保機器人的自主導航方式有機器視覺導航[4]、激光導航[5]和GPS導航[6]等。相比于激光導航和GPS導航,機器視覺導航具有更豐富的細節信息、更精準的局部定位和高性價比等優點。導航路徑的自動檢測是實現植保機器人導航的前提[7-10]。
對于田間作業,作物壟行檢測能夠提供結構化的導航信息[11-13]。早期的植保機器人導航多采用Hough變換方法[14-15],在雜草干擾和斷壟的農田環境下,檢測的正確率及效率難以滿足實際需要。在提取特征點的基礎上,最小二乘法也被廣泛用于壟線檢測[16-17],其準確性對噪聲特征點依然敏感。文獻[18]將一幅圖像分割成若干與原圖等寬的子圖像,采用垂直投影法獲取壟行特征點,繼而根據其坐標鄰近進行聚類、擬合及檢測,但該方法容易受到作物行斷行干擾及定位點歸類困難。文獻[19]假設作物行間隔距離相等,采用滑動窗口的方法提取代表壟行的特征點,并通過移動距離對特征點進行聚類,該方法可以有效地去除雜草噪聲的影響,但滑動窗口尺寸難以確定,且行間距相等的前提使其適用范圍受限。隨機采樣一致性算法(Random sample consensus, RANSAC)在對數據排異和提高模型估計精度方面應用廣泛[20-21]。
為了提高路徑檢測的精度和可靠性,本文提出一種基于RANSAC算法的植保機器人導航路徑檢測方法。在圖像預處理后,對壟行區域進行劃分和降噪,在壟行邊緣圖中提取特征點并進行聚類,基于估計殘差最小的準則,結合RANSAC算法,以期得到更高的檢測精度和更好的檢測性能。
本文植保機器人的導航路徑視覺檢測方法流程框圖如圖1所示(圖中Si為輪廓面積,Tarea為面積閾值,yi為特征點縱坐標,Himg為圖像高度)。在植保機器人的工作環境中,需要對采集圖像進行預處理,使作物壟行部分增強突出。

圖2 圖像分割結果Fig.2 Image segmentation results

圖1 植保機器人導航路徑檢測流程圖Fig.1 Flow chart of navigation path detection for plant protection robot
實驗統計結果表明,農作物RGB圖像中G顏色分量占比明顯大于R和B分量。根據這一特征在圖像灰度化中增大G分量從而增大農作物與背景的可分離性。超綠色灰度化法(Excess green, ExG)[22]能有效抑制陰影、枯草和土壤,使農作物部分更為突出。其公式為

(1)
式中I——灰度圖像的亮度
G、R、B——綠、紅、藍通道像素值
二值圖直觀表達了目標與背景區域的分割?;叶然?,采用最大類間方差法[23](Otsu)自適應地生成閾值,對實時圖像進行二值分割,圖2為圖像分割結果圖。
在特征點提取前,首先需要對壟行進行區域劃分。植保機器人上相機安裝方向為傾斜向地面,如圖3所示,其中OwXwYwZw為世界坐標系,相機坐標系OcXcYcZc為相對于世界坐標沿Yw軸向上平移H個單位長度,并繞Xw軸順時針旋轉Φ而得到。Zc正方向為相機的光心方向,并指向地面,植保機器人行駛方向為Zw正方向。根據小麥、玉米等作物近似平行直線的行種植特點,通過調整Φ,使得采集到的壟行在圖像中呈現平行分布,由垂直投影法可劃分壟行區域。
圖4為相機采集到的玉米苗圖像經過二值化處理后對應的垂直投影曲線。從垂直投影曲線可以看出,玉米苗行所在的位置出現投影值變化的峰值,從玉米苗到土壤背景,垂直投影值向下躍變,從土壤背景到玉米苗,垂直投影值向上躍變。所以在壟行與壟行之間,垂直投影曲線會呈現波谷狀態,由此根據波谷可對作物壟行區域劃分。

圖3 圖像采集示意圖Fig.3 Illustration of image acquisition

圖4 二值圖垂直投影曲線Fig.4 Vertical projection curves of binary image
通過二值化分割后,圖像中存在許多噪聲區域,形態學運算可消除噪聲對壟行檢測的影響,增強同一壟行區域的連通性。對于存在大量孔洞或者壟行連續情況不好的圖像,單純的一次形態學閉運算處理并不能達到很好的效果,本文采用多次形態學閉運算處理。
對于壟間存在雜草的區域,通過形態學操作難以起到很好的降噪效果。由于噪聲區域面積通常小于壟行輪廓區域的面積,本文提出一種動態面積閾值降噪的方法實現降噪處理。在保留壟行整體輪廓的基礎上,根據每個輪廓區域的面積,去除面積較小的雜草區域完成降噪處理。該降噪算法流程為
輸入為壟行邊緣圖,面積閾值Tarea。
輸出為面積閾值降噪后的掩碼圖。
計算所有邊緣輪廓的面積
i←0,sum←所有輪廓的總數
fori=0→sum-1 do
Si←第i個輪廓區域的面積
ifSi>Tareathen
將第i個輪廓區域保留在掩碼圖中
else
第i個輪廓區域不保留在掩碼圖中
end if
i←i+1
end for
在動態閾值Tarea設置中,取輪廓面積排序在第30%的為Tarea。由于不同幀圖像的噪聲面積不一,如果Tarea設置過大,可能會濾除壟行主體部分,在本文中取排序在第30%的面積值為Tarea既可以保留壟行的主體部分,又可以濾除一部分噪聲。對于不同的作物生長狀況和雜草密度,可調整面積閾值,使其達到最佳濾波效果。
圖5是通過動態面積閾值法濾波后壟行的輪廓圖,對于形態學運算難以去除的噪聲部分可以很好地剔除,且能完整地保留壟行的輪廓信息。

圖5 圖像降噪處理結果Fig.5 Image denoising results
經過圖像預處理后,圖像中僅剩白色邊緣為輪廓的農作物區域和背景區域,特征點提取是壟行檢測的必要前提。
在壟行區域,以白色邊緣與基準線交點的橫坐標平均值為特征點的橫坐標x、縱坐標y由間隔距離h和提取次序k決定,特征點提取原理示意圖如圖6所示,計算公式為
(2)

圖6 特征點提取原理示意圖Fig.6 Sketch map of feature point extraction
式中N——邊緣圖與基準線交點個數
xi——邊緣圖與基準線交點的橫坐標
[]——取整運算符
通過均值法可獲得每條壟行待擬合的特征點(x,y)??紤]到對一幅640像素×480像素的圖像遍歷每一行,在實時壟行檢測中會造成時間和內存上開銷較大,降低壟行檢測的實時性。在每隔h(本文h=10)個單位像素長度提取一次特征點,即每條基準線之間的距離為h個單位像素,在精確度不受影響的前提下保障了檢測的實時性。
在農田的實際環境中,由于作物葉片較大,且存在雜草等因素,導致相鄰壟行之間提取的特征點相互干擾,提取的特征點會含有部分離群點,直接影響壟行檢測的精度。
本文采用RANSAC算法剔除離群點。首先,通過隨機采樣從測試點集中選取一個子集進行參數估計。然后,運用所有測試數據集對該估計模型進行檢驗,根據測試樣本集中數據對模型的支持度,確定該模型估計的正確性。通過不斷建立假設與檢驗的迭代,以期獲取一個具有全局最優的模型參數,即獲得最優壟行直線擬合。本文RANSAC算法流程圖如圖7所示。

圖7 隨機采樣一致性排異算法流程圖Fig.7 Flow chart of random sample consensus algorithm for rejecting outliers
實驗圖像采集裝置示意圖如圖3所示。圖像分辨率為640像素×480像素,通過USB 3.0接口傳輸到計算機。所采用的處理器為Intel(R) Core(TM) i5,主頻2.4 GHz,內存8 GB,操作系統為Linux Ubuntu 16.04.6LTS,導航路徑檢測程序基于CMake編譯器和OpenCV 3.3開發。
為定量分析壟行檢測的準確性,以人工繪制的壟行直線作為參考標準。本文實際檢測的壟行直線與人工繪制的壟行直線之間的夾角為壟行檢測的誤差角,當誤差角大于5°,此時檢測的路徑一般難以滿足植保機器人準確導航要求,得到的壟行為無效結果,以此衡量算法的檢測率。
實驗中,2.2節RANSAC算法主要參數設置如下:內點閾值T=3,置信度α一般設置在[0.95,0.99]范圍內,對于迭代次數K如果設置過大會導致算法消耗時間增加,設置過小會導致準確率下降。最佳迭代次數可由公式推導得到,用α表示迭代過程中從所有點隨機選取出的點均為內點的概率,設定w表示每次從數據集中選取一個內點的概率(w為內點個數除以點的總個數),根據概率推導可得
α=1-(1-wn)K
(3)
即
1-α=(1-wn)K
(4)
兩邊取對數為
lg(1-α)=Klg(1-wn)
(5)
由式(5)得迭代次數
K=lg(1-α)/lg(1-wn)
(6)
傳統導航路徑檢測主要采用 Hough 變換、統計特性分析、模型匹配等方法。其中,Hough變換由于抗干擾能力強而被廣泛用于直線檢測[24]。
圖8a是采集的4種不同的農作物田間圖像,分別對應為小麥、花生、玉米和帶薄膜覆蓋的土豆苗;圖8b是通過前文方法處理后獲得的特征點;圖8c是未剔除離群點采用Hough變換的壟行檢測結果;圖8d是通過2.2節中RANSAC算法剔除離群點后,再通過Hough變換的壟行檢測結果。實驗表明,RANSAC算法明顯改善了Hough變換的檢測效果。
同時注意到,由于Hough變換方法檢測離散點簇的直線特征更加關注局部特征點的一致共線性,導致壟行中部分區域點單獨成線,難以檢測出一條完整直線,檢測結果是由多條直線疊加而成的,不利于植保機器人導航參數的提取。

圖8 霍夫變換壟行檢測結果Fig.8 Detection results of crop rows by Hough transformation
與Hough變換相比,最小二乘法能夠解決上述線條檢測不完整的問題。而且,基于估計殘差最小準則,在理論上保證了檢測精度。
圖9a是未剔除離群點采用最小二乘法直接檢測的結果,與壟行中心線的誤差較為明顯;圖9b是通過RANSAC算法剔除離群點后,再用最小二乘法擬合的壟行檢測結果。能夠直觀地看出,RANSAC算法排異后再采用最小二乘法檢測壟行具有更高的精度,導航路徑的檢測率可達93.8%。

圖9 最小二乘法壟行檢測結果 Fig.9 Detection results of crop rows by least square algorithm
實驗表明,通過RANSAC算法優化待擬合的特征點集后采用最小二乘法擬合壟行直線,雖然算法處理時間有所增加,但算法仍具有實時性,壟行檢測的精度明顯提高。由表1可知,均方根誤差為3.85°,導航路徑檢測率可達93.8%,與未使用RANSAC算法相比,均方根誤差降低了5.82°,檢測率提高了18.8個百分點。
(1)以超綠色法和Otsu法對圖像進行預處理,通過垂直投影劃分壟行所在區域,形態學濾波與動態面積閾值濾波算法相結合的圖像降噪處理,能降低雜草等其他因素的干擾,提高了本文方法的魯棒性。對多種作物的實驗表明,本文方法也具有較好的普適性。

表1 使用RANSAC算法壟行檢測對比結果Tab.1 Comparison of crop rows detection with RANSAC
(2)在壟行邊緣圖上,通過均值法提取待擬合的特征點,算法簡單、方便,在RANSAC排異算法剔除離群點后,采用最小二乘法擬合壟行直線,通過定量分析,均方根誤差為3.85°、導航路徑的檢測率可達93.8%,與未使用RANSAC算法相比,均方根誤差降低了5.82°,檢測率提高了18.8個百分點。說明本文方法能夠較為準確地檢測植保機器人的導航路徑。