佘銀海 王新彥



摘要:計算機視覺現(xiàn)已被廣泛應(yīng)用于諸多農(nóng)業(yè)領(lǐng)域,有助于精準農(nóng)業(yè)的發(fā)展,提高勞動生產(chǎn)效率。針對坐騎式零轉(zhuǎn)彎半徑(ZTR)割草機刀盤高度無級調(diào)節(jié)問題,利用雙目立體視覺對草坪植株高度進行測量可推動其智能化發(fā)展。首先對地毯草灰度圖像中的V分量進行圖像增強、形態(tài)學(xué)處理、閾值分割等預(yù)處理提取出植株圖像。本研究提出一種結(jié)合高通濾波與Foerstner的特征點檢測算法,對提取后的植株圖像進行特征點檢測,該方法可有效去除偽角點,準確率在98%以上。利用雙目標確定后的參數(shù)對左右2幅圖像進行角點匹配,選取z軸方向數(shù)值最小的3個點構(gòu)造假想地面并最終計算植株均高。結(jié)果表明,該高度測量系統(tǒng)可識別測量不同草種,且總體相對誤差為1.5%,有效地提高了測量精度且適用范圍較廣。
關(guān)鍵詞:ZTR割草機;雙目立體視覺;草坪植株;Forstner特征點;高度測量
中圖分類號: TP391.41文獻標志碼: A
文章編號:1002-1302(2020)04-0215-07
收稿日期:2018-12-11
基金項目:國家自然科學(xué)基金面上項目(編號:51275223);江蘇省研究生創(chuàng)新計劃(編號:SJCX18_0783)。
作者簡介:佘銀海(1994—),男,江蘇南通人,碩士研究生,從事圖像識別、自動化控制方面研究。E-mail:yinhai_she@163.com。
通信作者:王新彥,博士,教授,從事現(xiàn)代機械制造技術(shù)與車輛被動安全性方面研究。E-mail:xinyanwang1@163.com。
隨著經(jīng)濟的發(fā)展,各國城市建設(shè)逐漸深化,城區(qū)綠化程度也隨之提高,草坪業(yè)正以其特有的市場價值活躍在各國的城市園林綠化建設(shè)中。對于大型的牧場或高爾夫球場而言,一般都以坐騎式零轉(zhuǎn)彎半徑(ZTR)割草機作業(yè)為主[1],但ZTR割草機刀盤高度變化都是通過手動調(diào)節(jié),這不僅費時費力且降低了工作效率,與此同時,考慮不同草坪在修剪與維護時具有相應(yīng)的留茬高度要求,進一步說明了手動調(diào)節(jié)刀盤高度的弊端。所以本研究旨在通過圖像處理技術(shù)對待割草坪的高度特征進行提取,為ZTR割草機刀盤的自動調(diào)節(jié)奠定基礎(chǔ)。
計算機視覺如今被廣泛應(yīng)用于植株高度的檢測中。Tsubata等提出了在割草機器人中增添識別草坪信息的方法,它需先識別出草坪,然后通過使用透射型光電斷路器估計草皮的高度[2]。林小冬通過在割草機的割草刀盤前部設(shè)置感應(yīng)芯片感知草叢的分布和高度,但只能粗略感知高度,并不精確[3]。Seelan等依據(jù)水稻與土質(zhì)背景中的對比度差異進行灰度級分割,并應(yīng)用形態(tài)學(xué)方法消除陰影及噪聲,通過圖像二值化提取水稻高度,從而采集到水稻的長勢信息,將植株高度作為作物生長率的監(jiān)控參考指標[4]。闕玲麗利用計算機視覺通過測量對照桿的高度,間接測量玉米植株的高度,其總體相對誤差小于2%[5]。何晶將棉花植株二維圖像中的棉花株莖簡化成2個關(guān)鍵點坐標,然后利用相機參數(shù)矩陣以及對2個關(guān)鍵點的約束條件,獲得植株在世界坐標系中的三維信息[6]。
1?方法與原理
本研究主要算法流程見圖1,主要包括雙目標定、特征點提取及匹配、高度測量算法等。
1.1?雙目立體視覺平臺搭建
1.1.1?系統(tǒng)軟硬件組成
硬件系統(tǒng)由2臺大恒圖像公司水星系列MER-231-41U3C相機、2個M0814-MP2型鏡頭、Philips計算機、相機支架等組成。軟件包括HALCON12.0.1、Visual Studio 2012(C#)。
1.1.2?立體視覺原理
雙目視覺是基于視差原理利用2臺相機采集不同方向上的2幅圖像,通過建立特征點間的對應(yīng)關(guān)系,然后依據(jù)三角測量原理計算對應(yīng)像素間的視差,再與標定板的坐標進行匹配,就可獲得雙目相機的外參,即相機相對現(xiàn)實世界中指定坐標系下的位置與方向,從而獲得空間點的三維坐標、位姿、形狀等信息。雙目相機安裝夾角及基線長度是影響系統(tǒng)測量精度的主要因素,為了提高測量精度,基線一般不能太小。另外基線長度的選取還與視場角有關(guān),雙目相機能夠檢測到的有效范圍是在左右相機視場角的重疊區(qū)域,所以基線長度也不可太長,否則2個相機可能不能同時觀察到目標點。
雙目相機立體模型見圖2。其中,C1、C2與O1、O2分別表示左右相機的主點和投影中心點,2個投影點的連線O1O2為系統(tǒng)的基線;O1C1和O2C2分別為左右相機的光軸,α1和α2為左右相機光軸與基線之間的夾角;f1和f2分別為相機的成像平面與投影中心點的距離;世界坐標系中任意點PW在左右圖像上的投影點分別為P1與P2。
根據(jù)攝像機的投射模型得到如下關(guān)系式:
S1X1Y11=
f1000f10001
xyz,
S2X2Y21=
f2000f20001
xyz。(1)
式中:S1與S2分別為左右相機的投影矩陣,(X,Y)為P點坐標,(x,y,z)為P點經(jīng)投影轉(zhuǎn)化后的坐標。左相機坐標系O1-xyz與右相機坐標系O2-xyz之間的位置關(guān)系可通過空間轉(zhuǎn)換矩陣M表示為:
x2y2z2=
Mxyz1=
r1r2r3txr4r5r6tyr7r8r9tz
xyz1,M=[R|T]。(2)
式中:R為旋轉(zhuǎn)矩陣,其元素ri(i=1~9)由雙目相機的旋轉(zhuǎn)角度、方位角、仰角決定,(tx,ty,tz)為左右相機的相對偏移量;T為轉(zhuǎn)置矩陣;
同理,對于O-xyz坐標系中的空間點,2個相機圖像點之間的對應(yīng)關(guān)系可以表示為:
ρ2X2Y21=
f1r1f1r2f1r3f1txf1r4f1r5f1r6f1tyr7r8r9tz
zX1/f1zY1/f1?z?1。(3)
式中:ρ2為右相機中空間點的系數(shù)變量。于是,空間點的三維坐標可表示為:
x=zX1/f1;
y=zY1/f1;
z=f1(f1tx-x2tz)X2(r7X1+r8Y1+f1r9)-f2(r1X1+r2Y1+f1r3)=
f1(f2ty-x2tz)Y2(r7X1+r8Y1+f1r9)-f2(r4X1+r5Y1+f1r6)。(4)
因此,只要通過相機標定獲得其內(nèi)參數(shù)/焦距,以及左右相機中的圖像坐標,就可以重構(gòu)出被測點的三維空間坐標。
1.2?圖像獲取
圖片采集過程中,草坪高度約30~180 mm,為保證草坪在相機拍攝范圍內(nèi),設(shè)定支架與草坪水平之間的距離為200 mm,基線O1O2=180 mm,相機光軸與基線的夾角采用α1=α2=85°,相機中心距地面高度為90 mm。在相機拍攝過程中帶一點俯角拍攝,確保左右2幅圖像的最高處均為現(xiàn)實坐標的最高處,而圖像最低處則為草坪根部或地面,但俯角不應(yīng)過大,否則會增大像差,進而影響測量精度。圖3-a、b分別為左、右相機采集的植株圖像。
1.3?立體校正圖像對
為了能夠更精確地進行匹配,提高運算的效率,在獲得相機的內(nèi)外參數(shù)后首先對立體圖像進行校正。校正是將圖像投影到1個公共的圖像平面上,公共平面方向由雙目立體視覺系統(tǒng)基線原始2個圖像平面交線的叉集確定,當同一點投影到2個相機平面時,2個投影點位于各自像素坐標的同一行。本研究采用的是Bouguet極線校正方法,其主要步驟如下:
(1)將右圖像平面相對左圖像的旋轉(zhuǎn)矩陣R分解為2個合成旋轉(zhuǎn)矩陣Rl和Rr。其中Rl=R1/2,Rr=R-1/2,R-1/2為R1/2的逆矩陣。(2)將左右相機各旋轉(zhuǎn)一半,使得左右相機的光軸平行。此時左右相機的成像面達到平行,但是基線與成像平面不平行。(3)構(gòu)造變換矩陣Rrect,使得基線與成像平面平行。構(gòu)造的方法是通過右相機相對于左相機的偏移矩陣T完成的。
(a)構(gòu)造e1。變換矩陣將左視圖的極點變換到無窮遠處,則使極線達到水平,可見,左右相機的投影中心之間的平移向量就是左極點方向:
e1=T‖T‖,T=[Tx?Ty?Tz]T。(5)
(b)e2方向與主光軸方向正交,沿圖像方向與e1垂直,則知e2方向可通過e1與主光軸方向的向量積并歸一化獲得。
e2=[-Ty?Tx?0]Tx2+Ty2。(6)
(c)獲取了e1與e2后,e3與e1和e2正交,e3自然就是它們2個的向量積:e3=e1×e2,則可將左相機的極點轉(zhuǎn)換到無窮遠處的矩陣Rrect如下:
Rrect=(e1)T(e2)T(e3)T。(7)
(4)通過合成旋轉(zhuǎn)矩陣與變換矩陣相乘獲得左右相機的整體旋轉(zhuǎn)矩陣。左右相機坐標系乘以各自的整體旋轉(zhuǎn)矩陣就可使得左右相機的主光軸平行,且像平面與基線平行。
Rl′=Rrect×RlRr′=Rrect×Rr。(8)
(5)通過上述2個整體旋轉(zhuǎn)矩陣,就能夠得到理想的雙目立體系圖像系統(tǒng)。
1.4?改進的Foerstner特征點檢測
圖像點(角點)特征通常用于獲取不同圖像之間的像素對應(yīng)關(guān)系,角點在保留圖像中物體重要特征信息的同時又有效減少了信息的數(shù)據(jù)量,因而角點檢測成為圖像三維重建的重要步驟。最初的角點檢測Moarvec算子被M-stephens進行改進得到Harris算子[7],Harris算子雖然應(yīng)用廣泛但準確性不足,F(xiàn)orsmer算子是在Harris算子的基礎(chǔ)上發(fā)展得到的。Remondino通過大量試驗證明,與其余的角點提取算子相比,F(xiàn)oerstner算子具有最佳的穩(wěn)定性、靈敏度、尺度不變性、運算速度等性能[8]。
Forstner算子通過計算各像素的Robert梯度值和以像素為中心的1個窗口的灰度協(xié)方差矩陣M,在圖像中尋找具有盡可能小而接近圓的誤差橢圓的點作為特征點。它采用抑制局部極小點的方法提取特征點且精度較高,所以在實際中應(yīng)用比較廣泛。
灰度協(xié)方差矩陣M和誤差橢圓的圓度q分別為
M=G(s)×∑nc=1I2x,c∑nc=1Ix,cIy,c
∑nc=1Ix,cIy,c∑nc=1I2y,c;(9)
q=4·DetM(TraceM)2,0≤q≤1。(10)
式中:Ix,c和Iy,c表示圖像在x與y方向上的梯度圖,G(s)為高斯平滑模板,DetM和TraceM分別表示協(xié)方差矩陣M的行列式與跡。
選取以3×3為模板的窗口計算興趣值,對于給定的圓度閾值Tq(0.5≤Tq≤0.75),先計算其權(quán)值,并以權(quán)值為依據(jù),以權(quán)值最大者為特征點。
由于Forstner算子靈敏性較高,檢測時可能出現(xiàn)大量偽角點,所以在檢測之前先進行高通濾波處理,高通濾波實現(xiàn)了圖像的銳化,在消除噪聲的同時使圖像邊緣變得更清晰,可提高Forstner算子檢測真實特征點的性能。
1.5?特征點匹配
完成草坪植株圖像Forstner特征點的提取后,以基于Forstner角點為基礎(chǔ)的灰度特征值作為匹配依據(jù),為單株葉片的三維重建提供可靠依據(jù)。本研究通過松弛迭代法計算可能匹配點的匹配概率P(0)(l),經(jīng)過k次迭代后將匹配概率P(k)(l)最大的點確定為匹配的特征點。由于“1.4”節(jié)已對Forstner特征點進行濾波處理,減少了迭代次數(shù)與計算量,提高了特征點提取的準確性。算法的主要步驟如下:
(1)用Forstner特征點檢測算法檢測所處理的左攝像機拍攝的草坪單株圖像I1,找到角點。
(2)將右圖像I2中利用Forstner算子檢測到的可能特征點組成一個可能匹配點集合。
(3)將左圖像I1的每個特征點作為一個標號集,l為左圖像特征點與其可能匹配點的視差。對于右圖像I2中每個可能匹配點,通過以下公式設(shè)定初始匹配概率P(0)(l)。
A(l)=∑x,y∈W[fL(x,y)-fR(x+lx,y+ly)]2。(11)
式中:l=(lx,ly)為可能的視差;A(l)代表2個區(qū)間的灰度擬合值,與初始匹配概率P(0)(l)成反比,即P(0)(l)與可能匹配點鄰域中的相似度相關(guān);W為將圖像f(x,y)劃分的若干個互不重疊的小區(qū)域。借助松弛迭代法,給可能匹配點鄰域中視差比較接近的點以正的增量,而給較遠的點以負的增量來對P(0)(l)進行迭代更新。正確的匹配點經(jīng)過k次迭代后匹配概率P(k)(l)會逐漸增大,而其余點的匹配概率則會降低,經(jīng)過一定次數(shù)迭代后,將匹配概率最大的點確定為匹配的特征點。
1.6?植株高度測量算法
草坪植株高度可定義為植株頂端至地面的垂直距離,但由于單株草通常由幾張葉片組成,所以取其葉片的平均高度作為整株草的高度。此外,由于地面凹凸不平或具有其他雜物等干擾項,導(dǎo)致測量精度存在較大誤差,所以可在“1.5”小節(jié)經(jīng)過匹配的特征點中,選擇3個在z軸方向值最小的點構(gòu)成1個三維平面并作為假想地面,這樣即可降低測量誤差。
設(shè)選取的3個點的坐標依次為P0(x0,y0,z0)、P1(x1,y1,z1)、P2(x2,y2,z2),其平面z=0可由向量NX=P1P0和NY=P1P2定義。
式中:NX=P1P0=x0-x1y0-y1z0-z1,
NY=P1P0=x2-x1y2-y1z2-z1。
通過計算NX和NY的叉乘運算來確定該平面上的法向量NZ:
NZ=NX×NY=0z1-z0y0-y1
z0-z10x1-x0
y1-y0x0-x10
x2-x1y2-y1z2-z1。(12)
并計算出單位法向量z=NZ/|NZ|=(i,j,k)。
確定底平面及其法向量后,選取所有葉片最頂端的特征點n個,將其三維坐標(am,bm,cm)與底平面的單位法向量z進行點積運算可獲得每個葉片的高度,其平均高度值為單株草坪的整體高度H,表達式為:
H=1n∑nm=1(ami+bmj+cmk)。(13)
2?結(jié)果與分析
2.1?雙目相機標定
本研究采用的相機分辨率為1 920×1 200,借助HALCON自帶標定助手采集圓點陣列標定板(150 mm×150 mm)圖像進行雙目視覺系統(tǒng)的標定。在采集圖像的過程中,雙目相機的相對位置不能改變,每個相機拍攝16張標定板在不同位置的圖片,并且保證每張圖片中都包含標定板,且每個提取的圓的像素都大于10個像素,采集的標定板示意見圖4。
首先通過Find_Caltab與Find_Marks_and_Pose算子確定標定板黑框里的部分和每個圓點的中心并確定其相應(yīng)的世界坐標,將采集到的參數(shù)通過Set_Calib_Data_Observ_Points輸入到標定數(shù)據(jù)模型句柄中,最后調(diào)用Calibrate_Cameras算子執(zhí)行標定。標定后可獲得相機的主距、鏡頭畸變、圖像中心點的坐標值以及2個相機的相對位置等參數(shù),結(jié)果見表1。
將標定后的2個相機內(nèi)部參數(shù)以及相對位置關(guān)系作參數(shù)傳遞給gen_binocular_rectification_map算子,得到2個校正映射,通過map_image函數(shù)結(jié)合映射圖將采集到的圖像對校正為標準極線幾何結(jié)構(gòu),經(jīng)校正后圖像對匹配點在同一水平線上并且基線相互平行。校正后相機結(jié)構(gòu)參數(shù)見表2。
從標定結(jié)果中可以看出,左、右相機的徑向畸變值均為負值,說明它們都成桶形畸變,左、右相機的主距相差較小;相機的結(jié)構(gòu)參數(shù)中旋轉(zhuǎn)矩陣R為[1.78?14.13?359.98],說明右相機相對于左相機的x軸旋轉(zhuǎn)1.78°、y軸的方向旋轉(zhuǎn)14.13°、z軸的反方向旋轉(zhuǎn)0.02°,可以判斷出右相機幾乎只繞左相機的y軸旋轉(zhuǎn),即2個相機向內(nèi)傾斜了14.13°;平移矢量T為[18.22?0.09?0.98],說明右相機在左相機右方18.22 cm、上方0.09 cm、前方0.98 cm的位置。標定結(jié)果與相機的實際擺放位置吻合,說明標定結(jié)果準確。
2.2?圖像預(yù)處理
由于草坪種類較多,本研究以常見的地毯草、高羊茅、早熟禾等為試驗對象,地毯草如圖3所示。每種草坪各采集20幅圖像,隨機挑選1幅進行試驗。圖5為地毯草預(yù)處理過程,圖5-a為右相機采集的地毯草原始RGB圖像,首先通過HALCON中decompose3與trans_f-rom_rgb算子將RGB三通道圖像轉(zhuǎn)換到HSV顏色空間。通過比較發(fā)現(xiàn),V分量圖中草坪與地面的灰度值差別最大,如圖5-b所示,故選取V分量圖作后續(xù)處理。為提高閾值處理的分割效果,利用圖像增強emphasize算子,提高葉片與地面的灰度值對比度,灰度值增強圖像如圖5-c所示。將閾值分割后的圖像(圖5-d)進行開閉運算等形態(tài)學(xué)處理,消除細小的干擾項,最后利用select_shape算子中的區(qū)域面積與形狀等功能對ROI區(qū)域進行提取,最終提取結(jié)果如圖5-f所示。
2.3?特征點檢測及匹配
為驗證本研究所改進的Forstner特征點算法的可靠性及精度,將“2.2”節(jié)中所提取的植物作處理對象,對其進行角點提取,并與傳統(tǒng)的Forstner算法作對比。圖6-a與圖6-b分別為傳統(tǒng)Forstner算法和本研究算法的處理結(jié)果,表3為所提取特征點的結(jié)果統(tǒng)計及時間對比。
通過試驗后的圖像及結(jié)果可知,改進的算法通過增加高通濾波,使得葉片的邊緣信息被增強保留,而非邊緣部分則被過濾。所以對于同一處理對象而言,雖然改進的算法檢測的特征點個數(shù)降低,但其準確率與可靠性確有明顯提高,而時間差異不太明顯。
改進的Forstner算子在保留其較高靈敏性的同時會減少大量偽角點的出現(xiàn)?從而提高了特征點匹配的精度與速度,降低后期植株高度測量的誤差。
2.4?植株高度測量
為了檢驗高度測量算法的可行性與精度,與人工測量值作對比。人工測量是采用直尺測量植株自然狀態(tài)下的高度,分3次測量并取其平均值作算法測量的參考值。此外,由于草坪植物的種類繁多、區(qū)域性廣泛,故選取3種不同類型的草坪驗證本研究方法的適用性。地毯草與早熟禾相比,地毯草的葉片偏平偏寬,而早熟禾較纖細,兩者高度相仿;高羊茅與早熟禾的高度范圍是最大的區(qū)別,早熟禾正常高度范圍為6~30 cm,而高羊茅可達40~120 cm。測量對比結(jié)果如表4所示。
分析表4可以看出,本研究算法測量值低于人工測量結(jié)果,其主要原因是人工軟尺測量的是現(xiàn)實地面至葉片頂端的距離。而在本研究算法的實現(xiàn)過程中,圖像預(yù)處理算法導(dǎo)致植物葉片底端模糊化,從而使后期的特征點提取和三維平面構(gòu)造要高于實際地面,所以使測量造成誤差,但其相對誤差率符合實際需求。3種不同特性的草坪植物的測量結(jié)果說明本研究方法具有良好的適用性能。
3?討論與結(jié)論
本研究采用雙目立體視覺對草坪植株進行高度測量,驗證所提出算法的可行性與準確度。首先對雙目系統(tǒng)進行標定獲得相機內(nèi)外參數(shù),將草坪植株灰度圖像中的V分量進行圖像增強等,然后進行閾值等操作提取出ROI區(qū)域。對傳統(tǒng)的Foerstner算子加入高通濾波進行改進,使邊緣信息進行強化,降低偽角點的個數(shù),試驗證明該方法準確率達98%以上且靈敏度較高,響應(yīng)時間快。利用提取特征點的坐標構(gòu)建三維平面作假想地面,最后通過葉片頂端特征點的三維坐標與底平面法向量進行點積運算獲得植株平均高度,試驗表明了所提方法相對誤差率較低,可對不同草坪植株進行有效測量,為ZTR割草機刀盤的高度自動調(diào)節(jié)奠定基礎(chǔ)。
參考文獻:
[1]王振東,涂洪森. 草坪割草機高度調(diào)節(jié)機構(gòu)對作業(yè)質(zhì)量影響分析及其優(yōu)化設(shè)計[J]. 林業(yè)機械與木工設(shè)備,2004,32(1):29-30.
[2]Tsubata K,Suzuki K,Mikami S,et al. Recognition of lawn information for mowing robots[C]//International Conference on Autonomous Robots and Agents. IEEE,2009.
[3]林小冬. 自動草坪割草機及其控制系統(tǒng)和方法:CN201210146132.6[P]. 2012-08-22.
[4]Seelan S K,Laguette S,Casady G M,et al. Remote sensing applications for precision agriculture:a learning community approach[J]. Remote Sensing of Environment,2003,88(1/2):157-169.
[5]闕玲麗. 基于計算機視覺技術(shù)的玉米植株高度檢測的研究[J]. 農(nóng)機化研究,2017,39(12):219-223.
[6]何?晶. 基于圖像處理的株高無損測量方法研究[J]. 測控技術(shù),2015,34(4):39-42.
[7]Overgaard N C. On a modification to the Harris corner detector[EB/OL]. [2018-11-10]. http://muep.mau.se/bitstream/handle/2043/1239/SSAB03_Harris.pdf.
[8]Remondino F. Detectors and descriptors for photogrammetric applications[J]. International Archives of the Photogrammetry,Remote Sensing and Spatial Information Sciences,2006,36(3):49-54.