計算機視覺基礎——相機運動位姿估計

運動估計前提假設

求解相機運動估計我們先有問題求解的前提假設:
在這裏插入圖片描述
我們先不用考慮兩張圖片的特徵點匹配問題。 假設我們已經得到了一對配對好的特徵點,我們通過2D點的對應關係恢復出來相機的運動,。
相機運動估計的步驟如下:
在這裏插入圖片描述
最後我們可以通過這種方式進行3D點的重建。

對極幾何約束

首先,我們先來了解相關定義和術語
在這裏插入圖片描述

在這裏插入圖片描述在第一個相機座標下,我們有像素點m1m_1,和3D點座標X,我們可以得到相關公式
λ1m1=K1X\lambda_1m_1 = K_1X
在第二個相機座標下,我們有
λ2m2=K2(RX+t)\lambda_2m_2 = K_2(RX+t)
爲了簡化計算,我們可以把相機的內參矩陣設置成單位矩陣。由於我們求解問題時候要用到3D點的座標,但我們不知道,所以要有第二個相機的R,t信息,但現在這個信息也是不知道的,我們的λs\lambda_s最後是不包含在方程式中的。
m2=Rm1+tm_2 = Rm_1+t爲了消除t矩陣,我們打算等式兩邊同時與t作外積,
得到
[t]xm2=[t]xRm1[t]_xm_2=[t]_xRm_1
在這裏插入圖片描述對極約束證明我們可以在沒有3D信息的情況下,只通過2D點來獲得R,t信息。

線性代數表達在第二個照相機視角下的圖像裏epipolar line 的表達(證明略),
l=(K)T[t]xRK1ml'=(K')^T[t]_xRK^{-1}mK爲相機的內參矩陣,R,t爲兩個座標系的相對運動。
我們可以得到基礎矩陣F和本質矩陣E。
E=[t]xRE=[t]_xR
F矩陣的自由度問題,3×33\times3矩陣本身含有9個元素,約分某一個元素得到1,我們的變量數目爲8,由於不是滿秩矩陣,又降了一個自由度,最後自由度爲7。
E矩陣的自由度爲5(由於尺度等價性)。
在這裏插入圖片描述
我們通過八點法可以估計出本質矩陣。
【如何從已經估計出來的本質矩陣恢復出相機的運動,R,t?】
我們通過奇異值分解SVD得到4個解,具有正的深度爲正確的解。

擴展:

null space,singular matrices,rank deficiency,zero determinant,SVD(Singular Value Decomposition)

總結相機位姿估計問題:

  1. 根據配對點的像素位置求解本質矩陣E或者基礎矩陣F
  2. 根據E,F求解出R,t

隨機抽樣一致算法

異常值對於運動估計的結果有不可忽略的影響,我們之前學過的最小二乘法擬合函數對於錯誤數據很敏感,會使得最優化結果並不是我們的期望。所以我們引入隨機抽樣一致算法。
隨機抽樣一致算法(Random sample consensus,RANSAC)相關介紹
CV算法:RANSAC

RANSAC是在有多餘配對點,但這些配對點有可能是outlier的情況下,多次嘗試並反饋其他也是inlier的情況,選擇inlier最多的。

How many iterations does RANSAC need?
k=log(1p)log(1wm)\mathrm{k}=\frac{\log (1-\mathrm{p})}{\log \left(1-\mathrm{w}^{\mathrm{m}}\right)}
視覺SLAM之RANSAC算法用於消除圖像誤匹配的原理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章