來源:新智元
多視圖立體視覺(MVS)一直是計算機視覺研究的一個熱點。它的目的是從多個已知相機姿態的圖像中建立密集的對應關係,從而產生稠密的三維點雲重建結果。在過去的幾年裡,人們在提高稠密三維重建的質量上付出了很大的努力,一些算法如 PMVS、GIPUMA 以及 COLMAP 等取得了令人印象深刻的效果。
然而,在三維重建任務中,由於數據量大、弱紋理、遮擋、反射等問題,如何高效準確地實現多視圖立體視覺仍然是一個具有挑戰性的問題。
為了進一步提升三維重建的性能,來自華中科技大學的研究人員提出了多尺度幾何一致性引導的 MVS 方法 ACMH、ACMM 和基於平面先驗的 MVS 方法 ACMP,能夠有效地恢復弱紋理區域的深度信息,從而獲得高完整性的三維模型。
算法在公開的三維重建評測數據集 ETH 3D 和 Intel Tanks and Temples 上獲得優異的性能,在公開發表的論文中評估結果領先於同類方法。
背景
目前,多視圖立體視覺一般採用兩個步驟重建場景的稠密三維模型。首先為每幅圖像估計其深度圖,然後將這些深度圖融合得到統一的點雲表示。其中,深度圖估計是該流程中的關鍵。
為了高效地得到每張圖像的深度信息,目前的方法一般基於 PatchMatch 的迭代優化方式來估計深度圖,通常包含四個步驟:隨機初始化(Initialization)、採樣傳播(Sampling and Propagation)、視圖選擇(View Selection)和細化(refinement),如圖 1 所示。
圖 1 PatchMatch 多視圖立體視覺框架
然而,目前的 PatchMatch 方法在採樣傳播的效率和視圖選擇的準確性上很難同時兼顧,而且無法很好地處理弱紋理區域的深度估計問題。
為此,研究人員在他們的近期工作中提出了高效準確的 ACMH 算法,ACMH 算法不僅在性能上優於經典的 COLMAP 算法,並且計算效率是 COLMAP 的8-10 倍。進而為解決 MVS 中弱紋理區域的深度估計問題,研究人員進一步提出多尺度幾何一致性引導的 ACMM 算法以及基於概率圖模型的平面先驗引導的 ACMP 算法。
這些工作的主要貢獻有以下幾點:
1)提出了自適應棋盤網格採樣策略,以捕獲更好的候選假設空間。在此基礎上,提出了一種啟發式的視圖選擇策略,能夠魯棒的完成逐像素的視圖選擇。
算法不僅繼承棋盤網格傳播的高效性,在效率方面是傳統的 COLMAP 算法的8-10 倍,也由於逐像素視圖選擇推斷的準確性使得算法具有比 COLMAP 算法更好的性能。
2)基於 ACMH 算法框架,研究人員提出多尺度幾何一致性引導的 MVS 算法框架 ACMM。通過構造圖像金字塔,在不同尺度上捕獲歧義性區域的顯著性信息,並通過多視圖的幾何一致性來優化傳遞該信息。
此外,還提出尺度間的細節恢復器來保證場景的細節不在多尺度的傳遞中被湮滅。ACMM 由於引入了多尺度信息,在弱紋理區域的深度估計方面具有突出的性能,性能相比 ACMH 有了大大的提高。
3)提出基於概率圖模型的平面先驗輔助的 ACMP 算法框架。為了自適應地為弱紋理區域捕獲更合適的顯著性信息。研究人員通過三角化圖像中深度可靠的稀疏像素點來構造平面先驗模型。
然後通過構造概率圖模型來推導平面先驗輔助的多視圖匹配代價函數。這樣不僅能保證 PatchMatch 的高效性,而且自適應地感知弱紋理區域的顯著性信息以輔助其深度估計。實驗結果表明,在沒有融合多尺度信息的條件下,平面先驗引導的 ACMP 算法就能夠取得優於 ACMM 更好的性能。
自適應網格傳播及啟發式視圖選擇的 MVS 框架——ACMH 算法
圖 2 自適應棋盤網格傳播方式
由於鄰域內像素點深度值具有相關性,在一個的鄰域內,其中一個像素點得到了較優的估計,在之後的迭代更新過程中,則它的估計值會向它的上下左右相鄰像素點進行傳播,從而實現稠密深度圖的迭代優化。
COLMAP 採用的是如圖 2 左邊的從上到下從左到右的傳播方法(如圖 2 左邊所示),這種傳播方式使得算法的並行規模與圖像的行數或列數成正比,對 GPU 的利用效率不高。
Gipuma 採用一種紅黑棋盤網格的傳播方式,將二維圖像像素點以紅黑棋盤的方式進行分組,並以擴散的方式採樣鄰域像素點(如圖 2 中間所示)。
在每次迭代中,當前黑色的像素會選擇周圍固定 8 個位置的深度假設作為當前像素的後續假設。這種鄰域傳播機制相比 COLMAP 的左右上下傳播機制可以更加充分的利用 GPU 實現大規模的並行操作,從而提高算法的效率。
實際中 Gipuma 算法的計算效率也是大大優於 COLMAP 算法。然而 COLMAP 算法採用了較為複雜的基於馬爾科夫鏈模型的視圖選擇策略,而 Gipuma 算法則缺乏視圖選擇,在迭代過程中簡單的選取前k個最小匹配代價求平均來計算每個候選假設的匹配代價。因而在性能上 Gipuma 算法比 COLMAP 算法要差很多。
ACMH 也採用類似 Gipuma 的棋盤網格方式,因而繼承了 Gipuma 的高效並行的優勢,同時在兩個方面進行了創新:
1)優化了紅黑棋盤格的傳播方法,不是像 Gipuma 採用固定的 8 個位置假設,而是採用圖 2 右邊所示的V形和長條形區域來自適應地選取局部最優假設進行傳播,其中,每個V形區域包含 7 個可採樣點,每個長條區域包含 11 個可採樣點。這樣使得算法能夠有機會找到更好的深度假設。
2)不是像 Gipuma 那樣對每個候選假設簡單的選取N個源視圖中前k個最小 NCC 匹配代價的平均值作為評價候選假設好還的依據,而是引入了視圖選擇機制,提出了一種啟發式的多假設聯合視圖選擇策略來對 NCC 匹配代價進行加權。
圖 3 啟發式多假設聯合視圖選擇策略
圖 3 為啟發式多假設聯合視圖選擇的基本實現過程。當前像素有 8 個候選假設,對每個候選假設,N個源視圖會得到N個 NCC 匹配代價,所有的 NCC 匹配代價形成一個8*N的矩陣,根據矩陣的每一行可以度量該候選假設的可靠性。
在原始的 Gipuma 算法中,對每一行都獨立的進行處理,選擇每一行中最好的k個 NCC 匹配代價計算平均值來衡量該假設的可靠性。
這種方式的問題是沒有考慮當前像素在源視圖上的可見性。圖 3 左邊上方很好的說明了這個問題,如果當前像素在某個源視圖上是不可見的,那麼這個源視圖對應的 NCC 匹配代價就不能用來度量候選假設的可靠性。
因此,對每個像素而言,N個源視圖的可見性都是不同的,需要採用一個權值來度量每個視圖對當前像素的可見程度,然後計算k個最好的 NCC 匹配代價的加權平均值來衡量該假設的可靠性。
每個源視圖的可見性權值的計算是關鍵,研究人員提出了一種啟發式的多假設聯合視圖選擇策略。每個源視圖對應 NCC 代價矩陣中的一列 8 個代價值,一個簡單易行的策略是使用該列代價值的好壞的衡量該視圖的可見性好壞。
如果較好的代價值個數較多,超過一定閾值(如 3 個),而較差的代價值個數較少,少於一定閾值(如 2 個),則認為該視圖是當前像素的可見視圖,否則是不可見的,不能參與評估候選假設。
對可見視圖,將其好的代價值歸一化到0,1 之間的權值,其代價越好,權值越大。最後計算每個候選假設的k個最好的 NCC 匹配代價的加權平均值。
最後,進行細化步驟來細化像素所處的平面假設,進一步降低聚合代價,豐富解空間的多樣性。對於法向和深度,存在三種可能的狀態:法向接近優解,深度接近優解,都不接近優解。
因此,我們產生兩個新的假設,其中一個是隨機生成的,另一個是通過擾動得到的。將這些新的深度和法向與當前的深度和法向結合起來,產生了另外六個有待檢驗的新假設。選擇聚合成本最小的假設作為像素p的最終估計,對上述傳播、視圖選擇和細化進行多次重複,得到參考圖像的最終深度圖。
多尺度融合的 ACMH 框架——ACMM
圖 4 多尺度幾何一致性引導框架
弱紋理區域的深度估計一直是 MVS 中比較困難的問題。一般來說圖像解析度越高,稠密三維重建的效果應該越好。
但是解析度的提高也意味著弱紋理區域的增多。紋理是一個相對的概念,比較同一個場景的低分率圖像和高解析度圖像,我們會發現,在高分辨圖像中是弱紋理的區域在低解析度圖像中卻具有豐富的細節。
因此,低解析度圖像能夠更好的捕獲圖像的結構信息,在重建中對高解析度圖像應該具有很好的補助作用。研究人員根據這一觀察構建了一個多尺度的 ACMH 算法框架——ACMM 算法(基本原理如圖 4 所示)。
圖像的紋理信息在不同尺度上的顯著性是不同的。為了更好地為歧義性的區域感知其顯著性信息,研究人員提出了多尺度幾何一致性引導框架,不僅在不同的尺度上感知顯著信息,並且通過多視圖的幾何一致性來更好地傳遞該信息。
具體來說,研究人員對輸入的圖像集合構造圖像金字塔,然後由粗到細地恢復每個尺度的深度圖信息。在獲得較粗尺度下弱紋理區域的深度估計後通過上採樣以及嚴格的幾何一致性校驗,然後將它們傳播到更精細的尺度,在更精細的尺度上優化這些估計。上採樣的估計跟當前尺度的估計融合之後進行和 ACMH 相同的傳播、視圖選擇和細化。
在上採樣之後,還需要使用細節恢復器來修正細節上的誤差。具體操作為:在當前尺度上,計算上採樣的估計值對應的光度一致性代價以及該尺度 RGB 圖像計算新的光度一致性代價,比較兩個代價值,對於差值大於閾值的像素點,使用新的代價對應的估計值更新原來的估計。
細節恢復器的使用,防止了在弱紋理區域由上一尺度上採樣得到的可靠估計丟失。這樣,為了進一步保證多視圖間的深度一致性,研究人員採用幾何一致性來優化當前尺度的估計。
基於概率圖模型的平面先驗 MVS——ACMP 算法
圖 5 基於概率圖模型的視圖選擇
多視圖聚合光度一致性的可靠性取決於視圖選擇的權重。在 AMMH 和 ACMM 算法中,視圖選擇是一種啟發式的策略,在實際當中也具有較好的魯棒性。然後較多的參數設置使得算法的適應新有一定的限制。
因此,研究人員設計了一個概率圖模型,以充分利用源圖像的光度一致性和鄰域像素的視圖選擇信息使得視圖的選擇具有更好的魯棒性,且對參數的依賴更小。
最終的視圖選擇的權值由這兩項的乘積來決定。採用概率圖模型的方式使得視圖選擇對參數的依賴很少,並且有利於更好的得到最佳的視圖選擇結果,後面的實驗結果也表明,即便是單純地採用概率視圖選擇來代替之前的啟發式視圖選擇,也能夠明顯的提高 ACMH 框架的性能。
圖 6 基於概率圖模型的平面先驗約束的 MVS
基於概率圖模型的平面先驗約束的多視圖深度估計整體框架如圖 5 所示。在圖的上方是基本流程,首先採用 ACMH 算法得到參考圖的深度圖,然後採用嚴格的幾何一致性進行校驗,保留一些可靠像素的深度值。
以這些可靠的像素點為基礎,採用德勞內方法在圖像平面構建三角網格,將每一個三角形看做一個小的平面,每個三角平面的深度和方法根據其三個頂點進行計算。ACMP 算法以這樣構造得到的三角網格來作為深度估計的平面先驗約束。
右邊的第一項為似然概率,對應當前像素的假設的
光度一致性,第二項為先驗概率,對應當前像素與其所在的三角平面的一致性。
如果當前像素的深度和方向與其所處的三角平面的深度和方向具有很好的一致性,則給予獎勵,否則給予懲罰。平面先驗約束的代價函數定義如下:
實驗結果
ACMH 及 ACMM 實驗結果
研究人員評估了 ACMH、ACMM 在 ETH3D benchmark 上的有效性。ACMH 算法繼承了 Gipuma 的棋盤網格傳播方式,但是性能要大大優於 Gipuma 算法,超過了 COLMAP 算法。
而且 ACMH 算法也繼承了 Gipuma 的棋盤網格的高效並行機制,因此在計算效率上是 COLMAP 的8-10 倍。ACMM 比 ACMH 性能提升了相當大的幅度,對弱紋理區域具有很好性能。在效率上相比 ACMH 有所降低,但是仍然是 COLMAP 的 5 倍左右。圖 7 和圖 8 為部分可視化結果。
表 1 ETH3D 高解析度測試集點雲評測(準確度、完整度、F1 分數)
表 2 不同方法在 Strecha 數據集生成深度圖運行時間對比
圖 7 部分 ETH3D benchmark 數據集深度圖對比
圖 8 部分 ETH3D benchmark 數據集點雲對比
ACMP 實驗結果
研究人員在 ETH3D benchmark 的高解析度多視圖立體數據集上進行了評估。在表 3 中列出了 ETH3D benchmark 的 13 個高解析度多視圖訓練集的比較結果。
表 3 為深度圖的評測結果,表 4 為點雲的評測結果,從表 3 和表 4 的結果中可以看出,ACMP 的結果要比 ACMH 的結果好很多,並且在沒有用多尺度信息的情況下,已經優於 ACMM 算法的結果。
圖 8 和圖 9 為部分可視化結果。在效率方面 ACMP 與 ACMM 相當。
更多評測結果可以參考以下兩個評測網站:
https://www.eth3d.net/high_res_multi_view https://www.tanksandtemples.org/leaderboard/IntermediateF/
表 3 ETH3D 數據集深度圖評測中絕對誤差小於 2cm 和 10cm 的像素百分比
表 4ETH3D 數據集高解析度測試集點雲評測(準確度、完整度、F1 分數)
圖9 部分 ETH3D benchmark 數據集深度圖對比
圖 10 部分 ETH3D benchmark 數據集點雲對比
參考文獻:
1. Qingshan Xu, Wenbing Tao*, Multi-Scale Geometric Consistency Guided Multi-View Stereo, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, June 16-20,2019,Long Beach, CA, USA.
2. Qingshan Xu, Wenbing Tao*, Planar Prior Assisted PatchMatch Multi-View Stereo, AAAI Conference on Artificial Intelligence (AAAI), Feb. 07-14, 2020, New York, USA.