余帥振,張富貴,張龍,鄭樂,閆建偉
(550025 貴州省 貴陽市 貴州大學 機械工程學院)
視覺導航技術是我國建設智慧農業的基礎之一,可緩解當前農村勞動力不足等問題,同時能提高農業機械作業的質量和效率[1-3]。視覺導航技術已用于執行多種農業任務,如種植[4]、作物收獲[5]和除草[6]等。它是利用視覺傳感器感知周圍環境信息,為機器運動提供依據的導航技術。視覺導航技術與GPS 和激光雷達等導航方式相比,具有成本低和操作簡單等優點。根據攝像機的數目,視覺導航分為單目視覺導航[7]、雙目視覺導航[8]和多目視覺導航[9]。在農業領域實際運用中,作業機械對實時性要求較高,故主要采用單目視覺導航和雙目視覺導航。
農業機械視覺導航的關鍵步驟包括圖像預處理和導航路徑提取。目前,國內外研究聚焦于對上述步驟的改進,解決農業機械視覺導航技術面臨的挑戰,如圖像預處理無法較好地去除圖像中的陰影和光照變化等噪聲干擾,并且導航路徑提取算法存在實時性差和準確性不足等問題。
本文總結視覺導航技術的關鍵步驟圖像預處理與導航路徑現有提取方法面臨的挑戰,并分別對國內外在上述關鍵步驟的改進方法進行詳細綜述;針對農業機械視覺導航面臨田端換行和實時性挑戰,提出了2 種相應解決思路;最后闡明了農業機械視覺導航技術未來發展方向。
農業機械作業環境通常比較復雜,導航效果易受環境干擾,如作物和田壟旁長有雜草、拍攝的圖像受光照變化干擾等[10],如果直接對原始圖像進行處理,會影響導航系統的實時性和準確性。為了快速及準確提取作物特征信息,去除圖像的噪聲,對獲取的原始圖像采用圖像預處理操作。圖像預處理主要包括顏色空間的選擇、作物灰度特征提取、圖像濾波、圖像分割等[11]。
針對傳統圖像預處理方法提取作物特征效果較差的問題,研究人員提出以下改進:(1)采用多顏色特征融合更好地呈現作物特征信息;(2)建立圖像灰度法的評價體系,更準確判斷作物與背景的區分程度;(3)采用自適應濾波更好保留作物特征信息,去除圖中噪聲;(4)采用基于深度學習的圖像分割,能有效提高作物特征提取準確度。上述改進有效提高了作物特征提取效果,但計算量增加,造成導航系統的實時性變差。
不同的顏色空間強調的顏色特征不同,根據作物特定的顏色特征選擇合適的顏色空間至關重要。在傳統方法中通過比較作物在多種顏色空間的效果,選取其中最佳顏色空間,這種方法比較復雜,且不能很好表達作物的顏色特征。為了解決上述問題,研究人員提出了多顏色特征融合和自動選擇最優顏色空間的方法。Hernández 等[12]提出了一種新的顏色處理概率方法。該方法不僅可以為植物/土壤分割創建最佳顏色模型,而且能為每個問題選擇最合適的顏色空間,在最佳空間和通道中生成顏色模型;Li 等[13]引入LAB 顏色空間中的高斯混合模型來描述作物像素的分布,并應用超像素技術進行結構保持,能夠更好地表達作物顏色特征。
顏色空間包含大量雜草和土壤等背景的顏色信息。如果直接對彩色圖像進行閾值分割處理,耗時比較長,并且存在大量噪聲容易造成分割效果不佳,故采用提取作物特征和灰度化方法。
常用的作物特征提取方法包括超綠灰度法[14]、超綠-超紅灰度法[15]、S 分量法[16]等,但上述傳統方法仍存在一些不足,如缺少一套標準的評價體系,不能根據特定的環境設定出最佳的提取方法等。為了解決上述問題,宋宇等[17]通過對多幅樣本圖像進行預處理得出最佳α值。當α值過大容易造成過度提取,相反就容易造成欠提取。該方法與2G-R-B 相比,能更好提取作物的特征;Wang 等[18]采用一種暗原色灰度法,將像素的RGB 中3 個顏色通道的最小值作為灰度值。該方法可提取作物的非綠色特征,實現了非綠作物與背景的有效分離;陳少杰[19]提出了一種評價參數e 對圖像灰度化效果的評價方法。在灰度圖像中,e 越大則目標區域與背景越容易區分,e 越小則難以區分。
由于相機的硬件、圖像拍攝和處理等過程容易產生噪聲,干擾后續圖像處理,常采用圖像濾波處理,即盡可能保留圖像細節的條件下抑制目標圖像的噪聲,是圖像預處理不可缺少的操作,預處理效果會影響后續圖像處理的有效性、可靠性及分析。
常用的圖像濾波包括均值濾波[20]、高斯濾波和中值濾波[21],這些方法都只采用固定的濾波窗口,容易在處理噪聲時犧牲掉部分的圖像細節[22]。為了解決上述問題,郭麗等[23]提出了一種自適應中值濾波方法,根據子塊中噪聲干擾大小來確定濾波窗口大小;趙玲玲[24]在自適應濾波基礎上進一步改進,當判斷圖像像素不是噪聲時,直接輸出;刁智華等[25]提出了一種新的排序方法,將傳統的中值濾波排序次數從36 次減少到21 次。
上述圖像處理突出了目標特征,改善了圖像分割的效果。目前,基于閾值分割是最常用的圖像分割方法,它是將灰度圖像中每個像素的灰度值與一個或多個預設閾值進行比較,然后根據比較結果將像素分為相應的類別[26]。
目前常用閾值分割的方法有Otsu 法[27]、迭代閾值分割和最大熵閾值分割[28],但這些方法都只使用單個特征進行背景和作物的分割,當背景中存在與作物相似的特征,分割效果將大幅下降,故研究人員提出以下改進方法:Chen 等[29]通過比較分析了6 個單一特征和不同融合策略的綜合識別性能,得到了玉米苗期田間雜草檢測的最佳多特征融合方法;Hu 等[30]提出一種圖形雜草網絡,可以從復雜牧場采集的RGB圖像中識別多種類型的雜草。
提取導航路徑是視覺導航重要一環,直接影響農業機械的作業精度和安全。提取導航路徑主要包括作物行的特征點檢測、導航參考線的擬合和導航路徑的提取。
在單目和雙目2 種視覺導航方式中,提取導航路徑的過程存在差異,但作物行的特征點擬合算法相似。在單目視覺導航中,從二值圖像中提取導航路徑有2 種方法:(1)通過邊緣檢測算法提取作物行邊界;(2)通過滑動窗口方法獲得作物行中心線。在雙目視覺導航中,通常采用圖像匹配和高程圖分割提取作物行中心線。這2 種方法的效果如圖1 所示。
作物在種植過程種子存在未發芽或漏播,作物生長邊界普遍不規則等問題,造成傳統導航路徑提取算法面臨實時性差和準確性低等挑戰。針對上述問題,研究人員做出以下改進:(1)采用提取作物行中心線方法有效減小作物邊界不規則的影響,且該方法實時性較好;(2)采用3 次B 樣條法解決曲線擬合,增加擬合算法的適用范圍;(3)采用蟻群算法和簡化算法步驟有效減少運算量。
在二值圖像中,作物行的邊緣是灰度值在空間或梯度方向上發生突變的像素集合。常用邊緣檢測的方法有Canny 算法、Sobel 算法和Roberts 算法[32]。但傳統邊緣檢測算法面臨抗椒鹽噪聲能力差和閾值選擇適應性差等問題。鑒于此,杜緒偉等[33]提出了一種改進的Canny 算法,利用雙邊濾波來替換高斯濾波進行圖像預處理,能保留更多的圖像邊緣細節和有效地去除噪聲;Zhang 等[34]提出一種基于Canny 的改進圖像邊緣檢測算法,結合改進的自適應中值濾波來降低圖像噪聲,改進后的算法解決了傳統Canny 算法的不足,在去除椒鹽噪聲的干擾和保留圖像邊緣細節方面效果更好;Bustacara-Medina 等[35]提出在非極大值抑制步驟中加入曲率信息,以解決傳統Canny 算法的不足,可以獲得準確的邊緣識別。
通過擬合作物行邊界確定導航路徑,這種方法計算量較大,實時性較差。研究人員先檢測作物行候選點,再擬合候選點獲得作物行中心線,大大提高了運算速度。單目視覺導航和雙目視覺導航的檢測方法不相同,分述如下:
2.2.1 單目視覺導航方法
在單目視覺導航中,作物行候選點常用的檢測方法有基于水平條的方法[36]、基于類聚的方法[37],這2 種方法面臨許多挑戰,如作物在種植過程種子未發芽或漏播、雜草密度較大等對提取候選點的影響。為克服上述問題,研究人員提出基于滑動窗口的方法。王愛臣等[38]提出一種類聚窗口提取作物行的候選點的方法,以圖像高度的1/10 為窗口高度,通過垂直投影法確定類聚窗口帶寬,然后把K-means 聚類中心點作為作物行的候選點;Zhang 等[39]提出一種結合距離約束和特征點之間角度約束的位置聚類算法,設置距離閾值和角度閾值排除偽特征點,減少了行間雜草和作物間隙的影響;Garc?á 等[40]提出通過擬合多條拋物線,尋找過最多點的拋物線,就可以解決作物行間的間隙。
2.2.2 雙目視覺導航方法
在雙目視覺導航中,作物行獲選點的檢測過程包括:使用匹配算法對灰度圖進行目標特征提取和立體匹配,再設置高度閾值,獲得作物的高程圖。
(1)圖像匹配
對圖像中目標特有的特征信息進行提取,根據相似性度量和搜索策略進行圖像間的特征匹配,尋找特征間最佳的匹配對應關系,稱為圖像匹配。目前常用圖像匹配算法有SIFT 算法[41]、SURF 算法[42]和ORB 算法[43-44]等。上述方法的不足:SIFT 算法的運算復雜且匹配精度較低,ORB 算法存在特征點分布不均勻、特征錯配多和魯棒性差等問題。針對這些問題,研究人員提出多種改進方法。Qiao等[45]采用圖像雙邊濾波的改進SIFT 特征提取算法,可以提高邊緣響應穩定的特征點的提取效果,同時抑制邊緣響應不穩定的特征點的提取,從而提高匹配精度;Li 等[46]將基于C4.5 算法的決策樹加入到傳統FAST 中,將原始數據分成2 棵決策樹,使特征提取性能更加穩定,特征點提取更高效;趙謙等[47]提出一種SURF-RANSAC 算法,采用自適應閾值方法實現特征點粗匹配,減少人為設定閾值對匹配結果的影響,通過特征向量構建余弦約束對隨機采樣一致性算法進行改進,實現對匹配點對的提純。
(2)高程圖構建
通過立體匹配可獲得視差圖,并計算特征點的3D 坐標信息,獲得作物的高程圖。參考作物平均高度,設置2 個高度閾值提取作物行的特征點,其余特征點視為噪聲去除。由于精匹配后得到的匹配點非常稀疏,直接生成高程圖的效果不佳,故需要對匹配點進行增強處理。Zhang 等[48]采用模板大小為4×4 的形態擴張算子對相鄰區域的特征點進行擴張。
導航基準線擬合是基于視覺導航的關鍵一步,導航基準線是否準確,直接影響機器行駛的安全性。提取導航基準線的過程包括:(1)根據作物行的特征點擬合參考線,參考線一般選取離機器最近兩側的作物行邊界或作物行中心線;(2)提取參考線之間的中心線,此中心線即為導航基準線。
傳統的參考線擬合方法包括Hough 變換[49]、PCA 方法[50]、最小二乘法等。上述方法在特征點近似直線分布的擬合效果較好,但農業環境較為復雜,特征點分布一般呈曲線或不規則形狀。針對此問題,研究人員提出了一系列解決方法。Chen 等[51]提出了一種預測點霍夫變換算法。與傳統的Hough算法相比,該算法改進了遍歷角度范圍,提高了交叉路口檢測范圍,具有更好的抗干擾性和實時性;孟慶寬等[27]采用人工蟻群算法進行特征點擬合。該算法與傳統的擬合方法相比,具有更好的擬合速度和準確性;關卓懷等[52]提出一種3 次B 樣條曲線方法,將1 個相鄰的擬合關鍵點作為一組,每組擬合生成一條三次B 樣條曲線,全部樣條曲線連接就形成擬合曲線。
目前,基于視覺導航的農業機械已用于執行多種農業任務,但也面臨著諸多問題:(1)在雙目視覺導航中,需根據作物行邊界獲得置信密度圖,再提取導航參考線。目前常用的2 種方法:一是通過圖像分割和邊緣檢測提取作物行邊界,此過程耗時長,實時性不佳;二是根據實地測量,設定作物行寬度閾值與相鄰作物行間距閾值,從而確定作物行的邊界,但只適用于相機位于作物行中心線正上方,適用范圍較小。(2)基于視覺導航的農業機械在田端換行時,無法通過作物行的信息有效提取導航路徑,造成實際運用受到限制。
針對上述問題,本文提出解決思路:針對問題(1),采用垂直投影檢測高程圖中作物行邊界。將高程圖進行垂直投影,統計各列特征點的數量,將數量發生突變的地方視為作物行邊界。與現有方法相比,該方法過程簡單且適用范圍廣。針對問題(2)提出新的田端換行法。該方法分為:①提取相鄰2 根導航路徑,并計算之間距離S;②田端檢測。當拍攝圖片的上部分像素發生突變,從而判定前方出現田端,計算此時機器到田端的距離D;③田端換行。通過里程計估計機器行駛距離D 時,判定機器到達地頭,然后繞自身旋轉90°,直線前進S,再次同方向繞自身旋轉90°,即完成一次田端換行。與現有方法相比,該方法易于獲取田端換行導航路線。
隨著深度學習在視覺導航中的應用,作物與背景的分割變得更加準確,可以適應更為復雜的環境。但目前算法耗時較長,如何提高實時性成為研究熱點之一。智慧農業對農業機械視覺導航系統的準確性提出更高要求,因單一視覺傳感器獲得信息有限,且易受環境變化干擾,因此采用多傳感器信息融合可對環境信息進行冗余和互補。視覺傳感器與其它傳感器信息融合的導航方式是未來研究重點之一。
隨著自主駕駛農業機械的普及,多機協同作業技術可發揮機群作業優勢,提高農機作業效率。實現多機協同已逐漸成為研究熱點之一。