天天看點

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

多視圖立體視覺(MVS)一直是計算機視覺研究的一個熱點。它的目的是從多個已知相機姿态的圖像中建立密集的對應關系,進而産生稠密的三維點雲重建結果。在過去的幾年裡,人們在提高稠密三維重建的品質上付出了很大的努力,一些算法如PMVS、GIPUMA以及COLMAP等取得了令人印象深刻的效果。

然而,在三維重建任務中,由于資料量大、弱紋理、遮擋、反射等問題,如何高效準确地實作多視圖立體視覺仍然是一個具有挑戰性的問題。

為了進一步提升三維重建的性能,來自華中科技大學的研究人員提出了多尺度幾何一緻性引導的MVS方法ACMH、ACMM和基于平面先驗的MVS方法ACMP,能夠有效地恢複弱紋理區域的深度資訊,進而獲得高完整性的三維模型。

算法在公開的三維重建評測資料集ETH 3D和Intel Tanks and Temples上獲得優異的性能,在公開發表的論文中評估結果領先于同類方法。

1

背景

目前,多視圖立體視覺一般采用兩個步驟重建場景的稠密三維模型。首先為每幅圖像估計其深度圖,然後将這些深度圖融合得到統一的點雲表示。其中,深度圖估計是該流程中的關鍵。

為了高效地得到每張圖像的深度資訊,目前的方法一般基于PatchMatch的疊代優化方式來估計深度圖,通常包含四個步驟:随機初始化(Initialization)、采樣傳播(Sampling and Propagation)、視圖選擇(View Selection)和細化(refinement),如圖1所示。

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖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算法

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹
​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖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比對代價進行權重。

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖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比對代價的權重平均值。

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

最後,進行細化步驟來細化像素所處的平面假設,進一步降低聚合代價,豐富解空間的多樣性。對于法向和深度,存在三種可能的狀态:法向接近優解,深度接近優解,都不接近優解。

是以,我們産生兩個新的假設,其中一個是随機生成的,另一個是通過擾動得到的。将這些新的深度和法向與目前的深度和法向結合起來,産生了另外六個有待檢驗的新假設。選擇聚合成本最小的假設作為像素p的最終估計,對上述傳播、視圖選擇和細化進行多次重複,得到參考圖像的最終深度圖。

多尺度融合的ACMH架構——ACMM

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖4 多尺度幾何一緻性引導架構

弱紋理區域的深度估計一直是MVS中比較困難的問題。一般來說圖像分辨率越高,稠密三維重建的效果應該越好。

但是分辨率的提高也意味着弱紋理區域的增多。紋理是一個相對的概念,比較同一個場景的低分率圖像和高分辨率圖像,我們會發現,在高分辨圖像中是弱紋理的區域在低分辨率圖像中卻具有豐富的細節。

是以,低分辨率圖像能夠更好的捕獲圖像的結構資訊,在重建中對高分辨率圖像應該具有很好的補助作用。研究人員根據這一觀察建構了一個多尺度的ACMH算法架構——ACMM算法(基本原理如圖4所示)。

圖像的紋理資訊在不同尺度上的顯著性是不同的。為了更好地為歧義性的區域感覺其顯著性資訊,研究人員提出了多尺度幾何一緻性引導架構,不僅在不同的尺度上感覺顯著資訊,并且通過多視圖的幾何一緻性來更好地傳遞該資訊。

具體來說,研究人員對輸入的圖像集合構造圖像金字塔,然後由粗到細地恢複每個尺度的深度圖資訊。在獲得較粗尺度下弱紋理區域的深度估計後通過上采樣以及嚴格的幾何一緻性校驗,然後将它們傳播到更精細的尺度,在更精細的尺度上優化這些估計。上采樣的估計跟目前尺度的估計融合之後進行和ACMH相同的傳播、視圖選擇和細化。

在上采樣之後,還需要使用細節恢複器來修正細節上的誤差。具體操作為:在目前尺度上,計算上采樣的估計值對應的光度一緻性代價以及該尺度RGB圖像計算新的光度一緻性代價,比較兩個代價值,對于內插補點大于門檻值的像素點,使用新的代價對應的估計值更新原來的估計。

細節恢複器的使用,防止了在弱紋理區域由上一尺度上采樣得到的可靠估計丢失。這樣,為了進一步保證多視圖間的深度一緻性,研究人員采用幾何一緻性來優化目前尺度的估計。

基于機率圖模型的平面先驗MVS——ACMP算法

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖5 基于機率圖模型的視圖選擇

多視圖聚合光度一緻性的可靠性取決于視圖選擇的權重。在AMMH和ACMM算法中,視圖選擇是一種啟發式的政策,在實際當中也具有較好的魯棒性。然後較多的參數設定使得算法的适應新有一定的限制。

是以,研究人員設計了一個機率圖模型,以充分利用源圖像的光度一緻性和鄰域像素的視圖選擇資訊使得視圖的選擇具有更好的魯棒性,且對參數的依賴更小。

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹
​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹
​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

最終的視圖選擇的權值由這兩項的乘積來決定。采用機率圖模型的方式使得視圖選擇對參數的依賴很少,并且有利于更好的得到最佳的視圖選擇結果,後面的實驗結果也表明,即便是單純地采用機率視圖選擇來代替之前的啟發式視圖選擇,也能夠明顯的提高ACMH架構的性能。

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖6 基于機率圖模型的平面先驗限制的MVS

基于機率圖模型的平面先驗限制的多視圖深度估計整體架構如圖5所示。在圖的上方是基本流程,首先采用ACMH算法得到參考圖的深度圖,然後采用嚴格的幾何一緻性進行校驗,保留一些可靠像素的深度值。

以這些可靠的像素點為基礎,采用德勞内方法在圖像平面建構三角網格,将每一個三角形看做一個小的平面,每個三角平面的深度和方法根據其三個頂點進行計算。ACMP算法以這樣構造得到的三角網格來作為深度估計的平面先驗限制。

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹
​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

右邊的第一項為似然機率,對應目前像素的假設的

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

光度一緻性,第二項為先驗機率,對應目前像素與其所在的三角平面的一緻性。

如果目前像素的深度和方向與其所處的三角平面的深度和方向具有很好的一緻性,則給予獎勵,否則給予懲罰。平面先驗限制的代價函數定義如下:

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

2

實驗結果

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分數)

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

表2 不同方法在Strecha資料集生成深度圖運作時間對比

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹
​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖7  部分ETH3D benchmark資料集深度圖對比

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖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的像素百分比

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

表4 ETH3D資料集高分辨率測試集點雲評測(準确度、完整度、F1分數)

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹
​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖9  部分ETH3D benchmark資料集深度圖對比

​多視圖立體視覺: CVPR 2019 與 AAAI 2020 上的ACMH、ACMM及ACMP算法介紹

圖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.

END