PVA-MVSNet

基本信息

项目 内容
论文标题 Pyramid Multi-view Stereo Net with Self-adaptive View Aggregation
作者 Hongwei Yi, Zizhuang Wei, Mingyu Ding, Runze Zhang, Yisong Chen, Guoping Wang, Yu-Wing Tai
作者单位 Peking University
时间 2020
发表会议/期刊 ECCV

方法概览

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

分为单尺度的VA-MVSNet和多尺度的PVA-MVSNet

image-20251126205654723


1. 摘要精简

提出一种高效的金字塔多视图立体匹配网络 PVA-MVSNet,通过自适应性视图聚合和多度量金字塔深度聚合提升重建精度与完整性。不同于现有方法采用均方差生成代价体,PVA-MVSNet 引入像素级和体素级两种自适应性视图聚合,在少量额外内存消耗下融合不同视图的代价方差;将 VA-MVSNet 扩展为多尺度金字塔输入的 PVA-MVSNet,利用多度量约束将粗尺度的可靠深度估计聚合到细尺度,填补匹配模糊区域。该方法在 DTU 数据集上刷新 SOTA,完整性和整体质量显著提升,在 Tanks and Temples 数据集上泛化性强,性能与 SOTA 相当,源代码已开源(https://github.com/yhw-yhw/PVAMVSNet)。


2. 研究动机与出发点

现有深度学习 MVS 方法存在两大局限:一是视图聚合策略不合理,MVSNet、R-MVSNet 等假设所有视图对代价体的贡献均等,采用均方差或均值聚合,但实际不同视图因光照、相机参数、场景遮挡等存在异质性,均等贡献会导致匹配模糊;二是多尺度信息利用不足,现有粗到精方法易引入量化误差,未能有效用粗尺度可靠深度填补细尺度匹配错误。因此,本文提出自适应性视图聚合以学习视图异质性,结合金字塔多尺度聚合提升重建的鲁棒性与完整性。


3. 创新点

  1. 提出两种自适应性视图聚合模块(像素级、体素级),以注意力机制学习不同视图的贡献权重,增强匹配区域、抑制错误匹配,且额外内存消耗小;
  2. 设计多度量金字塔深度聚合策略,通过光度和几何一致性约束,将粗尺度可靠深度逐步替换细尺度模糊区域深度,无量化误差;
  3. PVA-MVSNet 采用并行处理多尺度金字塔图像,兼顾效率与精度,在 DTU 数据集建立新 SOTA,泛化性强。

4. 网络架构

image-20251126205846651

网络整体分为两大核心部分,流程为 “多尺度深度预测→金字塔深度聚合→点云融合”:

  1. VA-MVSNet:处理单尺度图像,包含特征提取、代价体构建、自适应聚合、深度估计
  2. 金字塔聚合:多尺度VA-MVSNet并行处理,通过多度量约束聚合各尺度深度图

步骤上

  1. 第一部分:VA-MVSNet 模块,含特征提取、可微分 warp、自适应性视图聚合、3D U-Net 正则化、深度图估计,处理单尺度图像输出对应深度图;
  2. 第二部分:多度量金字塔深度聚合,构建 K 级图像金字塔,并行用 VA-MVSNet 生成多尺度深度图,通过多度量约束将粗尺度可靠深度替换细尺度模糊深度,得到最终精炼深度图;
  3. 后处理:过滤置信度 > 0.9 的深度值,经几何一致性校验(至少 3 视图一致)后,融合为 3D 点云。

5. 特征提取

  • 使用2D U-Net提取特征,输出特征图下采样4倍
  • 特征通道数为32,保持较大感受野,含多层卷积、分组归一化(GR)和 ReLU 激活,通过 U-Net 的编码 - 解码结构扩大感受野;
  • 对所有输入图像共享权重提取特征

6. 代价体构建

论文中像素级聚合体素级聚合两种独立的方案,不是同时使用然后相加的。

  • 要么使用像素级聚合
  • 要么使用体素级聚合

image-20251126205815938

PVA-MVSNet 通过注意力机制为不同视图分配动态贡献权重,核心是 “提取视图差异特征→学习注意力权重→加权聚合代价体”,具体分为像素级(PixelVA)和体素级(VoxelVA)两种实现,均通过独立子网络生成注意力权重,抑制低质量视图干扰、增强高质量视图贡献。

  • 通过可微分单应变换构建3D平面扫描特征体积
  • 每个视图生成特征体积 ViV_i,尺寸为 Wi×Hi×Di×CiW_i\times H_i\times D_i\times C_i

自适应聚合替代传统均方方差:

像素级聚合

为空间维度(高度H×宽度W)的每个位置学习独立权重,深度维度D共享相同的权重,即同一空间位置在不同深度假设使用相同权重。使用一个小的神经网络(PA-Net)来生成一个2D的权重图,尺寸为H×W。这个权重图的每个元素对应一个像素的权重。2D卷积 → ResNet块 → 2D卷积 → Sigmoid

  1. 计算特征差异:

    vi,d,h,w=vi,d,h,wv0,d,h,wv'_{i,d,h,w} = v_{i,d,h,w} - v_{0,d,h,w}

  2. 聚合代价体:

cd,h,w=i=1N1(1+wh,w)vi,d,h,wN1c_{d,h,w}=\frac{\sum_{i=1}^{N-1}(1+w_{h,w})\odot v^{\prime}_{i,d,h,w}}{N-1}

体素级聚合

为每个体素(D×H×W)学习独立权重。每个空间位置在不同深度假设使用不同权重,使用一个3D卷积网络(VA-Net)来生成一个3D的权重体积,尺寸为D×H×W。这个权重体积的每个元素对应一个体素的权重。3D卷积 → 3D卷积 → Sigmoid

cd,h,w=i=1N1(1+wd,h,w)vi,d,h,wN1c_{d,h,w}=\frac{\sum_{i=1}^{N-1}(1+w_{d,h,w})\odot v^{\prime}_{i,d,h,w}}{N-1}


7. 代价体正则化

  • 使用3D U-Net对聚合后的代价体进行正则化
  • 生成概率体积 PP,通过softmax沿深度维度归一化

8. 深度图生成

分两步生成高精度深度图,结合单尺度估计与多尺度聚合:

  1. 单尺度深度估计:对每个尺度的概率体P应用 soft argmin 操作,得到连续深度图

    E=d=dmindmaxd×P(d)E=\sum_{d=d_{\text{min}}}^{d_{\text{max}}}d\times P(d)

  2. 金字塔深度聚合:

  • 光度约束:用概率图筛选可靠深度,替换细尺度低置信度Pk(p)<ϵlow=0.5(P^k(p)<ϵ_{low}=0.5)深度为粗尺度高置信度Pk+1(p)>ϵhigh=0.9(P^{k+1}(p)>ϵ_{high}=0.9)深度;
  • 几何约束:参考像素p经深度Di(p)D_i(p)投影到源图pprojp_proj,再反投影回参考图preprojp_reproj,保留满足ppreproj2<τ1=1∥p−p_{reproj}∥_2<τ_1=1Di(p)dreproj1<τ2×Di(p)=0.01×Di(p)∥D_i(p)−d_{reproj}∥_1<τ_2 × D_i(p)=0.01×D_i(p)的像素;
  • 迭代聚合:从最粗尺度到最细尺度(k=K−1至k=0)逐步替换,得到最终精炼深度图。

9. 损失函数

使用与MVSNet相同的平均绝对误差损失:

L=xxvalidd(x)d^(x)1\mathcal{L}=\sum_{x\in x_{valid}}\left\|d(x)-\hat{d}(x)\right\|_{1}

其中 xvalidx_{valid} 为有效像素集合,d^\hat{d} 为真实深度


10. 测试数据集

  • DTU数据集:124个室内场景,训练和评估
  • Tanks and Temples:复杂室外场景,测试泛化能力
  • 输入分辨率:DTU为1600×1184,Tanks and Temples为1920×1056

性能对比

  • VA-MVSNet:Overall 0.369 (DTU)
  • PVA-MVSNet:Overall 0.357 (DTU),完整性显著提升
  • 时间开销:VA-MVSNet 0.91s/view,PVA-MVSNet 1.01s/view
  • 内存消耗:VA-MVSNet 18.1GB,PVA-MVSNet 24.87GB

11. 消融实验测试组件

消融实验在 DTU 数据集上进行,验证核心组件有效性:

  1. 自适应性视图聚合:对比基线(均方差聚合)、PixelVA、VoxelVA 的性能,验证两种聚合模块对精度和完整性的提升;
  2. 多度量金字塔聚合(MMP):测试 PixelVA+MMP、VoxelVA+MMP 的性能,验证多尺度聚合对完整性的改善;
  3. 视图数量:测试训练(N=3,4,5)和测试(N=2,3,5,7)阶段不同视图数量的影响,验证网络对多视图信息的利用能力;
  4. 金字塔层数(K):测试K=1,2,3级金字塔的性能,验证多尺度信息对整体质量的提升。

额外创新点补充

  1. 视图聚合顺序无关:自适应性聚合模块不依赖视图输入顺序,适配任意数量视图,灵活应对不同场景的视图配置;
  2. 并行高效:多尺度金字塔图像可并行处理,仅需额外 0.1 秒完成多度量聚合,效率损失小;
  3. 置信度度量合理:基于概率体计算深度估计置信度,结合多度量约束筛选可靠深度,提升匹配鲁棒性。

其他亮点

  • 在DTU上取得最佳完整性和整体质量(0.357)
  • 内存消耗18.1GB,推理速度0.91秒/视图
  • 无需微调在Tanks and Temples上取得可比结果
  • 代码开源:https://github.com/yhw-yhw/PVAMVSNet