tft每日頭條

 > 生活

 > 網絡交互流程圖

網絡交互流程圖

生活 更新时间:2024-11-30 08:18:33

論文題目:MVSNet: Depth Inference for Unstructured Multi-view Stereo, (ECCV2018 Oral)

注1:文末附【三維重建】交流群

注2:整理不易,請點贊支持!

作者:Todd-Qi | 來源:3D視覺工坊微信公衆号

摘要:作者提出MVSNet,基于多視圖圖像的深度估計網絡。在網絡中,首先在2D圖像上進行特征提取得到特征圖,然後通過可微分的單應變換,基于參考視圖的相機視錐體構建3D代價體。然後使用3D卷積對代價體進行正則化,回歸得到初始的深度圖;初始的深度圖通過參考圖像優化得到最後的深度圖。

MVSNet可以靈活地處理任意數量視圖,因為基于方差的代價指标可将多個特征代價提融合為一個特征代價體。MVSNet在大規模室内數據集DTU上進行驗證。通過簡單的後處理,不僅有顯著的性能,還有更快的運行速度。同時也在更加複雜的室外數據集Tanks and Temples上進行評測。無需任何微調,MVSNet在排行榜上位列第一,證明了網絡具有良好的泛化性能。

關鍵詞:多視圖立體匹配;深度估計;深度學習

開源代碼(tensorflow、PyTorch)地址:在公衆号「3D視覺工坊」,後台回複「MVSNet網絡」,即可直接下載。

一、引言

多視圖立體匹配(Multi-view Stereo, MVS)是計算機領域中一個核心問題。多視圖立體匹配重建可以當做對确定場景進行拍攝照片的逆過程。拍照通過相機把三維場景映射為二維,而多視圖立體匹配重建則剛好相反,其目的是通過不同視點拍攝的圖像,恢複出真實的三維場景。

傳統的方法使用手工設計的相似性度量指标和正則化方法計算場景的稠密對應關系(比如使用歸一化互相關Normalized Cross-Correlation和半全局匹配semi-global matching)。這些方法在非朗伯體表面、無弱紋理區域的場景可以達到很好的效果。但是在弱紋理區域,人工設計的相似性指标變得不可信,因此導緻重建結果不完整。由MVS數據集的排行榜可知,這些方法具有很高的精度,然而在重建的完整度方法還有很大的空間可以提升。

卷積神經網絡的研究的最新進展引發了人們對改善立體匹配重建的興趣。從概念上講,基于學習的方法可以學習到全局的語義信息,比如說有高光和反射的先驗可以得到更加魯棒的匹配效果。目前已經有一些兩視圖立體匹配的嘗試,用神經網絡替換手工設計的相似性度量或正則化方法。這些方法展現出更好的結果,并且逐步超過立體匹配領域的傳統方法。事實上,立體匹配任務完全适合使用CNN,因為圖像對是已經過修正過的,因此立體匹配問題轉化為水平方向上逐像素的視差估計。

與雙目立體匹配不同的是,MVS的輸入是任意數目的視圖,這是深度學習方法需要解決的一個棘手的問題。而且隻有很少的工作意識到該問題,比如SurfaceNet事先重建彩色體素立方體,将所有像素的顔色信息和相機參數構成一個3D代價體,所構成的3D代價體即為網絡的輸入。然而受限于3D代價體巨大的内存消耗,SurfaceNet網絡的規模很難增大:SurfaceNet運用了一個啟發式的“分而治之”的策略,對于大規模重建場景則需要花費很長的時間。

為此,作者提出端到端的多視圖深度預測網絡MVSNet,和其他基于深度圖的MVS方法類似,MVSNet将一張參考圖像和多張源圖像作為輸入,為參考圖像預測深度圖,而不是整個3D場景。網絡的關鍵之處在于可微分的單應變換操作,在從2D特征圖構建3D代價體的過程中,網絡将相機參數隐式地将編碼入網絡。為使網絡能夠适應任意數目的輸入視圖數,提出基于方差的指标,該指标将多個特征體映射為一個代價體。對代價體進行多尺度的3D卷積可以回歸出一個初始的深度圖。最後使用參考圖像對深度圖進行優化以提升邊界區域的精度。我們的方法與之前基于學習方法有兩個明顯的不同。第一點,基于深度圖估計的目的,本文的3D代價體的構建是基于相機視錐體而不是規整的歐式空間。第二點,本文方法将MVS重建劃分為逐視圖的深度估計問題,使得大規模的重建成為可能。

本文在DTU數據集上對所提出的MVSNet進行訓練和評測。實驗表明通過簡單的後處理,MVSNet在完整度和總分上都要比其他方法要好。除此之外,還在室外數據集Tanks and Temples上驗證了網絡的泛化性能,MVSNet在榜單上排名第一(截止至2018年4月18号),無需任何調整,MVSNet的效果比開源MVS方法(COLMAP)和商業軟件(Pixel4D)要好。同樣值得注意的是,在運行速度方面MVSNet比之前最好的方法要快幾倍甚至幾個數量級。

二、相關工作

多視圖立體匹配重建可以當做對确定場景進行拍攝照片的逆過程。拍照通過相機把三維場景映射到二維,而多視圖立體匹配重建正好相反,其目标是借助從不同視點拍攝的圖像,恢複真實的三維場景。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)1

在立體匹配算法研究中關鍵的一個組成部分是匹配不同視點拍攝的圖像中相似點,即找到某一空間點A在不同圖像中的投影位置,也就是找到所對應的點,。該匹配的準則在多視圖立體匹配重建領域及其他計算機視覺相關領域中都是至關重要的存在。其中有一個簡單的準則,該準則根據比較像素的亮度和顔色來确定其相似度,然而這樣的準則對光照的改變十分敏感。為了使圖像匹配更加魯棒,一些新的度量評價指标逐漸被提出:歸一化互相關(Normalized Cross-Correlation, NCC),關鍵點描述符(SIFT描述符)。基于這些基本方法,立體匹配算法逐步進行改進。

匹配圖像相似點的最終目的是得到圖像的一緻性。圖像一緻性的評定是多視圖立體匹配的關鍵點之一,評定圖像一緻性的方法是比較圖像中的像素點,比較的過程中可能用到三維的信息,包括體元,物體表面或是三角面片。評定匹配程度的指标一般有如下幾種:亮度平方差之和(Sum of Squared difference, SSD);亮度絕對值差之和(Sum of absolute difference, SAD)等。

基于投影的技術也在深度圖的重建中廣泛應用。其中代表的方法就是平面掃描算法(Plane-Sweep)。平面掃描算法的發明者是Collins,他在1996年提出了這個算法,并且用于在輸入圖片上過濾檢測到的邊緣,以便于用這些灰度圖片對場景進行立體三維重建。平面掃描的輸入數據是一系列經過校準的照片。與其他的重建方法一樣,平面掃描方法也假設場景中所有物體隻有漫反射。平面掃描虛構了一個虛拟的攝像機,在面對這個虛拟攝像機的空間中選定一個遠平面以及一個近平面,需要重建的場景的物體要位于這兩個平面之間。

三、MVSNet

本章節對所提出的MVSNet進行詳細的描述,MVSNet的設計遵循了相機幾何原理,并且借鑒了傳統MVS方法的一些觀點。在接下來的部分,将網絡中的每個模塊與傳統的MVS方法進行對比,以此驗證基于深度學習MVS方法的優勢。MVSNet的網絡架構如圖1所示。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)2

圖 1 MVSNet網絡架構圖

3.1 圖像特征提取

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)3

2D卷積神經網絡的輸出為N個32通道的特征圖。與原圖相比,在每個維度上進行了4倍的下采樣。值得注意的是,雖然特征圖經過了下采樣,但被保留下來像素的鄰域信息已經被編碼保存至32通道的特征描述子中,這些特征描述子為匹配提供了豐富的語義信息。與在原始圖像上進行特征匹配對比,使用提取的特征圖進行匹配顯著提高了重建質量。

3.2 代價體

接下來是基于提取的特征圖和相機參數構建3D代價體。之前的空間劃分的方法是基于規整的網格,但是對于深度預測的任務而言,我們是基于參考相機視錐體進行代價體的構建。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)4

圖 2 相機視錐體示意圖

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)5

3.2.1單應矩陣

單應矩陣(Homography)H用于描述兩個平面之間的映射關系。若場景中的特征點都落在同一平面上(比如牆,地面等),則可以通過單應矩陣來進行運動估計。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)6

3.2.2 可微分的單應變換

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)7

3.2.3 代價指标(Cost Metric)

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)8

3.2.4 代價體正則化

從圖像特征圖計算得到的初始代價體很有可能是包含噪聲的(由于非朗伯體表面的存在或者視線遮擋的問題),為了預測深度圖還需要進行光滑處理。正則化的步驟是對上面的代價體進行優化(refine)以得到概率體。受SurfaceNet等工作的啟發,我們使用一個多尺度的3D-CNN網絡用于代價體正則化。4個尺度的網絡類似于3D版本的UNet,使用編碼-解碼的結構方式,以相對較小的存儲/計算代價在一個大的感受野範圍内進行鄰域信息聚合。為了減輕網絡的計算代價,在第一個3D卷積層後,我們将32通道的代價體縮減為為8通道,将每個尺度的卷積從3層降為2層。最後卷積層的輸出為1通道的體(Volume)。最終在深度方向上使用softmax操作進行概率值的歸一化。

産生的概率體可很好适合于深度值預測,不僅可以用于逐像素的深度預測,還可以用來衡量估計的置信度。

3.3 深度圖

3.3.1 初始深度估計

概率體中恢複深度圖最簡單的方式是采用“赢者通吃”的策略(比如argmax)。但是argmax操作不能夠産生亞像素級的估計,而且由于不可微分不能在網絡中進行反向傳播。所以我們采用在深度方向上計算期望,即所有假設深度值的加權和:

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)9

3.3.2 概率圖

沿深度方向上的概率分布還可以反映了深度估計的質量。盡管多尺度的3D CNN有一定的正則化能力,可以将概率分布調整為單峰分布,我們也應注意到由于錯誤匹配的出現,使得深度的概率分布散亂,不能集中在一個峰值處。如圖3所示,參考視圖(a)的概率概率圖為圖(d)。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)10

圖 3 參考圖像、預測的深度圖、概率分布、概率圖

因為深度假設在相機視錐體内離散采樣得到的,簡單地将四個最近深度假設的概率求和得到最後的估計質量。注意其他的統計指标(比如标準差或熵)也可以用在這裡,但在我們的實驗中我們觀察到這些指标對于後續的深度圖過濾沒有顯著的提升。除此之外,我們的概率和公式可以在後續的外點剔除過程中起到阈值參數的作用。

3.3.3 深度圖優化

盡管從概率體恢複出深度圖是一個直接而合理的過程,但還是會存在一些問題。由于正則化過程中較大的感受野造成重建深度圖邊界過平滑的現象,這些問題也是在語義分割和圖像摳圖(Image Matting)中存在的。

我們注意到參考圖像是包含圖像邊界信息的,因此可以将參考圖像作為引導來優化預測的深度圖。受到圖像摳圖算法的啟發,我們在MVSNet的末端添加了一個深度殘差學習的網絡。

預測的深度圖和被resized的參考圖像被連接在一起構成一個4通道的輸入,被送入三個32通道的2D卷積層和一個1通道的卷積層,來學習得到深度的殘差值。為了可以學習到負的殘差,最後一層網絡沒有使用BN層和ReLU單元。同樣地,為避免在某一特定深度值上存在偏差,将初始深度幅值縮放至範圍[0, 1]内,在深度圖優化完成之後轉換回來。

3.4 損失函數

初始深度值和優化深度值的損失都被考慮在内了。我們使用真實深度圖與所估計深度的L1損失作為我們的訓練損失。考慮到真實深度圖并不是每個像素點都有值的,因此我們隻考慮那些有效的像素點,即存在Ground Truth标簽的像素。

損失函數定義如下:

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)11

四、網絡的實現

4.1 訓練

4.1.1 數據準備

目前MVS數據集提供的Ground Truth數據是以點雲或三角面片(mesh)的格式呈現的,所以我們需要自己使用這些數據産生深度圖。DTU數據集包含了128個場景,數據集提供了帶有法向信息的點雲。我們使用泊松表面重建獲得三角網格表面,将三維網格投影至每個視點以得到我們需要的深度圖。

為獲取更好質量的三維網格,我們将泊松表面重建中樹的深度(depth-of-tree)設為11;同時,為減輕表面邊緣處的人工痕迹,我們将修剪因子(trimming-factor)設為9.5。為了公平地與其他深度學習的方法進行對比, DTU數據集的劃分同SurfaceNet一樣。

根據文獻[7],将DTU數據集劃分訓練集、驗證集和測試集。驗證集中場景序列号包括{3, 5, 17, 21, 28, 35, 37, 38, 40, 43, 56, 59, 66, 67, 82, 86, 106, 117};測試集中場景序列号包括{1, 4, 9, 10, 11, 12, 13, 15, 23, 24, 29, 32, 33, 34, 48, 49, 65, 75, 77, 110, 114, 118};訓練集為其餘79個場景。

訓練集包括79個場景,每個場景包含49張圖,有7組不同光照的圖。将每張圖作為參考圖像,DTU數據集總共有27097個訓練樣本。

4.1.2 視圖選擇

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)12

注意到圖像尺寸在特征提取階段會被下采樣,再加上3D正則化部分的4層編碼-解碼結構,輸入的圖像尺寸必須能被32整除。同時考慮到GPU顯存的限制,我們将圖像分辨率從1600×1200降至800×600,然後在圖像中心處截取640×480大小的圖像塊作為網絡訓練的輸入。輸入的相機參數也随之改變。深度假設在425mm~935mm範圍内以2mm的分辨率均勻采樣(采樣數D=256)。

4.2 後處理

4.2.1 深度圖過濾

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)13

4.2.2 深度圖融合

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)14

五、實驗結果

基于深度學習的多視圖立體重建一般由兩部分組成,深度圖重建、深度圖融合為點雲。

5.1 DTU數據集評測

在DTU數據集中22個測試場景進行評測,輸入視圖數,圖像寬度,圖像高度和深度采樣數分别設置為N=5,W=1600,H=1184,D=256。基于DTU提供的MATLAB腳本對重建點雲的精度(accuracy)和完整度(completeness)進行評測。同時也定義了一個“總分”的評價指标用于衡量重建的質量,即精度和完整度的平均數。實驗結果的定量結果如表1所示。點雲的重建結果如圖4所示。

表 1 DTU數據集實驗結果

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)15

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)16

圖 4 點雲重建對比圖

5.2 消融分析(Ablations Study)

本節對MVSNet網絡中的若幹組成部分進行分析,在接下來的實驗中,我們使用驗證集的深度值損失來衡量重建質量。

5.2.1 視圖數量

首先研究輸入視圖數N對重建結果的影響,此實驗也同時說明了模型可以适用于任意視圖的輸入。如4.1小節說明的,訓練時視圖數N=3,本實驗測試時模型視圖使用了N=2, 3, 5。結果如圖5所示。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)17

圖 5 視圖數對驗證損失的影響

5.2.2 圖像特征

我們研究發現,基于深度學習的特征可以顯著提升MVS重建質量,為了在MVSNet建模出傳統的基于圖像塊的圖像特征,我們将網絡中的特征提取部分替換為一32通道的卷積層。卷積核的大小設定為7×7,步長為4。由圖6可知,2D特征提取的網絡在驗證損失上比單層網絡效果更好。

5.2.3 代價指标

我們還比較了基于平均的代價指标和基于方差的代價指标。如圖6所示,逐元素的方差操作可以達到更快的收斂速度,同時也驗證了使用顯式差異指标去計算多視圖間的相似性是合理的。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)18

圖 6 對2D圖像特征、代價指标和深度優化的消融分析圖

5.2.4 深度圖優化

對有深度圖優化、沒有深度圖優化的MVSNet兩種情況進行訓練,深度圖優化基本上對驗證集損失沒有影響,但是深度圖優化步驟可以提高點雲重建結果。在小于1mm條件下f-score從75.58提高為75.69;2mm條件下f-score從79.98提高為80.25。

5.3 部分深度圖重建結果

部分場景的重建深度圖如圖7~10所示。在每一幅圖中,左子圖為參考圖像,右子圖為重建的深度圖,深度圖以彩虹圖的形式呈現。

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)19

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)20

網絡交互流程圖(多視圖立體匹配MVSNet網絡解析)21

參考文獻

1.Furukawa Y, Hernández C. Multi-view stereo: A tutorial[J]. Foundations and Trends® in Computer Graphics and Vision, 2015, 9(1-2): 1-148.

2.Yao Y, Luo Z, Li S, et al. Mvsnet: Depth inference for unstructured multi-view stereo[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 767-783.

3.Yao Y, Luo Z, Li S, et al. Recurrent mvsnet for high-resolution multi-view stereo depth inference[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 5525-5534.

4.Cui Z, Gu J, Shi B, et al. Polarimetric multi-view stereo[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 1558-1567.

5.Schönberger J L, Zheng E, Frahm J M, et al. Pixelwise view selection for unstructured multi-view stereo[C]//European Conference on Computer Vision. Springer, Cham, 2016: 501-518.

6.Xu Q, Tao W. Multi-Scale Geometric Consistency Guided Multi-View Stereo[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 5483-5492.

7.Ji M, Gall J, Zheng H, et al. Surfacenet: An end-to-end 3d neural network for multiview stereopsis[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2307-2315.

8.王躍嵩. 多視圖立體匹配三維重建方法[D].華中科技大學,2015.

9.Kendall A, Martirosyan H, Dasgupta S, et al. End-to-end learning of geometry and context for deep stereo regression[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 66-75.

10.Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C]//International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015: 234-241.

備注:作者也是我們「3D視覺從入門到精通」特邀嘉賓:一個超幹貨的3D視覺學習社區

本文僅做學術分享,如有侵權,請聯系删文。

3D視覺工坊-三維重建交流群

已建立3D視覺工坊-三維重建微信交流群!想要進三維重建學習交流群的同學,可以直接加CV_LAB。加的時候備注一下:三維重建 學校 昵稱,即可。然後就可以拉你進群了。

強烈推薦大家關注3D視覺工坊知乎賬号和3D視覺工坊微信公衆号,可以快速了解到最新優質的3D視覺與SLAM論文。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved