SLAM筆記(四)運動恢復結構的幾何數學(本徵矩陣、單應矩陣、基礎矩陣)
1. 間接法進行運動恢復的前提假設
對於結構與運動或視覺三維重建中,通常假設已經通過特徵匹配等方法獲取了匹配好的點對。
先求出匹配點對再獲取結構和運動資訊的方法稱作間接法。
間接法最重要的三個假設是:
1.擁有一系列兩幀之間的匹配點對。但同時假設匹配關係不一定精確:
- 匹配點不一定精確,即對於匹配點對 ,可能並非的真實匹配 點,而是在它周圍;
- 匹配關係不一定正確。
2.場景是靜態的,即環境中不存在運動的物體
3.知道相機內參數且內參數恆定不變
此處的匹配點,可以是2D-2D
2.極線約束,本徵矩陣
2.1 極線約束:
物理世界上的一個三維點P投影到兩個成像面(實際上像面也常常處理成z=1的地方)上,點P與兩個像面的光心形成一個對極平面,分別為對極平面與像平面相交的極線。
極線約束是指對第一個成像面上的點p1,它在第二個平面上的對應點p2總存在於對應的極線上。
用表示像平面座標的話,為內參數矩陣,P為相機座標系三維點;如果已知內參數,則可以去掉的影響,即令,得到
即:
(2-1)
此處的可以看做是平面上的點。
2.1.1 極線約束(Epipolar constraint,essential constraint,bilinear constraint):
對於兩幀之間的歸一化座標,
其推導過程如下:
1。由於(相機座標系下世界座標),則可得:
R,T分別為旋轉和平移矩陣。
2.左右分別左乘,即得到
3.左乘,除掉影響:(將此縮放因子放入E中,此縮放因子在4部分會介紹),將上式左右兩邊投影到上,即左乘上,左側即為0(因為),得極線約束:
注:
上述2,3過程中,都是不可逆的,因此這兩個投影都是不可逆投影(與下文的可逆投影–單應性不同);某種意義上這兩個過程將強約束轉化成弱約束了,但獲得的好處是將二維點直接聯絡起來,不用考慮三維點。
2.1.2 極線約束的幾何意義
分別為從光心發出的向量。由於T為光心之間連線的向量,三個向量共面,所以該triple product為0。
對於式$ x_2^TEx_1=0l=Ex_1$
(結果為{a,b,c},對應於右側像平面座標上的直線ax+bx+c=0),則存在:,即存在於右側極線l上
2.1.3 本徵矩陣
令本徵矩陣(Essential Matrix):,則:
(2-2)
E組成的空間稱為本徵空間:
本徵矩陣定義:
一個非零矩陣當且僅當(充要條件)svd 分解中是:
時,這個矩陣是本徵矩陣。
為什麼特徵空間需要這樣定義?
1.為什麼秩為2?由於rank() = 3;rank()=2,所以E為2。
2.為什麼特徵值相等?Since in the reconstruction, E is only defined up to a scalar
此時可由E求得R和T:
因此視覺SFM(structure of motion)問題中恢復分兩步走:
- Recover the Essential Matrix frome the epipolar constraints
- Extract the R,T if we know the Essential Matrix:E=UV
從一系列極線約束中恢復的矩陣E一般是不滿足本徵矩陣的條件的;怎麼辦,再將E投影到本徵空間即可,具體做法是稱為八點法。
###3.運動資訊重建(旋轉和平移資訊)
####3.1 八點法(Eight-Point Algorithm)
#####3.1.1從點對中求解出矩陣E
先將矩陣E寫作棧的形式:
同時,假設點的齊次向量表示成如下形式:
則極線約束可換成兩個向量乘積的形式:
對於n個點對:上式為:
因此求解E變成求解方程(2-3),即的零空間E。為了得到唯一解(除了平凡解E=0),的秩應該是8。至少需要8個點對,即的列數為8,rank()才可能為8。當然,假如點對中某些點相互之間是線性相關,比如3個或以上的點在同一直線上,或者4個或以上點在同一平面上,則秩並非點對個數,此時需要8個以上的點才可能滿足要求。
由於無法知道E的正負(方向),因此結合每個E有兩個可能的(R,T)組合,最終可能有四個可能的(R,T)
#####3.1.2將矩陣E投影到本徵空間中
由於用線性方法求解的往往不滿足上部分2所要求的兩個非零特徵值相等的要求,因此需要將E做一些變換,也即將E投影到特徵空間上,具體做法是:
對於
投影到特徵空間後為:
在三維重建中一般將投影到歸一化的特徵空間上:即除以,得到歸一化的結果