牟麗莎++彭莉娟
摘要:針對(duì)農(nóng)田中農(nóng)業(yè)機(jī)械的自主導(dǎo)航問(wèn)題,提出一種基于視覺(jué)圖像處理的導(dǎo)航方案。首先,通過(guò)安裝在機(jī)械頂端的攝像機(jī)獲取農(nóng)田圖像,基于圖像水平線(xiàn)檢測(cè)來(lái)校正圖像,并將其轉(zhuǎn)換成俯視圖。然后,在俯視圖中,通過(guò)對(duì)圖像強(qiáng)度函數(shù)的積分來(lái)估計(jì)機(jī)械前進(jìn)方向相對(duì)于農(nóng)作物行的偏轉(zhuǎn)角。最后,通過(guò)模板匹配來(lái)估計(jì)機(jī)械的橫向偏移,根據(jù)偏轉(zhuǎn)角和橫向偏移來(lái)導(dǎo)航農(nóng)業(yè)機(jī)械。另外,融入了非農(nóng)田區(qū)域的檢測(cè),避免機(jī)械走出農(nóng)田范圍。結(jié)果表明,該方案能夠精確地引導(dǎo)農(nóng)業(yè)機(jī)械跟蹤農(nóng)作物行前進(jìn)。
關(guān)鍵詞:農(nóng)業(yè)機(jī)械;自主導(dǎo)航;視覺(jué)圖像處理;偏轉(zhuǎn)角;橫向偏移
中圖分類(lèi)號(hào): S126;TP391.4文獻(xiàn)標(biāo)志碼: A
文章編號(hào):1002-1302(2017)04-0159-04
機(jī)械自動(dòng)化能夠有效提高農(nóng)業(yè)機(jī)械的生產(chǎn)力。對(duì)于一些農(nóng)業(yè)機(jī)械作業(yè),例如噴灑、播種和收割等,若能使其自動(dòng)精確地沿農(nóng)作物行(或壟溝)前進(jìn),則將顯著提高其自動(dòng)化程度[1]。目前,最常見(jiàn)的解決方案是使用精密的全球?qū)Ш叫l(wèi)星系統(tǒng)(global navigation satellite system,GNSS)[2]。然而,該方案無(wú)法獲得農(nóng)田的實(shí)際情況,在行進(jìn)開(kāi)始和到達(dá)農(nóng)田末端時(shí)還須要人工進(jìn)行調(diào)整。
在一些廣袤的農(nóng)場(chǎng)中,農(nóng)作物通常以近似直線(xiàn)的方式種植,這就為基于圖像技術(shù)來(lái)導(dǎo)航農(nóng)業(yè)機(jī)械提供了依據(jù)[3]。隨著圖像處理技術(shù)的發(fā)展,可以通過(guò)識(shí)別農(nóng)作物行來(lái)引導(dǎo)農(nóng)業(yè)機(jī)械行進(jìn)?,F(xiàn)有大多數(shù)基于圖像處理的農(nóng)作物行跟蹤技術(shù),都依賴(lài)于深色土壤中的綠色植物行[4]。該技術(shù)利用顏色信息從土壤中分割出農(nóng)作物,然后轉(zhuǎn)換成二進(jìn)制圖像并擬合農(nóng)作物行曲線(xiàn)[5]。然而,許多農(nóng)田作業(yè)場(chǎng)景中沒(méi)有顏色對(duì)比鮮明的農(nóng)作物,比如在僅有農(nóng)作物秸稈的田地中進(jìn)行耕地作業(yè)[6]。在這些農(nóng)田場(chǎng)景中,基于分割的農(nóng)作物行跟蹤算法將變得不可行。
[JP2]因此,本研究提出了1種基于單目視覺(jué)的導(dǎo)航方法,通過(guò)圖像處理技術(shù)來(lái)檢測(cè)農(nóng)田俯視圖中的并行平面紋理,從而實(shí)現(xiàn)對(duì)農(nóng)作物行的實(shí)時(shí)跟蹤并估計(jì)橫向偏移。提出的方法不需要執(zhí)行植物與土壤的二進(jìn)制分割,也不需要對(duì)植物外觀(guān)(如行距、周期性、顏色等條件)進(jìn)行明確假設(shè),適用于外觀(guān)不同的大片農(nóng)田。[JP]
1提出的方法框架
本研究將農(nóng)作物田地建模為平面并行紋理模型,使其能夠提取出特定農(nóng)作物的細(xì)節(jié),例如顏色、間距和周期性,并提出1種新穎的方法,從俯視角度的平行紋理圖中提取方向,用來(lái)跟蹤車(chē)輛的橫向偏移;還估計(jì)了攝像機(jī)的姿態(tài),以確保正確且穩(wěn)定的俯視角度,從而使所拍攝的圖像相對(duì)水平較寬,避免出現(xiàn)“模糊”行。
提出的跟蹤農(nóng)作物行方法的總體結(jié)構(gòu)見(jiàn)圖1,具體步驟如下:(1)對(duì)圖像進(jìn)行預(yù)處理,基于圖像地平線(xiàn)檢測(cè)來(lái)估計(jì)車(chē)輛的側(cè)傾和俯仰;(2)基于估計(jì)的側(cè)傾和俯仰來(lái)校正圖像使其水平,并將其轉(zhuǎn)換為俯視圖;(3)對(duì)俯視圖像中主導(dǎo)并行紋理方向進(jìn)行估計(jì),從而獲得車(chē)輛相對(duì)于農(nóng)作物行的前進(jìn)方向;(4)根據(jù)估計(jì)的前進(jìn)方向來(lái)傾斜圖像,以此校正俯視圖中的前進(jìn)方向;(5)對(duì)傾斜圖像的列求和生成幀模板;(6)將幀模板與農(nóng)作物模板進(jìn)行比較,以此估計(jì)機(jī)械相對(duì)于農(nóng)作物行的橫向偏移量。最終,根據(jù)估計(jì)的偏轉(zhuǎn)角和橫向偏移量來(lái)控制機(jī)械調(diào)整路線(xiàn),使其沿著農(nóng)作物行前進(jìn)。
2方法步驟
將農(nóng)業(yè)機(jī)械的作業(yè)面構(gòu)建成1個(gè)局部坐標(biāo)系,坐標(biāo)系以作業(yè)開(kāi)始時(shí)機(jī)械的位置為中心,并以農(nóng)作物行為y軸方向。坐標(biāo)系內(nèi)攝像機(jī)姿態(tài)Pc定義為
[JZ(]Pc=[xc,yc,hc,θc,c,γc]。[JZ)][JY](1)
式中:xc和yc為攝像機(jī)坐標(biāo)系,hc為攝像機(jī)高度(常量),θc、c為攝像機(jī)側(cè)傾、俯仰度,γc表示攝像機(jī)相對(duì)于農(nóng)作物行的偏轉(zhuǎn)角,即機(jī)械前進(jìn)方向的偏轉(zhuǎn)角。本研究不需要農(nóng)作物行方向(yc)上的行進(jìn)距離,但須要估計(jì)其余的攝像機(jī)姿態(tài)變量(xc、θc、c和γc)。因此,采用一維卡爾曼濾波來(lái)跟蹤狀態(tài)θc、c和γc,以提高抵御噪聲和丟失數(shù)據(jù)的能力。
2.1地平線(xiàn)檢測(cè)
假設(shè)農(nóng)田廣闊且平坦,則可基于地平線(xiàn)的檢測(cè)來(lái)估計(jì)車(chē)輛的側(cè)傾和俯仰[7]。通過(guò)RGB空間的擬合平面(即與圖像的頂部和底部RGB中位數(shù)等距離的30%圖像),將圖像中的像素歸類(lèi)為“天空”或“大地”,并轉(zhuǎn)換成二進(jìn)制圖像,再利用RANSAC算法[8]擬合分界線(xiàn)形成地平線(xiàn)。
2.2生成俯視圖
接下來(lái)構(gòu)建農(nóng)田的模擬俯視圖,使農(nóng)作物行平行。對(duì)未失真的灰度圖像進(jìn)行旋轉(zhuǎn)和裁剪,使圖像的頂部為地平線(xiàn)。然后使用逆投影變換將感興趣的矩形區(qū)域變形為俯視圖[9]。因?yàn)樗骄€(xiàn)位置現(xiàn)已固定,定義逆投影變換的單應(yīng)矩陣也固定,所以該俯視圖變形過(guò)程實(shí)際上為一個(gè)像素映射過(guò)程。
2.3估計(jì)機(jī)械前進(jìn)方向的偏轉(zhuǎn)角
提出的方法是基于尋找俯視圖像中農(nóng)作物行方向來(lái)測(cè)量農(nóng)業(yè)機(jī)械前進(jìn)方向相對(duì)于農(nóng)作物行的偏轉(zhuǎn)角γc。首先,以不同的變換角度來(lái)傾斜俯視圖像,然后沿著列匯總傾斜的圖像,并計(jì)算所得向量的方差。導(dǎo)致最大方差的傾斜角就是本研究所要估計(jì)的偏轉(zhuǎn)角γc。具體步驟如下描述。
近似農(nóng)田為一個(gè)水平平面,農(nóng)作物行由一維農(nóng)作物模板函數(shù)S(x)表示,S(x)是攝像機(jī)圖像沿農(nóng)作物行方向到平面的投影。由圖2可知,一個(gè)攝像機(jī)以姿態(tài)Pc觀(guān)察由強(qiáng)度函數(shù)I(x,y)表示的平面,平面上任意點(diǎn)的強(qiáng)度定義為
[JZ(]I(x,y)=S(x)+ε(x,y)。[JZ)][JY](2)
式中:ε(x,y)項(xiàng)為未知噪聲函數(shù),表示農(nóng)作物外觀(guān)不符合線(xiàn)性并行模型(例如缺少部分農(nóng)作物、存在雜草等),將ε(x,y)建模為零均值的隨機(jī)變量。沿著行方向?qū)?qiáng)度函數(shù)I(x,y)求積分可獲得農(nóng)作物模板S(x),表達(dá)式為
[JZ(]S(x)=lim[DD(]y0→∞[DD)][JB([][SX(]1y0[SX)]∫y00I(x,y)dy[JB)]]。[JZ)][JY](3)
為對(duì)俯視圖像執(zhí)行積分從中恢復(fù)農(nóng)作物模板函數(shù)S(x),須先估計(jì)出相對(duì)于農(nóng)作物行的機(jī)械前進(jìn)方向。定義1個(gè)n列m行的灰度俯視圖像O(i,j),用來(lái)表示機(jī)械前進(jìn)方向與農(nóng)作物行成γc角度時(shí),強(qiáng)度函數(shù)I(x,y)平面的旋轉(zhuǎn)和縮放俯視圖像。因此,可以通過(guò)在農(nóng)作物行方向上對(duì)俯視圖像求積分,來(lái)恢復(fù)農(nóng)作物模板S(x)的一個(gè)“縮放版本”(i):
[JZ(](i)≈[SX(]1m[SX)]∫m[KG-1*2]0O[i-jtan(γc),j]dj。[JZ)][JY](4)
然而γc是未知的,若此時(shí)將前進(jìn)方向偏差Δγ帶入式(4),將得到一個(gè)偏差的農(nóng)作物模板:
差方向來(lái)積分圖像。這意味著,農(nóng)作物模板e(cuò)(i)是真實(shí)農(nóng)作物模板(i)的“平滑”版本,見(jiàn)圖3。由圖3-a可知,在農(nóng)作物行方向(偏轉(zhuǎn)角為γc)上積分俯視圖O(i,j)獲得農(nóng)作物模板(i);由圖3-b可知,在偏差Δγ方向(偏轉(zhuǎn)角為γc+Δγ)上積分O(i,j)獲得偏差模板e(cuò)(i),由此得出e(i)是(i)的平滑版本并具有較低的方差。
式(5)可描述為一個(gè)具有寬度k和高度1/k的矩形窗的卷積過(guò)程,即箱式低通濾波器。當(dāng)前進(jìn)方向偏差Δγ接近于0時(shí),該濾波器將通過(guò)所有的頻率。因此,可以通過(guò)最大化偏差模板e(cuò)(i)的方差來(lái)估計(jì)γc值。這是因?yàn)楫?dāng)真實(shí)模板(i)的所有頻率衰減時(shí),e(i)的方差將最大化,即
[JZ(]γc=arg max[DD(]γ[DD)](var(e))。[JZ)][JY](7)
2.4估計(jì)機(jī)械的橫向偏移
“2.3”節(jié)估計(jì)了機(jī)械的前進(jìn)方向,并從俯視圖像中恢復(fù)出農(nóng)作物模板函數(shù)(i)。這里,直接跟蹤(i),以估計(jì)機(jī)械中心在農(nóng)作物行的垂直方向上的橫向偏移,即機(jī)械位置離農(nóng)作物行的距離。
這里將第1幀圖像中恢復(fù)的向量(i)作為農(nóng)作物模板,后續(xù)幀中的模板作為幀模板。使用零均值歸一化互相關(guān)(zero-mean normalized cross correlation,ZNCC)[10]技術(shù)將幀模板與農(nóng)作物模板進(jìn)行匹配。當(dāng)匹配的ZNCC系數(shù)低于閾值時(shí),則將當(dāng)前幀模板作為農(nóng)作物模板,并繼續(xù)執(zhí)行檢測(cè)。在攝像機(jī)前方地面某一點(diǎn)的像素上執(zhí)行偏移估計(jì),若機(jī)械(攝像機(jī))的高度和感興趣區(qū)域的坐標(biāo)已知,則這個(gè)點(diǎn)的位置和估計(jì)的偏移可轉(zhuǎn)換成距離度量,從而獲得機(jī)械的橫向偏移,使其能夠控制機(jī)械調(diào)整位置。
2.5非農(nóng)田區(qū)域檢測(cè)
在農(nóng)業(yè)機(jī)械作業(yè)過(guò)程中,會(huì)遇到一些沒(méi)有農(nóng)作物行的地面,例如農(nóng)田的末端或沒(méi)有農(nóng)作物的地塊。本研究根據(jù)前進(jìn)方向的輸出值,通過(guò)式(7)來(lái)檢測(cè)這些情況。以1°為增量,對(duì)于在±30°之間的各種γ值,計(jì)算幀模板的方差v(γ)。如果在俯視圖像中沒(méi)有明顯的方向性紋理,則所有v(γ)值都相似。如果在俯視圖像中存在強(qiáng)方向性紋理(即明顯存在農(nóng)作物行),則對(duì)于特定的γ值,v(γ)存在峰值。所以,可通過(guò)最大v(γ)值與平均v(γ)值的比例來(lái)檢測(cè)是否存在有效的農(nóng)作物行。當(dāng)該比值大于閾值時(shí),則將該圖像視為具有有效行紋理的圖像。通過(guò)試驗(yàn)驗(yàn)證,當(dāng)閾值thresh設(shè)定為2時(shí)效果最佳。
[HS3][JZ(]valid=[JB({]1,thresh<[SX(]max[v(γ)]mean[v(γ)][SX)]0,otherwise[JB)]。[JZ)][JY](8)
如果在某一圖像幀中沒(méi)有檢測(cè)到有效農(nóng)作物行,則前進(jìn)方向測(cè)量值將不會(huì)傳遞到卡爾曼濾波器中。如果多個(gè)連續(xù)圖像幀中都檢測(cè)失敗,則表示進(jìn)入了無(wú)農(nóng)田地塊,此時(shí)控制車(chē)輛停止。
3試驗(yàn)及分析
3.1試驗(yàn)場(chǎng)景
試驗(yàn)中所使用的農(nóng)機(jī)平臺(tái)是1臺(tái)噴藥除草機(jī)。使用了2種不同的攝像機(jī)——Microsoft的LifeCam網(wǎng)絡(luò)攝像機(jī)和IDS uEye工業(yè)相機(jī)來(lái)拍攝農(nóng)田,其中LifeCam攝像機(jī)視角較廣,而IDS uEye攝像機(jī)視角較窄。另外,農(nóng)作物行導(dǎo)航算法由OpenCV的C++語(yǔ)言編譯實(shí)現(xiàn),同時(shí)利用精確的GPS/INS測(cè)量系統(tǒng)[11]來(lái)驗(yàn)證結(jié)果,試驗(yàn)平臺(tái)見(jiàn)圖4。在本地的一個(gè)廣袤農(nóng)場(chǎng)中的3種不同農(nóng)作物田地上進(jìn)行試驗(yàn),分別為場(chǎng)景a:小麥地;場(chǎng)景b:收割后的高粱地;場(chǎng)景c:馬鈴薯地(圖5)。其中場(chǎng)景a和b由IDS uEye攝像機(jī)拍攝,場(chǎng)景c由LifeCam攝像機(jī)拍攝。
3.2試驗(yàn)結(jié)果
在上述3種不同農(nóng)作物的田地中進(jìn)行試驗(yàn)。試驗(yàn)中,噴藥除草機(jī)在250 m長(zhǎng)的田間沿農(nóng)作物行方向進(jìn)行,通過(guò)攝像機(jī)采集圖像,然后對(duì)圖像數(shù)據(jù)進(jìn)行處理,并輸出機(jī)械前進(jìn)方向的偏轉(zhuǎn)角和橫向偏移,以此導(dǎo)航機(jī)械前進(jìn)。圖6給出3種不同農(nóng)作物田地上的試驗(yàn)結(jié)果。其中,第1列為各種田地場(chǎng)景圖像轉(zhuǎn)變后的俯視圖舉例,圖中的紅線(xiàn)表示農(nóng)作物模板曲線(xiàn),白線(xiàn)表示當(dāng)前幀模板曲線(xiàn)。第2列為機(jī)械行進(jìn)過(guò)程中的不同位置點(diǎn)處,本研究方法所估計(jì)的橫向偏移與GPS系統(tǒng)測(cè)量的偏移的對(duì)比。由圖6可知,每種場(chǎng)景有著顯著不同的外觀(guān),但提出的方法能夠很好地追蹤農(nóng)作物行,且所估計(jì)的偏移與實(shí)際測(cè)量值都非常接近。為了更好地描述方法性能,計(jì)算整個(gè)行進(jìn)過(guò)程中的偏移估計(jì)值與實(shí)際測(cè)量值之間的均方根誤差(root mean square error,RMSE)。
4結(jié)論
農(nóng)田中經(jīng)常存在農(nóng)作物和土地之間無(wú)顯著對(duì)比的情況,使基于圖像分割技術(shù)檢測(cè)農(nóng)作物行的導(dǎo)航方法無(wú)法使用。因此,本研究提出了1種新穎的導(dǎo)航方法。通過(guò)水平線(xiàn)檢測(cè)來(lái)穩(wěn)定圖像并將其轉(zhuǎn)換為俯視圖,在俯視圖上估計(jì)機(jī)械相對(duì)于農(nóng)作物行的偏轉(zhuǎn)角,并通過(guò)幀模板與農(nóng)作物模板的比較來(lái)估計(jì)機(jī)械的橫向偏移量。在不同場(chǎng)景的田地中進(jìn)行試驗(yàn),結(jié)果表明提出的方法能夠精確地估計(jì)所需參數(shù),且對(duì)機(jī)械的傾斜和俯仰具有一定魯棒性。
在未來(lái)的工作中,將研究更加高效的農(nóng)作物行跟蹤算法,并與其他導(dǎo)航信息源(例如GPS和光學(xué)測(cè)距)相融合,進(jìn)一步提高機(jī)械的自主導(dǎo)航能力。
參考文獻(xiàn):
[1]姬長(zhǎng)英,周俊. 農(nóng)業(yè)機(jī)械導(dǎo)航技術(shù)發(fā)展分析[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2014,45(9):102-103.[HJ1.73mm]
[2]Rovira-Ms F,Chatterjee I,Siz-Rubio V. The role of GNSS in the navigation strategies of cost-effective agricultural robots[J]. Computers and Electronics in Agriculture,2015,112:172-183.
[3]楊青. 基于農(nóng)業(yè)視覺(jué)圖像的高效濾波處理方法[J]. 江蘇農(nóng)業(yè)科學(xué),2014,42(4):361-363.
[4]Hiremath S,van Evert F K,ter Braak C,et al. Image-based particle filtering for navigation in a semi-structured agricultural environment[J]. Biosystems Engineering,2014,121(2):85-95.
[5]劉陽(yáng),高國(guó)琴. 農(nóng)業(yè)機(jī)械視覺(jué)導(dǎo)航基準(zhǔn)線(xiàn)識(shí)別研究進(jìn)展[J]. 農(nóng)機(jī)化研究,2015,37(5):7-13.
[6]Hu J T,Li T C. Cascaded navigation control for agricultural vehicles tracking straight paths[J]. International Journal of Agricultural and Biological Engineering,2014,7(1):36-44.
[7]付丙島,王廣彪,丁文銳,等. 用于飛行器視覺(jué)導(dǎo)航的地平線(xiàn)檢測(cè)算法[J]. 北京航空航天大學(xué)學(xué)報(bào),2011,37(7):849-854.
[8]楊海燕,羅文超,劉國(guó)棟. 基于SURF算法和SC-RANSAC算法的圖像配準(zhǔn)[J]. 計(jì)算機(jī)應(yīng)用研究,2013,30(5):1586-1588.
[9]常嘉義,秦瑞,李慶,等. 基于全景鳥(niǎo)瞰視圖的障礙物檢測(cè)方法研究[J]. 計(jì)算機(jī)科學(xué),2014,41(2):78-82.
[10]Qadir A,Neubert J,Semke W,et al. On-board visual tracking with unmanned aircraft system[J]. Computer Science,2012,25(6):142-149.
[11]熊劍,郭杭,熊智,等. GPS/INS組合導(dǎo)航系統(tǒng)中的高斯粒子濾波混和算法[J].