1 前言
雙目相機標(biāo)定,從廣義上講,其實它包含兩個部分內(nèi)容:
兩臺相機各自誤差的標(biāo)定(單目標(biāo)定)
兩臺相機之間相互位置的標(biāo)定(狹義,雙目標(biāo)定)
在這里我們所說的雙目標(biāo)定是狹義的,講解理論的時候僅指兩臺相機之間相互位置的標(biāo)定,在代碼實踐的時候,我們才說完整的雙目標(biāo)定。 首先來思考一個問題:為什么要進行雙目標(biāo)定?
這是因為在許多三維重建算法中,我們都要知道兩臺相機之間的相對位置關(guān)系,這樣才能進行距離計算。
基線:兩個光心的連線稱為基線;
極平面:物點(空間點M)與兩個光心的連線構(gòu)成的平面稱為極平面;
極線:極平面與成像平面的交線
極點:極線的一端,基線與像平面的交點
像點:極線的一端,光心與物點連線與像平面的交點;
可以看出:
校正前,相機的光心不是相互平行的
校正后,極點在無窮遠處,兩個相機的光軸平行,像點在左右圖像上的高度一致
標(biāo)定+校正后圖片: 圖1 立體校正后左右相機圖像發(fā)生一定扭曲這樣的好處是:比如后續(xù)的立體匹配時,只需在同一行上搜索左右像平面的匹配點即可,能使效率大大提高。
注:可以看出來,最重要的,我們要知道右相機相對于左相機的位姿關(guān)系,那我們才可以做校正!
2 單目理論回顧
先來回顧下單目標(biāo)定理論,理想的單目相機模型可以簡化為:
而四大坐標(biāo)系,包括世界坐標(biāo)系、相機坐標(biāo)系、圖像坐標(biāo)系、像素坐標(biāo)系,它們之間的轉(zhuǎn)換關(guān)系如下:
最終,從理想的相機模型,從世界坐標(biāo)系到像素坐標(biāo)系的轉(zhuǎn)換關(guān)系:
但由于制造原因,使得成像過程(從相機坐標(biāo)系到圖像坐標(biāo)系轉(zhuǎn)換過程中)存在著畸變,主要有兩類,徑向畸變和切向畸變,它們可以通過以下公式進行修正:
3 雙目標(biāo)定公式推導(dǎo)
圖3 標(biāo)定模型 [2] 記:
另外,右相機主點相對于左相機主點,顯然還有:
代入上式,因為拍攝了多張圖片,利用最小二乘法,也可以是奇異值分解(數(shù)學(xué)的部分比較復(fù)雜,在這里忽略),總而言之,最小化誤差,即可得到我們最佳估計的 矩陣,有了這兩個矩陣,我們做個旋轉(zhuǎn)、平移就可以了。 注:雖然得到了旋轉(zhuǎn)、平移矩陣,也但是極線校正的方法有很多,這個我們之后講。
4 極線校正理論推導(dǎo)
雙目標(biāo)定后,我們得到了右相機相對于左相機的位姿關(guān)系,也就是R、T矩陣,下面一步即做極線校正。校正好處是之后做立體匹配搜索的時候,只需要在同高度附近進行搜索,大幅提升效率。根據(jù)前文的推導(dǎo),在獲取了R、T矩陣后,我們就要進行極線校正(立體校正),使兩部相機光軸平行,如下所示:
圖4(a) 立體校正前 [2]圖4(b) 立體校正后 [2]
但是平行的方法有很多,可以:
左相機不動,右相機動。
也可以兩部相機旋轉(zhuǎn)到中間等等。
最常見的校正方法就是Bouguet極線校正方法。
Bouguet極線校正方法:左右相機成像平面各旋轉(zhuǎn)一半,使得左右圖像重投影造成的誤差最小,左右視圖的共同面積最大。
具體步驟(這塊理論推導(dǎo)可以去看論文,這里只給出結(jié)論,看不懂沒關(guān)系,不妨礙我們使用它):
得到這兩個變換矩陣,左、右相機分別乘以這兩個矩陣即可完成變換,其中已經(jīng)包含了平移信息!
再計算重投影矩陣,其實現(xiàn)了像素坐標(biāo)系(左相機)到世界坐標(biāo)系之間的轉(zhuǎn)換:
校正后,可以根據(jù)需要對圖像進行裁剪,需重新選擇一個圖像中心,和圖像邊緣從而讓左、右疊加部分最大。
責(zé)任編輯:lq6
-
三維
+關(guān)注
關(guān)注
1文章
511瀏覽量
29010 -
雙目標(biāo)定
+關(guān)注
關(guān)注
0文章
2瀏覽量
1316
原文標(biāo)題:一文詳解雙目相機標(biāo)定理論
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論