丁尚文,王純賢
(1.合肥工業(yè)大學(xué) 宣城校區(qū)基礎(chǔ)部,宣城 242000:2.合肥工業(yè)大學(xué) 宣城校區(qū)機(jī)械工程系,宣城 242000)
基于單目視覺(jué)多角度測(cè)量的平面點(diǎn)位置最優(yōu)估計(jì)是機(jī)器視覺(jué)研究的經(jīng)典問(wèn)題,同時(shí)也是機(jī)器人定位[1-2],航天器交會(huì)對(duì)接[3-5]等技術(shù)的重要研究?jī)?nèi)容。
該方法主要基于多視圖利用圖像點(diǎn)特征解算相機(jī)坐標(biāo)系相對(duì)世界坐標(biāo)系的位置與姿態(tài)。文獻(xiàn)[6]利用三焦點(diǎn)張量方法實(shí)現(xiàn)對(duì)機(jī)器人運(yùn)動(dòng)位置與姿態(tài)估計(jì)。文獻(xiàn)[7]提出基于多視圖的移動(dòng)機(jī)器人視覺(jué)位置與姿態(tài)軌跡跟蹤方法。為了實(shí)現(xiàn)車(chē)輛的位姿估計(jì),文獻(xiàn)[8]提出面向三視圖幾何相關(guān)約束的的視覺(jué)輔助導(dǎo)航和慣性導(dǎo)航系統(tǒng)相融合的方法。文獻(xiàn)[9]利用三視圖幾何相關(guān)約束條件實(shí)現(xiàn)對(duì)相機(jī)相對(duì)世界坐標(biāo)系下的相對(duì)位姿估計(jì)。文獻(xiàn)[10]基于雙目視覺(jué)方法對(duì)航天器間的位姿測(cè)量展開(kāi)研究。文獻(xiàn)[11]采用雙目視覺(jué)測(cè)量方法對(duì)未知的空間物體在相機(jī)坐標(biāo)系下的位姿給出估計(jì)算法。
空間平面點(diǎn)的定位較多地利用相機(jī)標(biāo)定技術(shù)獲得空間目標(biāo)在世界坐標(biāo)系下的位置。具體方法是將投影矩陣分解成得到相機(jī)內(nèi)參數(shù)和外參數(shù)(旋轉(zhuǎn)矩陣和平移),利用相機(jī)標(biāo)定方法確定出相機(jī)參數(shù),然后利用投影點(diǎn)的圖像坐標(biāo)重建特征點(diǎn)在世界坐標(biāo)系下的位置[12]。由于相機(jī)標(biāo)定誤差的影響,以及分解形式不唯一性尤其是內(nèi)參數(shù)的求解不穩(wěn)定性,從而導(dǎo)致不同視角下重建的特征點(diǎn)坐標(biāo)不完全相等。針對(duì)空間點(diǎn)的位置估計(jì)問(wèn)題,在此提出基于單目視覺(jué)多角度測(cè)量的平面點(diǎn)位置最優(yōu)估計(jì)。
相機(jī)成像模型由針孔成像原理得到,相機(jī)標(biāo)定是指建立相機(jī)圖像像素位置與現(xiàn)實(shí)世界特征點(diǎn)位置之間的對(duì)應(yīng)關(guān)系,由已知特征點(diǎn)的圖像坐標(biāo)和世界坐標(biāo)求解相機(jī)的模型參數(shù)。在此就相機(jī)參數(shù)標(biāo)定涉及到的4個(gè)坐標(biāo)系建立給予詳細(xì)描述,坐標(biāo)系之間的關(guān)系如圖1所示。
圖1 四個(gè)坐標(biāo)系相關(guān)位置Fig.1 Relative position of four coordinate systems
1)圖像坐標(biāo)系(l,u,v),簡(jiǎn)稱(chēng)(l)系。 計(jì)算機(jī)內(nèi)的圖像由一系列排列有序的像素點(diǎn)組成,坐標(biāo)原點(diǎn)位于圖像左上角,水平向右為u軸正方向,垂直向下為軸正方向,圖像坐標(biāo)(u,v)表示像素點(diǎn)在圖像中的行列位置,單位為像素。
2)成像坐標(biāo)系(i,x,y),簡(jiǎn)稱(chēng)(i)系。 (i)系被稱(chēng)作圖像的物理坐標(biāo)系。原點(diǎn)位于成像平面的中心點(diǎn),水平向右為x軸正方向,垂直向下為y軸正方向,坐標(biāo)(x,y)表示像點(diǎn)在圖像中的物理位置,單位為mm。
3)相機(jī)坐標(biāo)系(c,x,y,z),簡(jiǎn)稱(chēng)(c)系。 將相機(jī)的光心設(shè)為坐標(biāo)原點(diǎn),相機(jī)的光軸為z坐標(biāo)軸、x軸和y軸分別平行于成像坐標(biāo)系的橫、縱軸,z坐標(biāo)軸正方向方向符合右手坐標(biāo)系法則。
4)世界坐標(biāo)系(w,X,Y,Z),簡(jiǎn)稱(chēng)(w)系。 選擇物體上的某一點(diǎn)作為坐標(biāo)原點(diǎn),X,Y和Z坐標(biāo)軸的選取符合右手坐標(biāo)系法則。
P=[X,Y,Z ]T表示在(w)系下的三維坐標(biāo),對(duì)應(yīng)投影點(diǎn)用p=[u,v ]T表示。它們的齊次坐標(biāo)對(duì)應(yīng)記為。由針孔成像模型[7],可得到
式中:s為非零尺度因子;[R,t]為(c)系相對(duì)(w)系的旋轉(zhuǎn)矩陣、平移向量;α,β分別為攝像機(jī)在u方向、v 方向上的有效焦距;(u0,v0)為攝像機(jī)的主點(diǎn)坐標(biāo);λ為傾斜因子。
通常,假設(shè)在(w)系下的平面方程設(shè)為Z=0,為避免標(biāo)記混淆,在此用表示平面模型的點(diǎn)表示平面模板特征點(diǎn)對(duì)應(yīng)的圖像齊次坐標(biāo)。記ri表示旋轉(zhuǎn)矩陣的R第i列(i=1,2,3),根據(jù)式(1),可以得到平面點(diǎn)與投影點(diǎn)對(duì)應(yīng)的投影矩陣[12],即
利用式(2)將平面點(diǎn)與投影點(diǎn)對(duì)應(yīng)的投影矩陣分解為
令 h′=[h11h12h13h21h22h23h31h321],則有
為了精確得到投影矩陣,建立基于像素坐標(biāo)誤差的目標(biāo)函數(shù),即
式中:mij為三維場(chǎng)景中第i個(gè)物點(diǎn)在第j幅圖像上的圖像坐標(biāo);Hi為第i幅圖像與特征點(diǎn)之間的投影矩陣;Mj為平面上第 j個(gè)特征點(diǎn)空間坐標(biāo)。中投影矩陣Hi的初始值可通過(guò)式(6)得到。采用非線性算法求解滿(mǎn)足目標(biāo)函數(shù)條件的最優(yōu)值,即得到投影矩陣。利用投影矩陣,通過(guò)特征點(diǎn)的圖像坐標(biāo),得到特征點(diǎn)在相機(jī)坐標(biāo)系下的坐標(biāo),即
設(shè) Pi點(diǎn)的坐標(biāo)為,則Pi點(diǎn)的齊次坐標(biāo)為
通過(guò)以上公式,可以發(fā)現(xiàn)不同的角度得到的單一矩陣不同,估計(jì)出來(lái)的特征點(diǎn)Pi點(diǎn)的橫、縱坐標(biāo)值存在著誤差。假設(shè)特征點(diǎn)P在世界坐標(biāo)系下的齊次坐標(biāo)為,則其估計(jì)值應(yīng)滿(mǎn)足
對(duì)目標(biāo)函數(shù)求偏導(dǎo),即有下式成立:
得到P點(diǎn)橫、縱坐標(biāo)的最優(yōu)估計(jì)值為
利用式(12),可以得到空間平面內(nèi)特征點(diǎn)P的位置。
為了驗(yàn)證新線性算法有效性,文中使用了虛擬相機(jī)進(jìn)行了仿真驗(yàn)證,并將本文試驗(yàn)結(jié)果與文獻(xiàn)[12]的試驗(yàn)結(jié)果進(jìn)行比較。
仿真試驗(yàn)參數(shù)如下:相機(jī)最大分辨率為2048×1536 像素;相機(jī)圖像傳感器大小為(6.4×4.8)mm2;相機(jī)內(nèi)參數(shù)真值為f=8 mm;圖像傳感器中心在成像坐標(biāo)系下的坐標(biāo)為(Cx,Cy)=(3.3,2.5);相機(jī)鏡頭水平和垂直方向上的畸變系數(shù)為k1=1,k2=1。平面圖像特征點(diǎn)位置如圖2所示。
圖2 仿真平面靶標(biāo)位置Fig.2 Simulation plane target position
選取圖2中至少4個(gè)特征點(diǎn)作為相機(jī)參數(shù)標(biāo)定點(diǎn)[12],例如:A1[0,0,0],A2[10,0,0],A3[10,10,0],A4[0,10,0]。其余特征點(diǎn)位置分布在圖2中所標(biāo)注的位置。在此待驗(yàn)證的平面內(nèi)特征點(diǎn)位置坐標(biāo)分別為B1[20,0,0],B2[20,10,0],B3[20,20,0],B4[10,20,0],B5[0,20,0]。
虛擬相機(jī)從不同角度拍攝3幅圖像。實(shí)際檢測(cè)到成像點(diǎn)ai′的坐標(biāo)受噪聲影響存在誤差,在此對(duì)獲取到成像點(diǎn) ai′的坐標(biāo)(xai′,yai′)添加白噪聲,白噪聲從0增加到10個(gè)像素,步長(zhǎng)為1像素。采用2種方法重建出的特征點(diǎn)坐標(biāo)仿真如圖3所示。
圖3 特征點(diǎn)位置誤差Fig.3 Feature points position error
由圖3(a)可見(jiàn),利用本文線性算法得到的特征點(diǎn)坐標(biāo)的估計(jì)值與真實(shí)值誤差平方和不超過(guò)0.025 mm;通過(guò)文獻(xiàn)[12]方法得到的特征點(diǎn)坐標(biāo)的估計(jì)值與真實(shí)值誤差平方接近0.028 mm。
由圖3(b)可見(jiàn),利用本文線性算法得到的特征點(diǎn)坐標(biāo)的估計(jì)值與真實(shí)值誤差平方和估計(jì)值不超過(guò)0.05 mm;通過(guò)文獻(xiàn)[12]方法得到的特征點(diǎn)坐標(biāo)的估計(jì)值與真實(shí)值誤差平方和接近0.07 mm。
為了驗(yàn)證基于單目視覺(jué)多角度測(cè)量的平面點(diǎn)位置最優(yōu)估計(jì)方法結(jié)果的可靠性和精度,在此對(duì)平面內(nèi)特征點(diǎn)從不同視角拍攝3幅圖像,試驗(yàn)中使用的平面模板如圖4所示。
圖4 平面模板圖像特征點(diǎn)位置Fig.4 Feature point position of plane template image
相機(jī)參數(shù)如下:相機(jī)最大分辨率為像素;相機(jī)圖像傳感器大小為(6.4×4.8)mm2;相機(jī)焦距為 f=8 mm。
在圖4中,左上區(qū)域內(nèi)的4個(gè)特征點(diǎn)為解算投影矩陣的特征點(diǎn),它們?cè)冢╳)系下的坐標(biāo)分別為A1[0,0,0],A2[50,0,0],A3[50,50,0],A4[0,50,0];隨機(jī)選取的平面內(nèi)4個(gè)特征點(diǎn)分布在圖4中淺色所標(biāo)注的位置上。待驗(yàn)證的平面內(nèi)淺色的特征點(diǎn)位置坐標(biāo)分別為 B1[60,60,0],B2[80,80,0],B3[100,100,0],B4[120,120,0]。本文提出新方法所獲得試驗(yàn)結(jié)果,與利用文獻(xiàn)[12]方法獲得試驗(yàn)結(jié)果進(jìn)行比較,結(jié)果見(jiàn)表1。
表1 兩種方法重建點(diǎn)坐標(biāo)估計(jì)Tab.1 Reconstruction of point coordinate estimation by two methods
由表可知,采用文獻(xiàn)[12]方法獲得特征點(diǎn)坐標(biāo)(120,120)的誤差為 4.3 mm;如果采用本文所提最優(yōu)誤差估計(jì)方法最大誤差不超過(guò)0.8 mm,4個(gè)特征點(diǎn)坐標(biāo)估計(jì)值誤差最大不超過(guò)1.2 mm??梢?jiàn),后者的特征點(diǎn)坐標(biāo)估計(jì)精度高,能夠有效降低不同視圖下的隨機(jī)誤差的影響。
空間平面點(diǎn)的定位較多的利用相機(jī)標(biāo)定技術(shù)獲得空間目標(biāo)在世界坐標(biāo)系下的位置。本文所提基于單目視覺(jué)多角度測(cè)量的平面點(diǎn)位置最優(yōu)估計(jì)方法,利用投影矩陣,直接得到平面點(diǎn)的位置。采用本文的最優(yōu)誤差估計(jì)方法最大誤差不超過(guò)1.2 mm,特征點(diǎn)坐標(biāo)估計(jì)精度高,能夠滿(mǎn)足視覺(jué)測(cè)量的要求。后續(xù)的研究將著重于利用雙目視覺(jué)測(cè)量三維點(diǎn)坐標(biāo)以及最優(yōu)點(diǎn)坐標(biāo)估計(jì)問(wèn)題。