朱 晨
(1.中國(guó)科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所上海200050;2.上海科技大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海201210;3.中國(guó)科學(xué)院大學(xué)北京101407)
多相機(jī)系統(tǒng)在虛擬現(xiàn)實(shí)[2]、三維地圖構(gòu)建[5]和機(jī)器人視覺(jué)[12]中被大量應(yīng)用。對(duì)這些系統(tǒng)中的所有相機(jī)間的外參(相對(duì)位置與姿態(tài))進(jìn)行精確而又高效的標(biāo)定對(duì)于這些應(yīng)用的成功至關(guān)重要。因而,多種標(biāo)定方法被提出以用于應(yīng)對(duì)沒(méi)有重疊視場(chǎng)[9-10,12-13,16-17]或是在線(xiàn)標(biāo)定[11,14-15]等場(chǎng)景。我們?cè)诒疚闹姓故疽环N基于平面SfM[1]的、無(wú)需相機(jī)間具有重疊視場(chǎng)的標(biāo)定方法。該方法可以看成手眼標(biāo)定[3-4]在多相機(jī)系統(tǒng)中的一種擴(kuò)展,它無(wú)需平面具有特定的圖案(如棋盤(pán)格等)。在本文的實(shí)驗(yàn)部分,我們將展示通過(guò)一些由隨機(jī)平面圖案構(gòu)成的標(biāo)定物或是一般的室內(nèi)場(chǎng)景進(jìn)行標(biāo)定,從而驗(yàn)證該方法的廣泛應(yīng)用場(chǎng)景與實(shí)際價(jià)值。
本文考慮標(biāo)定Nc≥2個(gè)相對(duì)位置固定的相機(jī)之間外參的問(wèn)題。參考相機(jī)Cr和某相機(jī)Ci間的外參表示將Ci變換到Cr的旋轉(zhuǎn)和平移變換,表示為:

rir為Rir對(duì)應(yīng)的羅格斯旋轉(zhuǎn)向量。我們進(jìn)行外參標(biāo)定的方法基于Structure form Motion(SfM),通過(guò)對(duì)相機(jī)在N個(gè)位置獲得的圖片進(jìn)行特征提取與計(jì)算來(lái)估算場(chǎng)景中主要平面的幾何參數(shù),并在同時(shí)估算相機(jī)的運(yùn)動(dòng)參數(shù)。通過(guò)剛體約束和運(yùn)動(dòng)參數(shù),進(jìn)一步估算與優(yōu)化相機(jī)外參。用表示Ci坐標(biāo)系中的第j個(gè)SURF特征點(diǎn),為Ci的第k個(gè)位置相對(duì)于初始位置的旋轉(zhuǎn)與平移,則在此過(guò)程中特征點(diǎn)的變換方程為:

相機(jī)Ci,Cr間滿(mǎn)足的剛體約束為:

其中si為表示尺寸不定性的非負(fù)標(biāo)量。解以上方程便可得到相機(jī)間的關(guān)系以及運(yùn)動(dòng)參數(shù)。圖1顯示了這些變量間的關(guān)系。

圖1 變量關(guān)系
相機(jī)的外參可以通過(guò)檢測(cè)與跟蹤場(chǎng)景中的某個(gè)平面來(lái)估算,而平面在一般的室內(nèi)室外場(chǎng)景中都很常見(jiàn)。
給定Ci拍攝的N張圖片,我們首先匹配圖片中的SURF特征來(lái)得到M個(gè)特征點(diǎn)的軌跡,每條軌跡可寫(xiě)為,其中P,q分別代表起始幀和結(jié)束幀,為第k個(gè)特征點(diǎn)在第k幀中的坐jj標(biāo)。在三維坐標(biāo)系中的平面表示為,其中d為該平面到相機(jī)的距離。該平面上的所有點(diǎn)的變換滿(mǎn)足一個(gè)單應(yīng)性變換關(guān)系。記,則

我們提出一種改進(jìn)版的TRASAC[1]算法對(duì)場(chǎng)景中的平面進(jìn)行檢測(cè)與追蹤。該算法與RANSAC類(lèi)似,需要多次嘗試擬合運(yùn)動(dòng)參數(shù),然后選擇最好的參數(shù)。TRASAC算法在每次嘗試中,先隨機(jī)選擇2個(gè)連續(xù)幀(Fk-1,F(xiàn)k),然后再隨機(jī)選擇4條軌跡來(lái)估算Hk(k+1)。接下來(lái),將投影誤差的軌跡劃分到,表示該軌跡屬于該平面。然后在相鄰幀F(xiàn)k+1屬于的軌跡中隨機(jī)選擇4條,再次重復(fù)同樣過(guò)程,直到所有幀之間的單應(yīng)矩陣都已經(jīng)算得。
由于在我們的應(yīng)用中相機(jī)移動(dòng)的距離可能較大,SURF特征點(diǎn)出現(xiàn)誤匹配的可能性更高,我們需要更加嚴(yán)格的標(biāo)準(zhǔn)濾除誤匹配的特征點(diǎn)。所以,我們對(duì)獲得的軌跡做進(jìn)一步的過(guò)濾,僅保留誤差屬于一定閾值內(nèi)的軌跡,即:

最終,我們可以獲得從第一幀到第k幀的單應(yīng)矩陣。
給定Ci的單應(yīng)矩陣后,我們可以計(jì)算對(duì)應(yīng)的。我們最多可以得到4個(gè)解,其中物理可行解有2個(gè)。通過(guò)獲取N≥3組單應(yīng)矩陣,我們就可以找到唯一解。
得到每個(gè)相機(jī)的運(yùn)動(dòng)參數(shù)后,根據(jù)[7]可知,其中。我們通過(guò)解如下的優(yōu)化問(wèn)題獲得Rir:

該優(yōu)化問(wèn)題有閉合解


其中


通過(guò)如上方式獲得的參數(shù)不是全局最優(yōu)解,因?yàn)閱螒?yīng)矩陣是通過(guò)2幀之間的關(guān)系得到的,并不一定與所有N幀的數(shù)據(jù)一致。我們介紹一種基于平面的集束調(diào)整法來(lái)同時(shí)優(yōu)化參考相機(jī)的外參,其他所有相機(jī)到參考相機(jī)的變換參數(shù)以及平面場(chǎng)景的幾何參數(shù)。

其中

這里∈為將一條軌跡歸為離群值的懲罰系數(shù)。與適用于普通3D場(chǎng)景的SfM不同的地方在于,該方法不需要估算特征點(diǎn)的3D坐標(biāo),因而它更為魯棒。
為了優(yōu)化如上的非線(xiàn)性目標(biāo)函數(shù),我們采用一種交替優(yōu)化的方式,在估算場(chǎng)景結(jié)構(gòu)和運(yùn)動(dòng)參數(shù),以及劃分軌跡集合間交替:
給定參數(shù),通過(guò)比較劃分為離群值和非離群值的乘法大小對(duì)軌跡分類(lèi):

在本章我們通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證本文的模型在仿真數(shù)據(jù)和真實(shí)數(shù)據(jù)上的表現(xiàn),并與現(xiàn)有的其他標(biāo)定方法進(jìn)行對(duì)比,以驗(yàn)證其有效性。

圖2 仿真實(shí)驗(yàn)相機(jī)與特征點(diǎn)位置示意圖
在仿真數(shù)據(jù)實(shí)驗(yàn)中,我們主要與SOCP[4]和基于分支定界的[3]對(duì)比。我們使用和這兩種方法類(lèi)似的實(shí)驗(yàn)設(shè)定。我們構(gòu)造一個(gè)雙攝像機(jī)組合{Cr,Ct},估算這兩個(gè)相機(jī)之間的位置關(guān)系。這兩個(gè)相機(jī)的位置關(guān)系如圖2所示。
其中,rtr=[1.452 0,-0.660 7,-1.160 7],ttr=[12.256 0,-225.416 6,-128.985 1]。我們生成100個(gè)位于相機(jī)前方700單位矩形區(qū)域內(nèi)均勻隨機(jī)分布的100個(gè)特征點(diǎn)。我們還另外隨機(jī)生成了9組位置以排除隨機(jī)因素。由于特征點(diǎn)的位置估算存在誤差,我們?cè)?種不同的噪聲大小下測(cè)試各個(gè)方法估算相機(jī)位置的誤差。我們采用基于平面的SfM對(duì)SOCP的估算進(jìn)行初始化。
實(shí)驗(yàn)結(jié)果如圖3和圖4所示??梢?jiàn)本文的方法在各種噪聲水平下均優(yōu)于其余2種方法。

圖3 仿真實(shí)驗(yàn)旋轉(zhuǎn)向量誤差對(duì)比

圖4 仿真實(shí)驗(yàn)平移參數(shù)對(duì)比
在本組實(shí)驗(yàn)中,我們標(biāo)定固定在相機(jī)架上的16個(gè)GoPro Hero 4相機(jī)之間的位置關(guān)系。我們選擇其中一個(gè)相機(jī)作為參考相機(jī),標(biāo)定過(guò)程中使其采集一個(gè)棋盤(pán)格的照片,并使用[8]檢測(cè)棋盤(pán)格角點(diǎn),剩余的15個(gè)相機(jī)則對(duì)著7張隨機(jī)的平面圖樣,通過(guò)SURF特征匹配以及平面SfM估算運(yùn)動(dòng)參數(shù)。
我們采集40組圖片,將標(biāo)定后得到的結(jié)果與Matlab標(biāo)定工具箱的標(biāo)定結(jié)果進(jìn)行對(duì)比,結(jié)果如圖5圖6所示。其中,Matlab工具包的標(biāo)定結(jié)果為使用棋盤(pán)格依次標(biāo)定相鄰相機(jī)所得。由圖可見(jiàn),本文的方法能在真實(shí)場(chǎng)景中較為準(zhǔn)確地標(biāo)定相機(jī)外參。

圖5 旋轉(zhuǎn)參數(shù)與Matlab工具箱的偏差

圖6 平移參數(shù)與matlab工具箱的偏差
在本文中,我們介紹了一種魯棒而又靈活的多相機(jī)外參標(biāo)定法,它不要求相機(jī)有重疊的視野,通過(guò)場(chǎng)景中的平面結(jié)構(gòu)來(lái)估算相機(jī)運(yùn)動(dòng)參數(shù)以及相機(jī)外參,并進(jìn)一步通過(guò)集束調(diào)整優(yōu)化相機(jī)參數(shù)。該方法在仿真實(shí)驗(yàn)和真實(shí)數(shù)據(jù)實(shí)驗(yàn)中都取得了較好的效果。