孫 科,張彥斐,宮金良
(1 山東理工大學 機械工程學院, 山東 淄博 255000; 2 山東理工大學 農(nóng)業(yè)工程與食品科學學院, 山東 淄博 255000)
隨著農(nóng)業(yè)機械化水平的不斷提高,越來越多的新技術應用于農(nóng)業(yè)。針對農(nóng)作物病蟲害防治,利用農(nóng)業(yè)機器人實現(xiàn)自主作業(yè),可以解決從事農(nóng)業(yè)人口比例逐年降低、勞動者工作強度大等問題,提高作業(yè)效率和質(zhì)量,降低生產(chǎn)成本[1-2]。自動導航是農(nóng)業(yè)機器人實現(xiàn)自主作業(yè)重要的一步,目前應用于農(nóng)業(yè)的自動導航技術主要有RTK-GPS導航、機器視覺導航、地磁導航和無線電導航等,但GPS導航容易受到農(nóng)田作物遮擋影響,信號不穩(wěn)定,而多傳感器融合導航具有實時性好、價格低廉、適用范圍廣等優(yōu)點,因此相機與激光雷達融合導航已經(jīng)逐步成為國內(nèi)外研究熱點。
S?gaard等[3]通過計算圖像中玉米的重心代替分割步驟,從而減少了圖像處理的耗時;楊洋等[24]利用動態(tài)感興趣區(qū)域去除圖像中干擾部分,采用最小二乘法直線擬合獲取了玉米導航線。常昕等[4]以激光雷達點云數(shù)據(jù)修正跟蹤,解決圖像中受光照、陰影和背景干擾的問題。胡丹丹等[5]以玉米收割機器人為載體,采用機器視覺獲取玉米植株離散點特征,基于Hough變換進行直線擬合得到導航基準線。Marchant等[6]通過植物的顏色特征和相機標定對作物行進行Hough變換處理,提高了檢測效率。梁習卉子等[7]對區(qū)域內(nèi)各色域分量權值進行調(diào)整,強調(diào)綠色像素而淡化紅色和藍色像素,去除枯草、陰影對檢測結果造成的干擾。
目前農(nóng)業(yè)機器人在田間行走主要依靠單一傳感器識別,利用相機獲取圖像數(shù)據(jù),將植株綠色像素投影曲線峰值特性,通過算法擬合峰值點可以獲得導航基準線。俞毓鋒等[8]結合激光雷達的深度信息和圖像的顏色紋理信息,構建在時序幀間的特征點匹配關系,終將定位問題轉(zhuǎn)化為特征點對的加權重投影誤差優(yōu)化問題。但實際上存在光照和地面起伏等因素,在信息融合過程中容易出現(xiàn)信息不匹配問題,降低識別準確率。宋宇等[9]提出特征點處植株綠色特征列像素累加值大于左右相鄰像素累加值,通過設定峰值點距離閾值來獲取準確根莖定位點,最終利用擬合定位點來獲取導航線。但實際上玉米田中普遍存在缺苗、一穴多株現(xiàn)象,并且相機拍攝角度或焦距成像不同,在設定距離閾值進行篩選根莖定位點時會出現(xiàn)錯誤,降低擬合導航線的準確率。馮娟等[10]利用特征點附近像素值梯度變化程度,通過對形態(tài)學處理后的圖像進行掃描獲取土壤與根莖交界線。該方法在根莖附近有雜草干擾的情況時,會在相鄰根莖定位點之間產(chǎn)生偽特征點,對導航線擬合產(chǎn)生嚴重影響。
本文針對單一傳感器無法有效識別導航線問題,提出一種基于離散因子的多傳感器特征檢測和數(shù)據(jù)融合方法,離散因子是由激光雷達和相機采集到的孤立的信息點集,因此構建多傳感器目標識別的相對一致性和加權一致性函數(shù),根據(jù)多傳感器特征檢測的權重以及相關的一致性函數(shù),建立多傳感器特征識別的數(shù)據(jù)融合支持度數(shù)學模型以獲取特征點。最后利用正確的玉米特征中心點進行擬合,可以獲得導航基準線,為農(nóng)業(yè)機械在玉米田間行走提供導航基準。
視覺系統(tǒng)采集到的3~5葉期玉米植株圖片為RGB彩色圖像(圖1),圖像分辨率為640像素×480像素。測試環(huán)境為陰天,環(huán)境中有石子、樹枝及行人等干擾因素,用 2G-B-R可以提取綠色特征分量[11],采用超綠化算法處理后,灰度圖像仍為三維向量數(shù)據(jù)組,因此需要對圖像進行二值化處理,可以有效減少計算量,提高效率。使用最大類間方差法[12-14](OTSU)以及形態(tài)學濾波中的開運算[15-17]進行二值化處理,處理效果如圖2所示,該算法有效屏蔽了干擾因素并提取植物特征,同時對每個玉米植株連通域計算其重心位置并保存?zhèn)溆谩?/p>
圖1 玉米植株原始圖像Fig.1 Original image of corn plants
圖2 二值化處理后的玉米植株圖像Fig.2 Image of corn plants after binary processing
采用 Velodyne Lidar VLP-16PUCK 的激光雷達對視覺采集的同一目標進行數(shù)據(jù)掃描。激光雷達掃描的數(shù)據(jù)以點云形式存儲,每個掃描點包含該點的三維坐標和反射率等信息。但由于復雜環(huán)境存在干擾以及設備存在精度的缺陷,原始點云數(shù)據(jù)存在偽特征點。針對原始數(shù)據(jù)中的偽特征點,采用基于半徑濾波去噪的方法進行剔除,即設置規(guī)定半徑范圍內(nèi)點云的最小數(shù)量,當給定點周圍點云數(shù)量大于給定值時保留該點,反之則剔除該點,依序迭代可獲得最密集的點,從而去除原始數(shù)據(jù)中的偽特征點,處理后的點云俯視圖如圖3所示。
圖3 玉米植株點云數(shù)據(jù)預處理Fig.3 Preprocessing of point cloud data of corn plants
預處理后的玉米植株點云數(shù)據(jù)依然存在模糊、分散等問題,因此進行部分聚類操作,導出最大密度相連的樣本集合,即為最終聚類的一個類別,從而加強玉米植株的特征點云數(shù)據(jù)。采用DBSCAN[18-19]聚類算法進行點云數(shù)據(jù)處理,通過將緊密相連的樣本劃為一類,這樣就得到一個聚類類別,通過將所有各組緊密相連的樣本劃為各個不同的類別,則可以獲得最終所有聚類類別的結果。經(jīng)過DBSCAN聚類操作處理的點云數(shù)據(jù)如圖4所示,玉米植株的特征被劃分得更加明顯,解決了點云數(shù)據(jù)雜亂、噪音多等問題。
圖4 DBSCAN聚類玉米植株點云數(shù)據(jù)Fig.4 DBSCAN clustering of point cloud data of corn plants
基于相機和激光雷達的融合導航識別算法是將預處理后點云數(shù)據(jù)的反射率信息加入到預處理后圖像數(shù)據(jù)中,降低光照不足、遮擋等干擾對可通行區(qū)域提取的影響,提高識別精度,算法流程如圖5所示。
圖5 玉米植株特征識別流程圖Fig.5 Flow chart of corn plant feature recognition
為達到數(shù)據(jù)融合的目的,首先要將相機和激光雷達數(shù)據(jù)進行空間匹配,因此需要對相機和激光雷達進行聯(lián)合標定[20-21],即得到兩者之間的數(shù)據(jù)轉(zhuǎn)換關系,找到同一時刻激光雷達點云數(shù)據(jù)對應圖像中的像素點。
建立激光雷達坐標系OL-XL,YL,ZL;相機坐標系OC-XC,YC,ZC;圖像坐標系O-x,y;像素坐標系O-u,v,如圖6所示。假設 θX,θY,θZ為激光雷達坐標系相對于相機坐標系在x,y,z坐標軸方向的轉(zhuǎn)角,轉(zhuǎn)動矩陣為R;T(t1,t2,t3)為相機坐標系到激光雷達坐標系的平移向量; (u0,v0)為圖像坐標系原點在像素坐標系下的位置。
圖6 坐標轉(zhuǎn)換示意圖Fig.6 Schematic diagram of coordinate conversion
傳感器融合的關鍵就是將物體在激光雷達下的坐標轉(zhuǎn)化為像素坐標,從而達到激光點云與圖像融合的目的。因此,假設空間有一點P在激光雷達坐標系下的坐標為 (XL,YL,ZL),在相機坐標系下的坐標為 (XC,YC,ZC),在圖像坐標系下的坐標為 (x,y),在像素坐標系下的坐標為 (u,v),t1,t2,t3分別為相機到激光雷達x,y,z方向的距離。具體過程為:將P點在激光雷達坐標系下的坐標轉(zhuǎn)為相機坐標,再從相機坐標轉(zhuǎn)為圖像坐標,最后從圖像坐標轉(zhuǎn)為像素坐標。
1) 從激光雷達坐標系到相機的坐標系轉(zhuǎn)化為:
式中,
2) 從相機坐標系到圖像坐標系的轉(zhuǎn)換為:
式中,f是相機的焦距。
3) 從圖像坐標到像素坐標的轉(zhuǎn)換為:
式中:dx為單個像素點在像素坐標x方向的長度,單位mm;dy為單個像素點在像素坐標y方向的長度,單位mm;u0為像素坐標系和圖像坐標在x方向的平移偏量,v0為像素坐標系和圖像坐標在y方向的平移偏量,單位mm。
在相機和激光雷達對地面作物進行識別的過程中,2種傳感器會探測到地面作物的不同特征,通過信號處理將2個傳感器收集到的目標相應特征輸出,其輸出數(shù)據(jù)對目標識別結果的支持程度以及輸出數(shù)據(jù)的一致性函數(shù)[22]是系統(tǒng)準確識別作物的重要依據(jù)。
假設 α是需要識別的作物特征組成的集合,則將 α中一個模糊集定義為一個隸屬函數(shù):
式中,mj(w)表示第j個傳感器對模糊命題的隸屬度,E表示地面目標特征, μj、 σj分別表示地面目標特征的均值和標準差,w表示識別的作物目標特征,不同的傳感器獲取作物的不同特征。
因為采用多傳感器進行作物識別,所以采用關聯(lián)性結果來表示2個傳感器對同一個支持模糊命題的支持程度。具體操作是先假設2個傳感器i和j對模糊命題的共同支持程度,即mi(w)和mj(w)之間的關聯(lián)性,稱之為一致性函數(shù):
式中,∧表示取兩者中數(shù)值較小者,∨表示取兩者中數(shù)值較大者。
然后進行判別,當2個傳感器對模糊命題的支持度相同時,取Sji=1;當2個傳感器對模糊命題的支持度將近時,表明2個傳感器觀測值相互支持度高,則 0 <Sji<1;當2個傳感器對模糊命題的支持度相差較大,表明2個傳感器觀測值相互支持度低,甚至相互背離,因此對其信息不采用,則取Sji=0。如果出現(xiàn)2個傳感器支持度持續(xù)不同的結論,就需要進一步判別這2個傳感器是否出現(xiàn)故障。
例如采用一組隨機變量E1,E2,···,Eh來表示通過多傳感器獲得地面目標的h個特征,通過隨機變量的標準差與均值計算隸屬度mj(w),從而計算傳感器對模糊命題的支持度Sji。
假設隨機變量的標準差和均值如表1所示。
表1 玉米植株特征隨機變量及其標準差和均值Table 1 Random variables, standard deviations and means of maize plant characteristics
將數(shù)值帶入公式(5)計算的隸屬度mj(w)結果如表2所示。
表2 各傳感器對不同目標的隸屬度Table 2 Membership of each sensor to different targets
根據(jù)公式(6)可以求得S12(目標1)=0.964,S12(目標2)=0.559,S12(目標3)=0.578。
根據(jù)相機和激光雷達目標識別輸出的一致性函數(shù),構建傳感器采集的所有特征對模糊命題的支持度一致性矩陣:
式中,l表示采集到的目標的特征數(shù)量。
利用上式中傳感器采集的所有特征對模糊命題的支持度一致性計算出平均一致性,通過歸一化處理,計算出第j個傳感器作物識別輸出的相對一致性函數(shù):
式中,M′j為第j個傳感器作物識別輸出的一致性函數(shù)。通過一致性函數(shù),即可將不同物理量的傳感器數(shù)據(jù)進行匹配,保留圖像特征重心和激光點云共同的作物特征點,剔除偽特征點。
由于測試環(huán)境的目標干擾,行人、測試區(qū)域動態(tài)變化性等不確定因素,利用2種傳感器采集目標的多類型特征數(shù)據(jù),并依據(jù)獲得的目標離散信息點集之間的離散狀態(tài)確定多傳感器的當前權重,離散因子根據(jù)不同時間段、多測試區(qū)域傳感器測量的目標信息進行融合,有效避免了傳感器權重選取的經(jīng)驗性和局限性;同時,將傳感器當前權重引入到多傳感器目標識別的平均加權一致性函數(shù)數(shù)學模型,通過計算處理給出多傳感器目標識別的相對加權一致性計算函數(shù);結合多傳感器目標識別的相對一致性、多傳感器目標識別的當前權重,構建基于離散因子的多傳感器目標識別的數(shù)據(jù)融合支持度計算模型。
將預處理后的圖像與激光雷達特征點進行融合,剔除了偽特征點,對其獲得的特征點進行直線擬合即可得到導航基準線。為減少異常點對作物特征點進行直線擬合的影響,引入隨機采樣一致(Random sample consensus, RANSAC)算法[23],通過反復選擇數(shù)據(jù)集估計出模型,一直迭代到估計出較好的模型。具體步驟為:
1) 首先篩選可以估計出模型的最小數(shù)據(jù),使用這個數(shù)據(jù)計算出數(shù)據(jù)模;
2) 將所有數(shù)據(jù)帶入這個模型,計算出組成模型參數(shù)數(shù)據(jù)的數(shù)量即內(nèi)點數(shù)量;
3) 比較當前模型和之前推出最好模型的內(nèi)點數(shù)量,記錄最大內(nèi)點數(shù)的模型參數(shù);
4) 重復上述步驟,直到迭代結束或者當前模型內(nèi)點數(shù)量達到要求。
此時需要對迭代次數(shù)進行選擇,假設內(nèi)點在數(shù)據(jù)中的占比為t。則:
式中,ninliers為內(nèi)點數(shù)量,noutliers為外點數(shù)量。
在每次計算模型使用N個點的情況下,選取的點至少有1個不是內(nèi)點的概率是1 -tN,在迭代k次的情況下,( 1-tN)k為模型至少1次沒有采樣到內(nèi)點時計算出模型的概率,即計算出錯誤模型的概率。那么能采樣到正確的N個點并計算出正確模型的概率為:
通過上式,可以求得:
內(nèi)點占比t通常為先驗值,P是我們希望RANSAC算法得到正確模型的概率,此時可以求出最優(yōu)的迭代次數(shù)k。通過RANSAC算法分別得到左、右導航基準線,2條導航基準線的角平分線即玉米田導航線,如圖7所示。設左導航基準線斜率為 β1,右導航基準線斜率為 β2,則導航線斜率 β滿足:
圖7 導航基準線擬合Fig.7 Navigation baseline fitting
試驗采用英特爾 Pentium(R) CPU G3250 @3.20 GHZ、4 GB 內(nèi)存、Windows 7(64 位)操作系統(tǒng)的計算機,在Python3.7(Anaconda)的集成開發(fā)環(huán)境下編程完成。試驗中的農(nóng)業(yè)機器人寬45 cm、長60 cm,裝有森云智能SG2-AR0233C-5200-GMSL2相機、16線激光雷達、4 G模塊等多種傳感器,采集前方環(huán)境和玉米植株信息,如圖8所示。
圖8 數(shù)據(jù)采集設備Fig.8 Image acquisition equipment
為了更精確地分析該方法在玉米田中的植保機器人行走區(qū)域識別精度,本試驗通過布置標定好行距和株距的玉米植株,模擬真實場景開展精度分析試驗。結果表明,本文算法可以準確提取導航線。由于實時性和正確性是導航線提取的正確指標,表3統(tǒng)計了本文算法不同傳感器對隨機900幀圖像的平均處理時間及正確率,通過人工標定圖像最合理的導航線,定義人工與本文算法提取的導航線之間的夾角為誤差角,誤差角超過5°時,視為導航線錯誤。
表3 不同傳感器性能評價指標Table 3 Performance evaluation index of different sensors
由表3可知,分別用相機、三維激光雷達和傳感器融合的識別方法,平均處理時間逐漸增加,正確率也隨之增加,當將相機和激光雷達融合時,平均處理時間和誤差角度均滿足要求。將該算法與候補定位點二次判別算法、動態(tài)遷移算法進行對比,本算法單幀平均處理時間為95.62 ms,優(yōu)于候補定位點二次判別算法的單幀平均處理時間200 ms[9]和動態(tài)遷移算法的單幀平均處理時間97.56 ms[24],具有更高的實時性;本算法正確率為95.33%,優(yōu)于候補定位點二次判別算法的正確率90%[9]和動態(tài)遷移算法的正確率95%[24],為農(nóng)業(yè)機械的視覺導航提供了可靠保障。
本文基于半徑的濾波方法依序迭代剔除點云數(shù)據(jù)噪音,利用DBSCAN算法進行點云數(shù)據(jù)聚類,導出最大密度相連的樣本集合,采用激光雷達和相機信息融合的方式進行可通行區(qū)域提取,在圖像數(shù)據(jù)中加入點云數(shù)據(jù)的反射率信息,降低了陰影、遮擋對導航線提取的影響。
根據(jù)多時間段、多空間區(qū)域傳感器采集的目標特征量進行系統(tǒng)建模分析,并依據(jù)獲得的目標特征值之間的離散因子確定多傳感器權重選擇,根據(jù)權重引入多傳感器目標識別的平均加權一致性函數(shù),獲得具有冗余性的數(shù)據(jù)融合支持度模型。最終試驗平均處理時間僅為95.62 ms,正確率高達95.33%,提高了檢測結果的穩(wěn)定性和準確性,為農(nóng)業(yè)機器人在農(nóng)田環(huán)境中作業(yè)提供了可靠的導航路徑。