楊尚昆,王巖松,郭 輝,王孝蘭,劉寧寧
(上海工程技術(shù)大學(xué) 汽車(chē)工程學(xué)院,上海 201620)
三維測(cè)量技術(shù)是機(jī)器視覺(jué)重要研究領(lǐng)域之一。三維測(cè)量過(guò)程中,攝像機(jī)標(biāo)定精度直接影響被測(cè)量物體的測(cè)量精度[1]?;跇?biāo)定物的標(biāo)定方法標(biāo)定準(zhǔn)確度高且算法簡(jiǎn)單而得以廣泛應(yīng)用[2]。
基于標(biāo)定物的標(biāo)定方法主要有線性法[3]、非線性法和兩步法。線性法不考慮攝像機(jī)鏡頭畸變,用線性方法求解透視變換矩陣中的未知數(shù)。該方法計(jì)算速度快,但忽略了鏡頭非線性畸變,標(biāo)定精度受到一定影響[4]。Weng等[5]提出的非線性標(biāo)定方法考慮了攝像機(jī)的各種畸變模型,該方法標(biāo)定精度高,但計(jì)算量大,且標(biāo)定結(jié)果易受初始值選取的影響。另外,Zhang等[6]提出的標(biāo)定方法也涉及到非線性優(yōu)化問(wèn)題的求解。Tsai等[7]在上述方法的基礎(chǔ)上提出了兩步法。該方法將線性法和非線性法相結(jié)合,能快速準(zhǔn)確地計(jì)算出攝像機(jī)內(nèi)、外參數(shù)[8],但該方法只考慮了攝像機(jī)徑向畸變,且只能用于單目攝像機(jī)的標(biāo)定。
為獲取被測(cè)量物體的深度信息,本文將側(cè)傾角ψ、旋轉(zhuǎn)角Ф、俯仰角θ引入兩步標(biāo)定法,并由此推導(dǎo)出一種基于一階徑向畸變(Radial Alignment Constraint, RAC) 標(biāo)定法的雙目攝像機(jī)標(biāo)定公式,為不同位姿下的雙目攝像機(jī)標(biāo)定提供了一個(gè)新思路。通過(guò)誤差分析和三維重構(gòu)實(shí)驗(yàn),表明該種標(biāo)定方法不但簡(jiǎn)單快速,且標(biāo)定精度較高,可以滿足雙目攝像機(jī)標(biāo)定需求。
攝像機(jī)模型是光學(xué)成像幾何關(guān)系的簡(jiǎn)化,可分為線性模型和非線性模型。當(dāng)計(jì)算精度要求較高時(shí),線性模型并不能準(zhǔn)確地描述其光學(xué)成像關(guān)系。尤其是在遠(yuǎn)離圖像中心處會(huì)出現(xiàn)較大的徑向畸變、切向畸變和偏心畸變[9]。其中,徑向畸變是影響機(jī)器視覺(jué)標(biāo)定與測(cè)量精度的主要因素。考慮RAC的攝像機(jī)模型是對(duì)針孔攝像機(jī)模型的修正[10],其核心是利用一階徑向排列約束來(lái)求解攝像機(jī)的外參數(shù),然后再求解其他參數(shù)。基于RAC的攝像機(jī)標(biāo)定法所使用方程大部分是線性的,降低了參數(shù)求解的復(fù)雜性。RAC攝像機(jī)模型如圖1。
圖1 RAC攝像機(jī)模型
假設(shè)存在投影點(diǎn)P的物理空間坐標(biāo)為(Xw,Yw,Zw),P在攝像機(jī)坐標(biāo)系中的三維坐標(biāo)為(X,Y,Z),矢量L1、L2的方向相同,Oi是圖像中心。(X,Y)是中心Oi點(diǎn)且平行于X、Y軸的圖像坐標(biāo)系,(Xu,Yu)是在理想小孔攝像機(jī)模型下投影P點(diǎn)的圖像坐標(biāo),(Xd,Yd)是由透鏡變形引起的偏離(Xu,Yu)的實(shí)際圖像坐標(biāo)。物理空間坐標(biāo)與攝像機(jī)空間坐標(biāo)變換關(guān)系如式(1)所示:
(1)
其中:T為3×1的平移矢量矩陣,R為3×3的正交變換矩陣。
小孔攝像機(jī)模型下的理想投影變換關(guān)系[11]如式(2)所示:
(2)
用二階多項(xiàng)式近似表示徑向透鏡畸變方法[12]如式(3)所示:
(3)
從實(shí)際圖像坐標(biāo)系到計(jì)算機(jī)圖像坐標(biāo)系變換方法如式(4)所示:
(4)
其中:(Xc,Yc)為圖像中心坐標(biāo),(Nx,Ny)為圖像平面上單位距離上的像素點(diǎn)數(shù)。
雙目攝像機(jī)標(biāo)定目的是獲取攝像的內(nèi)外參數(shù)。內(nèi)參數(shù)主要包括透視變換A、徑向畸變K,外參數(shù)由和旋轉(zhuǎn)矩陣R和平移矩陣T構(gòu)成。
旋轉(zhuǎn)矩陣R、平移矩陣T表示方法如式(5)和式(6):
(5)
(6)
由式(1)、式(5)和式(6)可得式(7):
(8)
RAC條件意味著存在式(9)所示方法:
(9)
式(9)移項(xiàng)后兩邊同除以Ty,如式(10)所示:
(10)
將式(10)表示為矢量形式,如式(11)所示:
(11)
即選取7個(gè)點(diǎn)使系數(shù)矩陣滿秩,就可解出列向量中的7個(gè)分量。
旋轉(zhuǎn)矩陣R共有9個(gè)參數(shù),但其正交性規(guī)定了R僅有3個(gè)自由度,即僅有3個(gè)變量是獨(dú)立的。式(11)可解出r1、r2、r4、r5共4個(gè)獨(dú)立變量,而正交陣加上一個(gè)比例(1/Ty)也有4個(gè)獨(dú)立變量。故當(dāng)方程數(shù)大于4時(shí),可確定旋轉(zhuǎn)矩陣R以及平移分量Tx、Ty。
2.2.1 采集標(biāo)定模板圖像
雙目攝像機(jī)的標(biāo)定需要一個(gè)標(biāo)定參照物,并由此計(jì)算攝像機(jī)的內(nèi)外參數(shù)[13]。標(biāo)定模板采用角點(diǎn)數(shù)為12×13的棋盤(pán),棋盤(pán)格大小為30 mm×30 mm,角點(diǎn)拾取窗大小為5×5。為確保實(shí)驗(yàn)的精度,每個(gè)攝像頭捕捉25張圖像來(lái)進(jìn)行標(biāo)定工作,如圖2。
圖2 標(biāo)定板圖像采集
2.2.2 提取標(biāo)定模板角點(diǎn)
拾取標(biāo)定模板角點(diǎn),根據(jù)提取到的角點(diǎn)位置,計(jì)算各棋盤(pán)格中心位置,如圖3。
通過(guò)標(biāo)定模板角點(diǎn)提取可得到每個(gè)棋盤(pán)格特征點(diǎn)的圖像坐標(biāo)(Xfi,Yfi)(i=1,2,…,N)。設(shè)特征點(diǎn)對(duì)應(yīng)世界坐標(biāo)為(Xwi,Ywi),由式(4)可得到由透鏡變形而引起偏離理論位置的實(shí)際圖像坐標(biāo)[14],如式(12)所示。
(12)
聯(lián)立式(11)、式(12)可得式(13):
(13)
利用最小二乘法求解這個(gè)超定方程組(N>4)可得如下變量r1′=r1/Ty,r2′=r2/Ty,Tx′=Tx/Ty,r4′=r4/Ty,r5′=r5/Ty。
(r1r5-r2r4)2=cos2θcos2φ
(14)
故有式(15):
(15)
以及式(16)
(16)
利用正交性和右手系特征[15]可計(jì)算R為:
(17)
其中:S=-sgn(r1r4+r2r5),r7、r8、r9可根據(jù)矩陣的正交性由前兩行數(shù)值解得。
圖3 角點(diǎn)提取
2.2.3 求解參數(shù)
在標(biāo)定過(guò)程中,攝像機(jī)的內(nèi)部參數(shù)是不變的,即無(wú)論攝像機(jī)從何種角度獲取棋盤(pán)格標(biāo)定板圖像,其標(biāo)定出的攝像機(jī)內(nèi)部參數(shù)皆為常數(shù)。而攝像機(jī)的外部參數(shù)會(huì)隨著標(biāo)定板的空間位置發(fā)生相應(yīng)的改變,其值表示了攝像機(jī)坐標(biāo)系相對(duì)于圖像坐標(biāo)系的空間位置及姿態(tài)。實(shí)驗(yàn)所用雙目攝像機(jī)存在一定的傾斜角和旋轉(zhuǎn)角,實(shí)驗(yàn)所用標(biāo)定板在相機(jī)坐標(biāo)系及世界坐標(biāo)系下的相對(duì)位置關(guān)系如圖4。
圖4 攝像機(jī)與標(biāo)定板位置還原圖
通過(guò)獲得標(biāo)定板在攝像機(jī)坐標(biāo)系下的相對(duì)位置關(guān)系及世界坐標(biāo)系下的相對(duì)位置關(guān)系,可分別計(jì)算出左右攝像機(jī)的外參數(shù)[16],以此建立攝像機(jī)坐標(biāo)系、圖像坐標(biāo)系以及世界坐標(biāo)系之間的關(guān)系。
對(duì)每個(gè)特征點(diǎn)Pi計(jì)算其Yi和Zi值,存在式(18):
(18)
若設(shè)Qi=r7Xwi+r8Ywi,則有式(19):
Yui/f=yi/zi
(19)
展開(kāi)得Yfi-YuiTz=YuiQi
而Yui=(Yfi-Yc)/Ny,則可得式(20):
(20)
將上式用矩陣表示為式(21):
(21)
其中i=1,2,…,N。由式(21)可分別求出有效焦距f和平移分量Tz,然后將所得值代入非線性方程組式(22):
(22)
由式(22)可計(jì)算得出f、Tz、k的精確值。至此,多位姿雙目攝像機(jī)的內(nèi)外參數(shù)皆可確定。
采用基于RAC的雙目攝像機(jī)多位姿標(biāo)定方法進(jìn)行標(biāo)定,分別求出左右攝像機(jī)外部參數(shù)。
左攝像機(jī)旋轉(zhuǎn)矩陣:
左攝像機(jī)平移矩陣:
右攝像機(jī)旋轉(zhuǎn)矩陣:
右攝像機(jī)平移矩陣:
確定外參數(shù)后,將所求的外參數(shù)值代入推導(dǎo)出的多位姿攝像機(jī)標(biāo)定線性求解公式,即式(21)和式(22)中,可求得左右相機(jī)內(nèi)部參數(shù)。
左攝像機(jī)有效焦距:
左攝像機(jī)光學(xué)中心:
左攝像機(jī)垂直徑變:
kl=-0.095 63
右攝像機(jī)有效焦距:
左攝像機(jī)光學(xué)中心:
左攝像機(jī)垂直徑變:
kr=-0.095 47
求取雙目攝像機(jī)內(nèi)外參數(shù)值之后,可通過(guò)標(biāo)定結(jié)果重投影誤差分析[17]驗(yàn)證基于RAC算法的雙目攝像機(jī)多位姿標(biāo)定效果。利用基于RAC算法的雙目攝像機(jī)多位姿標(biāo)定方法所得標(biāo)定結(jié)果再投影誤差如圖5。
圖5 再投影誤差
從再投影誤差圖看出,所得誤差點(diǎn)分布范圍在[-0.3,0.3],誤差點(diǎn)分布較為集中,這說(shuō)明利用基于RAC算法的雙目攝像機(jī)多位姿標(biāo)定線性求解公式所得標(biāo)定結(jié)果較為理想。個(gè)別投影誤差點(diǎn)數(shù)值較大,考慮是由于可定誤差所引起的,屬于雙目攝像機(jī)標(biāo)定過(guò)程中的正?,F(xiàn)象[18]。
為了進(jìn)一步驗(yàn)證標(biāo)定效果,對(duì)多張連續(xù)采集的人耳圖像進(jìn)行動(dòng)態(tài)識(shí)別和立體匹配,得出三維重建結(jié)果,并對(duì)三維重建后的測(cè)量結(jié)果進(jìn)行分析。某一時(shí)刻左、右相機(jī)檢測(cè)的人耳圖像中心坐標(biāo)如圖6。
圖6 人耳區(qū)域提取結(jié)果
從左、右相機(jī)人耳檢測(cè)圖可以得出左、右相機(jī)人耳圖像的中心坐標(biāo)。利用雙目相機(jī)標(biāo)定結(jié)果求出視差圖,最終求得乘員耳側(cè)空間坐標(biāo)定位結(jié)果。基于坐標(biāo)識(shí)別結(jié)果,繪制乘員耳側(cè)坐標(biāo)動(dòng)態(tài)識(shí)別軌跡與實(shí)際運(yùn)動(dòng)軌跡,如圖7。
圖7 乘員耳側(cè)運(yùn)動(dòng)軌跡
由圖7可以看出,動(dòng)態(tài)識(shí)別結(jié)果與實(shí)際運(yùn)行軌跡趨勢(shì)相同,測(cè)量誤差在1 mm以內(nèi),軌跡重合率為96%。再次驗(yàn)證了基于RAC算法的雙目攝像機(jī)多位姿標(biāo)定方法對(duì)提高標(biāo)定精度以及后續(xù)測(cè)量精準(zhǔn)度具有積極性影響。
針對(duì)傳統(tǒng)兩步標(biāo)定法只考慮徑向畸變,且不能用于三維測(cè)量的現(xiàn)狀,本文對(duì)RAC多位姿雙目攝像機(jī)標(biāo)定方法進(jìn)行了研究。首先,根據(jù)雙目立體視覺(jué)實(shí)際測(cè)量需求,選擇了系統(tǒng)所需的雙目攝像機(jī)的內(nèi)參數(shù)和外參數(shù);其次,在徑向排列約束兩步標(biāo)定方法的基礎(chǔ)上,將側(cè)傾角、旋轉(zhuǎn)角以及俯仰角引入RAC標(biāo)定法中,并由此推導(dǎo)出基于RAC算法的雙目攝像機(jī)多位姿標(biāo)定方法的線性求解公式;最后,利用此線性求解公式求出了雙目攝像機(jī)內(nèi)外參數(shù),完成了對(duì)雙目立體視覺(jué)系統(tǒng)的標(biāo)定工作。通過(guò)對(duì)標(biāo)定結(jié)果的重投影誤差分析和三維重構(gòu)實(shí)驗(yàn)測(cè)量誤差分析,對(duì)此次標(biāo)定精度進(jìn)行驗(yàn)證。重投影誤差結(jié)果和三維測(cè)量實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的基于RAC算法的雙目攝像機(jī)多位姿標(biāo)定方法標(biāo)定精度較高,能夠滿足雙目攝像機(jī)標(biāo)定與三維測(cè)量時(shí)的實(shí)際精度需求。