Print

发布时间: 2022-02-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.210516
2022 | Volume 27 | Number 2




    深度估计与三维重建    




  <<上一篇 




  下一篇>> 





融合注意力机制和多层U-Net的多视图立体重建
expand article info 刘会杰, 柏正尧, 程威, 李俊杰, 许祝
云南大学信息学院, 昆明 650500

摘要

目的 针对多视图立体(multi-view stereo,MVS)重建效果整体性不理想的问题,本文对MVS 3D重建中的特征提取模块和代价体正则化模块进行研究,提出一种基于注意力机制的端到端深度学习架构。方法 首先从输入的源图像和参考图像中提取深度特征,在每一级特征提取模块中均加入注意力层,以捕获深度推理任务的远程依赖关系;然后通过可微分单应性变换构建参考视锥的特征量,并构建代价体;最后利用多层U-Net体系结构正则化代价体,并通过回归结合参考图像边缘信息生成最终的细化深度图。结果 在DTU(Technical University of Denmark)数据集上进行测试,与现有的几种方法相比,本文方法相较于Colmap、Gipuma和Tola方法,整体性指标分别提高8.5%、13.1%和31.9%,完整性指标分别提高20.7%、41.6%和73.3%;相较于Camp、Furu和SurfaceNet方法,整体性指标分别提高24.8%、33%和29.8%,准确性指标分别提高39.8%、17.6%和1.3%,完整性指标分别提高9.7%、48.4%和58.3%;相较于PruMvsnet方法,整体性指标提高1.7%,准确性指标提高5.8%;相较于Mvsnet方法,整体性指标提高1.5%,完整性标提高7%。结论 在DTU数据集上的测试结果表明,本文提出的网络架构在整体性指标上得到了目前最优的结果,完整性和准确性指标得到较大提升,3D重建质量更好。

关键词

注意力机制; 多层U-Net; 可微分单应性变换; 代价体正则化; 多视图立体(MVS)

Fusion attention mechanism and multilayer U-Net for multiview stereo
expand article info Liu Huijie, Bai Zhengyao, Cheng Wei, Li Junjie, Xu Zhu
School of Information Science and Engineering, Yunnan University, Kunming 650500, China
Supported by: Yunnan Provincial Major Science and Technology Special Plan Projects (202002AD080001)

Abstract

Objective With the rapid development of deep learning, multi-view stereo (MVS) research based on learning has also made great progress. The goal of MVS is to reconstruct a highly detailed scene or object under the premise that a series of images and corresponding camera poses and inherent parameters (internal and external parameters of the camera) are known as the 3D geometric model. As a branch of computer vision, it has achieved tremendous development in recent decades and is widely used in many aspects, such as autonomous driving, robot navigation, and remote sensing. Learning-based methods can incorporate global semantic information such as specular reflection and reflection priors to achieve more reliable matching. If the receiving field of convolutional neural network (CNN) is large enough, it can better reconstruct poor texture areas. The existing learning-based MVS reconstruction methods mainly include three categories: voxel-based, point cloud-based, and depth map-based. The voxel-based method divides the 3D space into a regular grid and estimates whether each voxel is attached to the surface. The point cloud-based method runs directly on the point cloud, usually relying on the propagation strategy to make the reconstruction more dense gradually. The depth map method uses the estimated depth map as an intermediate layer to decompose the complex MVS problem into relatively small depth estimation problems per view, only focuses on one reference image and several source images at a time, and then performs regression (fusion) on each depth map to form the final 3D point cloud model. Despite room for improvement in the series of reconstruction methods proposed before, the latest MVS benchmark tests (such as Technical University of Denmark(DTU)) have proven that using depth maps as an intermediate layer can achieve more accurate 3D model reconstruction. Several end-to-end neural networks are proposed to predict the depth of the scene directly from a series of input images (for example, MVSNet and R-MVSNet). Even though the accuracy of these methods has been verified on the DTU datasets, most methods still only use 3D CNN to predict the occupancy of depth maps or voxels, which not only leads to excessive memory consumption but also limits the resolution, and the reconstruction results are not ideal. In response to the above problems, an end-to-end deep learning architecture is proposed in this paper based on the attention mechanism for 3D reconstruction. It is a deep learning framework that takes a reference image and multiple source images as input, and finally obtains the corresponding reference image depth map. The depth map estimation steps are as follows: depth feature extraction, matching cost construction, cost regularization, depth map estimation, and depth map optimization. Method First, the depth features are extracted from the input multiple source images and a reference image. At each layer of feature extraction, an attention layer is added to the feature extraction module to focus on learning important information for deep reasoning to capture remote dependencies in deep reasoning tasks. Second, the differentiable homography deformation is used to construct the feature quantity of the reference cone, and the matching cost volume is constructed. The central idea of the construction cost volume is to calculate the reference under the assumption of each sampling depth and the matching cost between each pixel in the camera and its neighboring camera pixels. Finally, the multilayer U-Net architecture is used to normalize the cost, that is, to down sample the cost volume, extract the context information and adjacent pixel information of different scales, and filter the cost amount. Then, the final refined estimated depth map is generated through regression. In addition, the difference-based cost measurement used in this article not only solves the problem of the input quantity of any view but also can finally aggregate multiple element quantities into one cost quantity. In summary, the following are the two contributions in this work: an attention mechanism applied to the feature extraction module is proposed to focus on learning important information for deep reasoning to capture the remote dependencies of deep reasoning tasks. A multilayer U-Net network is proposed for cost regularization, that is, to down sample the cost volume and extract context information and neighboring pixel information of different scales to filter the cost volume. Then, the final refined estimated depth map is generated through regression. Result Our method is tested on the DTU datasets and compared with several existing methods. Compared with Colmap, the overall index is increased by 8.5% and the completeness index is increased by 20.7%. Compared with the Gipuma method, the overall index is increased by 13.1%, and the completeness index is increased by 41.6%. Compared with the Tola method, the overall index is increased by 31.9%, and the completeness index is increased by 73.3%. Compared with the Camp method, the overall index is increased by 24.8%, the accuracy index is increased by 39.8%, and the completeness index is increased by 9.7%. Compared with the Furu method, the overall index is increased by 33%, the accuracy index is increased by 17.6%, and the completeness index is increased by 48.4%. Compared with the SurfaceNet method, the overall index is increased by 29.8%, the accuracy index is increased by 1.3%, and the completeness index is increased by 58.3%. Compared with the PruMvsnet method, the overall index is increased by 1.7%, and the accuracy index is increased by 5.8%. Compared with Mvsnet, the overall index is increased by 1.5%, and the completeness is increased by 7%. Conclusion The test results on the DTU data set show that the network architecture proposed in this paper obtains the current best results in terms of overall indicators, the completeness and accuracy indicators are greatly improved, and the quality of 3D reconstruction is better, which proves the effectiveness of the proposed method.

Key words

attention mechanism; multi-layer U-Net; differentiable homography transformation; cost volume regularization; multi-view stereo(MVS)

0 引言

多视图立体(multi-view stereo,MVS)的目标是在已知一系列图像以及相应的相机姿态和固有参数(相机的内外参数)的前提下,重建观察到的场景或对象的高精度3D几何模型。作为计算机视觉的一个分支,多视图立体已经取得了巨大发展,并广泛应用在多个领域,例如自动驾驶、机器人导航、遥感和可移动文物(刘建国,2016张蕾,2018)等。

在现有的MVS重建方法中,基于几何上下文的传统方法(Campbell等,2008Furukawa和Ponce,2010Galliani等,2016Schönberger等,2016)在用朗伯曲面进行场景重建时,已经取得了巨大成功,尤其在准确性方面,但是在重建弱纹理和镜面反射区域以及完整性方面遇到了困难。此外,通常还需要花费很长时间才能建立对应的3D映射关系,场景越大,需要花费的时间就越多。为了解决这些问题,Huang等人(2018)Kar等人(2017)使用了深度卷积神经网络(convolutional neural network,CNN),速度相比之前快了几倍的同时也提高了整体场景的3D重建质量。这主要得益于以下事实:基于学习的方法可以合并诸如镜面反射和反射先验之类的全局语义信息,从而实现更可靠的匹配。在CNN的感受野足够大的情况下,还能更好地重建较差的纹理区域。

基于学习的MVS重建方法主要包括基于体素的方法、基于点云的方法和基于深度图的方法。基于体素的方法将3D空间划分为规则网格,并估计每个体素是否附着在表面上。缺点主要是空间离散度误差以及巨大的内存消耗;基于点云的方法直接在点云上运行,通常依靠传播策略逐渐使重建变得更加密集。由于点云的传播都是逐步进行的,不能并行,导致重建需要花费很长时间;基于深度图的方法则是利用估计的深度图(Chen等,2019Choi等,2018Yang等,2020Huang等,2018Luo等,2019Xue等,2019Yao等,2018Weilharter和Fraundorfer,2021)作为中间层,将复杂的MVS问题分解成相对较小的每个视图深度估计问题,并且每次只关注一幅参考图像和几幅源图像,然后对每个深度图进行回归(融合)以形成最终的3D点云模型。尽管之前提出的一系列重建方法仍有改进余地,但最新的MVS基准测试(例如DTU(Technical University of Denmark)(Jensen等,2014))已证明,使用深度图作为中间层的方法可以实现更准确的3D模型重建。而一些端到端的神经网络直接从一系列输入图像中预测场景的深度。例如Yao等人(2018, 2019)提出的MVSNet和R-MVSNet(recurrent-MVSNet)。即使这些方法的准确性已经在DTU数据集上得到验证,但多数方法还是只利用3D CNN预测深度图或者体素的占用,不仅导致内存消耗过多,还限制了分辨率的提高。

为了解决以上问题,本文提出一种基于注意力机制进行3D重建的端到端的监督学习网络,是以一幅参考图像和多幅源图像作为输入,最终得到相对应的参考图像深度图的一种深度学习框架。其深度图估计步骤如下:1)提取深度特征。从输入的多幅源图像和一幅参考图像中提取深度特征,在特征提取的每个级别中加入注意力层,以专注于学习重要信息用于进行深度推理,从而捕获深度推理任务中的远程依赖关系,即从众多信息中选择出对当前任务目标更关键的信息。首先计算查询点与所有点之间的成对关系以得到注意力图,然后通过加权和的方式聚合所有点的特征,得到与此查询点相关的全局特征,最终再分别将全局特征加到每个查询点的特征中,完成远程依赖的建模过程。2)构建匹配代价体。首先采用可微分单应性变换构建参考视锥的特征量,接着进行匹配的代价体的构建,中心思想是在每个采样深度假设下,计算参考摄像机中的每个像素与其相邻摄像机像素之间的匹配成本。3)正则化代价体和深度图的估计与优化。利用多层U-Net体系结构正则化代价体,即对代价体进行降采样,并提取不同尺度的上下文信息和邻近像素信息对代价体进行过滤,进而通过回归生成最终的细化估计深度图。此外,本文应用的基于差异的成本度量准则,不仅解决了任意视图的输入数量问题,还可以将多个要素量最终汇总为一个成本量。

本文工作的主要贡献包括:1)提出一种注意力机制用于特征提取模块,以专注于学习重要信息用于深度推理,从而捕获深度推理任务的远程依赖关系;2)提出一种多层U-Net网络,用于代价体正则化,对代价体进行降采样,并提取不同尺度的上下文信息和邻近像素信息对代价体进行过滤,进而通过回归生成最终的细化估计深度图。

1 相关工作

传统MVS方法使用多个摄像机拍摄的视图之间的投影关系迭代优化深度。Schönberger和Frahm(2016)提出的开源方法COLMAP,在特征匹配阶段采用手工特征匹配方法,并优化了每个像素的深度值。由于在从公共基准到互联网照片集的众多场景中表现出色,准确性很高,因此COLMAP已成为传统MVS方法的标准。但这种方法的主要缺点之一就是处理时间过长,即使是单幅图像的深度图估计,如果运用传统的色彩块匹配方法,也需要花费若干分钟时间。因此,基于学习方法的出现逐渐取代了传统的手工特征匹配方法,但如果使用优化程序一对一地优化像素深度值,实现过程又难以并行且耗时极大。Furukawa和Ponce(2006)Li等人(2016)以及Zaharescu等人(2007)使用可变形的多边形网格估计深度值,也需要先对场景表面进行良好的初始化,并需要迭代地提高光度一致性。Moulon等人(2017)提出一个著名的多视图几何开源库OpenMVG,主要用于处理多视图实体几何,并提供了特征提取和匹配方法以及SFM(structure from motion)完整工具链。尽管OpenMVG可以从一组输入的图像中恢复相机姿势和稀疏的3D点云,但最终还是没有解决摄影制图链流的最后一部分。Cernea(2015)提出了多视图立体重建开源库OpenMVS,旨在通过提供一套完整的算法恢复要重建场景的整个表面来填补这一空白。虽然利用了跨尺度特征,但还是有无纹理区域的困扰问题存在。

随着深度学习的快速发展,使用卷积神经网络进行MVS重构的研究已经取得显著进展。Eigen等人(2014)首先提出将卷积神经网络用于单眼深度估计的方法,将网络分为粗略全局预测和局部细化预测两个模块,通过尺度不变误差定义损失函数,为进一步研究基于学习的MVS重建提供了强大的思想和指导方法。Choy(2016)受长短期记忆网络(long short-term memory,LSTM)(Hochreiter和Schmidhuber,1997)的启发,提出3D-R2N2(3D recurrent reconstruction nerual network)网络,扩展了标准的LSTM框架以构建2D图形到3D体素的映射,完成了单个或多个视图(多个视图的输入同样视为LSTM的输入序列)的3D重建,但重建精度较低,如果提高精度,就需要提高分辨率,而提高分辨率,就会极大地增加计算时间。为了解决MVS分辨率低的问题,Ji等人(2017)提出一个端到端的学习框架SurfaceNet,可以直接学习光度一致性以及表面结构的几何关系。首先将整个空间划分为较小的彩色体素立方体(colored voxel cubes,CVC),然后将所有体素立方体的颜色信息和相机参数结合构成一个3D代价体,构成的3D代价体即为网络的输入,但由于SurfaceNet网络的规模很难增大,即使应用启发式的“分而治之”策略,也需要花费很长时间才能进行大尺度的重建。所以Huang等人(2018)提出用来处理多分类问题的DeepMVS,采用编码器—解码器体系结构进行特征提取和深度估计。但由于DeepMVS是将图像序列预处理为patch,因此在训练过程中会丢失图像的全局信息。Yao等人(2018)提出的MVSNet本质上是借鉴基于两幅图像代价体的双目立体匹配的深度估计方法,进而扩展到多幅图像的深度估计。由于代价体的双目立体匹配方法已较为成熟,所以MVSNet本质上也是借鉴一个较为成熟的领域。这已经成为大多数MVS重建方法事实上的标准管道。Im等人(2019)提出了DPSNet(end-to-end deep plane sweep stereo),与MVSNet一样都是使用可微分单应性变换构造代价体,并从代价体中回归深度图。此后,Yao等人(2019)提出基于循环网络的R-MVSNet,利用门控循环单元(gate recurrent unit,GRU)代替3D-CNN正则化代价体,有效减少了内存消耗,但增加了估计深度的平均误差距离,并且显著增加了运行时间。Luo等人(2019)设计一个patch的置信量,获得了更好的重建结果。Xue等人(2019)另外添加条件随机场(conditional random fields,CRF)作为后处理步骤,以生成平滑的深度图。Gu等人(2020)提出Cascade-MVSNet,重点是提出了级联代价体方法。首先在特征金字塔编码几何结构和上下文基础上建立代价体,并且逐渐缩小;然后通过前一阶段的预测缩小每个阶段的深度(或视差)范围。随着成本体积分辨率的逐渐提高和深度(或视差)间隔的自适应调整,输出将以较粗略的方式逐渐恢复为较精细的状态,既节省内存又节省时间。Yu和Gao(2020)提出Fast-MVSNet并从中探索了一种从稀疏到密集的方法,通过仅构造稀疏的成本量学习稀疏的高分辨率深度图,然后在局部致密。Chen等人(2019)提出Point-MVSNet,以一种以粗到精的方式估计深度值的方法,同时利用拟议的PointFlow模块将粗略的深度图迭代优化为最终的细化深度图。

2 方法

尽管基于深度学习的MVS方法已在各种任务基准中达到了最先进水平,但仍未考虑与注意力机制结合,以捕获大规模特征并获得高分辨率图像,从而提高结果的完整性。对此,本文将重点放在多尺度的多层U-Net以及对MVS神经网络的自我关注上,以获得更大的自适应感受野,从而得到更高精度以及更完整的深度结果。本文提出网络的主要模块为:深度特征提取、匹配代价体的构建、代价体正则化、深度图估计和深度图优化,如图 1所示。

图 1 本文网络的整体框架
Fig. 1 Overall framework of the proposed network

2.1 深度特征提取

深度特征提取(feature-extraction of attention-mechanism,FA)模块由卷积层和注意层组成,包括8个卷积层和1个32输出通道的注意层。将邻近像素之间的语义信息成功编码至这个经32通道输出的特征图,可以有效防止输入的图像样片降采样后丢失语义信息。样片通过神经网络提取的图像特征称为深度特征,与传统图像特征提取方法对比,本文特征提取方法有着更好的匹配精度和效率。输入部分是经过视角选择后成功配对的$N$幅图像(参考图像和源图像),对这$N$幅图像进行特征提取时,其权重参数都是共享的,如图 2所示。

图 2 FA模块
Fig. 2 Feature-extraction of attention-mechanism module

本文网络在MVSNet的特征提取模块后加入一层注意力层,以专注于学习重要信息用于进行深度推理,如图 3所示。自我注意(亦称内部注意)是一种与单个序列的不同位置相关的注意力机制,目的是计算序列的表示形式,允许对依赖项进行建模,而不必考虑它们在输入或输出序列中的距离。注意功能可以描述为将查询和一组键值对映射到输出(查询(${\boldsymbol{Q}}$)、键(${\boldsymbol{K}}$)、值(${\boldsymbol{V}}$)和输出都是向量),然后将输出计算为值的加权总和(分配给每个值的权重通过查询与相应键的兼容性函数计算)。具体为

$ \boldsymbol{y}_{j k}=\sum\limits_{e, f \in \boldsymbol{D}} S x_{e f}\left(\boldsymbol{q}_{j k}^{\mathrm{T}} \boldsymbol{k}_{e f}\right) \boldsymbol{v}_{e f} $ (1)

图 3 注意力层模块
Fig. 3 Attention layer module

式中,${\boldsymbol{q}}$$^{\text{T}}_{jk}={\boldsymbol{w}}_{Q}$${\boldsymbol{x}}_{ef}$${\boldsymbol{k}}_{ef}={\boldsymbol{w}}_{K}$${\boldsymbol{x}}_{ef}$${\boldsymbol{v}}_{ef}={\boldsymbol{w}}_{V}$${\boldsymbol{x}}_{ef}$分别表示查询、键和值,${\boldsymbol{D}}$表示具有相同内核大小的卷积计算的图像块,$Sx$表示softmax,矩阵${\boldsymbol{w}}_{g}$(${\boldsymbol{g}}={\boldsymbol{Q}}$, ${\boldsymbol{K}}$, ${\boldsymbol{V}}$)由学习参数组成。从式(1)可以看出,输出${\boldsymbol{y}}_{jk}$是通过位置像素和附近像素的线性变换实现的,此操作是通过值向量${\boldsymbol{jk}}$的凸组合聚合空间信息,通过内容交互参数化混合权重。

2.2 匹配代价体的构建

可微分单应性变换投影过程类似经典平面扫描算法,唯一区别在于采样点来自特征图而不是RGB图像。采用平面扫描算法是因为其不仅适用于无纠正图像,而且能达到实时计算视图差的效果。通过投影变换,$N$幅图像可形成$N$个特征体,这个特征体就是匹配代价的表示。通过深度特征提取后,每幅图像${\boldsymbol{I}}_{i}∈\{{\boldsymbol{I}}_{1}∪{\boldsymbol{A}}\}$都可以得到一幅对应的特征图${\boldsymbol{F}}_{i}$, 根据先验的深度范围信息,${\boldsymbol{n}}_{1}$表示相机的主轴方向,对参考图像${\boldsymbol{I}}_{1}$,以其主轴为扫描方向,将参考图像按照某一深度间隔$d_\text{scale}$从最小深度处$d_\text{min}$一直映射到最大深度处$d_\text{max}$,可以得到一个处于不同深度间隔的相机锥体,为了便于计算光学一致性,利用插值方法使每幅投影的长宽一样,从而利用2D的特征生成3D的特征量,即将其他图像上的特征扭曲到参考图像的相机视锥中的192个深度平面上,总有一个深度是对应的。已知参考图像${\boldsymbol{I}}_{1}$,候选集中图像的相机参数为$\{{\boldsymbol{K}}_{j}, {\boldsymbol{R}}_{j}, {\boldsymbol{t}}_{j}\}, i={\boldsymbol{I}}_{1}∪{\boldsymbol{A}}$。考虑到对亚像素的深度估计,以保证深度图平滑,该单应性矩阵是完全可以微分的。第$j$个特征扭曲到参考图像相机视锥的深度$d$平面的单应矩阵计算为

$ \boldsymbol{H}_{j}(d)=\boldsymbol{K}_{j} \times \boldsymbol{R}_{j} \times\left(\boldsymbol{I}-\frac{\left(\boldsymbol{t}_{1}-\boldsymbol{t}_{j}\right) \times \boldsymbol{n}_{1}^{\mathrm{T}}}{d}\right) \times \boldsymbol{R}_{1}^{\mathrm{T}} \times \boldsymbol{K}_{1}^{\mathrm{T}} $ (2)

式中,${\boldsymbol{K}}_{j}$${\boldsymbol{R}}_{j}$${\boldsymbol{t}}_{j}$表示相机的本征特征和外在事物。对于${\boldsymbol{I}}_{1}$,将候选集中代表${\boldsymbol{I}}_{1}$${\boldsymbol{A}}$的特征图${\boldsymbol{F}}_{j}$投影到该相机椎体的不同深度中,定义这个投影变换为

$ \boldsymbol{X}_{1}=\boldsymbol{H}_{j}(d) \times x_{j}[1] $ (3)

式中,[1]表示索引1。

2.3 代价体正则化

原始代价体往往是含有噪声污染的,因此,为了防止噪声使网络过度拟合,本文使用基于多尺度的多层3维卷积神经网络(multi-layer U-Net,MU-Net)进行代价体正则化,即利用U-Net网络(Ronneberger等,2015)对代价体进行降采样,并提取不同尺度中的上下文信息和邻近像素信息,以相对较小的存储/计算代价在一个大的感受野范围内进行领域信息聚合,如图 4所示。核心思想是利用3D卷积,对代价体进行过滤,将视角差信息转化为所求的深度图信息。为不失随机性,本文使用一种基于方差的多视图一致性度量准则,实现了对任意视角图像数量的有效处理,保证每一个特征体${\boldsymbol{S}}$都等权加入方差计算中。该代价体是一个由长和宽与参考图像长宽一样的代价图在深度方向连接而成的3维结构,在深度维度每个单位表示一个深度值。其中某一深度的代价图上的像素表示参考图像在相同深度处与候选集图像的匹配代价。这个3维代价体的构造公式为

$ \boldsymbol{C}=\frac{\sum\limits_{i=1}^{n}\left(\boldsymbol{S}_{i}-\overline{\boldsymbol{S}}\right)}{N} $ (4)

图 4 代价体正则化模块
Fig. 4 Cost volume regularization module

式中,${\boldsymbol{\bar S }}$指所有特征量的均值,${\boldsymbol{C}}$表示代价体, 其中包含的信息是视角差信息,并且是对所有源图像和参考图像求得的视角差,然后计算平均值。$N$表示特征量的数量。

2.4 深度图估计

深度估计是通过神经网络直接学习的。输入特征体${\boldsymbol{S}}$和对应GT(ground truth)深度图,利用soft argmin回归每一个像素在深度$d$处的概率,得到一个表示参考图像沿深度方向置信度的概率体${\boldsymbol{p}}$,以此完成从代价体到深度值的学习过程。当已知概率体时,最简单的可以获取参考图像的所有像素在不同深度的概率图的方法,就是按照“赢者通吃”原则直接估计深度图。然而此原则无法在亚像素级别估计深度,还会造成深度突变、不平滑等情况,所以需要沿着概率体的深度方向,以深度期望值作为该像素的深度估计值,才会使整个深度图中的不同部分内部较为平滑。具体为

$ d_{m}=\sum\limits_{d=d_{\min }}^{d_{\max }} d \times P(d) $ (5)

式中,$P(d)$表示特征${\boldsymbol{m}}$在深度$d$的置信度。

2.5 深度图优化

由于在代价体正则化阶段较大的感受野使得重建的边缘部分过于平滑,因此需要从参考图像中获取边缘信息来优化这些区域的精度。优化阶段使用了深度残差网络,输入为上一步估计的初始深度图(单通道)加上参考图像(3通道),共4通道,然后通过3个32通道的2维卷积和1个单通道的卷积(不加BN和ReLU,最后一层输出残差)并与初始深度图相加,得到优化后的单通道深度图。本文使用L1损失作为训练损失衡量GT深度图和估计深度图之间的绝对差。只考虑那些有效的像素点,即存在GT标签的像素。具体为

$ \begin{aligned} Loss =& \sum\limits_{p \in P_{\text {valid }}}\left\|d(p)-\hat{d}_{i}(p)\right\|_{1}+\\ & \lambda\left\|d(p)-\hat{d}_{1}(p)\right\|_{1} \end{aligned} $ (6)

式中,$P_\text{valid}$表示概率体$P$的整个有效范围,初始深度图$d_{i}$到GT的L0距离和优化后深度图$d_{1}$到GT的L1距离作为损失。遵循其他网络(Yao等,2018)的设置,$λ$系数设置为1。

3 实验

3.1 数据集

DTU数据集(Jensen等,2014)是专门针对MVS拍摄并处理的大型室内数据集,利用一个搭载可调节亮度灯的工业机器臂对一个物体进行角度严格控制的多视角拍摄,所以可以获取每个物体不同视角下的相机的内外参数。该数据集共124个不同场景,每个场景都是从49或64个位置拍摄的,包括各种各样的对象,对应于场景或扫描中的RGB图像数量,用来解决MVS问题,图像分辨率均为1 600×1 200像素。最后在49或64个位置中记录场景,从定向到漫射共7种不同光照条件。

3.2 实现细节

在DTU数据集上训练本文网络,并在评估集上进行评估。根据MVSNet(Yao等,2018)中的给定GT生成深度图进行数据预处理。由于内存需求,在训练和测试阶段,输入图像分辨率设置为1 152×864像素,视图数量设置为3,即每个训练样本由1幅参考图像和2幅源图像组成,共训练27 097(49×7×79)幅图像,测试7 546(49 × 7 × 22)幅图像。初始学习率为0.001,对于平行假设深度范围,在从$d_\text{min}= 425\text{ mm}$$d_\text{max}=935\text{ mm}$的192个虚拟平面(即$D = 192$)上均匀采样每个参考图像,间隔大小为1.06。本文将流迭代设置为$I = 3$,深度间隔分别为2 mm、4 mm和8 mm以进行深度细化。网络在Pytorch(Furukawa和Ponce,2010)上实现,在1个NVIDIA RTX 2080Ti显卡上运行,batch size设置为1。Adam(Kingma和Ba,2017)用做优化求解器($β_{1}=0.9$$β_{2}=0.999$),训练16个epoch。

3.3 基准测试结果

为证明本文方法的有效性,与现有传统方法Colmap(Schönberger等,2016)、Gipuma(Galliani等,2015)、Tola(Tola等,2012)、Camp(Campbell等,2008)和Furu(Furukawa和Ponce,2010)以及基于学习的方法: SurfaceNet(Ji等,2017)、PruMvsnet(Xiang等,2020)和Mvsnet(Yao等,2018)进行对比。使用DTU官方网站提供的评估协议,对重建准确性(accuracy,Acc)和完整性(completeness,Comp)的平均误差,以及两者的平均值即整体性(overall,OA)进行评估。准确性表示估算的点云与GT之间的距离,完整性定义为从GT到估算的点云之间的距离。这3个评价指标值越低表示重建质量越好。

本文方法与现有传统方法和基于学习的方法的对比结果如表 1所示。可以看出,与Yao等人(2018)的方法对比,本文方法在整体性和完整性方面分别提升了1.5%和7%,表明了本文方法的有效性。DTU数据集基准测试效果如图 5所示。

表 1 不同方法的测试结果对比
Table 1 Comparison of test results among different methods 

下载CSV
/mm
方法 整体性 重建准确性 完整性的平均误差
Colmap 0.532 0.400 0.664
Gipuma 0.578 0.283 0.873
Tola 0.766 0.342 1.190
Camp 0.695 0.835 0.554
Furu 0.777 0.613 0.941
SurfaceNet 0.745 0.450 1.04
PruMvsnet 0.464 0.495 0.433
Mvsnet 0.462 0.396 0.527
Mvsnet* 0.468 0.486 0.450
本文 0.447 0.437 0.457
注:加粗字体为各列最优值, *表示在本文设备上运行Yao等人(2018)代码的结果。
图 5 DTU数据集的基准测试结果
Fig. 5 Benchmark test results of DTU datasets
((a)depth maps; (b)confidence maps; (c)confidence maps)

从DTU数据集的基准测试结果图以及表 1可以看出,本文网络在整体性和完整性指标方面有了一定改进,但最终呈现出来的效果图还是有一定缺失,例如图 5(c)中scan4和scan24重建效果图的边缘缺失以及scan9和scan33重建效果图的底部缺失。出现此现象的原因可能是:在代价体正则化阶段由于较大的感受野使得重建的边缘部分过于平滑,所以造成了效果图有部分缺失。完整性改进主要是通过将注意力机制与MVS集成在一起实现的,从而使该模型可以学习预测更精确的深度值。

整体性改进主要是通过将用于特征提取模块的注意力机制和多层U-Net网络将特征提取和正则化网络的低级和高级功能的集成。特征提取模块的注意力机制可以专注于学习重要信息,多层U-Net网络可以提取不同尺度的上下文信息和邻近像素信息,最终通过估计精确的点位置重建逼真的3D模型。

3.4 消融实验

为了进一步验证本文方法的有效性,进行了消融实验和定量分析,用来评估框架中关键组件的优势。针对本文提出的注意力机制和多层U-Net网络,在DTU数据集上进行了4组对比实验,并使用准确性和完整性结果衡量重建质量,实验结果如表 2所示。其中,FE表示原特征提取模块,U-Net表示原代价体正则化模块,FA表示本文提出的特征提取模块,MU-Net表示用于代价体正则化的多层U-Net。运行时间均为训练集单个epoch的单个模型参数的运行时间均值。

表 2 消融测试结果对比
Table 2 Comparison of ablation test results

下载CSV
方法 整体性/mm 重建准确性/mm 完整性的平均误差/mm GPU/M 运行时间/s 模型参数
FE+U-Net 0.468 0.486 0.450 7 950 10.49 338 129
FA+U-Net 0.462 0.479 0.446 8 281 0.510 341 297
FE+MU-Net 0.445 0.454 0.435 10 423 1.080 336 721
FA+MU-Net 0.447 0.437 0.457 10 293 1.110 339 889
注:加粗字体为各列最优值。

表 2可以看出,1)在原来的基础上加注意力机制,整体性、准确性和完整性指标分别提高了0.6%、0.7%和0.4%,内存增加了331 M,模型参数增加了3 168,但运行时间相当于原来的4.9%,这归因于注意力机制可以捕获更重要的信息,便于进行深度推理。2)在原来的基础上加多层U-Net,整体性、准确性和完整性指标分别提高了2.3%、3.2%和1.5%,内存增加了2 473 M,模型参数减少了1 408,运行时间相当于原来的10.3%,这归因于多层U-Net可以同时提取上下文信息和邻域信息,便于对代价体进行体滤。3)在原来的基础上同时加注意力机制和多层U-Net, 整体性和准确性指标分别提高了2.1%和4.9%,内存增加了2 343 M,模型参数增加了1 760,运行时间相当于原来的10.5%,该方法集成了来自特征提取和正则化网络的低级和高级功能的优势,不仅提高了重建结果的清晰度和精度,而且在一定程度上得到了更高质量的重建效果。DTU数据集中不同scan数据的效果如图 6所示。

图 6 DTU数据集中不同scan数据的效果图
Fig. 6 Effect pictures of different scan data in DTU datasets

4 结论

本文提出一种基于注意力机制进行3D重建的端到端深度学习架构,通过改进基于深度图的深度学习体系结构进行MVS重构,同时应用多层U-Net网络对代价体进行正则化。注意力机制用于特征提取模块,专注于学习重要信息进行深度推理,从而捕获大规模特征并获得高分辨率图像。多层U-Net网络则用于对代价体进行正则化,即对代价体进行降采样,并提取不同尺度的上下文信息和邻近像素信息对代价体进行过滤。在DTU数据集上的实验结果表明,本文网络优于现有的其他网络,在整体性和完整性方面分别提升了1.5%和7%,达到44.7%和45.7%,同时得到了更高质量的重建效果。但由于在网络模型中增加了注意力机制和多层U-Net,导致参数增多,内存占用也更大。

由于内存需求,本文网络对输入图像的分辨率设置较低,而且只适用于大型室内数据集。如何在现有基础上提高重建准确性以及应用于大型室外数据集是未来的一个研究方向。

参考文献

  • Campbell N D F, Vogiatzis G, Hernández C and Cipolla R. 2008. Using multiple hypotheses to improve depth-maps for multi-view stereo//Proceedings of the 10th European Conference on Computer Vision. Marseille, France: Springer: 766-779[DOI: 10.1007/978-3-540-88682-2_58]
  • Cernea D. 2015. OpenMVS: open multiple view stereo vision[CP/OL]. [2021-06-10]. https://github.com/cdcseacave/openMVS/
  • Chen R, Han S F, Xu J and Su H. 2019. Point-based multi-view stereo network//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision. Seoul, Korea (South): IEEE: 1538-1547[DOI: 10.1109/ICCV.2019.00162]
  • Choi S, Kim S, Park K and Sohn K. 2018. Learning descriptor, confidence, and depth estimation in multi-view stereo//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Salt Lake City, USA: IEEE: 389-396[DOI: 10.1109/CVPRW.2018.00065]
  • Choy C B, Xu D F, Gwak J, Chen K and Savarese S. 2016. 3D-R2 N2: a unified approach for single and multi-view 3D object reconstruction//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, the Netherlands: Springer: 628-644[DOI: 10.1007/978-3-319-46484-8_38]
  • Eigen D, Puhrsch C and Fergus R. 2014. Depth map prediction from a single image using a multi-scale deep network[EB/OL]. [2021-06-10]. https://arxiv.org/pdf/1406.2283.pdf
  • Furukawa Y and Ponce J. 2006. Carved visual hulls for image-based modeling//Proceedings of the 9th European Conference on Computer Vision. Graz, Austria: Springer: 564-577[DOI: 10.1007/11744023_44]
  • Furukawa Y, Ponce J. 2010. Accurate, dense, and robust multiview stereopsis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(8): 1362-1376 [DOI:10.1109/TPAMI.2009.161]
  • Galliani S, Lasinger K and Schindler K. 2015. Massively parallel multiview stereopsis by surface normal diffusion//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE: 873-881[DOI: 10.1109/iccv.2015.106]
  • Galliani S, Lasinger K and Schindler K. 2016. Gipuma: massively parallel multi-view stereo reconstruction[EB/OL]. [2021-06-10]. Publikationen der Deutschen Gesellschaft für Photogrammetrie, Fernerkundung und Geoinformation e. V 25(361-369): 2
  • Gu X D, Fan Z W, Zhu S Y, Dai Z Z, Tan F T and Tan P. 2020. Cascade cost volume for high-resolution multi-view stereo and stereo matching//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle, USA: IEEE: 2492-2501[DOI: 10.1109/CVPR42600.2020.00257]
  • Hochreiter S, Schmidhuber J. 1997. Long short-term memory. Neural Computation, 9(8): 1735-1780 [DOI:10.1162/neco.1997.9.8.1735]
  • Huang P H, Matzen K, Kopf J, Ahuja N and Huang J B. 2018. DeepMVS: learning multi-view stereopsis//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE: 2821-2830[DOI: 10.1109/CVPR.2018.00298]
  • Im S, Jeon H G, Lin S and Kweon I S. 2019. DPSNet: end-to-end deep plane sweep stereo[EB/OL]. [2021-06-10]. https://arxiv.org/pdf/1905.00538.pdf
  • Jensen R, Dahl A, Vogiatzis G, Tola E and Aanaes H. 2014. Large scale multi-view stereopsis evaluation//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, USA: IEEE: 406-413[DOI: 10.1109/CVPR.2014.59]
  • Ji M Q, Gall J, Zheng H T, Liu Y B and Fang L. 2017. SurfaceNet: an end-to-end 3D neural network for multiview stereopsis//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy: IEEE: 2326-2334[DOI: 10.1109/ICCV.2017.253]
  • Kar A, Häne C and Malik J. 2017. Learning a multi-view stereo machine[EB/OL]. [2021-06-10]. https://arxiv.org/pdf/1708.05375.pdf
  • Kingma D P and Ba J L. 2017. Adam: a method for stochastic optimization[EB/OL]. [2021-06-10]. https://arxiv.org/pdf/1412.6980.pdf
  • Li Z X, Wang K Q, Zuo W M, Meng D Y, Zhang L. 2016. Detail-preserving and content-aware variational multi-view stereo reconstruction. IEEE Transactions on Image Processing, 25(2): 864-877 [DOI:10.1109/TIP.2015.2507400]
  • Liu J G. 2016. The multi-view 3D reconstruction of movable cultural relics. Archaeology, (12): 97-103 (刘建国. 2016. 可移动文物的多视角影像三维重建. 考古, (12): 97-103)
  • Luo K Y, Guan T, Ju L L, Huang H P and Luo Y W. 2019. P-MVSNet: learning patch-wise matching confidence aggregation for multi-view stereo//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision. Seoul, Korea (South): IEEE: 10451-10460[DOI: 10.1109/ICCV.2019.01055]
  • Moulon P, Monasse P, Perrot R and Marlet R. 2017. OpenMVG: open multiple view geometry//Proceedings of the 1st International Workshop on Reproducible Research in Pattern Recognition. Cancún, Mexico: Springer: 60-74[DOI: 10.1007/978-3-319-56414-2_5]
  • Ronneberger O, Fischer P and Brox T. 2015. U-Net: convolutional networks for biomedical image segmentation[EB/OL]. [2021-06-10]. https://arxiv.org/pdf/1505.04597.pdf
  • Schönberger J L and Frahm J M. 2016. Structure-from-motion revisited//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE: 4104-4113[DOI: 10.1109/CVPR.2016.445]
  • Schönberger J L, Zheng E L, Frahm J M and Pollefeys M. 2016. Pixelwise view selection for unstructured multi-view stereo//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, the Netherlands: Springer: 501-518[DOI: 10.1007/978-3-319-46487-9_31]
  • Tola E, Strecha C, Fua P. 2012. Efficient large-scale multi-view stereo for ultra high-resolution image sets. Machine Vision and Applications, 23(5): 903-920 [DOI:10.1007/s00138-011-0346-8]
  • Weilharter R, Fraundorfer F. 2021. HighRes-MVSNet: a fast multi-view stereo network for dense 3D reconstruction from high-resolution images. IEEE Access, 9: 11306-11315 [DOI:10.1109/ACCESS.2021.3050556]
  • Xiang X, Wang Z Y, Lao S S, Zhang B C. 2020. Pruning multi-view stereo net for efficient 3D reconstruction. ISPRS Journal of Photogrammetry and Remote Sensing, 168: 17-27 [DOI:10.1016/j.isprsjprs.2020.06.018]
  • Xue Y Z, Chen J S, Wan W T, Huang Y Q, Yu C, Li T P and Bao J Y. 2019. MVSCRF: learning multi-view stereo with conditional random fields//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision. Seoul, Korea (South): IEEE: 4311-4320[DOI: 10.1109/ICCV.2019.00441]
  • Yang J Y, Mao W, Alvarez J M and Liu M M. 2019. Cost volume pyramid Based depth inference for multi-view stereo[EB/OL]. [2021-06-10]. https://arxiv.org/pdf/1912.08329.pdf
  • Yang J Y, Mao W, Alvarez J M and Liu M M. 2020. Cost volume pyramid Based depth inference for multi-view stereo//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle, USA: IEEE: 4876-4885[DOI: 10.1109/CVPR42600.2020.00493]
  • Yao Y, Luo Z X, Li S W, Fang T and Quan L. 2018. MVSNet: depth inference for unstructured multi-view stereo//Proceedings of the 15th European Conference on Computer Vision. Munich, Germany: Springer: 785-801[DOI: 10.1007/978-3-030-01237-3_47]
  • Yao Y, Luo Z X, Li S W, Shen T W, Fang T and Quan L. 2019. Recurrent MVSNet for high-resolution multi-view stereo depth inference//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA: IEEE: 5520-5529[DOI: 10.1109/CVPR.2019.00567]
  • Yu Z H and Gao S H. 2020. Fast-MVSNet: sparse-to-dense multi-view stereo with learned propagation and gauss-Newton refinement//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle, USA: IEEE: 1946-1955[DOI: 10.1109/CVPR42600.2020.00202]
  • Zaharescu A, Boyer E and Horaud R. 2007. TransforMesh: a topology-adaptive mesh-based approach to surface evolution//Proceedings of the 8th Asian Conference on Computer Vision. Tokyo, Japan: Springer: 166-175[DOI: 10.1007/978-3-540-76390-1_17]
  • Zhang L. 2018. The Exploration on the photography of the multi-view three-dimensional reconstruction of movable cultural heritages. Huaxia Archaeology, (1): 123-128 (张蕾. 2018. 可移动文物多视角三维重建的拍摄方法探索. 华夏考古, (1): 123-128)