一、相機(jī)
1、雙目相機(jī)的D、P、K、R矩陣是相機(jī)標(biāo)定時(shí)得到的一組重要參數(shù),它們分別代表以下含義:
-
D矩陣:畸變矯正參數(shù)矩陣。它包含了相機(jī)圖像坐標(biāo)系下的徑向畸變和切向畸變系數(shù),用于將畸變像素坐標(biāo)轉(zhuǎn)化為無畸變的像素坐標(biāo)。對(duì)每個(gè)相機(jī)而言都有一個(gè)D矩陣。
-
P矩陣:投影矩陣。它包含了左右兩個(gè)相機(jī)的內(nèi)參數(shù)和外參數(shù)信息,可以把3D空間中的點(diǎn)映射到左右兩個(gè)相機(jī)圖像平面上的像素坐標(biāo)。對(duì)每個(gè)相機(jī)而言都有一個(gè)P矩陣。
-
K矩陣:內(nèi)參矩陣。它描述了相機(jī)光軸、焦距、光心等內(nèi)部參數(shù)。對(duì)每個(gè)相機(jī)而言都有一個(gè)K矩陣。
-
R矩陣:旋轉(zhuǎn)矩陣。它描述了左相機(jī)坐標(biāo)系到右相機(jī)坐標(biāo)系的旋轉(zhuǎn)關(guān)系。也就是說,當(dāng)我們?cè)谧笙鄼C(jī)拍攝一張圖像時(shí),R矩陣可以將同一個(gè)場(chǎng)景在右相機(jī)下的對(duì)應(yīng)點(diǎn)的坐標(biāo)姿態(tài)與左相機(jī)下的對(duì)應(yīng)點(diǎn)的坐標(biāo)姿態(tài)聯(lián)系起來。
-
相機(jī)的投影矩陣P可以通過相機(jī)參數(shù)來計(jì)算得到。一般來說,相機(jī)參數(shù)包括內(nèi)參和外參兩個(gè)部分,其中內(nèi)參表示相機(jī)的內(nèi)部參數(shù),如焦距、像素大小等,而外參則表示相機(jī)在空間中的位置和朝向。
對(duì)于透視投影,相機(jī)的投影矩陣可以使用以下公式進(jìn)行計(jì)算
P = K [R | t]
其中,
K
是內(nèi)參矩陣,R
是旋轉(zhuǎn)矩陣,t
是平移向量。將它們組合成外參矩陣[R|t]
,然后再乘以內(nèi)參矩陣K
,就得到了相機(jī)的投影矩陣P
。如果相機(jī)已經(jīng)標(biāo)定好了,那么它的內(nèi)參矩陣和外參矩陣都可以通過標(biāo)定得到。如果沒有標(biāo)定,則需要根據(jù)實(shí)際情況自行估計(jì)這些參數(shù)。
二、計(jì)算相機(jī)運(yùn)動(dòng)
- 單目相機(jī):只知道2D像素坐標(biāo),根據(jù)兩組2D點(diǎn)估計(jì)運(yùn)動(dòng)。使用對(duì)極幾何解決。
- 相機(jī)為雙目、RGB-D時(shí),或者獲取了距離信息,那么問題就是根據(jù)兩組3D點(diǎn)估計(jì)運(yùn)動(dòng)。通常用ICP求解。
- 若一組為3D,一組為2D,即得到一些3D點(diǎn)和它們?cè)谙鄼C(jī)的投影位置,也能估計(jì)相機(jī)運(yùn)動(dòng),通過PnP求解。
對(duì)極幾何2D-2D
對(duì)極約束:
對(duì)極約束簡(jiǎn)潔地給出了兩個(gè)匹配點(diǎn)的空間位置關(guān)系。相機(jī)位姿估計(jì)問題簡(jiǎn)化為一下兩步:
- 根據(jù)配對(duì)點(diǎn)的像素位置求出E或者F。
- 根據(jù)E或者F 求出R,t.
相機(jī)內(nèi)參已知,求解E更簡(jiǎn)單。
根據(jù)已經(jīng)求出的本質(zhì)矩陣E,恢復(fù)出相機(jī)的運(yùn)動(dòng)R,t. 可通過奇異值(SVD)分解得到。
從E分解到R, t的過程中,如果相機(jī)發(fā)生純旋轉(zhuǎn),導(dǎo)致t為0,那么,得到的E也將為0,這將導(dǎo)致無法求解R??梢砸揽縃(單應(yīng)矩陣)求取旋轉(zhuǎn),但僅有旋轉(zhuǎn)時(shí),無法用三角測(cè)量估計(jì)特征點(diǎn)的空間位置。
單目初始化不能只有旋轉(zhuǎn),必須要有一定長(zhǎng)度的平移。
在單目SLAM中,需要通過三角測(cè)量(Triangulation)的方法估計(jì)地圖點(diǎn)的深度。(必須有平移)
三角測(cè)量:通過對(duì)不同位置同一個(gè)路標(biāo)點(diǎn)進(jìn)行觀察,從觀察到的位置推斷路標(biāo)點(diǎn)的距離。
提高三角化的精度有兩種辦法:
- 提高特征點(diǎn)的精度,即提高圖像分辨率
- 使平移量增大。
平移太大可能呆滯匹配失效;平移太小,則三角化精度不夠。這個(gè)問題也叫“視差”。
3D-2D:PnP
PnP使求解3D到2D點(diǎn)對(duì)運(yùn)動(dòng)的方法。特征點(diǎn)的3D位置可以由三角化或者RGB-D相機(jī)的深度圖確定。
- 在雙目或RGB-D的視覺里程中,我們可以直接使用PnP估計(jì)相機(jī)運(yùn)動(dòng)。
- 在單目視覺里程計(jì)中,必須先進(jìn)性初始化,才能使用PnP。
3D-2D方法不需要使用對(duì)極約束,又可以在很少的匹配點(diǎn)中獲得較好的運(yùn)動(dòng)估計(jì),是一種最重要的姿態(tài)估計(jì)方法。
PnP求解方法:直接線性變換(DLT)、EPnP、UPnP、構(gòu)建最小二乘法并迭代求解(光束平差法Bundle Adjustment,BA)
Bundle Adjustment
重投影誤差的非線性最小二乘問題。這一類把相機(jī)和三維點(diǎn)放在一起進(jìn)行最小化的問題。統(tǒng)稱為Bundle Adjustment。文章來源:http://www.zghlxwxcb.cn/news/detail-437670.html
如果相機(jī)是連續(xù)運(yùn)動(dòng)的,也可以直接使用BA求解相機(jī)位姿。文章來源地址http://www.zghlxwxcb.cn/news/detail-437670.html
到了這里,關(guān)于視覺里程計(jì)學(xué)習(xí)筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!