【深度学习MVS系列论文】CasMVSNet:Cascade Cost Volume for High-Resolution Multi-View Stereo and Stereo Matching

Cascade Cost Volume for High-Resolution Multi-View Stereo and Stereo Matching

CVPR 2020


Abstract

之前的问题:构建3D代价体,随着分辨率的增加cubic增长

memory and time efficient cost volume formulation complementary

首先构建特征金字塔,每一步通过上一步的结果缩小深度假设范围

同样也是coarse-to-fine: gradually higher cost volume resolution and adaptive adjustment of depth intervals

DTU准确度提升了35%,GPU和运行时间降了50%

可以集成到现有方法中

Introduction

3D CNN可以捕捉更多的几何结构(光度一致性、遮挡、透视变化的畸变)

【cascade表示】

  1. 特征金字塔提取多尺度特征
  2. 早期cost volume构建在大尺度的语义特征上(稀疏采样)
  3. 后期cost volume通过之前估计的深度图适应性的调整深度假设范围,构建精细的代价体

这种适应性深度假设和图像分辨率调整使得计算资源被用在more meaningful region,从而降低GPU和时间消耗

【两类问题】

  • multi-view stereo 主线上的DTU那些
  • stereo matching:end-point-error(EPE), GwcNet…

Related Work

基于3D代价体的方法受限于下采样cost volume和最后通过插值生成高分辨率视差

cascade可以与之前的方法融合在一起,提高分辨率和性能


Methodology

代价体表示

【构建3D代价体的三步】

  1. 假设离散的深度假设平面
  2. 将每个视点提取的2D特征投影到假设平面上,构建feature volume
  3. 最终fuse together构建3D cost volume

pixel-wise构建cost是不稳定的,在遮挡、重复纹理、低纹理、反射等区域都不好 → 3D CNNs at multiple scales可以用来聚集上下文信息,使得正则化时更鲁棒

【MVS问题中的构建】

相机前平行平面当作深度假设平面,深度假设范围通过稀疏重建得到(colmap)

通过单应变换将2D feature map投影到ref视点的假设平面上,构建feature volume

最终通过方差将每个视点的特征体聚合成一个cost volume

【SM问题中的构建】

视差水平作为假设平面,范围要针对指定场景决定

由于左右视点都被矫正过,因此只是一个x轴的平移(相当于MVS中的投影变换,只是变得很简单)

之后通过类似方法进行聚合,不过方法有

  • 直接聚集,不进行特征降维
  • sum of absolute differences
  • 计算左右相关性,product only a single-channel correlation map for each disparity level
  • group-wise correlation

级联代价体

固定的代价体尺寸是 W × H × D × F W \times H \times D \times F W×H×D×F 分辨率 深度假设 特征通道,都对acc有提升,但影响效率 16G的P100最大能跑 1600 × 1184 × 256 × 32 1600 \times 1184 \times 256 \times 32 1600×1184×256×32

【深度假设范围】

image.png

公式计算起来很简单 R k + 1 = R k ⋅ w k ,   w k < 1 R_{k+1} = R_{k} \cdot w_k, \ w_k < 1 Rk+1=Rkwk, wk<1 下一步比上一步的深度假设缩小

【深度假设间隔】

两假设平面间的距离 I I I也是最开始大一点粗糙一点, I k + 1 = I k ⋅ p k ,   p k < 1 I_{k+1} = I_k \cdot p_k, \ p_k < 1 Ik+1=Ikpk, pk<1,逐步假设变小变精确

【深度假设平面数】

上两步已经得到了 R k , I k R_k, I_k Rk,Ik,则数量 D k = R k I k D_k = \frac{R_k}{I_k} Dk=IkRk

通过上述三步,显著的减少复杂度

【空间分辨率】

每一步空间分辨率翻倍 1/4 → 1/2 → 1

级联代价体每步学的都是depth residual,而不是整个深度图

特征金字塔

之前方法是首先通过MVSNet生成低分辨率的深度图,构建低分辨率的代价体,然后迭代优化

这样的构建方法只是用最终的feature map,只有上层语义信息,缺少底层表示

这里采用不同分辨率的特征图构建代价体,实验中通过1/16, 1/4, 1的特征图构建三个代价体


实验

  • 640*512,三个视点
  • 金字塔三层
  • 深度假设:48,32,8
  • 深度间隔:4倍,2倍,1倍
  • 特征图:1/16,1/4,1

消融实验

【阶段数】

overall质量先显著增加,后平稳,最终选择的是3阶段模型

  • 深度假设数:96,48,48
  • 深度间隔:2,2,1
  • cascade?:将原始固定的代价体替换为三阶段的代价体
  • upsample?:对特征图插值,以增加代价体的空间分辨率
  • feature pyramid?:通过特征图金字塔增加代价体分辨率

空间分辨率的提高对重建结果的影响大

级联代价体不同阶段分别学习效果更好(不进行参数共享)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

doubleZ0108

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值