TransMVSNet

基本信息

项目 内容
论文标题 TransMVSNet: Global Context-aware Multi-view Stereo Network with Transformers
作者 Yikang Ding, Wentao Yuan, Qingtian Zhu, Haotian Zhang, Xiangyue Liu, Yuanjiang Wang, Xiao Liu
作者单位 清华大学 / 北京大学 / 北京航空航天大学 / 旷视科技 (联合工作)
时间 2021
发表会议/期刊 CVPR

方法概览

特点 文章性质
输入 多视角
输出 参考视角深度图
所属领域 MVS

1. 摘要精简

TransMVSNet 提出了一种基于Transformer的全局上下文感知多视图立体匹配网络。作者将MVS问题重新归因于其特征匹配的本质,并提出了一个强大的特征匹配Transformer (FMT),利用自注意力交叉注意力来聚合图像内和图像间的长程上下文信息。为了促进FMT的更好适应,引入了自适应感受野模块以确保特征范围的平滑过渡,并使用特征通路在不同尺度间传递变换后的特征和梯度。此外,采用逐对特征相关性来度量特征相似性,并采用减少模糊性的焦点损失来加强监督。TransMVSNet 是首次将Transformer引入MVS任务的尝试,在DTU、Tanks and Temples和BlendedMVS数据集上均取得了最先进的性能。


2. 引言与动机

MVS的目标是从一系列标定图像中恢复密集的3D表示,是计算机视觉中的重要任务。然而,基于学习的MVS网络存在两个主要问题:

  1. 局部特征局限:卷积操作能很好地捕获局部特征,但其局部性阻碍了对全局上下文信息的感知,这对于MVS中具有挑战性的区域(如弱纹理、重复模式、非朗伯表面)的鲁棒深度估计至关重要。
  2. 缺乏跨图像交互:在计算匹配代价时,被比较的特征只是从每张图像自身分别提取的,没有考虑潜在的图像间对应关系。计算匹配代价时,各图像的特征仅单独提取,未考虑视图间潜在的特征对应关系,导致匹配可靠性不足。

Transformer因其注意力机制和位置编码在上下文聚合方面的强大能力,为感知真正的全局和位置相关的上下文信息提供了可能。因此,作者提出TransMVSNet,利用FMT来增强图像内和图像间的长程全局上下文聚合。


3. 创新点总结

3.1 特征匹配Transformer (FMT)

  • 核心思想:针对MVS“一对多”匹配任务的本质,首个将 Transformer 应用于 MVS 的端到端网络:提出特征匹配 Transformer(FMT),通过视图内自注意力聚合单图像长程上下文,视图间交叉注意力捕捉多视图特征交互,适配 MVS “一对多” 的匹配本质。
  • 注意力机制
    • 自注意力:作用于同一图像内部,聚合图像内的长程全局上下文。
    • 交叉注意力:作用于参考图像和源图像之间,进行跨图像的特征搜索与匹配。采用单向更新策略,仅用参考图像的信息更新源图像特征,保持参考特征的不变性,为所有源图像提供一个一致的匹配目标。
  • 线性注意力优化:FMT 采用线性注意力替代标准点积注意力,将计算复杂度从输入序列长度的二次方降至线性,适配高分辨率图像处理;
  • 位置编码:增强特征的位置一致性,使FMT对不同分辨率的特征图具有鲁棒性。

3.2 自适应感受野模块

自适应感受野(ARF)模块:基于可变形卷积实现,自适应调整 CNN 提取的局部特征的感受野,填补局部特征与 Transformer 全局特征之间的范围鸿沟,保障特征传递和端到端训练的顺畅性。

  • 目的:桥接FPN(主要关注局部邻域)和FMT(隐含全局感受野)之间的上下文范围差距
  • 实现:通过可变形卷积实现,学习采样位置的额外偏移,能够根据局部上下文自适应地扩大感受野,确保从CNN到Transformer的平滑过渡。

3.3 变换特征通路

跨尺度特征路径:将低分辨率下经 FMT 处理的特征上采样后,与高分辨率原始特征融合,实现特征和梯度在不同尺度间的有效传递,支持 FMT 接收全尺度监督。

  • 目的:将FMT处理后的低分辨率特征有效传递到更高分辨率,并使FMT能够接受来自所有尺度的梯度监督。
  • 实现:将FMT处理后的特征图上采样后,与下一尺度的原始特征图相加。

3.4 损失函数设计

歧义感知焦点损失:将深度估计视为分类任务,对低预测概率的歧义区域加强惩罚,解决传统损失在挑战性区域监督不足的问题,提升边界区域深度估计精度。

  • 采用焦点损失替代常用的L1回归损失,将深度估计视为分类任务。
  • 通过调节聚焦参数 γ\gamma,加强对预测概率低的模糊区域(如物体边界)的监督,使模型专注于更难分类的样本。

4. 网络架构

image-20251201155608780

整体流程如图所示:

  1. 特征提取:使用FPN从输入图像中提取多尺度特征。
  2. 特征适配与上下文聚合:
    • 每个阶段的 FPN 特征先经 ARF 模块自适应调整感受野;
    • 输入 FMT 模块,通过自注意力和交叉注意力聚合全局上下文信息;
    • 跨尺度特征路径将低阶段 FMT 处理后的特征上采样,与高阶段原始特征融合。
  3. 代价体构建与正则化:通过单应性变换和特征相关构建相关体,使用3D CNN进行正则化。所以其实还是用代价体,注意力机制只是用在特征提取阶段
  4. 深度估计:采用 Winner-take-all 策略从概率体积中选择最优深度假设,输出各阶段深度图,最终经过滤融合得到高分辨率深度图。

5. 特征提取

image-20251201155623491

特征提取聚焦 “局部特征→自适应调整→全局聚合→跨尺度传递” 的全流程,具体如下:

  • 基础特征提取:采用 FPN 对所有输入图像(参考图 + 源图)提取三阶段多尺度特征,每个阶段特征通道数固定,分辨率从低到高逐步提升(对应粗到精的深度估计流程)。
  • 感受野自适应调整:在 FPN 与 FMT 之间插入 ARF 模块,通过可变形卷积学习额外采样偏移量,根据局部上下文自适应扩大感受野,使局部特征平滑过渡到全局特征。
  • 全局上下文聚合:FMT 对 ARF 输出特征进行处理,先添加位置编码增强位置一致性,再通过多轮注意力块(默认 4 个)执行自注意力(聚合单图像长程信息)和交叉注意力(捕捉视图间特征关联),输出富含全局上下文的特征。
  • 跨尺度特征传递:低阶段 FMT 特征经插值上采样至下一阶段分辨率,与该阶段 FPN 原始特征逐元素相加,实现特征和梯度的跨尺度传递,保障全尺度监督信号有效作用于 FMT。

6. 代价体构建

  1. 可微分扭曲:将源图像特征根据深度假设 dd 通过单应性变换对齐到参考视图。

    p^=K[R(K01pd)+t]\hat{\mathbf{p}} = \mathbf{K}[\mathbf{R}(\mathbf{K}_0^{-1}\mathbf{p}d) + \mathbf{t}]

    其中 R,t\mathbf{R}, \mathbf{t} 是视图间的旋转和平移,K0,K\mathbf{K}_0, \mathbf{K} 是相机内参。
  2. 逐对特征相关:计算参考特征与每个扭曲后的源特征之间的相关性。

    ci(d)(p)=<F0(p),F^i(d)(p)>c_i^{(d)}(\mathbf{p}) = <\mathcal{F}_0(\mathbf{p}), \hat{\mathcal{F}}_i^{(d)}(\mathbf{p})>

  3. 相关体聚合:为每个源视图的相关体分配一个基于深度维度最大相关性的像素级权重,然后加权求和得到最终的相关体 C(d)(p)C^{(d)}(\mathbf{p})。这有效地将 N1N-1 个相关体聚合为一个。

7. 代价体正则化

  • 采用由粗到细的正则化模式。
  • 使用3D CNN 对构建的相关体进行正则化,将其转换为表示每个深度假设可能性的概率体。三阶段分别设置不同的深度假设数量(48→32→8)和深度间隔(从粗到精按 0.25 和 0.5 衰减),前一阶段的深度估计结果作为后一阶段的深度范围约束,逐步提升估计精度。
  • 在三个不同分辨率阶段分别进行,逐步细化深度估计。

8. 深度图生成

  • 对正则化后得到的概率体 PP,沿深度方向采用 赢家通吃 策略确定每个像素的深度估计值。
  • 即选择概率最大的深度假设作为该像素的深度值。

9. 损失函数

采用针对多分类任务的焦点损失

L=p{pv}(1P(d~)(p))γlog(P(d~)(p))\mathcal{L} = \sum_{\mathbf{p} \in \{\mathbf{p}_v\}} -(1 - P^{(\tilde{d})}(\mathbf{p}))^{\gamma} \log \left( P^{(\tilde{d})}(\mathbf{p}) \right)

其中:

  • {pv}\{\mathbf{p}_v\} 是具有有效真实深度的像素子集。

  • d~\tilde{d} 是所有深度假设中最接近真实深度的那个假设。

  • P(d~)(p)P^{(\tilde{d})}(\mathbf{p}) 是像素 p\mathbf{p} 处深度为 d~\tilde{d} 的预测概率。

  • γ\gamma 是聚焦参数,用于降低简单样本的权重,使模型专注于困难样本。当 γ=0\gamma=0 时,退化为交叉熵损失。实验表明,γ=0\gamma=0 适合DTU等相对简单的场景,γ=2\gamma=2 适合更复杂的场景(如BlendedMVS)。

  • 核心作用:通过 (1−P(dˉ)§)γ 为低概率预测的歧义像素(如边界、低纹理区域)分配更高权重,加强对这些挑战性区域的监督,提升深度估计的整体精度。

    多阶段损失聚合:三阶段损失直接求和作为总损失,无需额外加权,通过粗到精的流程自然实现损失的逐步优化。


10. 测试数据集

  • DTU:室内实验室数据集,用于训练和评估。
  • Tanks and Temples:具有挑战性的真实场景基准,包含Intermediate和Advanced子集,用于测试泛化能力。
  • BlendedMVS:大规模合成数据集,用于训练微调和深度图质量评估。

11. 消融实验

消融实验验证了以下组件的有效性:

  1. 焦点损失:相比L1损失,提升整体性能。
  2. 特征匹配Transformer:引入FMT显著提升性能,是性能提升的关键。
  3. 变换特征通路:连接不同尺度,提升完整性和整体指标。
  4. 自适应感受野模块:桥接FPN与FMT,带来显著的性能提升,是完整模型达到SOTA的重要组成部分。
  5. FMT设计细节
    • 注意力头数:实验表明8个头效果较好。
    • 注意力块数:4个块在性能和效率间取得平衡。
    • 注意力块设计:验证了“单向更新参考特征”设计的有效性和高效性。

总结

TransMVSNet 通过将Transformer引入MVS任务,成功解决了传统方法在全局上下文感知和跨图像特征交互方面的不足。其核心的FMT模块、ARF模块、特征通路以及焦点损失共同作用,显著提升了在弱纹理、重复模式等挑战性区域的深度估计鲁棒性和精度,在多个标准数据集上取得了领先的性能。这项工作为MVS领域提供了新的思路,强调了全局上下文信息在特征匹配中的根本性作用。