https://cloud.tencent.com/developer/article/1483521
最近公眾號組織了ORB-SLAM2理論與代碼的學習會,正常進行中,有興趣的可以積極參與第三期:一起來學SLAM
其中ORB-SLAM點雲地圖中相機的位姿初始化,無論算法工作在平面場景,還是非平面場景下,都能夠完成初始化的工作。其中主要是使用了適用於平面場景的單應性矩陣H和適用於非平面場景的基礎矩陣F,程序中通過一個評分規則來選擇適合的模型,恢復相機的旋轉矩陣R和平移矩陣t
那么下面主要講解關於對極幾何中的基礎矩陣,本質矩陣,和單應矩陣之間的區別與聯系。
對極幾何(Epipolar Geometry)描述的是兩幅視圖之間的內在射影關系,與外部場景無關,只依賴於攝像機內參數和這兩幅視圖之間的相對位姿。
兩視圖的對極幾何可以理解為圖像平面與以基線為軸的平面束相交的幾何關系,其中主要有幾種概念:
(1)基線(base line):兩個相機中心的連線CC'稱為基線。
(2)對極點(epipolar):ee'是對極點,是基線與兩個成像平面的交點,也就是兩個相機在另一個成像平面上的像點。
(3)對極平面(epipolar plane):過基線的平面都稱之為對極平面,其中兩個相機的中心C和C',三維點X,以及三維點在兩個相機成像點xx'這五點必定在同一對極平面上,當三維點X變化時,對極平面繞着基線旋轉,形成對極平面束。
(4)對極線(epipolar line):是對極平面和成像平面的交線,所有的對極線都相交於極點。
那么由對極幾何的基本性質引出了對極約束的概念,對極約束是指在平面2上的p點在平面1上的對應點一定在基線I'上,這句話說明了對極約束是一個點到直線的射影映射關系。如圖所示:
根據對極約束可以引出本質矩陣和基礎矩陣。在已知相機標定的情況下,假設有一個三維坐標點P(X,Y,Z)在兩個視圖上的點分別為p1,p2,由於第一個相機的中心作為世界坐標系的原點,也就是說第一個相機沒有旋轉R和平移t,通過小孔相機模型有:
p1=KP, p2=K(RP+t)
其中,K是相機的內參,R,t是第二個相機相對於第一個相機的旋轉和平移。
從p1=KP可以得到
帶入到第二個式子得到
兩邊同時乘以K_1得到
為了方便計算,使用簡化符號 x1,和x2表示為
帶入到
中,
兩邊同時左乘向量t的反對稱矩陣t×,由於t×t=0,消除t,
==========反對稱矩陣=============


==========反對稱矩陣=============
兩邊再同時左乘xT2
由於t×x2是向量t和向量x2的叉積,同時垂直於向量t和向量x2,所以左邊的式子為0得到:
將x1,x2替掉
上式是對極約束的一種表示,該式子中僅包含像點,相機的旋轉和平移,中間的矩陣就是基礎矩陣F:
當K已知時提取中間的矩陣得到本質矩陣E,E矩陣同樣表示的是對極約束的關系,只不過它不再涉及相機內參,只由兩視圖之間的姿態關系決定:
F矩陣的性質有三:
1, 3*3且自由度為7的矩陣
2,kF 為基礎矩陣,相差一個尺度自由度
3,F矩陣的秩為2
基礎矩陣的求解方法:
1,直接線性變換法(8點法+最小二乘法)
2,RANSAC-估計基礎矩陣
