張雄楚,李景彬,姚慶旺,付 威,溫寶琴,坎 雜
(1.石河子大學 機械電氣工程學院,新疆 石河子 832000;2.新疆生產(chǎn)建設兵團農(nóng)業(yè)機械重點實驗室,新疆 石河子 832003)
智能農(nóng)業(yè)裝備是未來農(nóng)業(yè)機械發(fā)展的必然趨勢,農(nóng)業(yè)機械自動駕駛系統(tǒng)是智能農(nóng)業(yè)裝備的重要的支撐技術之一,而視覺導航是農(nóng)機自動駕駛的重要內(nèi)容之一[1]。
視覺導航路徑檢測是實現(xiàn)視覺導航的先決條件。國內(nèi)外專家學者在視覺導航路徑檢測方面進行了深入的研究[2-16]。國內(nèi)的彭順正[17]針對矮值化密植棗園復雜的環(huán)境,按照樹干與地面交點的位置特征不同,將交點進行分類,最后通過最小二乘法擬合了導航路線。梁習卉子[18]針對玉米收割過程中玉米列陰影、玉米田端的雜草對視覺導航路徑檢測精度干擾的問題,通過在ROI區(qū)域內(nèi)增強G分量,弱化R分量與B分量的方法來去除玉米列陰影對檢測圖像的影響,提高導航路徑檢測精度。國外的Pilarski T[19]融合單目相機和GPS導航系統(tǒng)設計了Demeter系統(tǒng),能夠通過切割作物行及轉向切割連續(xù)行,在田地中重新定位,以及檢測意外障礙物。Benson E R[20]基于作物切割邊緣的橫向位置開發(fā)了農(nóng)業(yè)聯(lián)合收割機機器視覺引導算法。
本研究通過對棉花鋪膜播種作業(yè)時期棉田環(huán)境的研究分析,設計了一套適用于棉花鋪膜播種作業(yè)拖拉機的視覺導航路徑檢測算法。
2017年4月,在呼圖壁棉田采集作業(yè)視頻。設備為天誠2MBQ4/8鋪膜播種機;動力設備為博馬中型拖拉機,采集相機為阿斯卡利HDMI高清工業(yè)相機(640×480)。相機與地面的垂直距離為1 500mm,安裝在拖拉機配重上,其光軸與地面夾角為θ=43°。上位機是臺式機(處理器為Intel(R)Core(TM)i7,主頻為3.6GHz,內(nèi)存為8GB),Windows10 64位系統(tǒng),以Microsoft Visual Studio 2015為平臺使用OpenCv3.2.0進行算法編寫。圖1(a)為相機安裝簡圖,圖1(b)為拖拉機作業(yè)示意圖。
(a) (b)
1.作業(yè)拖拉機 2.相機 3.作業(yè)拖拉機 4.相機
5.本次作業(yè)劃行器劃線 6.棉花鋪膜播種機 7.下次作業(yè)劃行器劃線
圖1 相機安裝簡圖及拖拉機作業(yè)示意圖
Fig.1 Camera installation diagram and tractor operation diagram
裝置采用氣流吹棗的方式進行紅棗撿拾,可適應高低不平地面,解決了機械式撿拾裝置無法撿拾高低不平地面上紅棗的問題。由于采用氣流撿拾,撿拾裝置的傷棗率遠低于機械式撿拾裝置傷棗率。由于氣吸式紅棗撿拾裝置效率較低且進入風管的雜質容易堵塞吸棗管、損壞風機,對風機性能要求高,而氣吹式撿拾裝置解決了該問題,提高了撿拾效率。
針對第1幀圖像,首先對圖像進行灰度化處理;然后,提取不同掃描區(qū)間內(nèi)候補點并計算每個掃描區(qū)間內(nèi)候補點列值方差;最后,使用最小二乘法擬合方差最小掃描區(qū)間內(nèi)的候補點得到初始導航路徑。具體操作如下:
1)基于Y=0.299R+0.587G+0.114B顏色模型對圖像進行灰度化處理。
2)確定掃描區(qū)間[M1,M2](直線M1=G1·i+L1與直線M2=G2·i+L2之間的區(qū)域,0≤i 3)提取不同掃描區(qū)間內(nèi)候補點并計算候補點列值方差。創(chuàng)建數(shù)組bk[],dk[]、p[]分別存儲不同掃描區(qū)間候補點的行標、列標與列值方差,以及存儲像素灰度值與灰度值為最小值的像素點位置的數(shù)組c[]與c1[]。首先,從圖像最右端向最左端掃描,所以將[M1,M2](M1=560,M2=639)作為初始掃描區(qū)間并確定將初始掃描區(qū)間向左平移k個像素作為第k個掃描區(qū)間即[M1,M2](M1=560-k,M2=639-k,0≤k≤560);然后,提取第k個掃描區(qū)間內(nèi)候補點。第1步,將第i行像素點的灰度值存儲在c[n](0≤n≤79)中,并計算c[]中的最小值為Q;第2步,遍歷c[],若c[n]=Q,則將此時的n值儲在數(shù)組c1[]中,圖2中,c1[0]、c1[1]、c1[2]、c4[3]為該行像素灰度值為Q的像素點位置;第3步,計算c1[]的平均值為W=(c1[0]+c1[1]+c1[2]+c1[3])/4,則dk[i]=W+M1,bk[i]=i,該行像素的候補點坐標為(bk[i],dk[i]);最后,計算數(shù)組dk[]的方差為Fk,則p[0]=Fk。 4)提取初始導航路徑。首先,當k>560時停止操作并尋找p[]中最小值及此時的k值;然后確定此時的掃描區(qū)間[M1,M2](M1=560-k,M2=639-k);最后,使用最小二乘法擬合該掃描區(qū)間的候補點群{(bk[i],dk[i])}得到與劃線區(qū)域位置、方向相同的直線j=S·i+J(式中S為斜率,J位截距),如圖2所示。 撿拾裝置主要由裝有避風裝置的進風管和旋轉風管組成,旋轉風管周圍有4列氣流噴嘴,相鄰兩列氣流噴嘴間的夾角為90°,工作時與風機、輸送裝置等配合使用。其尺寸主要參照紅棗矮化密植種植模式確定,結構尺寸如表1所示。 1.第i行像素候補點(bk[i],dk[i]) 2.M1=560-k 3.直線j=S·i+J 4.M2=639-k 5.c1[0] 6.c1[1] 7.第i行像素候補點坐標(bk[i],dk[i]) 8.c1[2] 9. c1[3] variance and fit the line 確定劃線區(qū)域的位置與方向后,以直線j=S·i+J作為掃描區(qū)間中心,重新確定掃描區(qū)間提取候補點,并使用最小二乘法擬合候補點完成導航路徑的檢測,具體操作如下: 1)確定第1幀圖像導航路徑檢測的掃描區(qū)間。首先根據(jù)直線j=S·i+J能夠準確描述劃線區(qū)域的方向與位置,確定該直線為掃描區(qū)間中心;然后,通過統(tǒng)計確定作業(yè)圖像中劃線區(qū)域底端像素寬度在20~35個像素之間;最后,在將劃線區(qū)域囊括的前提下,在35個像素的基礎上擴展U2(本文U2=6)個像素寬度作為掃描區(qū)間的大小。確定的掃描區(qū)間[M1,M2],M1=S·i+J-U,M2=S·i+J+U;本文U=20,如圖3中所示。 2)提取候補點群。首先,創(chuàng)建數(shù)組b[]、d[]、s[]、t[]分別存儲當前幀候補點的行標、列標與導航路徑的斜率、截距;然后,重復1.2節(jié)的操作提取候補點群{(b[i],d[i])}。 3)使用最小二乘法擬合導航路徑。此時導航路徑為jf=Sf·i+Jf,且s[f]=Sf,t[f]=Jf(f是當前的幀數(shù),此時f=1),最終提取的候補點群及擬合的導航路徑如圖3所示。 1.M1=S·i+J-20 2.第1幀圖像導航路徑j1=S1·i+J1 3.候補點群 4.M2=S·i+J+20 針對非第1幀圖像,采用前后幀關聯(lián)的方法確定掃描區(qū)間及平滑候補點群,并使用最小二乘法擬合導航路徑。 1)基于Y=0.299R+0.587G+0.114B顏色模型對圖像進行灰度化處理。 2)確定掃描區(qū)間。該掃描區(qū)間與第1幀圖像掃描區(qū)間只是掃描區(qū)間中心不同,是以前1幀圖像導航路徑jf-1=s[f-1]i+t[f-1](其中,s[f-1]、t[f-1]分別為前1幀圖像導航路徑的斜率與截距)為掃描區(qū)間中心,左右各擴展U(本文U=20)個像素作為掃描區(qū)間,即[M1,M2](其中,M1=s·[f-1]i+t[f-1]-U,M2=s[f-1]·i+t[f-1]+U),如圖4所示。 3)提取初始候補點群。第1步,將第i行像素點的灰度值存儲在c[]中,并計算c[p](0≤p≤40)中的最小值為Q1;第2步,遍歷數(shù)組c[],若c[p]=Q1,將p儲在數(shù)組c1[]中,如圖3中c1[0]、c1[1]、c1[2]、c4[3]為該行像素灰度值為Q1的像素點位置;第3步,計算c1[]的平均值為H=(c1[0]+c1[1]+c1[2]+c4[3])/4,中位數(shù)為Z=(c1[1]+c1[2])/2,以及前幀圖像導航路徑上同行像素點列值V(V=s[f-1] ·i+t[f-1]))與(H+M1)、(Z+M1)差值的絕對值為H1、Z1則H1=abs(s[f-1] ·i+t[f-1]-H),Z1=abs(s[f-1]·i+t[f-1]-Z);第4步,若H1 1.第i行像素候補點(b[i],d[i]) 2.M1=s[f-1]·i+t[f-1]-20 3.前1幀圖像導航路徑jf-1=s[f-1]·i+t[f-1] 4.M2=s[f-1]·i+t[f-1]+20 5.c1[0] 6.c1[1] 7.平均值求得候補點列值H第i行像素候補點坐標(bk[i],dk[i]) 8.中位數(shù)求得候補點列值Z9.前1幀圖像導航路徑第i行像素上的像素點列值V10.c1[2] 11.c1[3] (a) 確定的掃描區(qū)間以及提取的初始候補點群 1.平滑后的候補點群 2.導航路徑jf=s[f]·i+t[f] 3.初始候補點位置d[i] 4.根據(jù)V值平滑后的候補點位置d[i] 5.前1幀圖像導航路徑上第i行像素上的像素點列值V 4)差異權重法平滑候補點群。首先,確定第i行像素候補點列值為d[i]及前1幀圖像導航路徑上同行像素點列值為V并計算二者差值絕對值為V1則V1=abs(V-d[i]);然后,根據(jù)式(1)判斷給d[i]賦值。平滑后的候補點群如圖4(b)所示。 5)使用最小二乘法擬合導航路徑,此時導航路徑的斜率為Sf,截距為Jf,且s[f]=Sf,t[f]=Jf,如圖4(b)所示。 (1) 本研究的檢測算法流程如圖5所示。 圖5 流程圖 通過對6種工況灰度化作業(yè)圖像的分析,劃線區(qū)域的灰度值比非劃線區(qū)域低,所以將灰度值最小值作為候補點提取特征。圖6是陰天、車印、劃線深工況下導航路徑標定的過程。從圖6(c)中可以看出:循環(huán)掃描區(qū)間法可以準確的確定初始導航路徑,且較為準確。由圖6(b)、(c)可以看出:通過最小方差法確定的直線可以較為準確的描述劃線區(qū)域的位置與方向,并且使用最小二乘法擬合以該直線為掃描區(qū)間中心所確定掃描區(qū)間內(nèi)的候補點群所得到的導航路徑精度高。因此,通過循環(huán)擬合的方法可以提高導航標定的精度,滿足實際生產(chǎn)的要求。 (a) 第1幀圖像灰度化 (b) 提取初始導航路徑 (c) 提取最終導航路徑 圖7(a)~(d)為陰天、殘膜揚沙、劃線淺工況下導航路徑檢測過程,圖7(e)為使用未經(jīng)平滑的候補點群提取的導航路徑。通過圖7(b)、(c)中候補點群的對比可以看出:權重法平滑候補點群可以提高候補點群的離散程度。通過圖7(d)、(e)擬合的導航路徑對比可以看出:在出現(xiàn)揚沙的時,未經(jīng)權重法平滑處理的候補點群擬合的導航路徑存在偏移的現(xiàn)象,檢測精度偏低,而經(jīng)過權重法平滑后的候補點群擬合的導航路徑精度高且受揚沙影響程度小。上述說明權重法在一定程度上提高導航路徑的檢測精度與算法的適應性。 (a) 灰度化 (b) 提取初始候補點群 (c) 平滑后的候補點群 (d) 擬合最終導航路徑 (e) 初始候補點群擬合導航路徑 使用6種工況的作業(yè)視頻對該算法進行試驗,試驗結果如表1所示。 表1 實地作業(yè)視頻試驗驗證結果 試驗結果表明:該算法的實時性、適應性、準確性滿足實際作業(yè)的要求,6種工況下的檢測準確率都為100%,總平均處理速度為7.020ms/幀,能夠在殘膜揚沙噪聲的干擾下,快速準確的提取導航路徑。 1)6種工況作業(yè)視頻的試驗結果表明:該算法的檢測速度、檢測精度、適應性等皆滿足實際作業(yè)的要求,為棉花播種自動駕駛奠定了基礎。 2)本算法針對第1幀圖像采用方差判別法確定目標區(qū)域并通過循環(huán)擬合法完成導航校準;對于非第1幀圖像通過前后幀關聯(lián)的方法確定掃描區(qū)間并使用權重法平滑候補點群,最后使用最小二乘法擬合導航路徑。該算法可以滿足棉花鋪膜播種實際作業(yè)的要求。 3)視覺導航受外界環(huán)境因素影響較大,特別是沙塵天氣對導航路徑檢測精度的影響,如何盡量減少自然環(huán)境對路徑檢測的影響是未來研究的重點。1.3 第1幀圖像導航路徑檢測
1.4 非第1幀圖像導航路徑檢測
1.5 流程圖
2 導航路徑檢測過程分析
2.1 第1幀圖像導航路徑檢測過程分析
2.2 非第1幀圖像導航路徑檢測過程分析
3 試驗結果與分析
4 結論