三维重建1-位姿追踪:单应矩阵、本质矩阵和基本矩阵
??????? 從今天起,好好復習一下面試到的題目,把研究生時期學習的,工作時間忘記的東西再補回來。
??????? 本文所寫與原文相距甚遠,如有疑問,請拜訪原文。未經允許大量盜圖,如有不滿,請聯系刪除。 更多的細節請參考多視幾何一書。
??????? 原文鏈接:單應矩陣Homograph matrix、本質矩陣Fundamental matrix、基本矩陣essential matrix——游振興
??????? 在單目重建中,位姿求解一般應用的為本質矩陣。? 在小型室內場景重建過程中,通常狀態下,使用非退化狀態下(深度估計之后所有特征點不分屬于兩個平面)兩幀得到的匹配點,可以通過
? ? ? ?公式:??????? p2^T *F *p1=0
?????? 根據匹配對p1、p2求解 F,進而求出相機位姿變換 R、t 。
?
1.? 透視投影/中心投影
??????? 底片生成:相機模型總結為透視投影,空間點P通過中心投影方式落到焦距 f 固定的底片上,同時丟掉了深度信息。
????? ? 相機內參:定焦固定頭相機會有一個固定的投影關系,其中的參數為相機內參。其他擴展功能相機的內參需要更多的信息獲取。
??????? 投影模型:物體標記為稀疏點模型之后,在世界坐標系中相機以任一位姿(R,t)觀察模型,總能得到唯一的二維平面點位置集合(? S(p) )。
??????
??????? 真空相機模型中,三維點集到圖像底片,理論上遵循透射投影關系,相機表示為內參矩陣K,坐標轉換關系為:
???????
??????? 點集映射到底片上時丟失深度,其中f為相機焦距。dx,dy為像元尺寸,u0,v0為圖像中心。 fx = f/dx ,fy = f/dy 分別為x軸和y軸上的歸一化焦距。內參矩陣一般使用事先標定的方法。
?
2. PNP perspective-n-point
???? ?? N點透視,給出一個世界坐標系標定的物體/三維點集合。依據透射關系,根據平面圖像/N個二維投影點的位置來推算相機的觀察者位姿,為PNP。
?????? 文章:使用OpenCV PNP?
?
3. 核面約束
???? ?? 相機經過位姿轉換,通過對同一個物體和同一組點觀察得到兩幅圖像,同一組點在兩幅圖片中位置和順序不同,但滿足相機透視的 核面約束。
?????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖3.1
?
????? 核面約束:
?? ? ? ? ? ? 上圖中那個等于0的方程:p^T *F*p=0;
?????? 基本矩陣約束關系表現為:
???????這里的基本矩陣約束稱為核線約束,如上圖3.1,如果兩幀之間的一個點坐標,外參矩陣已知,則空間點在另外一幀的坐標被約束在一條極線上,可以用來縮小圖像匹配點的搜索范圍?;揪仃囈部梢杂脕碛嬎銉葏⒕仃?。
?????? 求取位姿:根據一組匹配的點集和極線約束可以得到一個相對固定的位姿轉換( R, t )。
?????? 本質矩陣:其中E矩陣為本質矩陣 Essential Matrix。E矩陣大小為3×3, 理論上旋轉、平移共有6個自由度(3個旋轉,3個平移),因尺度等價,E有5個自由度(z約束為1)。
? ? ? ? E矩陣求解一般使用8點法,求取E矩陣之后,通過SVD分解,恢復出R,t。 當然也可以使用計算解析值的方法,使用五個點對,得到的結果有可能不太準確。
??????? 基本矩陣:其中F矩陣為基本矩陣 Fundamentl Matrix。 根據內參矩陣和本質矩陣,解析出基本矩陣。
?
4. 相機外參
?????? 在小型室內場景重建過程中,通常狀態下,使用非退化狀態下兩幀得到的匹配點,可以通過
?????? 公式:??????? p2^T *F *p1=0
?????? 根據匹配對p1、p2求解F,進而求出相機外參——位姿變換 R、t 。Rt即相機外參。
?????? 本質矩陣是相對相機位姿的簡單函數:
???????????????????? E= S(t)R
?????? 相機運動一般很難測量,且相機有可能未被標定,不能直接用于計算本質矩陣。一般是使用八點法,在E矩陣的線性框架下求解。
?
5. 退化現象/斜面投影
??????? 對一個平面/一組平面上的點進行不同位姿觀察,依然會得到兩個投影面/兩組投影點,這對應了三維稀疏場景重建/SLAM中的退化問題。
???????
約束關系變化為:
????
其中H矩陣為單應矩陣--Homograph Matrix。
?
5. 基本矩陣Fundamental Matrix、本質矩陣Essential Matrix、單應矩陣 Homograph Matrix
????? 5.1 Essential Matrix????
???????????? E= t ^ R 為3*3的矩陣,奇異值為 [ u, u, 0] ^ T 的形式。為本質矩陣的內在性質。
???????????? 性質:理論上綜合旋轉、平移共有6個自由度,因尺度等價,E有5個自由度。
???????????? 求解:一般使用8點法,然后通過SVD分解E矩陣,恢復出R,t 。也可以使用解析法求解E矩陣。
???? 5.2 Fundamental Matrix
??????????? 基本矩陣F和E只差了一個相機內參??? F = K^(-T) *E *K^(-1) ,如果需要,直接帶入求解。
???? 5.3 Homograph Matrix
?????????? 單應矩陣的定義與R、t、平面參數相關,單應矩陣為3*3的矩陣,自由度為8,求解的思路和E、F相似。
?????????? 求解:可用一組不共線的四個匹配點來計算矩陣H。
總結:
????????? 根據圖像來估計位姿,一般稱之為位姿追蹤。非退化狀態下可是根據匹配點求解Essential Matrix ,退化狀態下課根據匹配點來求解 Homograph Matrix。
? ? ? ? ? 可用于實時計算位姿。
?
?
總結
以上是生活随笔為你收集整理的三维重建1-位姿追踪:单应矩阵、本质矩阵和基本矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 醒图怎么画画
- 下一篇: 三维重建2: 地图构建-三角测量