王紅君,張翔淼,趙 輝,2,岳有軍
(1.天津理工大學(xué) 電氣工程與自動化學(xué)院天津市復(fù)雜系統(tǒng)控制理論與應(yīng)用重點實驗室, 天津 300384;2.天津農(nóng)學(xué)院工程技術(shù)學(xué)院, 天津 300392)
當(dāng)前,常見的農(nóng)業(yè)機器人視覺導(dǎo)航技術(shù)方法有GPS定位技術(shù)、激光導(dǎo)航技術(shù)和機器視覺技術(shù)等。室外非結(jié)構(gòu)化農(nóng)田環(huán)境復(fù)雜多變,雜草、缺株等因素使得基于衛(wèi)星定位技術(shù)的導(dǎo)航系統(tǒng)穩(wěn)定性降低。對比激光導(dǎo)航和衛(wèi)星導(dǎo)航技術(shù),機器視覺技術(shù)由于開發(fā)成本低、抗擾能力強等優(yōu)點,近年來成為農(nóng)機導(dǎo)航技術(shù)研究的熱點之一。白云龍等[1]針對光照因素導(dǎo)致的圖像分割不準(zhǔn)確問題采用灰度化處理、直方圖均衡化和中值濾波對圖像進行預(yù)處理,提出了一種基于標(biāo)記分水嶺算法對圖像進行分割,最后采集導(dǎo)航路徑特征點,使用最小二乘法將特征點擬合成導(dǎo)航路徑。梁習(xí)卉子等[2]針對玉米田中的陰影和雜草問題通過增強G分量,弱化R分量與B分量來提高圖像分割的精度。陳繼清等[3]針對果園路面易受雜草和人為干擾的問題提出一種根據(jù)噪聲和園林道路的幾何差異快速檢測出道路邊緣的算法,然后根據(jù)邊緣點計算道路的均值擬合出邊界線。Sabeethan等[4]首先利用超綠因子對圖像進行分割,再通過基于微感知指數(shù)對水平帶沿垂直方向檢測候選特征點,通過最小二乘法擬合直線與曲線作物行。Wang等[5]采用閾值分割和形態(tài)學(xué)操作提取作物行,生成導(dǎo)航線。Sogaard等[6]根據(jù)農(nóng)作物按列種植的特點,提出利用垂直投影法來提取特征點,特征點的數(shù)目可隨圖像高度變化而變化。張雄楚等[7]在處理區(qū)域內(nèi)通過逐行掃描,將像素值為0的像素點坐標(biāo)平均值作為候補點,然后利用過已知點的Hough變換擬合直線;彭順正等[8]提出了一種“行閾值分割”法提取導(dǎo)航基準(zhǔn)線;針對農(nóng)田圖像分割時數(shù)據(jù)量較大且易受環(huán)境影響的問題,陳曉倩等[10]提出了一種利用SLIC獲取農(nóng)田圖像的超像素模塊對圖像進行分割的方法。Guijarro等[11]提出了離散小波變換法對綠色植物進行分割。Han等[12]提出了采用支持向量機方法對農(nóng)田圖像進行分割研究。
主流的視覺導(dǎo)航系統(tǒng)多是針對單一農(nóng)作物場景或是溫室大棚設(shè)計的,對環(huán)境復(fù)雜的非結(jié)構(gòu)化農(nóng)田或果園的適應(yīng)性不強,環(huán)境多變造成算法失效或精確度降低;傳統(tǒng)的直線擬合算法對噪聲點比較敏感,奇點的存在容易造成導(dǎo)航路徑偏差?;诖耍岢隽艘环N基于YCrCb空間的圖像預(yù)處理方法,根據(jù)農(nóng)田圖像的顏色特征進行了分割;利用垂直投影法獲取農(nóng)作物列信息并采用隨機抽樣的方式擬合出最終的導(dǎo)航直線,進一步克服噪聲點的干擾,提升了導(dǎo)航系統(tǒng)的適應(yīng)能力和實時性。
農(nóng)作物圖像采集過程中受環(huán)境因素影響較大,本文首先將采集得到RGB農(nóng)作物圖像轉(zhuǎn)換為YCrCb顏色空間,對光照分量Y進行掃描檢測,獲取白點作為參照點,對其他像素點的亮度進行矯正,經(jīng)過以上步驟可以得到質(zhì)量較好的農(nóng)作物圖像;然后采用OTSU閾值分割得到較為粗糙的農(nóng)作物分割圖像,這時分割后的圖像可能存在一些雜草和土壤等像素的干擾,采用形態(tài)學(xué)操作進一步精細化處理,從而得到背景和農(nóng)作物分離的二值圖?;诙祷瘓D像,采用垂直投影法提取農(nóng)作物的列特征,再利用這些列特征擬合出導(dǎo)航路徑,圖1表示了本文算法流程。
圖1 本文算法流程框圖
對采集到的原始圖像進行預(yù)處理的目的是提高圖像質(zhì)量并減少干擾信息,處理步驟主要分為亮度均衡化、灰度化處理3部分。
農(nóng)作物圖像在拍攝過程中受光照影響較大,導(dǎo)致采集的農(nóng)作物圖像亮度不夠均勻,這會導(dǎo)致后續(xù)對農(nóng)作物和背景的分割出現(xiàn)偏差。本文首先對不同光照強度下圖像在YCrCb空間中的Y分量的直方圖進行分析,結(jié)果如表1所示,正常光照下圖像的灰度直方圖分布情況比強光或弱光環(huán)境分布更加均勻,而分布在50以下和200以上的像素數(shù)較少??梢娫斐蓤D像光照不均勻的主要原因為圖像亮度分量Y集中在較大區(qū)和較小區(qū),因此需要重新對亮度進行量化處理。
表1 不同光照下圖像的Y分量均值
為消除亮度問題的影響,將RGB彩色圖像轉(zhuǎn)換到Y(jié)CrCb色彩空間,并對光照分量Y進行掃描檢測,獲取白點作為參照點,從而對其他像素點的亮度進行矯正,具體過程為:
1) 將采集到的圖像從RGB空間轉(zhuǎn)化到Y(jié)CrCb空間,再對Y分量進行直方圖均衡化處理,直方圖均衡化通過統(tǒng)計像素在不同區(qū)間出現(xiàn)的概率,將原始圖像的直方圖變?yōu)榫夥植嫉牡男问剑瑢⒎蔷鶆蚧叶雀怕拭芏确植紙D像,變成灰度級均勻分布的圖像,增強圖像的對比度,使圖像的細節(jié)清晰。
2) 將均衡化后的分量重新由大到小排列為Y0,由于無論在哪種光照強度下,一些天空或干擾點的亮度都較大,因此選取Y0的前10%的亮度作為圖像的亮點,將其設(shè)置為均衡化后圖像Y分量的最大值Vmax;將Y0的后10%的亮度作為圖像均衡化后圖像Y分量的最小值Vmin。
3) 對亮度過大或過小的像素點進行截斷處理,令所有Y分量大于Vmax的像素點Y=Vmax,對所有Y分量小于Vmin的像素點,Y=Vmin。
4) 重新將中間像素點的亮度進行量化,計算過程為:
(1)
式中:Y0為原圖像Y分量的亮度值;g0為經(jīng)過重新量化后的亮度。
針對農(nóng)田圖像,RGB顏色空間相較于YCrCb空間,可以更有效地區(qū)分農(nóng)作物區(qū)域。因此將亮度均衡化后的圖像轉(zhuǎn)換到RGB空間中并用超綠灰度法表示,并進行歸一化進一步消除噪聲的干擾,表達式為:
f(x)=1.8G-0.9B-0.9R
(2)
(3)
式中:f(x)為超綠灰度表示下的圖像灰度值;f0(x)為歸一化后的像素灰度;fmin(x)和fman(x)為歸一化前像素灰度的最小值和最大值。
傳統(tǒng)的OTSU算法通過遍歷計算以所有像素值為分割閾值的類間方差值大小,使得兩個類別之間的方差達到最大值的像素值就是OUST中的最佳分割閾值,經(jīng)實驗測試,固定閾值法平均計算時間為6 ms,傳統(tǒng)OTSU平均計算時間為80 ms,難以滿足農(nóng)機導(dǎo)航系統(tǒng)的實時性。為此,改進OTSU算法的閾值掃描范圍,具體步驟如下:
由于綠色具有較大的灰度值計算所有元素的平均灰度值ɑ,故將ɑ作為搜索閾值的下限。大部分綠色前景元素的灰度值在200~220,灰度值在220以上的灰度值點一般為白色的奇點或較亮的天空。因此,采用全部像素值從小到大排列后的95%分位數(shù)為β作為搜索閾值的下限。
中值濾波器、均值濾波器等線性濾波器對圖像的邊緣信息和細節(jié)信息保留不完整,去噪效果不理想且會造成圖像細節(jié)缺失,因此采用開運算的方式對二值化圖像進行去噪,修補了一些雜草造成的孔洞同時保留二值圖像的邊緣信息,同時確保農(nóng)田輪廓大小不變。
設(shè)圖像的大小為W*H,則s(j)為第j列圖像的垂直投影,其計算式為:
(4)
農(nóng)田圖像的垂直投影中的峰值區(qū)域反映了二值化圖像前景元素比較集中的區(qū)域,圖2為樣本圖像的垂直投影效果,如圖中虛線所示,壟溝處區(qū)域由于黑色像素突出,因此在垂直投影中出現(xiàn)了峰值結(jié)構(gòu)。
圖2 二值化圖片的垂直投影效果
垂直投影的波峰代表了原二值化圖像處壟溝位置,但由于農(nóng)作物存在一定傾斜,采用整張圖像垂直投影會降低結(jié)果的準(zhǔn)確性。而農(nóng)作物在較小的一段區(qū)間上傾斜度不高,同時為了降低數(shù)據(jù)的計算量,排除較遠處天空的干擾,本算法取原二值化圖像的靠近攝像機的前70%進行處理,并將它們水平分成15條圖像段,最后對分割后的水平圖像段做垂直投影圖,計算式為:
(5)
式中:W、H、S分別為每個圖像段寬度、高度、面積;f(i,j)為分割后的像素值;s(j)為每個水平像素條的高度。
根據(jù)圖像段垂直投影獲取特征點的步驟如下:
步驟1當(dāng)含有雜草或植株不連續(xù)時,會導(dǎo)致投影中斷或雜草產(chǎn)生的投影段影響特征點提取的準(zhǔn)確性。因此首先利用大小為5像素的方形高斯濾波模板對垂直投影曲線進行平滑處理。
步驟2為消除植株缺失對算法效果的影響,使得整個投影條更加連貫,選取閾值T1=0.05W,對長度小于T1的白色條帶予以忽略。對寬度小于T1的黑色條帶予以濾除。
經(jīng)過步驟1和2的處理,根據(jù)二值化圖像得到農(nóng)作物和壟溝的基本位置,如圖3所示,不同顏色的虛線代表農(nóng)作物或壟溝在的位置。
圖3 獲取壟溝位置
步驟3隨著農(nóng)田與相機距離拉長,農(nóng)機中央的壟溝長度也會逐漸變窄,整個導(dǎo)航路徑呈現(xiàn)略微傾斜狀態(tài),但當(dāng)距離較短時,兩壟溝之間的差距不大,因此將距離農(nóng)機最近處的投影條的中心點作為第一次特征搜索的起始點,由起始點依次向左右兩端搜索最近的黑色投影帶的邊緣點,然后獲取投影帶的中點作為該投影條特征點,再將該投影條對應(yīng)的特征點的橫坐標(biāo)記錄并作為下一次搜索的起始點,該步驟的示意圖如圖4所示。
圖4 根據(jù)垂直投影選取特征點
步驟4特征點出現(xiàn)誤差的主要原因是壟溝帶在計算時被過分?jǐn)U大或縮小造成了特征點的橫向偏移過大。而正常情況下,一個特征點與中心線偏移量應(yīng)保持在一個穩(wěn)定的范圍內(nèi)。為進一步矯正橫向偏離較大特征點,首先依次計算每個特征點與前一個特征點橫坐標(biāo)之差,若小于最大允許偏差閾值θ,則認為特征點的偏移在正常范圍并將該偏差值記錄;否則,認為該特征點為噪音點,將其橫向偏差值設(shè)置為檢測該點之前的所有正常點橫向偏差值的平均值,該步驟的流程圖見圖5。
圖5 特征點矯正算法流程框圖
步驟4利用了農(nóng)田成排種植,壟溝在一定范圍內(nèi)傾斜角趨于穩(wěn)定的特點,矯正前后如圖6所示。
圖6 特征點矯正前后
采用一種基于隨機抽樣和投票機制的已知點檢測算法,該算法可以進一步克服干擾點的影響,快速計算直線參數(shù),算法的具體步驟如下:
步驟1創(chuàng)建一個累加器i記錄迭代次數(shù),然后在已有的15個特征點中隨機抽取兩個點將其連接成直線,設(shè)其直線方程為:
Y=kX+b
(6)
步驟2創(chuàng)建2個累加器True和False并置零,分別記錄除選出的2個特征點外,其他特征點對該直線的評價,True代表接受該直線,F(xiàn)alse代表拒絕該直線,投票方式為:首先分別計算其他特征點(XP,YP)到該直線的距離,計算式為:
(7)
式中:k、b分別直線的斜率和截距;dp為第p個特征點與該直線的距離。
步驟3令其他特征點對該直線進行投票,若dp≤0.02W,則認為該直線對特征點(XP,YP)滿足要求,累加器True+1;否則,該直線不滿足要求,F(xiàn)alse+1,待所有特征點計算完畢后,若所有點接受該條直線,即True=13,那么將該直線的參數(shù)作為最終導(dǎo)航路線擬合的結(jié)果;否則將累加器i+1,記錄迭代次數(shù)且重復(fù)步驟1。
步驟4因為每張圖像涉及15個特征點,因此迭代次數(shù)不宜過高。經(jīng)過實驗測試,絕大部分圖像通過迭代10次左右就可以出現(xiàn)滿足條件的直線,而繼續(xù)搜索不但無法提升直線的精確度,反而增加了算法的耗時,所以本算法將迭代的最大值設(shè)置為20。當(dāng)i=20時,即代表隨機抽取20次后仍沒有發(fā)現(xiàn)使得所有特征點都接受的直線,這時則采用投票數(shù)最高的一組直線參數(shù)作為最終的擬合結(jié)果。
本算法利用了隨機抽樣與投票選取的思想既克服了干擾點的影響,也避免了窮盡式搜索對算法實時性的降低,算法流程如圖7所示。
圖7 直線擬合算法流程框圖
實驗測試環(huán)境:CPU為Intel Core i3-9100f @3.6GHZ,16GB內(nèi)存,操作系統(tǒng)為64位Windows10。編程環(huán)境為Python3.6和opencv3。
選用彩色攝像機,在天津理工大學(xué)試驗田以及山西省運城市某小麥田中和蘋果園中拍攝,分別準(zhǔn)備了綠色農(nóng)田、田間、果園背景下不同時間段拍攝的圖像共600張。拍攝高度約1.5 m,拍攝傾角約15°~20°。
本文采用的圖像光照平衡算法處理結(jié)果如圖8所示。
圖8 圖像光照平衡結(jié)果
由圖8可見,本文算法不僅有效去除了光照因素對圖像的干擾,還保留了圖像的邊緣部分,增強了綠色特征,為導(dǎo)航特征的的選取提供了更有效的信息。
其他常見的光照平衡算法還有直方圖均衡化和伽馬矯正等。伽馬矯正需要進行歸一化和反歸一化的處理,一般處理時間都在100 ms以上,而直方圖均衡化只是將圖片整體的灰度進行了均衡化處理,并沒有考慮到實際農(nóng)田環(huán)境下圖像亮度較大或較小的像素較為集中的情況,因此會造成圖像邊緣模糊和失真。本文引入圖像的邊緣保持指數(shù)EPI來衡量農(nóng)田圖像的預(yù)處理效果,EPI值越接近1,證明算法的邊緣保持能力強。不同算法下的圖像的ERI值及平均處理時間見表2。
表2 不同算法的EPI值與耗時
圖9(a)和(b)為RGB彩色圖像的G分量和B分量的灰度圖像,圖9(c)為采用超綠特征因子下處理結(jié)果,引入歸一化算法后的圖像處理結(jié)果如圖9(d)。
圖9 圖像灰度化結(jié)果
由圖9可見,農(nóng)作物中B分量較低,但G分量較高,超綠因子法中,農(nóng)作物和背景對比度差別較高,具有明顯區(qū)別;使用歸一化后灰度趨于均衡,噪聲干擾也較小。
圖10(a)為超綠特征因子的分割結(jié)果,OTSU算法能夠自動尋找最佳分割閾值且受噪聲影響都很??;二值化分割后,采用大小為3個像素的模板對二值化圖像進行形態(tài)學(xué)處理操作,結(jié)果如圖10(b)所示。
圖10 圖像分割與形態(tài)學(xué)操作結(jié)果
引入誤分率ME值來衡量農(nóng)田圖像分割的性能,該值反映了背景或前景像素被誤分到前景或背景區(qū)域的百分?jǐn)?shù),該值越小表明分割效果越好。計算式為:
(8)
式中:| |表示所有像素的的數(shù)量;B0和F0表示人工標(biāo)記的圖像的背景和前景;BT和FT表示分割后的背景和前景。
為了證明本文圖像分割算法的有效性,將樣本圖像進行了不同算法的圖像分割實驗,ME值與平均耗時見表3。
表3 ME值與平均耗時
為驗證特征點選取算法對環(huán)境的適應(yīng)能力,選用了邊緣檢測法、小波分解法、掃描濾波法以及文獻[6]中傳統(tǒng)垂直投影法引言中所提到的進行了對比實驗,實驗結(jié)果如圖11所示。
邊緣檢測法的誤差主要來源于邊緣信息不完整或植株缺失導(dǎo)致的邊緣扭曲或奇變,雖然計算速度相對較快,但在作物不連續(xù)、彎曲種植等環(huán)境下準(zhǔn)確率較低,不適合復(fù)雜環(huán)境下的特征點提??;小波分解或基于灰度特征搜索圖像邊緣的消失點雖然克服了一些由于邊緣缺失或噪聲和雜草問題帶來的影響,但具有計算時間長的缺點;掃描濾波法在田埂路面下表現(xiàn)較好,但在帶狀農(nóng)田和果園中缺乏適應(yīng)性;傳統(tǒng)的垂直投影法干擾點偏離較大,會對路徑的提取帶來很大誤差。
經(jīng)過上文介紹的步驟1—4對特征點的提取及矯正,相比文獻提出的垂直投影法更好的提升了算法實時性和抗干擾能力,可以較好的提取出農(nóng)田的壟溝或田間路徑的特征點,樣本圖像的實驗結(jié)果如圖12所示。
圖12 特征點提取結(jié)果
表4為本文算法計算出的特征點與掃描濾波法[9]、邊緣檢測法、小波分解法和傳統(tǒng)垂直投影法所計算出的特征點坐標(biāo)與人工提取的偏差值和算法耗時。
表4 特征點提取偏差與耗時
為驗證提出的直線擬合算法的準(zhǔn)確性和實時性,選用傳統(tǒng)最小二乘法、Hough變換法、經(jīng)過改進后基于概率的Hough變換法[14]進行對比實驗,實驗結(jié)果見圖13。
圖13 直線擬合對比實驗
最小二乘法的計算結(jié)果與實際壟間路徑的偏離較大,主要誤差來源為算法本身對干擾點較為敏感,導(dǎo)致一些與直線有一定偏差的數(shù)據(jù)點會對最終參數(shù)的結(jié)果造成很大干擾。另外,邊緣處的一些缺失點也會造成直線的一定偏移,盡管算法耗時短,但經(jīng)多次測試發(fā)現(xiàn),擬合直線的準(zhǔn)確率不高。相比最小二乘法,Hough變換法擬合的直線效果有明顯改進,直線更接近人工提取的結(jié)果;雖然改進后的Hough變換對算法耗長的缺點有了一定改善,但仍沒有克服傳統(tǒng)方法大范圍掃描特征點和計算過程較復(fù)雜的缺點。對于計算機的內(nèi)存處理能力要求較高,難以搭載到農(nóng)業(yè)機械中實際滿足農(nóng)機實時性的要求。
本文算法具有一定隨機性,但計算相對簡便,對奇點干擾點的處理更加靈活,對比最小二乘法和Hough變換法都有較好的精準(zhǔn)度和實時性。圖14為本文算法實驗結(jié)果,表5為不同算法下的直線偏差率和算法時間。
圖14 直線擬合實驗結(jié)果
表5 直線擬合偏差與耗時
為進一步驗證本文所提出路徑提取算法的準(zhǔn)確性和實時性,分別與:① 邊緣檢測+改進Hough變換法[14];②K-meas+最小二乘法[15];③ SVM+最小二乘法[16];④ 傳統(tǒng)垂直投影法+Hough變換法[6]進行對比。導(dǎo)航系統(tǒng)性能見表6。
表6 導(dǎo)航系統(tǒng)性能
由表6可知,基于K-means或SVM對壟溝兩端邊緣特征點進行聚類對傳統(tǒng)算法效率低下的缺點有一定改進,但算法總體耗時較長,且最小二乘法抗擾能力差;雜草或石塊產(chǎn)生的小投影段對傳統(tǒng)的垂直投影法干擾較大,且窮盡式搜索降低了系統(tǒng)的實時性。本文改進后算法與其他方法相比,在保持穩(wěn)定性和準(zhǔn)確度的前提下,大幅提高了導(dǎo)航系統(tǒng)的實時性。
研究了自然環(huán)境下光照不均時的農(nóng)田圖像導(dǎo)航線檢測算法,提出了一套基于機器視覺的導(dǎo)航算法,并進行了對比驗證和性能檢測。實驗檢測結(jié)果表明,本文所采用的算法可適應(yīng)傳統(tǒng)帶狀農(nóng)田、田園、果園等環(huán)境?;诖怪蓖队胺ǐ@取農(nóng)機行走路徑的特征點,不僅壓縮了數(shù)據(jù)的處理量,還矯正了偏離量較大的特征點,通過隨機抽樣及投票機制克服了傳統(tǒng)方法易受干擾點影響和窮盡式搜索的弊端。將實驗結(jié)果與傳統(tǒng)Hough變換、LSM 等算法比較發(fā)現(xiàn),新算法具有精度高、耗時少的優(yōu)點,在雜草和株數(shù)稀疏的情況下均能正確地提取導(dǎo)航線。