姚 陽,張 磊,徐冰輝,姚興田
(南通大學(xué)機(jī)械工程學(xué)院,江蘇 南通 226019)
攝像機(jī)標(biāo)定是指根據(jù)所給的攝像機(jī)模型,在圖像像素坐標(biāo)點(diǎn)與空間場景點(diǎn)位置之間建立對應(yīng)的關(guān)系,對其內(nèi)部參數(shù)及外部參數(shù)進(jìn)行求解的過程[1]。攝像機(jī)對標(biāo)定板上特征點(diǎn)的圖像進(jìn)行采集,再利用特征點(diǎn)的世界坐標(biāo)及其相應(yīng)的圖像坐標(biāo)即可得出攝像機(jī)參數(shù)。
目前攝像機(jī)標(biāo)定技術(shù)大概可分為兩類[2]:(1)傳統(tǒng)攝像機(jī)標(biāo)定法,利用標(biāo)定板確定攝像機(jī)參數(shù);(2)自標(biāo)定,即根據(jù)攝像機(jī)運(yùn)動過程中所產(chǎn)生的兩圖像間的對應(yīng)關(guān)系進(jìn)行標(biāo)定。傳統(tǒng)標(biāo)定法標(biāo)定精度較高,操作較為簡便,但是對標(biāo)定模塊要求較高。自標(biāo)定法不倚靠于標(biāo)定參照物,靈活性較高,但約束條件較強(qiáng),標(biāo)定繁瑣,且標(biāo)定精度較低,魯棒性不足。
常用攝像機(jī)標(biāo)定方法有 Faugeras 標(biāo)定法[3],Tsai 兩步法[4],張正友平面標(biāo)定法[5]。Faugeras 的線性模型攝像機(jī)標(biāo)定方法是基于線性方程組的最小二乘問題。Tsai 標(biāo)定法需要預(yù)先得到一部分參數(shù)值,先通過線性方法求解出部分參數(shù),再通過非線性優(yōu)化解出剩余攝像機(jī)參數(shù)的精確解。張正友標(biāo)定利用平面標(biāo)定板在不同視角下的多幅圖像,依據(jù)設(shè)計(jì)的單應(yīng)矩陣,標(biāo)定得到攝像機(jī)參數(shù)。這兩種方法一般可獲得其免費(fèi)的程序包,使得用戶使用方便。但由于程序包封裝,只適合于靜態(tài)標(biāo)定。一旦參數(shù)發(fā)生改變,需重新標(biāo)定。如對于焦距等參數(shù)隨時改變且需要實(shí)時標(biāo)定參數(shù)的交通保安視頻監(jiān)控、機(jī)器人視覺等場合,這兩種方法的程序包并不適用。若用戶自行開發(fā),實(shí)現(xiàn)并不容易。再者,Tsai 標(biāo)定法所要求的參數(shù),有時廠家并不提供,像素間距也不易把握。因此類似Faugeras 的線性標(biāo)定法在實(shí)時場合仍然有較高應(yīng)用價值,用戶便于針對性的開發(fā)自己的軟件。
較多文獻(xiàn)針對標(biāo)定精度不高的問題開展了研究工作:文獻(xiàn)[6]將主點(diǎn)定在圖像中心,同時設(shè)縱橫比為1,通過改進(jìn)的線性方法得出攝像機(jī)坐標(biāo),然后根據(jù)攝像機(jī)坐標(biāo)系下的三維點(diǎn)對內(nèi)外參進(jìn)行優(yōu)化。文獻(xiàn)[7]在根據(jù)兩步法得到初始標(biāo)定值的基礎(chǔ)上,再對全部參數(shù)進(jìn)行非線性優(yōu)化,求解出最終的標(biāo)定結(jié)果。文獻(xiàn)[8]提出一種新的畸變模型,將多種鏡頭畸變考慮在其中,并用迭代法解出精確解。上述文獻(xiàn)中,可以看出近些年的標(biāo)定更多是從考慮畸變,優(yōu)化算法等方面改進(jìn),而在線性標(biāo)定階段較少進(jìn)行改善,導(dǎo)致標(biāo)定一開始就偏差較大,需要依賴后期的優(yōu)化。此外利用非線性優(yōu)化法進(jìn)行參數(shù)標(biāo)定用時較多,且算法復(fù)雜。有的是基于Tsai 標(biāo)定法進(jìn)行的后續(xù)改進(jìn),若參數(shù)一旦發(fā)生變化,需重新標(biāo)定,過程顯得繁瑣,更不能應(yīng)用在實(shí)時場合。
在參數(shù)隨時發(fā)生變化的場合,在相對簡單的線性標(biāo)定方法的基礎(chǔ)上再考慮畸變因素,往往可以獲得易實(shí)現(xiàn)與精確度的雙贏。Faugeras 是線性標(biāo)定方法的代表,其實(shí)現(xiàn)簡單。但該方法未考慮攝像機(jī)特性,對于攝像機(jī)標(biāo)定模型只當(dāng)成一般數(shù)學(xué)問題求解,并且將不同量級的參數(shù)混合,導(dǎo)致誤差放大,尤其是求解的圖像中心點(diǎn)與實(shí)際的圖像中心有一定偏差,有時偏差很大。根據(jù)上述分析,對Faugeras 標(biāo)定法進(jìn)行了改進(jìn),利用攝像機(jī)參數(shù)的特點(diǎn),提出了一種新的線性標(biāo)定方法,可以分步求解攝像機(jī)內(nèi)外參數(shù),并在標(biāo)定過程中對部分參數(shù)進(jìn)行優(yōu)化。
Faugeras 等在1986 年提出基于線性成像模型的攝像機(jī)標(biāo)定方法對攝像機(jī)內(nèi)外參數(shù)進(jìn)行標(biāo)定。該方法將一個三維目標(biāo)物放置于攝像機(jī)前,該目標(biāo)物上的每一個頂點(diǎn)均可作為特征點(diǎn),攝像機(jī)獲取目標(biāo)物上特征點(diǎn)的世界坐標(biāo)和相應(yīng)的圖像坐標(biāo)即可計(jì)算出攝像機(jī)的內(nèi)外參數(shù)。
該攝像機(jī)標(biāo)定方法,采用內(nèi)參數(shù)為四參數(shù)的攝像機(jī)模型,世界坐標(biāo)系OWXWYWZW建立在標(biāo)定參照物上,假設(shè)選取的特征點(diǎn)世界坐標(biāo)已知,可得:
式中:(u,v)—特征點(diǎn)在攝像機(jī)圖像坐標(biāo)系中的坐標(biāo);(xw,yw,zw)—特征點(diǎn)在世界坐標(biāo)系中的坐標(biāo)。
將上式展開并消去zc得:
在世界坐標(biāo)系中,對于n 個已知坐標(biāo)的特征點(diǎn),則可由式(2)得到2n 個方程構(gòu)成的方程組,如下:
根據(jù)Faugeras 傳統(tǒng)的方法,由于m34≠0,兩邊同除以m34,該方程可簡化表達(dá)為:Am′=B,式中:m′=m/m34。運(yùn)用最小二乘法解得:m′=(ATA)-1ATB。
通過上述求解過程,可發(fā)現(xiàn)Faugeras 先行求解間接向量m′,然后根據(jù),求解m34。此時誤差已引入,且誤差較大,另外由它產(chǎn)生的其它參數(shù)誤差也相應(yīng)較大。Faugeras 方法缺點(diǎn)是對于攝像機(jī)標(biāo)定模型只當(dāng)成一般數(shù)學(xué)問題求解,將各個參數(shù)混在一起形成m 向量,并先解出該向量,容易使不同數(shù)量級的參數(shù)混合,造成誤差增大。而且規(guī)定采集的圖像像素點(diǎn)不能在同一平面上,否則造成參數(shù)求解殘缺。若采用平面的多個像素點(diǎn)求解,一般仍然需要兩個不同平面的像素點(diǎn)來補(bǔ)足參數(shù),共同求解。
Faugeras 的方法未利用在標(biāo)定時,已經(jīng)存在的現(xiàn)成條件或者近似條件,比如對于絕大部分相機(jī),可以認(rèn)為,或者規(guī)定相機(jī)中軸就穿過圖像的中心點(diǎn),即(u0,v0),因此可以近似認(rèn)為 u0,v0是已知,這樣內(nèi)參數(shù)只剩下kx與ky,而這兩個值一般很接近,甚至也可用一個值表達(dá),如此,內(nèi)參幾乎只剩一個參數(shù)。加上外參數(shù)的旋轉(zhuǎn)向量之間有約束非獨(dú)立,這可以被利用來求解,可避免Faugeras 將其混合起來的做法,有利于參數(shù)求解精度的提高。
提出的新方法如下,根據(jù)式(2)列出基本方程組:將m14及m24單獨(dú)放在右邊,考慮m14,m24不帶其它參數(shù),雖然其本身帶的內(nèi)外參數(shù)不少,但在下面的推導(dǎo)中可以將其進(jìn)行處理,利于問題的求解。
(4)式中的第一式兩邊同除以m14,若有n 個像素點(diǎn),可形成方程組如下:
所以前述方程組可記為向量與矩陣形式:Aumu=Bu。式中:Au-n×7 矩陣,Bu-n 行的列向量。
通過最小二乘法解出mu 向量后,根據(jù)式(1)與式(6)可知:
對式(4)的第二式兩邊同除以m24,得:Avmv=Bv。其中,
由式(6)與式(8)可知,
第四步,求解向量p。
由于m34即pz可由mu的相關(guān)參數(shù)解出,也可由mv解出,即pz=mu34(kxpx+u0pz)且 pz=mv34(kypy+v0pz)。
則:
根據(jù)pz初始值可求出px,py的初始值,代入上述方程組,建立超定方程組求最小二乘解對其進(jìn)行優(yōu)化即可得到px,py,pz的精確解。
為了進(jìn)行對比實(shí)驗(yàn),選用三維棋盤格立體靶標(biāo)。先后采用Matlab 標(biāo)定工具箱(基于張正友標(biāo)定法)、Faugeras 標(biāo)定法、新的線性標(biāo)定法進(jìn)行標(biāo)定。通過攝像機(jī)拍攝20 張圖片,如圖1所示。圖像大小為640*480 個像素點(diǎn),經(jīng)過計(jì)算機(jī)測定得到角點(diǎn)坐標(biāo),每幅圖像采集10 組角點(diǎn)(特征點(diǎn))的圖像像素坐標(biāo)和世界坐標(biāo)。
圖1 標(biāo)定圖像Fig.1 Calibration Images
首先利用Matlab 標(biāo)定工具箱即張正友標(biāo)定法進(jìn)行標(biāo)定,得到內(nèi)參數(shù)矩陣為:
對于新的線性方法,實(shí)驗(yàn)中選取主點(diǎn)坐標(biāo)值為:u0=320/pixel,v0=240/pixel。對其使用VC 程序進(jìn)行實(shí)現(xiàn),具體界面,如圖2 所示。利用Faugeras 方法與新的標(biāo)定方法進(jìn)行標(biāo)定,選取其中5 組內(nèi)參數(shù)結(jié)果,如表1 所示。
圖2 新的線性標(biāo)定方法程序?qū)崿F(xiàn)界面Fig.2 Program Interface of the New Linear Calibration Method
表1 內(nèi)部參數(shù)結(jié)果比較Tab.1 Comparison of Internal Parameter Results
由所采集的標(biāo)定圖像中選取一幅圖像對外參數(shù)進(jìn)行對比,張正友標(biāo)定法得到的外部參數(shù)為:
Faugeras 標(biāo)定法得到的外部參數(shù)為:
新方法得到的外部參數(shù)為:
解得攝像機(jī)全部參數(shù)之后,利用所求參數(shù)根據(jù)式(1),反推像素點(diǎn)的坐標(biāo)值,并將平均像素誤差作為判別標(biāo)定結(jié)果精度高低的一個標(biāo)準(zhǔn)。
平均像素誤差[9]為:
式中:(ui,vi)—像素點(diǎn)坐標(biāo)的實(shí)際值—用實(shí)際三維世界坐標(biāo)點(diǎn)推算出的坐標(biāo)值;N—選取角點(diǎn)的個數(shù)。
平均像素誤差Δrˉ的值越小[10],則表明所得結(jié)果越好,誤差越小。經(jīng)計(jì)算,對于20 幅圖像,F(xiàn)augeras 標(biāo)定法的平均像素誤差為13.5586mm,改進(jìn)方法的平均像素誤差為4.8386mm,結(jié)果表明,新的線性方法的精度高于傳統(tǒng)的Faugeras 標(biāo)定法。根據(jù)上述實(shí)驗(yàn)結(jié)果,可發(fā)現(xiàn)利用新的線性方法標(biāo)定出的參數(shù)與張正友標(biāo)定的結(jié)果更加接近。另外從表1 可發(fā)現(xiàn)Faugeras 方法標(biāo)定出的圖像中心點(diǎn)u0,v0有時偏差較大,顯然不符合實(shí)際在(320,240)附近的情況。而新方法這種假設(shè)與實(shí)際情況更符合,其也帶來其它標(biāo)定參數(shù)精度的提高。但是新的線性方法標(biāo)定所得的內(nèi)參數(shù)對于個別圖像具有偶然性,建議以多幅圖像進(jìn)行標(biāo)定,再對最終結(jié)果進(jìn)行迭代優(yōu)化。提出的新方法,未考慮畸變以及未采用優(yōu)化算法,便已得到了較高精度,為以后獲得更高精度奠定了良好的基礎(chǔ)。
傳統(tǒng)的Faugeras 標(biāo)定對于攝像機(jī)標(biāo)定模型只當(dāng)成一般數(shù)學(xué)問題求解,并且將不同數(shù)量級的參數(shù)混合在一起形成關(guān)鍵參數(shù)m向量,同時采用從M 矩陣中分解出參數(shù)的方法,并未將變量間的約束關(guān)系考慮在其中,導(dǎo)致誤差一級級增大。而當(dāng)前諸多攝像機(jī)標(biāo)定方法沒有在線性標(biāo)定階段進(jìn)行改善。針對該問題,提出了一種改進(jìn)的線性標(biāo)定法。該方法將參數(shù)分開求解,操作簡便,相較于Faugeras 方法標(biāo)定精度得到了提高。新方法即由研究人員自己編程實(shí)現(xiàn),與Faugeras 的實(shí)現(xiàn)過程類似,實(shí)現(xiàn)比較簡單,且可在視頻中隨時得到標(biāo)定參數(shù),便于今后用戶自行開發(fā)可用于實(shí)時場合的完整標(biāo)定軟件。集中研究線性標(biāo)定方法的改進(jìn),今后將進(jìn)一步研究在新方法中考慮鏡頭畸變以及優(yōu)化,有望得到更精確的解。