小小谭读论文(三)

博主是中海大计算机研1,目前方向是MVS三维重建
今天我们要读的论文是 :《Point-Based Multi-View Stereo Network》该文章收录于ICCV2019
在这里插入图片描述

Abstract

我们介绍Point-MVSNet,一个用于MVS的新的基于点云深度框架网络,与已经存在的代价体方法不同,我们的方法直接将目标场景处理为点云,更加具体来说,我们的方法预测深度以一种由粗到细的方法,我们首先生成一个粗的深度图。通过估计当前迭代深度与地面实况深度之间的残差,迭代的细化点云。我们的网络利用3D几何先验和2D纹理信息融合到特征增强的点云中来联合有效的利用他们,并且使用点云来评估每一个点的3D流动,这个机遇点云的结构能允许更高的准确性,更高的计算效率和更加灵活,比起机遇代价体的同行相比,与DTU和Tanks and Temples数据集上的最先进方法相比,实验结果表明我们的方法在重建质量方面达到显著的提升。

Introduction

最近的基于学习的MVS方法相对于他们使用传统方法的同行来说已经表现出巨大的成功,因为基于学习的方法能够学习利用场景全局语义信息,包括物体的材质,镜面反射性和环境照明,为了得到更鲁棒性的匹配和更完整的重建效果。所有的这些方法使用dense multi-scale 3DCNNs(密集多尺度)来预测深度图或者体素占用,然而,3DCNNs需要存储器立方到模型分辨率(这一段没懂,我估计就是内存要求太大,这是原文However, 3D CNNs require memory cubic to the model resolution,),这样会潜在的限制模型达到最高的性能,虽然Maxim等人[24]通过逐步生成八叉树结构来解决这个问题,网格划分带来的量化伪影仍然存在,并且由于树是逐层生成的,因此误差可能会累积(???我直接懵逼,之后去查阅一下)
在这次工作中,我们提出来一个新的点云MVS网络,在这个网络中目标场景直接被处理成点云,一个更加有效的表示,特别是3D分辨率需要非常高的时候。我们的框架由两部分组成,第一部为了从整个场景中雕刻出近似物体表面,一个原始的粗深度图由相对较小的3D体积生成并且随后转变成点云。随后,我们新的PointFlow模块被应用来从初始点云迭代的回归到精确密集的点云。与ResNet相似,我们明确的制定PointFlow来预测当前迭代深度和GT深度之间的残差。从3DFlow由预测出的点云所推断出的几何先验来进行评估,并且2D图像的线索信息动态的从多视角输入图像中获取。
我们发现我们基于点云的MVS网络框架在和之前的MVS方法在准确性、效率和灵活性的方面具有优势。这些以往的方法基于具有固定分辨率的预定义3D体积上,以聚合视图中的信息。我们的方法适应性的在3D空间采样潜在表面点,它自然的保持了表面结构的连续性。这对于高精度的重建是必要的。此外,因为我们的网络仅仅处理物体表面合法的信息而不是像3DCNNs一样处理整个3D空间。所以计算更加高效,最后,自适应细化方案允许我们首先以粗分辨率来窥探场景,然后仅在感兴趣的区域对重构的点云进行加密,对于面向交互的机器人视觉等场所,这种灵活性将节省计算能力。
在基于学习的方法中,我们的方法在标准的MVS基准上达到了最高的性能包括DTU[1]和Tanks and Temples[15]。与以前的先进技术相比,我们的方法在完整性和整体质量方面都产生了更好的结果。此外,我们还展示了我们提出的方法的潜在应用,例如凹深度推理。

Related work

Multi-view Stereo Reconstruction MVS是一个经典的问题,在深度学习兴起以前衍生出了很多问题,采用了大量的3D表示,包括体积[26,9]、变形模型[3,31]和面片[5],这些通过MVS的一致性和正则化优化进行迭代更新。我们的迭代优化步骤与这些经典的通过迭代更新深度图办法相似,然而我们基于学习的算法实现了提高鲁棒性来应对输入图像的损毁以及避免了冗余的手动超参数调整。
Learning-based MVS 受到最近深度学习在图片识别任务的巨大成功的鼓励,研究者们开始应用学习技术到立体重建的任务当中以获得更好的块表达与匹配。尽管这些方法仅用了2D网络,但给立体任务的处理取得了巨大的提升,将他们延伸到MVS任务中是非常困难的,并且他们的性能在处理具有挑战性的场景时受到限制由于缺乏上下文的几何信息,同时,3D代价体正则化方法被踢出,3D代价体构建在相机戳头体或者场景中,接下来,多视角的2D图像特征在代价体中发生扭曲,因此3DCNN可以应用到此,3D代价体的主要优势在于场景的3D几何可以直接被网络捕获到,并且可以在3D空间中执行测光匹配,减轻了由透视变换和潜在遮挡引起的图像失真的影响,这些使得基于学习的方法比基于2D学习的方法获得更好的效果。除了使用体素单元,在这篇文章中我们为MVS能够更好的使用3D几何学习提出一种基于点云的网络,这种方法不会因为3D CNN的效率低下而感到紧张(就是效率高~)
High-Resolution MVS 高精度的MVS对于真实的应用是十分重要的,例如机器人操作和增强现实。传统的方法从自信匹配的关键点重复扩展生成密集的3D块,这种方法潜在的耗时,这些方法也对于噪声和视点的改变敏感由于使用了手工制作的功能。最近的学习方法尝试通过高级空间划分去减轻存储消耗,然而大多数的这些方法为场景构造一个固定的代价体表示,缺乏灵活性,在我们的工作中,我们使用点云作为场景的表示,这会更加的灵活以及能够使得我们逐渐的达到更加准确的位姿。
Point-based 3D Learning最近,一种新的深度网络结构被提出,这种网络能够直接处理点云而不需要将其转化为体积栅格,与基于体素的方法相比,这种构造集中于点云数据以及解决不必要的计算消耗,同时,在处理过程中空间的连续性被保留,尽管PointNets在各种3D理解任务中表现出了显著的性能以及效率提升,例如对象分类和检测[20],目前正在探索如何将该架构用于MVS任务,其中3D场景对网络来说是未知的。在本文中,我们提出了PointFlow模块,该模块基于点假设的联合2D-3D特征来估计3D流

Method

本节介绍Point MVSNet的详细网络架构(图2)。我们的方法可以分为两个步骤,粗略深度预测和迭代深度优化
在这里插入图片描述
让I0表示参考图片并且在这里插入图片描述表示一些列它的邻近原图像,我们首先给参考图像生成了一个粗深度图,因为分辨率很低,现有的体积MVS方法具有足够的效率,并且可以使用,第二步我们引入2D-3D特征提升,这可以联系2D图像信息和3D几何先验,然后我们提出我们新的PointFlow模块来逐渐的优化输入深度图成更高的分辨率并提高精度,然后我们提出我们新方法PointFlow模块来逐渐的优化输入深度图到更高分辨率同时提高精度

Coarse depth prediction

最近,基于学习的MVS在成本体积正则化使用多尺度的3D CNNs网络实现了最先进的性能,然而,这个步骤可能极度的消耗内存,因为内存需求可能随着代价体分辨率的增高成立方指数的增长,考虑到存储和时间,我们使用最近提出的MVSNet来预测一个相关的低分辨率的代价体。
给出图片和相关的相机参数,MVSNet基于参考相机锥面构造出一个3D代价体,随后通过多尺度3D CNN和(soft argmin)对参考图像的初始深度图进行回归,在MVSNet中,特征图的每一个维度被下采样至原图大小的四分之一,虚拟深度平面(virtual depth plane)的数量是256,用于训练和评估。另一方面,在我们粗深度评估网络,代价体由参考图像大小的八分之一特征图组成,分别48或者96个virtual depth planes用于训练或者评估,因此,我们对这个3D特征量的内存使用量大约是MVSNet中的1/20

2D-3D feature lifting

Image Feature Pyramid基于学习的特征图被证实对于提高密集像素对应质量是十分重要的,为了给点在多尺度上更大的上下文信息感受野,我们建造了一个3尺度大小的特征金字塔,2D卷积网络与步长为2的卷积核被应用到下采样特征图中,并且每一个在下采样前的最后一层被提取以构建最终的特征金字塔在这里插入图片描述用于图片I,与普遍的MVS方法相似,特征金字塔在所有图片之间共享。
Dynamic Feature Fetching 我们网络中的点特征受到提取到的多角度图片特征与归一化后的在空间Xp下的3D坐标之间的差异影响,我们将进行分别介绍。
每一个3D点的图片表示特征可以从多视角的特征图中得到,通过给予相机参数的可微非投影操作,需要注意的是特征在这里插入图片描述处于不同的图像分辨率,因此相机内参数矩阵应该在每一个特征图级别上进行缩放以用于正确的特征扭曲(wraping),与MVSNet相似,我们保留了基于方差的成本度量,即不同视图之间的特征方差
从而来收集从任意数量视角扭转到参考视角来的特征。对于j等级下的金字塔特征,N个视图下的方差定义度量如下
在这里插入图片描述
为了形成在每一个3D点的特征,我们对得到的图片特征和归一化点坐标进行了拼接操作(concatenation)
在这里插入图片描述
特征增强点Cp是我们PointFlow模块的输入。如将在下一节中看到的那样,因为我们迭代的预测深度残差,我们更新点云位置Xp在每一次迭代和从图片特征金字塔获得点特征Cp之后。这个操作我们称之为动态特征获取。我们注意到这个步骤与机遇代价体的方法不同,因为该方法的每个体素特征提取由场景的固定的空间划分所决定( fixed space partitionof the scene.??)相反,我们的方法可以从图片中的不同区域根据更新后的点特征动态的获取特征,因此,我们可以关注于在特征图中感兴趣的区域,而不是平等的对待所有的点。

PointFlow

从上述描述中生成的粗深度图有精度的限制由于其3D成本体积的地空间分辨率。我们提出PointFlow,我们的新方法用于逐步的去优化深度图
伴随着已知的相机参数,我们首先将深度图取消投影为3D点云,对于每一个点,我们旨在通过从所有视图观察其相邻点来估计其沿参考相机方向到GT之间的差异,从而推动点流向目标表面,下面我们将详细的介绍我们的模型。
Point Hypotheses Generation从提取的图片特征中给每一个点回归深度差异是非同寻常的,由于透视变换,嵌入二维特征图中的空间上下文无法反应三维欧里几得空间中的领近性。
为了促进网络中的这个模块,我们提出生成一些列的预测点p~沿着参考相机方向具有不同的位移,如图3所示
在这里插入图片描述
让t代表标准化的相机参考方向,s代表位移步长,对于一个没有投影的p,他的假设p点这样生成在这里插入图片描述
这些预测点对于网络去预测位移是十分重要的,用于能够将在不同深度的必要的邻居图片特征信息收集进这些点同时带有空间几何关系。
Edge Convolution经典的MVS方法能够证明局部的邻居对于鲁棒性的深度预测是十分重要的,相似的,我们使用最近工作DGCNN的策略来丰富领域特征收集,就如图3中所展示的那样,使用k个最近邻居(kNN)在点集上构造有向图,这种局部几何构造信息可以被用于点特征传播
通过表示特征增强的点云Cp~=在这里插入图片描述,随后边缘卷积被定义为在这里插入图片描述
其中hθ是由θ参数化的可学习非线性函数,和⇤ 是按通道对称聚合操作(??)对称运算有多种选择,包括最大池、平均池和加权和。
我们比较了最大池和平均池,并在仔细调整超参数后观察到类似的性能。
Flow Prediction用于流动预测的网络构建如图4所示加粗样式
输出参数为特征增强后的点云,并且输出是一个深度残差图,我们使用三个EdgeConv层来聚合邻域不同尺度上的点特征。快捷方式连接用于将所有EdgeConv输出包含为局部点特征,最后,使用共享多层感知器(MLP)对逐点特征进行变换,该感知器输出具有softmax的概率标量在每个未投影点的假设点之间。(??)未投影点的位移被预测为所有预测点假设中的位移的概率加权和:
在这里插入图片描述
请注意,此运算是可微分的。输出深度残差图是通过向后投影位移来获得的,位移将被添加到初始输入深度图中以获得深度
Iterative Refinement with Upsampling 由于我们基于点的网络架构的灵活性,流量预测可以迭代执行,这对于基于3D成本体积的方法来说要困难得多,因为空间划分在构建成本体积之后是固定的。对于来自粗略预测或先前残差预测的深度图D(i),我们可以首先使用最近邻对其进行上采样以获得更高的空间分辨率,然后执行流量预测以获得D(i+1)。此外,我们在每次迭代中减少了未投影点和假设点之间的深度间隔s,因此可以通过从更接近的点假设中捕获更详细的特征来预测更准确的位移

Training loss

与大多数深度MVS网络类似,我们将此问题视为回归任务,并训练具有L1损失的网络,L1损失测量预测深度图和地面实况深度图之间的绝对差异。初始深度图和迭代细化深度图的损失都被考虑在内:
在这里插入图片描述
其中Pvalid表示有效的地面实况像素集,l是迭代次数。训练中权重λ(i)设置为1.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值