【论文简述】MVS2D: Efficient Multi-view Stereo via Attention-Driven 2D Convolutions(CVPR 2022)

一、论文简述

1. 第一作者:Zhenpei Yang

2. 发表年份:2022

3. 发表期刊:CVPR

4. 关键词:MVS、注意力、单目、深度学习

5. 探索动机:现在的方法比较慢。

While such end-to-end learning of planesweeping stereo advances public benchmarks’ accuracy,they are typically very slow to compute.

6. 工作目标:如何结合单视图深度线索和多视图深度线索。

  • Single-view depth prediction roots in learning feature representations to capture image semantics, which is orthogonal to correspondence-computation in multi-view techniques.
  • A natural question is how to combine single-view depth cues and multi-view depth cues.

7. 核心思想:提出了MVS2D,结合了单视图和多视图深度估计的优势。核心贡献是提出了一种注意力机制,聚合了参考图像上每个查询像素沿极线的特征。该模块从参考图像中获得了丰富信息。

  • 注意力机制具有两个特征:1)该网络只包含2D CNNs。2)依靠2D CNNs表达能力,该网络无缝加入了单视图特征表示和多视图特征表示。因此,与最先进的算法相比,MVS2D是最高效的方法。
  • MVS2D的优势来自中间特征表示的较早的融合。结果是中间特征表示包含丰富的3D信号。此外,MVS2D提供了足够的空间,可以设计注意力模块的位置来处理不同的输入。例如,当输入相机位姿不准确时,对应的像素偏离输入参考图像上的极线。当在编码器-解码器网络上安装多尺度注意力模块,MVS2D自动检测和校正对应,下采样的参考图像中的对应像素更靠近极线。

8. 实验结果:由于MVS2D仅构建在2D卷积上,它比NAS快48倍,比DPSNet快39倍,比MVSNet]快10倍,比FastMVSNet快4.7倍,比最近的最快方法PatchmatchNet快近2倍。此外,该算法可以产生精确的深度估计和3D重建,在具有挑战性的基准测试ScanNet、SUN3D、RGBD和经典的DTU数据集上获得了最先进的结果,在不准确的相机姿势设置上也优于其他所有算法。定性上,与最近期方法相比,MVS2D有助于生成更高质量的3D重建输出。下图为ScanNet上的FPS和AbsRel的比较。模型显著减少了推理时间,同时保持了最先进的准确性。

9.论文&代码下载:

https://openaccess.thecvf.com/content/CVPR2022/papers/Yang_MVS2D_Efficient_Multi-View_Stereo_via_Attention-Driven_2D_Convolutions_CVPR_2022_paper.pdf

https://github.com/zhenpeiyang/MVS2D

二、实现过程

1. MVS2D概述

本文目标是估计源图像I0∈h×w×3的深度图,给定具有相同大小的周围视图作为参考图像{Ii},源图像和参考图像共享内参K。源图像和参考图像之间相对位姿为Ti = (Ri|Ti)。使用2D UNet结构F对I0进行深度预测,同时通过极线自注意力模块输入使用G提取的多视图线索。虚线箭头只存在于ours -robust模型中。极线自注意力模块可以轻松嵌入到大多数2D CNNs中。

2. 网络设计

该方法与大多数单视图深度预测网络类似,逐步计算源图像的多尺度激活图,并输出单个深度图。不同之处在于,某些中间激活图结合了前一个激活图应用2D卷积后的输出和聚合多视图深度线索的注意力模块的输出。该注意力模块将源图像的每个像素与参考图像上相应的极线像素进行匹配。匹配过程都使用了学习到的源图像和参考图像的特征激活。输出使用与源图像的激活图相匹配的学习的深度码进行编码。

从形式上讲,目标是学习一个具有L层的前馈网络F。用Fj∈hj×wj×mj表示第j层的输出,其中mj是特征维数。第一层F1∈ h1×w1×3表示输入,最后一层FL∈hL×wL表示包含深度预测的输出层。在两个连续的层之间是一个普通卷积Cj:hj×wj×mj→hj×wj×mj+1(包含如下采样,上采样和最大池化)和一个可选的注意力模块Aj:hj×wj×mj → hj×wj×mj:

该网络设计的另一个特点是卷积Cj隐式地聚合了在相邻像素处提取的多视图深度线索。这种方法促进了共享同一极线或具有相邻极线的相邻像素之间的一致对应关系。

3. 极线注意力模块

继续定义Aj(p0),j对每个像素p0,它由两部分组成:

Aep j (p0,{Ii})使用可训练深度码来编码p0与参考图像之间的匹配结果。A0 j:由一个恒等映射和一个可训练的线性映射组成,该映射转换了Fj中与p0相关的特征。

Aep j (p0,{Ii})使用了p0的极线上下文。它由参考图像上p0的极线上的采样组成。这些采样是通过对p0的深度值d0采样,然后应用单应性变化得到的。用pk i表示第i个参考图像上的第k个采样。

为了匹配p0和pk i,我们引入了一个与Fjmax具有相同结构(除了注意力模块)的特征提取网络G,其中jmax是f的任何注意力模块的最大深度。Gj(I0, p0)∈Rmj和Gj(Ii, pki)∈Rmj分别表示p0和pk i的提取特征。遵循标度点积注意的实践,引入两个额外的可训练线性映射fj 0: Rmj→Rmj和fj ref: Rmj→Rmj对提取的特征进行变换。在此设置下,定义p0和pk i之间的匹配分数为:

它仍然是1)在参考图像中出界的模型样本,2)将权重wik j与卷积Cj的输入进行连接。为此,首先引入对应于第k个深度采样的可训练掩码cjk∈Rmj。然后引入vj in∈Rmj和vj out∈Rmj,分别是内部采样和外部采样的可训练码,定义:

为了增强Gj的表达能力,进一步包含了一个可训练的线性映射A1j,它只依赖于p0的特征,而不依赖于匹配结果,定义:

 其中N是softmax归一化函数。将(5)代入(2),最终得到的注意力模块为:

 

不同层的注意力模块有不同的权重。式3可视为源像素与对应候选像素之间的相似度得分。下图可视化查询像素的学习的注意力分数。参考图像上的真实对应像素沿极线具有较大的学习权重。

图3. 注意力分数的可视化。左:带有查询像素的源视图。右图:带有候选像素的参考视图,其中不透明度为学习的注意力得分。

4. 鲁棒MVS的注意力设计

由于注意力模块假设对应的像素位于极线上,MVS2D的精度取决于参考图像与源图像之间的相对姿态的精度。当输入姿态准确时,实验表明在F的第二层有一个注意力模块就足够,因此实现了高效的多视图立体网络。当输入位姿不准确时,通过在不同的F层上加上注意力模块来解决这个问题。这种方法确保相应的像素在粗分辨率下足够接近这些分辨率的极线,并提高了性能。

5. 实验

5.1. 数据集

DTU:尽管该方法为多视图深度估计而设计,但还在DTU数据集上进行验证了验证。

ScanNet:该数据集包含807个不同场景,从不同的相机轨迹获得图像序列。采样了86324张三元图像(一张源图像和两张参考图像)用于训练,666张三元图像用于测试。设置确保测试图像的场景不包含在训练集中。

DeMoN:该数据集用于多视图深度估计的数据集,由三个数据源组成:SUN3D,RGBD, Scenes11。SUN3D和RGBD包含真实的室内场景,而Scenes11是合成的。SUN3D总共有79577训练对,RGBD为16786,Scenes11为71820。

5.2. 评估指标

效率。在推理过程中,比较了该方法与基线方法每秒的帧数(FPS)。

深度的准确性。使用深度估计的常用指标。请注意,与单目深度估计评估相比,在评估前不考虑深度尺度。正确预测尺度的能力将使该方法更加适用。

场景重建质量。遵循PatchmatchNet[将每个视图的深度图融合到3D模型中。

噪声输入姿态下的鲁棒性。在训练过程中扰动输入的相对位姿Tj,并在表8中报告ScanNet测试集上的模型性能。

5.3. 实现细节

基于Pytorch实现。对于ScanNet和DeMoN,简单地优化了预测深度和实深度之间的L1损失。对于DTU,我们引入一个简单的修改,同时训练一个置信度预测。使用Adam优化器。

5.4. 效率

  • Ours-mono:没有极线注意力模块,因此相当于单视图深度估计。
  • Our-mono *:去除全局尺度。
  • Ours-robust:多尺度极线注意力模块应用于F。
  • Ours:只在F的第二层应用极线注意力模块。

FPS (V)即使用V张图像进行预测,仅适用于多视图方法。使用单个Nvidia V100 GPU来测量FPS。

DTU数据集。在三种输入分辨率下显示FPS(帧每秒),使用一个源图像和4个参考图像。

5.5. 与先进技术的比较

ScanNet等:SOTA

DTU:使用4个参考视图和96个深度均匀,在逆深度空间中[1/935,1/425],SOTA。

5.6. 噪声姿态下的鲁棒性比较

在ScanNet上,不同方法在噪声输入下的性能。当输入位姿准确时,Ours-robust(多尺度线索)和our(单尺度线索)表现相似。当输入姿态有噪声时,多尺度聚合表现更好,具有鲁棒性。大多数方法在噪声输入下都有显著的性能下降。

5.7. 深度编码的消融研究

测试了四种深度代码类型。“Uniform”是一种健全检查,对所有深度假设使用相同的编码向量。换句话说,网络并没有从参考图像中提取有用的信息。“线性”通过将基码向量与相应的深度值进行缩放来改进统一编码。“余弦”代码与[43]中使用的相同。“学习”代码被端到端优化。端到端学习的码会带来显著的性能提升。一种解释是,这些学习的码可以适应源图像的单视图特征表示。

 5.8. 局限性

网络的训练方式很好地适应了数据分布,这可能使它很难泛化到非分布的测试数据。在未来,希望通过开发鲁棒的训练损失来解决这个问题。另一个限制是所提出的注意力机制没有明确地模拟同一极线上不同像素之间的一致性。计划是通过开发新的注意力机制来明确地执行这些约束来解决这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华科附小第一名

您的支持对我的前行很重要!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值