視覺SLAM筆記--第5篇: 基礎矩陣F和單應矩陣H的推導過程,區別分析

參考博客

參考博客:https://blog.csdn.net/try_again_later/article/details/88655563

1. 基礎矩陣F

1.1 Essential Matrix

已知:座標系o, oo^{'},世界座標點P在o下相機座標x,在oo^{'}下相機座標xx^{'}
求解:座標系o到oo^{'}的旋轉矩陣R,和平移矩陣t。
座標系的剛體變換:
x=R(xt)x^{'}=R(x-t) 根據共平面:
(xt)T(t×x)=0(x-t)^{T}(t \times{x})=0說明:由於txt與x共平面,且外積t×xt\times {x}的方向同時垂直於t,xt, x,即垂直於平面oPooPo^{'},又(xt)(x-t)向量在平面oPooPo^{'}內,因此(xt)T(t×x)=0(x-t)^{T}(t \times{x})=0成立。

結合上面兩個公式,可以得到:
(R1x)T([t]×x)=0(R^{-1}x^{'})^{T}([t]_{\times}x)=0轉換之後得到:
xTR[t]×x=0x^{'T}R[t]_{\times}x=0E=R[t]×E=R[t]_{\times} 得到:
xTEx=0x^{'T}Ex=0其中x,xx,x^{'}爲P在兩個相機座標系下的座標。

  • E=E= t ^ R 爲3*3的矩陣,奇異值爲(u,u,0)T(u,u,0)^{T} 的形式, 爲本質矩陣的內在性質。
  • 性質:理論上綜合旋轉、平移共有6個自由度,因尺度等價,E有5個自由度。
  • 求解:一般使用8點法,通過SVD分解,恢復出R,t 。

自由度:E有五個自由度,所以最少用5對點求E,實際中經常使用8點法。

1.2 Fundamental Matrix

利用前面的公式,將相機座標轉換爲像素座標,E便可以轉換爲F,需要知道兩個相機的內參K,KK, K^{'}.

  • 基本矩陣F和E只差了一個相機內參 F=KTEK1F=K^{-T}EK^{-1} ,可以直接帶入求解。
  • 基礎矩陣F表明一個圖像點xx 到另一圖像上對極線L上的映射。

自由度:F自由度爲7。

應用:可通過E恢復出相機運動的R,t。如果初始化遇到了純旋轉的情況,t=(0,0,0),理論矩陣F爲0矩陣,受到噪聲影響,由匹配點對推算F矩陣不爲0,分解後的R,t受到噪聲影響大。

1.3 兩者區別

本質矩陣則是基本矩陣的一種特殊情況,是在歸一化圖像座標下的基本矩陣,可以理解爲本質矩陣對應的座標位於相機座標系,基礎矩陣對應的座標位於圖像平面座標系。

2. 單應矩陣H

求解公式:
x=(R+tnTd)x=Hxx^{'}=(R+\frac{tn^{T}}{d})x=Hx由公式可知,當座標系到固定平面的深度dd遠大於平移矩陣tt時,相機爲純旋轉,即相機在純旋轉後仍然可以通過單應矩陣H分解出RtR,t

  • 單應矩陣的定義與RtR、t、平面參數相關,單應矩陣爲3*3的矩陣,自由度爲8,求解的思路和EFE、F相似。
  • 單應矩陣表明兩個點之間變換H, x=Hxx^{'}=Hx
  • 求解:可用一組不共線的4個匹配點來計算矩陣H。

自由度:H自由度爲8,可通過4對匹配特徵點算出(8點)。

應用:H不像對極約束,它需要場景的結構信息,它要求場景的點必須在同一個平面上,因此單應矩陣H也就能夠對兩圖像上對應點的提供更多的約束,知道了某點在一幅圖像的像點位置後,可以通過單應矩陣,求得其在另一幅圖像中像點的確切位置。相機只有旋轉而無平移的時候,兩視圖的對極約束不成立,基礎矩陣F爲零矩陣,這時候需要使用單應矩陣H,場景中的點都在同一個平面上,可以使用單應矩陣計算像點的匹配點。 相機的平移距離相對於場景的深度較小的時候,也可以使用單應矩陣H。

3. 基礎與單應矩陣區別

  • 單應矩陣適用於特徵點在同一平面上的運動估計場景, 而基礎矩陣則適用於空間中的特徵點運動估計,兩者適用的場景不相同,但是兩者都是表示兩幀圖像像素點的相對運動映射關係。
  • 單應矩陣在純旋轉情況下仍然適用,但是在純旋轉情況下,兩視圖的對極約束不成立,基礎矩陣F爲零矩陣,而由於噪聲存在,基礎矩陣一般不爲0,其分解得到的RtR,t有很大的誤差。

4. 詳細推導求解

在這裏插入圖片描述
在這裏插入圖片描述

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