雷鋒網 AI科技評論按,本文作者究竟灰,本文首發于知乎,雷鋒網 AI科技評論獲其授權轉載。
今天去CCCV2017講習班聽了中科院自動化所模式識別國重實驗室的申抒含老師和崔海楠老師的關于基于凸顯的大規模場景三維重建的講習班,把筆記整理了一下。(本文為上篇,內容為第一章:簡介和第二章:稀疏重建。)

主要分為四點展開:
簡介
稀疏重建sfm
稠密重建mvs
資源
1.簡介
首先講了現在cv與類腦。

腦的腹部通道進行物體視覺,現在CV上主要采用基于學習的方法。
腦的背部通道進行空間視覺,現在CV上主要采用基于幾何的方法。
最后上述兩者信息在前額匯集,綜合處理。
接著講了幾何視覺的核心問題:主要是機器人在三維環境中需要:
對二維圖像理解
對三維環境感知
而三維結構和相機的六自由度空間位姿是機器人感知決策動作的基礎信息。

接著講了圖像三維重建的基本流程:

基本流程包括:
多視角圖像
圖像特征提取匹配
稀疏重建Sfm
稠密重建MVS
點云模型化
生成三維模型
然后科普了一下一些基礎知識:
小孔成像:世界中的一個點經過小孔在圖像平面上會形成一個倒立縮小的像。這就形成了幾何相似三角形關系。如果我們把成像平面放到前面來,就是正立縮小的像。具體的焦距、圖像片面,相機中心什么就不贅述了。右下角公式表示通過一個 相似性(比例
) 可以建立圖像坐標系和世界坐標系的關系。

然后說到了無窮遠元素。它們用現在的xyz方法沒辦法表示。

于是提出了射影空間,齊次坐標是射影空間的坐標表達方式:一般的坐標在xyz后面加一個1,無窮遠點最后一個為0.

當然齊次非齊次的坐標轉換通過除以最后一個
來實現。
這里有一個等價關系,即當非齊次坐標通過除以一個值
之后變成齊次而與一個已經存在的齊次坐標相等時為:齊次坐標在相差一個尺度時的等價。

那么小孔成像模型可以表達出來。
為焦距,
為主點:光心與相機平面的交點。

接著介紹了相機坐標系和世界坐標系之間存在一個歐式坐標變換:
中間的矩陣由R轉移矩陣和t平移向量組成。

把兩個式子寫到一起:

可以得到圖像點和空間點的關系。通過相機內參數K 、相機旋轉R和相機平移建立關系。
相機的內參數由相機硬件決定,而旋轉平移由相機位姿決定。空間點是場景結構點。
接著說了由單張圖是無法重建場景結構的。

于是引出了多視圖幾何

然后說求解思路:最小化重投影誤差平方和
其中 
即空間點X通過之前說的坐標變換(左乘P投影到圖像平面上)與圖像平面上的x可以產生一個L2范數作為誤差。建立一個目標函數為所有點的誤差和。

接著推導就可以寫成
的形式。

這樣求解重投影誤差最小化問題是一個高維非線性最小二乘問題。未知數數量由圖像數量乘以旋轉矩陣、平移向量、內參數、畸變加上稀疏點數目乘以世界坐標X。

求解可以用捆綁調整的工具做。Bundle Adjustment.它是一種啟發式的阻尼高斯牛頓法。

因為要做初始值求解,接著科普兩視圖幾何:
平面1上面的點p與其相機中心o連線,延長。這個線r在平面2中投影出一條極線。

同理也可以在平面1投影出極線。連接 o t這條線叫基線。這三條線在一個平面上,這個平面叫做極平面。

于是可以推出一個基本矩陣Fundamental matrix。

當內參K1,K2已知,用
表示之后,可以推出本質矩陣Essential matrix。

雙視圖幾何的求解方法:
基本矩陣可以用8點法求解,本質矩陣可以用5點發求解。
通過SVD分解可以從本質矩陣中分解相機的R t.
已知K R T可以三角花求解三維點X
這樣可以得到兩視圖重建的初始值,接著可以用BA進行非線性優化。

2.稀疏重建

稀疏重建是通過相機運動恢復場景結構。(Structure-from-Motion)

SfM包括以下步驟:
特征點檢測與匹配
外極幾何圖構造
攝像機位姿和場景結構估計
捆綁調整(BA)優化攝像機位姿和場景

特征點檢測和匹配:
特征點檢測用SIFT


特征點匹配:
L2范數距離最小
比值約束:最近鄰/次近鄰小于一定閾值
外極幾何約束(匹配特征點在對應的外極線附近)
特征點匹配的難度:候選圖像匹配對非常多。這里介紹了一篇解決這個問題的論文。
通過聚類、建樹、匹配。(K-means層級樹)
可以把復雜度降到線性。

這里介紹了每對圖像之間特征點匹配用一個哈希表方法優化的方法。

但是有些地方還存在誤匹配問題。極端一點的是如圖所示的天壇正反面幾乎完全一樣。

這里講了一個用Loop約束來去除錯誤外極幾何關系的方法。

還有一些其他解決方法:

接著講本質矩陣分解:三角化選擇內點最多的一組配置作為外極幾何關系。

外極幾何圖構建

攝像機位姿和場景結構
包括三種方法:
增量式(Incremental)
全局式(Global)
混合式(Hybrid)


增量式要先選擇兩個圖作為初始,一般要求:1.基線足夠寬 2.匹配點足夠多 當然這兩個是矛盾的兩個項。通過最小化右邊式子來求取。

然后開始增加一張圖:

這就變成了P3P問題:

三角化:

捆綁調整:

增量式示意圖:


增量式的優缺點:

全局式:估計所有攝像機的旋轉矩陣和位置并三角化初始場景點


因為經過ij的旋轉矩陣要等于Rj和Ri串聯之后的結果,所以要最小化兩者差的范數作為目標函數。而兩個點坐標也應該滿足一個關系。

過濾外極幾何邊:Rij與Rj和Ri乘形成一個范數,要大于一個值

接著推導:目標是讓第一項越大越好,讓第二項越小越好。

過濾外極幾何邊:

全局式的優缺點:

相關文獻:

比較全局和增量:

混合式:全局估計旋轉矩陣,增量估計攝像機位置,三角化初始場景點。這是CVPR2017的一個工作。


這個方法提出基于團體的全局R求取:先根據相機外極幾何圖匹配稠密情況把這么多攝像機分成幾個團體。


發現這樣做有效:

然后用增量式方法求攝像機位置:

求取方法已知旋轉矩陣,用兩點法求取攝像機位置。有幾個優勢:
RANSAC最小配置減少,更大概率隨機到正確的三維點與二維點對應,這樣能提高精度
在R已知的情況下,一定程度上可以過濾一部分錯誤的匹配特征點,這樣能提高魯棒性
每次增量中,可以同時計算得到更多攝像機位置,較少BA次數,提高重建效率

混合式優缺:

綜合比較:

稀疏重建總結
雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。