一、论文简述

1. 第一作者:Jiayu Yang

2. 发表年份:2020

3. 发表期刊:CVPR oral

4. 关键词:MVS、深度学习、代价体金字塔、残差深度图

5. 探索动机:MVSNet内存消耗立方级别的,R-MVSNet减少了内存但需要更多时间,Point-MVSNet运行时间和迭代次数成正比。现在基于学习的网络精度很好,但是太慢了。

Yao et al. propose MVSNet to infer a depth map for each view. An essential step in is to build a cost volume based on a plane sweep process followed by multiscale 3D CNNs for regularization. While effective in depth inference accuracy, its memory requirement is cubic to the image resolution. To allow handling high resolution images, they then adopt a recurrent cost volume regularization process. However, the reduction in memory requirements involves a longer run-time.
In order to achieve a computationally efficient network, Chen et al.work on 3D point clouds to iteratively predict the depth residual along visual rays using edge convolutions operating on the knearest neighbors of each 3D point.While this approach is efficient, its run-time increases almost linearly with the number of iteration levels.

写的很详细。

6. 工作目标:是否提高精度的同时,可以提高网络的效率?

7. 核心思想:提出了一个基于代价体、小型的和计算效率高的MVS深度推断网络;在详细分析深度残差搜索范围与图像分辨率之间关系的基础上,以由粗到细的方式构建代价体金字塔;框架可以用更少的内存处理更高分辨率的图像,比目前最先进的框架(如Point-MVSNet)快6倍,并在基准数据集上实现了更好的精度。

8. 实验结果:在基准数据集上,该模型具有与最先进的方法相似的性能,但是速度快6倍。

9. 论文及代码下载:

Cost Volume Pyramid Based Depth Inference for Multi-View Stereo (thecvf.com)

http://https: //github.com/JiayuYANG/CVP-MVSNet

二、实现过程

1. CVP-MVSNet概述

由粗到细(coarse-to-fine)构建代价体金字塔。首先构建不同分辨率的L+1层图像金字塔,接着用最小分辨率层的N张图像按照MVSNet的方式构建代价体,推断深度图DL+1,并上采样得到L层的初始深度图DL;以初始深度图DL为基础、结合L层的N张图像,通过重投影的方式构建一个部分代价体(partial cost volumes),并依次推断出初始深度图DL上各像素的残差深度(residual depth,即相对于初始深度的Δd),相加之后得到当前L层的最终深度图,不断重复迭代至推断出最终第0层即原始尺寸的深度图。

2. 特征金字塔

特征提取管道机制包括两个步骤,首先对于每个输入图像,构建L + 1层图像金字塔。其次,利用9个卷积层组成特征提取网络(参数共享)获取特征图,每一层后面都有Leaky-ReLU激活函数(代替一般的 Conv + BN + ReLu结构)。每层的输出通道数为16,第l层的宽高尺寸为[W/2l,H/2i]。

可学习特征表示的意义:​As raw images vary with illumination changes, we adopt learnable features, which has been demonstrated to be crucial step for extracting dense feature correspondences.

3. 代价体金字塔

动机:Common approaches usually build a single cost volume at a fixed resolution, which incurs in large memory requirements and thus, limits the use of high-resolution images.

解决思路:we propose to build a cost volume pyramid, a process that iteratively estimates and refines depth maps to achieve high resolution depth inference.

3.1. 推断粗略深度图的代价体(第L层)

构建最顶层也就是分辨率最小一层的代价体,方式和MVSnet一模一样,深度假设均匀采样。这一部分对于代价体构建描述的很详细,建议反复阅读。

深度定义:A sampled depth d = dmin + m(dmax - dmin)/M, m ∈ {0, 1, 2, · · · , M-1} represents a plane where its normal n0 is the principal axis of the reference camera.

方差意义:This metric encourages that the correct depth for each pixel has the smallest feature variance, which corresponds to the photometric consistency constraint.

3.2. 推断多尺度深度残差的代价体(第L层-第0层)

首先在上节中我们得到了第L+1层的深度图DL+1,通过双三次插值将其上采样得到第L+1层的初始深度图DL+1↑,然后,构建部分代价体,对定义为∆Dl的残差深度图进行回归,得到第l层的改进后的深度图Dl = Dl+1↑ +∆Dl。随后重复该步骤至第0层得到最终深度图。

Our motivation is that depth displacements for neighboring pixels are correlated which indicates that regular multi-scale 3D convolution would provide useful contextual information for depth residual estimation. We therefore arrange the depth displacement hypotheses in a regular 3D space and compute the cost volume as follows。

对于上采样后的初始深度图DL+1 ↑,我们定义第L层图像上像素点p(u,v)深度为dp=DL+1 ↑(u,v)。下图是该操作的两个步骤,左边为重投影操作,右边为提取特征和构建部分代价体。

左边:重投影过程

在L层,依据当前点p的初始深度dp找出对应3D点(绿色),加、减一个值作为最远和最近的、可能真实3D点(紫色、红色),残差搜索深度sp就是指紫色点和红色点之间的距离(该范围及间隔选定方法将在下一节详细解释),残差深度平面就是在中间划分M个可能的深度值平面,此时残差深度平面的距离间隔为Δdp=sp/M,M个可能3D点的深度值为(DL+1 ↑(u,v)+mΔdp),其中m∈{-M/2, … ,M/2-1}。也就是以初始深度为起始点,初始深度加、减sp/2为可能的3D点最远、最近深度。

此时对于当前参考视图下的像素点p,我们可以将其M个不同深度的可能3D点的按照以下公式投影,在一张源视图下得到M个深度对应的特征,如图上设置的紫色、绿色、红色三个深度点在各个源视图下都对应了一个特征。

右边:构建局部代价体

将这些不同深度的可能3D点投影后的特征做方差,并将方差值作为像素点p在该深度的代价;由于有M个假设深度,共HxW个像素点,通过以下公式,便得到[H/2l×W/2l×M×F]的部分代价体,回归即可的到残差深度Δd。

这里和MVSNet构建代价体都使用方差法,MVSNet是通过假设一系列深度值,将各源视图转化到参考图前的平行视锥体,也就是参考视图的各像素坐标通过单应矩阵H变换到源视图下对应的像素坐标从而取其值,而这里是通过假设真实3D点位置来找到各源视图上该点的特征。本质上是一样的,只是一个从源图像投到参考图像,一个从参考图像投到源图像。

参考:https://blog.csdn.net/qq_41794040/article/details/127897080

4. 深度图推断

4.1. 代价体金字塔的深度采样

我们观察到虚拟深度平面的深度采样与图像分辨率有关。如图所示,不需要对深度面进行密集采样,因为这些采样的3D点在图像中的投影距离太近,无法为深度推断提供额外的信息。实验中,为了确定虚拟平面的数量,只计算图像中对应0.5像素距离的平均深度采样间隔。

​为了确定每个像素当前深度估计附近的深度残差局部搜索范围,我们首先将其3D点投影到源视图中,沿着极线在两个方向上找到距离其投影两个像素的点(见 2 pixel length),然后将这两个点反向投影到3D射线中。这两条射线与参考视图中的可视射线的交点决定了当前层的深度的搜索范围。

4.2. 深度图估计

与MVSNet一样,把代价体输入3D卷积网络中聚合上下文信息并输出概率体,由概率体通过soft-argmax求期望得到深度图。首先对PL=0应用soft-argmax来获得粗深度图:

​然后,利用soft-argmax迭代改进得到的深度图PL,得到较高分辨率下的深度残差。设rp = m·∆dp为深度残差假设。我们计算下一层的更新深度为:

5. 损失函数

对每层估计深度图与真实深度图求l1损失求和作为loss:

​其中Ω是带有真实度量的有效像素集。​​

6. 实验

6.1. 数据集

DTU Dataset

真实深度图大小:To train our model, we generate a 160 × 128 depth map for each view by using the method provided by MVSNet.

Tanks and Temples Benchmark:intermediate set

6.2. 实现

训练:使用DTU数据集训练CVP-MVSNet。与Mvsnet、RMvsnet以高分辨率图像作为输入,但估计的深度图尺寸较小不同,我们的方法生成与输入图像相同大小的深度图。为了进行训练,我们通过将高分辨率图像下采样到一个较小的尺寸为160×128的图像来匹配真实深度图。然后,我们建立了图像和地面的两层真实深度金字塔。为了构建代价体金字塔,我们在最粗(第2层)的整个深度范围内均匀采样M = 48个深度假设。然后,每个像素下一层有M = 8个深度残差假设,用于深度估计的改进。输入视图数N = 3,通过PyTorch实现,Adam作为优化器,batch size为16,在1张NVIDIA TITAN RTX显卡训练,迭代27个epoch。

指标:accuracy, completeness and overall score

Accuracy is measured as the distance from estimated point clouds to the ground truth ones in millimeter and completeness is defined as the distance from ground truth point clouds to the estimated ones [1]. The overall score is the average of accuracy and completeness.

评估:设置深度采样次数,最粗深度估计M = 96,对于深度残差推理层M = 8。输入视图数N = 5,采用相同深度图融合方法得到点云D = 192。用不同大小的图像评估我们的模型,并相应地设置金字塔水平,以在最粗的水平上保持与输入图像(80 × 64)相似的大小。例如,输入尺寸为1600 × 1184时,金字塔有5层,输入尺寸为800 × 576和640 × 480时,金字塔有4层。

6.3. 结果

DTU数据集重建质量:SOTA

时间及内存:精度相似,但是又快又小

点云及法线图:上面一行显示点云,下面一行显示与橙色矩形对应的法线图。在法线图中看到,我们的结果在边缘区域获得更多高频细节的同时,在表面上更平滑。

泛化性:SOTA

6.4. 消融实验

训练金字塔层级。首先分析金字塔层数对重建质量的影响。为此,我们对图像进行下采样,以形成具有四个不同层次的金字塔。分析结果汇总在表中。如图所示,2层金字塔是最好的。随着金字塔等级的增加,最粗等级的图像分辨率降低。对于超过2层的情况,这个分辨率太小,无法生成一个好的初始深度图。

评估像素间隔设置。深度采样是由源视图中相应的像素偏移量决定的,因此设置合适的像素间隔很重要。表中总结了在评估期间从0.25像素到2像素对应的深度范围更改间隔的效果。如图所示,当间隔过小(0.25像素)或过大(2像素)时,性能会下降。

这篇论文在每节开始前和结束后都有或多或少的总述或总结,文字表述很结构化。

【论文简述】CVP-MVSNet:Cost Volume Pyramid Based Depth Inference for Multi-View Stereo(CVPR 2020)相关推荐

  1. 【阅读笔记】Cost Volume Pyramid Based Depth Inference for Multi-View Stereo

    目录 前言 摘要 1.介绍 2.相关工作 3.方法 1.特征金字塔 2.Cost Volume 金字塔 3. 深度图推断 4. 损失函数 前言 CVP-MVSNet(CVPR2020) 学习笔记 先预 ...

  2. 【论文简述及翻译】MVSNet:Depth Inference for Unstructured Multi-view Stereo(ECCV 2018)

     一.论文简述 1. 第一作者:Yao Yao 2. 发表年份:2018 Oral 3. 发表期刊:ECCV 4. 关键词:MVS.端到端网络.代价体.深度图.可微分单应变换 5. 探索动机:传统方法 ...

  3. [MVS]《Non-parametric Depth Distribution Modelling based Depth Inference for Multi-view Stereo》阅读笔记

    基于MVS深度推断的非参数深度分布建模 摘要 通常,边界像素遵循多模态分布而非单峰分布.这使得在cost volume金字塔较粗级别上的错误深度预测,且不能在细化级别上进行校正,导致错误的深度预测.作 ...

  4. 论文阅读《MVS Net:Depth Inference for UNstructured Multi-view Stereo》

    MVS Net:Depth Inference for UNstructured Multi-view Stereo 目录 MVS Net:Depth Inference for UNstructur ...

  5. 【论文简述】UCS-Net:Deep Stereo using Adaptive Thin Volume Representation with Uncertainty Awareness(CVPR)

    一.论文简述 1. 第一作者:Shuo Cheng.Zexiang Xu 2. 发表年份:2020 3. 发表期刊:CVPR 4. 关键词:MVS.深度学习.自适应深度.由粗到细 5. 探索动机:因为 ...

  6. 【论文简述】Curvature-guided dynamic scale networks for Multi-view Stereo( ICLR 2022)

    一.论文简述 1. 第一作者:Khang Truong Giang 2. 发表年份:2022 3. 发表期刊:ICLR 4. 关键词:MVS.3D重建.曲率.动态尺度 5. 探索动机:虽然目前的方法显 ...

  7. CVPR 2020 Oral 汇总:论文 / 代码 / 解读(更新中)

    在2月24日,CVPR 2020 公布接收论文结果公布,从 6656 篇有效投稿中录取了 1470 篇论文,录取率约为 22%.3月13日,CVPR Oral结果公布了.有大佬已经分享了自己的工作,本 ...

  8. CVPR 2020 论文和开源项目合集(Papers with Code)

    CVPR 2020 论文开源项目合集,同时欢迎各位大佬提交issue,分享CVPR 2020开源项目 [推荐阅读] CVPR 2020 virtual ECCV 2020 论文开源项目合集来了:htt ...

  9. CVPR 2020代码开源的论文最全合集

    前言 之前Amusi整理了1467篇CVPR 2020所有论文PDF下载资源,详见:全在这里了! CVPR2020-Code CVPR 2020 论文开源项目合集,同时欢迎各位大佬提交issue,分享 ...

  10. 28 篇论文、6 大主题带你一览 CVPR 2020 研究趋势

    关注"迈微AI研习社",内容首发于公众号 转自 | AI科技评论 首度于线上召开的CVPR 2020 会议已经落下帷幕.今年,大会共有1467篇论文被接收,共举办了29个Tutor ...

最新文章

  1. 曾经百度大佬吹过的牛实现了,看完这个,带你搞定AI前沿技术
  2. 第一个android程序HelloWorld
  3. codeforces 712 Memory and De-Evolution
  4. 企业IM,阿里钉钉“恶”企业微信“善”?
  5. 搞事 | 5分钟部署一个机器人帮你告别 “信息焦虑”
  6. 我是小白一个,如何快速学会C++?
  7. windows8无法播放优酷土豆视频解决方法
  8. 中兴服务器isac配置,中兴AC设备对接Portal认证
  9. chrome下载速度慢,手把手教学
  10. 决策树系列(四)——基于决策树算法实现员工离职率预测
  11. Sketch52 52.1 新功能介绍(包含下载链接)
  12. 云计算是什么,云计算发展现状是什么?
  13. 餐馆点菜系统python程序_Python写一个自动点餐程序
  14. 【JavaFx 构建ProAdmin UI界面】
  15. 如何提取复杂多引脚芯片的引脚编号及引脚名称
  16. java-multimap使用
  17. q某音乐API接口分析--获取vKey和Sign
  18. 途客圈创业记--读书笔记
  19. Java05 - 数据类型
  20. 看linux后台台账,linux怎么查询台账信息

热门文章

  1. Microsoft Visual Studio 2010 Service Pack 1官方下载版(ISO)
  2. html设置文字超过字数_CSS限制字数,超出部份显示点点点...
  3. reversed python_python字典reversed
  4. cents7安装docker并部署nginx、mysql容器
  5. 流水线中数据相关的理解(RAW、WAR和WAW)
  6. Steam 最新VR 游戏畅销榜——这几款游戏绝对值得一玩~不来看看你可就错过啦!
  7. html按钮 字 颜色代码,html中按钮的字体颜色怎么设置?
  8. 细说卷积神经网络(CNN)中所谓的“感受野”(Receptive Field)
  9. 二维码如何制作?简单的制作方法介绍
  10. python爬取公众号之 创建个人微信公众号