SLAM前端:本質矩陣、基礎矩陣、單應矩陣

本質矩陣描述了相機內參已知的情況下同一個點不同視角下的關係,5自由度。即已知同一個點在兩幀圖像下的座標,兩個座標、相機內參、本質矩陣滿足對極約束條件(1-1)。

基礎矩陣描述了同一個點在不同視角下的關係,7自由度。

單應矩陣描述了同一平面上的點在不同視角下的關係、即兩個相機座標系下的變換關係,9自由度。

這三個矩陣都用於求解相機的位姿,單應矩陣適合平面場景,其餘兩個適合普通場景。

1 本質矩陣(Essential Matrix)

本質矩陣由對極約束定義,對極約束的推導過程見SLAM前端:對極幾何、三角測量對極約束如下:

                                                                             p_2^T{K^{-1}}^Tt^\wedge RK^{-1}p_1 = 0                                       (1-1)

本質矩陣的定義:

                                                                                      E= t^\wedge R                                                       (1-2)

一般對極幾何求解R、t時不通過直接求解方程組得到,一般通過求解本質矩陣E再矩陣分解得到R與t。由於矩陣E包含了旋轉信息R(3自由度)與平移信息t(3自由度),並且對於式(1-2)等式左右乘以一個數等式依舊成立,一次本質矩陣E沒有尺度信息,少一個自由度,因此爲5自由度。

2 基礎矩陣(Fundamental Matrix)

基礎矩陣同樣由對極約束定義,滿足對極約束條件(1-1),定義如下:

                                                                              F= {K^{-1}}^Tt^\wedge RK^{-1}                                               (1-3)

相比本質矩陣E,基礎矩陣包含了相機內參信息K。基礎矩陣F的自由度爲7,9個位置參數滿足尺度統一性並且F的行列式爲0。爲什麼F的行列式爲0?因爲t^\wedge R的秩爲2,並且K矩陣滿秩可逆。矩陣乘以可逆矩陣,該矩陣的秩不變。

爲什麼t^\wedge R的秩爲2?因爲R可逆,矩陣t^\wedge的秩爲2。

爲什麼矩陣t^\wedge的秩爲2?對其進行初等變換如下:

                                          $\left[ \begin{matrix} 0 & -t_3 &t_2 \\ t_3 & 0 &-t_1\\ -t_2 & t_1 & 0 \end{matrix} \right] -> $\left[ \begin{matrix} 0 & -t_3 &t_2 \\ t_2t_3 & 0 &-t_2t_1\\ -t_2t_3 & t_1t_3 & 0 \end{matrix} \right] -> $\left[ \begin{matrix} 0 & 0 &0 \\ 0 & t_3 &-t_2\\ -t_2 & t_1 & 0 \end{matrix} \right] $

初等變換不改變矩陣的秩。也可以直接用定理:反對稱矩陣的行列式爲0,矩陣不滿秩。

3 單應矩陣

單應矩陣用於描述共同平面上的點在兩張圖之間的對應關係。如果圖像I_1,I_2上的匹配點p_1,p_2位於平面P(x,y,z)上,則有:            

                                                                                      n^TP+d=0

n爲法向量。可以得到:

                                                                                       -\frac{n^TP}{d}=0

對於平面P上的某一點P_0,假設在I_1上的投影點爲p_1,在I_2上的投影點爲p_2I_1,I_2的變換關係爲R,t。可以得到:

                                          p_2 = K(RP_0+t)= K(RP_0+t\cdot (-\frac{n^TP_0}{d}))=K(R-\frac{tn^T}{d})P_0

p_1 = KP_0,即P_0 = K^{-1}p_1得到:

                                                                              p_2 =K(R-\frac{tn^T}{d})K^{-1}p_1

定義單應矩陣爲:

                                                                              H =K(R-\frac{tn^T}{d})K^{-1}

自由度爲9。

參考鏈接:多視圖幾何

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