NeuS: Learning Neural Implicit Surfaces by Volume Rendering for Multi-view Reconstruction

论文名称:NeuS: Learning Neural Implicit Surfacesby Volume Rendering for Multi-view Reconstruction
作者单位:港大 & 马普所 & Texas A&M
发表年份:2021

本文的总目标是实现从2D图片到3D模型的高保真重建(使用神经渲染方法)。2020年Niemeyer等人提出的DVR和2020年Yariv等人提出的IDR是现存的神经表面重建(neural surface reconstruction)方法,但他们都依赖前景遮罩(foreground mask)提供监督且训练不稳定。近期的神经方法比如2020年的NeRF及其变体提出使用体积渲染(volume rendering)构造更鲁棒的场景描述,但由于缺少表面约束(surface constraints)在这种隐式(implicit)场景描述的基础上构造表面十分困难。于是本文提出一种新的神经表面重建方法NeuS,使用一个符号距离函数(SDF,signed distance function)的零级集合(zero-level set)来表示一个表面,并部署一种新的体积渲染方法来训练神经SDF描述。作者发现传统体积渲染会在表面重建引入固有几何错误比如bias,所以引入了新方法,改进这一情况,即使没有遮罩监督。

摘要

我们提出了一种新颖的神经表面重建方法,称为NeuS,用于从2D图像输入以高保真度重建对象和场景。现有的神经表面重建方法,例如DVR [Niemeyer等人,2020] 和IDR [Yariv等人,2020],需要前景掩模作为监督,容易被困在局部最小值中,并且因此与具有严重自遮挡或薄结构的对象的重建作斗争。同时,用于新颖视图合成的最近的神经方法,例如NeRF [Mildenhall等人,2020] 及其变体,使用体积渲染来产生具有优化鲁棒性的神经场景表示,即使对于高度复杂的对象也是如此。但是,很难从这种学习的隐式表示中提取高质量的曲面,因为表示中没有足够的曲面约束。在NeuS中,我们建议将曲面表示为有符号距离函数 (SDF) 的零级集,并开发一种新的体绘制方法来训练神经SDF表示。我们观察到传统的体绘制方法会导致表面重建的固有几何误差 (即偏差),因此提出了一种新的公式,该公式在一阶近似中没有偏差,因此即使没有掩模监督,也可以实现更准确的表面重建。在DTU数据集和BlendedMVS数据集上的实验表明,NeuS在高质量的表面重建方面的性能优于现有技术,特别是对于具有复杂结构和自遮挡的对象和场景。

1 introduction

从多视图图像中重建曲面是计算机视觉和计算机图形学中的一个基本问题。基于神经隐式表征的3D重建近年来已成为经典重建方法的一种极具前景的替代方法,因为它具有较高的重建质量,并且有潜力重建经典重建方法难以重建的复杂物体,如非兰伯曲面和薄结构。最近的作品将曲面表示为有符号距离函数(SDF)或占用。为了训练他们的神经模型,这些方法使用可微分表面渲染方法将3D物体渲染成图像,并将其与输入图像进行比较以进行监督。例如,IDR产生了令人印象深刻的重建结果,但它无法重建具有复杂结构的物体,导致深度突变。造成这种限制的原因是IDR中使用的表面绘制方法只考虑每条射线的单个表面交点。

因此,梯度只存在于这一点,这对于有效的反向传播来说太局部了,当图像深度发生突变时,优化会卡在一个糟糕的局部极小值。此外,需要对象掩码作为收敛到有效表面的监督。如图1 (a)顶部所示,由于孔引起深度的剧烈变化,神经网络会错误地预测靠近前表面的点为蓝色,而无法发现远后的蓝色表面。图1 (b)的实际测试实例表明,IDR无法正确重建深度突变边缘附近的曲面。

在这里插入图片描述

在这里插入图片描述
图1:(a)表面绘制和体绘制示意图。(b)竹播种机的玩具样例,播种机顶部有遮挡。与目前最先进的方法相比,我们的方法可以处理遮挡并获得更好的重建质量。

因此,梯度只存在于这一点,这对于有效的反向传播来说太局部了,当图像深度发生突变时,优化会卡在一个糟糕的局部极小值。此外,需要对象掩码作为收敛到有效表面的监督。如图1 (a)顶部所示,由于孔引起深度的剧烈变化,神经网络会错误地预测靠近前表面的点为蓝色,而无法发现远后的蓝色表面。图1 (b)的实际测试实例表明,IDR无法正确重建深度突变边缘附近的曲面。

最近,NeRF及其变体已经探索使用体绘制方法来学习体亮度场,以进行新的视图合成。这种体绘制方法沿着每条射线对多个点进行采样,并对采样点的颜色进行α合成,以产生用于训练目的的输出像素颜色。体绘制方法的优点是它可以处理突然的深度变化,因为它考虑了沿着射线的多个点,所以所有的样本点,无论是在表面附近还是在远表面,都会产生反向传播的梯度信号。例如,参考图1 (a)底部,当发现近表面(黄色)与输入图像的颜色不一致时,体绘制方法能够训练网络找到远后表面,从而产生正确的场景表示。然而,由于它是用于新视图合成而不是表面重建,NeRF只学习了一个体积密度场,从中很难提取出高质量的表面。图1 (b)显示了作为NeRF学习的密度场的水平集曲面提取的曲面。虽然表面正确地解释了突然的深度变化,但它在一些平面区域包含明显的噪声。

在这项工作中,我们提出了一种新的神经渲染方案,称为NeuS,用于多视图表面重建。NeuS使用符号距离函数(SDF)进行表面表示,并使用一种新的体绘制方案来学习神经SDF表示。具体而言,通过引入由SDF诱导的密度分布,我们可以将体绘制方法应用于学习隐式SDF表示,从而两全皆美,即使用神经SDF模型和健壮的网络训练,在存在体绘制所支持的突然深度变化时获得准确的表面表示。请注意,简单地将标准体绘制方法应用于与SDF相关的密度将导致重构表面中可识别的偏差(即固有的几何误差)。这是一个新的和重要的观察结果,我们将在后面详细说明。

因此,我们提出了一种新的体绘制方案,以确保在SDF的一阶逼近中进行无偏表面重建。在DTU数据集和blenddmvs数据集上的实验表明,NeuS能够重建具有严重遮挡和精细结构的复杂3D物体和场景,即使没有前景蒙版作为监督。在重建质量上优于目前最先进的神经场景表示方法IDR和NeRF。

2 Related Works

经典多视图曲面与V形容积重建。传统的多视图三维重建方法大致可以分为两类:基于点和表面的重建和基于体的重建。基于点和基于面的重建方法通过利用图像间光度一致性估计每个像素的深度图,然后将深度图融合成全局密集点云。表面重建通常采用屏蔽泊松表面重建等方法进行后处理。重建质量很大程度上依赖于对应匹配的质量,对于纹理不丰富的物体,对应匹配困难往往会导致重建结果中出现严重的伪影和缺失部分。另外,体积重建方法通过从多视图图像中估计体素网格中的占用率和颜色并评估每个体素的颜色一致性来规避显式对应匹配的困难。由于可达到的体素分辨率有限,这些方法不能达到较高的精度。

神经内隐表示。一些方法通过引入归纳偏差来加强深度学习框架中的3D理解。这些归纳偏差可以是显式表示,例如体素网格、点云、网格和隐式表示。神经网络编码的隐式表示具有连续性和较高的空间分辨率,近年来受到广泛关注。该表示方法已成功应用于形状表示、新视图合成和多视图三维重建。

我们的工作主要集中在通过经典渲染技术从2D图像中学习编码三维空间几何和外观的隐式神经表示。在此范围内,相关作品可以根据所使用的渲染技术进行大致的分类,即基于表面渲染的方法和基于体绘制的方法。基于表面渲染的方法假设光线的颜色只依赖于光线与场景几何的交点的颜色,这使得梯度只反向传播到交点附近的局部区域。

因此,这种方法很难重建具有严重自咬合和突然深度变化的复杂物体。此外,他们通常需要物体面具作为监督。相反,我们的方法在不需要面具的情况下表现良好。

基于体绘制的方法,如NeRF,通过沿每条射线的采样点的α-合成颜色来渲染图像。正如在介绍中所解释的,它可以处理突然的深度变化并合成高质量的图像。然而,由于基于密度的场景表示缺乏足够的水平集约束,从学习的隐式场中提取高保真曲面是困难的。相比之下,我们的方法结合了基于表面绘制和基于体绘制的方法的优点,将场景空间约束为有符号距离函数,但应用体绘制对这种表示进行鲁棒性训练。UNISURF是一个并行工作,也通过体绘制学习隐式曲面。优化过程中缩小了体绘制的样本区域,提高了重建质量。我们的方法与UNISURF的不同之处在于,UNISURF用占用值表示表面,而我们的方法用SDF表示场景,因此可以自然地提取表面作为它的零级集,产生比UNISURF更好的重建精度,这将在后面的实验部分中看到。

3 Method

给定一组三维物体的摆拍图像 在这里插入图片描述

,我们的目标是重建它的表面S。该曲面由神经隐式SDF的零水平集表示。为了学习神经网络的权重,我们开发了一种新的体绘制方法来渲染隐式SDF图像,并最小化渲染图像与输入图像之间的差异。这种体绘制方法确保了NeuS在重建复杂结构对象时的鲁棒优化。

3.1 Rendering Procedure渲染过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图2:说明(a)朴素解的权重偏差,(b)我们的解中定义的权重函数,在SDF的一阶近似中是无偏的。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图2:说明(a)朴素解的权重偏差,(b)我们的解中定义的权重函数,在SDF的一阶近似中是无偏的。
在这里插入图片描述
在这里插入图片描述
图3:多个面相交情况下的重量分布示意图。
在这里插入图片描述
在这里插入图片描述

3.2 Training 训练

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 实验

4.1实验设置

数据集。为了评估我们的方法和基线方法,我们使用了来自DTU数据集的15个场景,与IDR中使用的场景相同,具有各种各样的材料、外观和几何形状,包括具有挑战性的重建算法案例,如非朗伯曲面和薄结构。每个场景包含49或64张图像,图像分辨率为1600 × 1200。

每个场景都使用IDR提供的前景遮罩进行测试。我们进一步测试了7个具有挑战性的场景,这些场景来自blenddmvs数据集(CC-4 License)的低分辨率集。每个场景有31−143张768 × 576像素的图像,掩模由BlendedMVS数据集提供。

我们进一步捕获了两个带有32个输入图像的薄对象来测试我们的薄结构重建方法。

基线
(1)最先进的表面绘制方法IDR: IDR可以高质量地重建表面,但需要前景蒙版作为监督;由于IDR的质量优于另一种基于表面渲染的方法DVR,因此我们没有与DVR进行比较。
(2)最先进的体绘制方法- NeRF:我们使用25的阈值从学习的密度场中提取网格。我们在补充材料中验证了这一选择。
(3)一种应用广泛的经典MVS方法——COLMAP:利用筛选泊松曲面重建从COLMAP的输出点云重构一个网格。
(4)以占用场作为场景表示的曲面绘制和体绘制并行工作- UNISURF。补充材料中载有基线方法的更多细节。

实现细节。我们假设感兴趣的区域在单位球面内。我们每批采样512条射线,并在单个NVIDIA RTX2080Ti GPU上训练我们的模型300k迭代14小时(用于“w/掩码”设置)和16小时(用于“w/o掩码”设置)。对于“w/o蒙版”设置,我们通过nerf++对背景建模。我们的网络架构和初始化方案与IDR相似。关于网络结构和训练参数的更多细节可以在补充材料中找到。

4.2比较

我们在两种情况下进行了比较,有掩码监督(w/ mask)和没有掩码监督(w/o mask)。我们用倒角距离测量重建质量,方法与UNISURF和IDR相同,并将评分报告在表1中。结果表明,我们的方法在两种设置下都优于DTU数据集上的基线方法- w/和w/o掩码在倒角距离方面。请注意,w/ mask和NeRF设置中的IDR和w/o mask设置中的UNISURF报告的分数来自IDR和UNISURF。
在这里插入图片描述
表1:DTU数据集定量评价。COLMAP结果通过trim=0实现。

我们分别在图4和图5中对DTU数据集和blenddmvs数据集进行了w/ mask和w/o mask两种设置下的定性比较。如图4 w/ mask设置所示,IDR在Scan 37 (DTU)中重构薄金属部件的性能有限,在Stone (BlendedMVS)中由于表面渲染的局部优化过程,无法处理突然的深度变化。由于体积密度场对其三维几何结构没有足够的约束,因此提取的NeRF网格具有较大的噪声。关于w/o掩码设置,我们将我们的方法与图5中w/o掩码设置中的NeRF和COLMAP进行了直观的比较,这表明我们的重建曲面比基线具有更高的保真度。
在这里插入图片描述
图4:表面重建与掩模监督的比较。

我们比较了在w/o掩码设置的两个例子中使用UNISURF。请注意,我们使用UNISURF报告的定性结果进行比较。我们的方法对于深度突然变化的物体效果更好。补充材料中包含了更多定性的图像。
在这里插入图片描述
图5:没有掩模监督的表面重建对比。

4.3 分析

消融实验
为了评估权重计算的效果,我们测试了第3.1节中描述的三种不同的权重结构:(a)朴素解。(b)公式4所示的直接构造(e)全模型。如图6所示,在倒角距离方面,naive解的量化结果不如我们的权值选择(e)。这是因为它引入了一个偏差的表面重建。如果使用直接施工,会产生严重的伪影。
在这里插入图片描述
图6:消融研究。我们展示了定性结果,并报告了地面真相和预测SDF值之间的倒角距离和MAE(平均绝对误差)的定量指标。

我们还研究了Eikonal正则化和几何初始化的影响。在不进行Eikonal正则化或几何初始化的情况下,倒角距离的结果与完整模型的结果相当。但是,它们都不能正确地输出有符号距离函数。这是由SDF预测和相应的地面真实SDF之间的MAE(平均绝对误差)表示的,如图6的底线所示。MAE是在物体的边界球中均匀采样点上计算的。SDF预测的定性结果在补充材料中提供。
在这里插入图片描述
图7:与UNISURF的可视化比较。

细结构。我们还展示了两个具有挑战性的32个输入图像的薄对象的结果。物体下方纹理丰富的平面用于相机标定。如图8所示,我们的方法能够准确地重建这些细结构,特别是在深度突变的边缘。此外,与仅针对高质量细结构重建的方法不同,我们的方法可以处理细结构和一般物体混合的场景。

在这里插入图片描述
图8:使用细结构对象的场景对比。左半部分为深度图,右半部分为重建曲面。

5 结论

我们提出了一种多视图曲面重建的新方法NeuS,该方法将3D曲面表示为神经SDF,并开发了一种新的体绘制方法来训练隐式SDF表示。NeuS产生高质量的重建,并成功地重建严重咬合和复杂结构的物体。它在质量和数量上都超过了最先进的技术。我们的方法的一个局限性是,尽管我们的方法并不严重依赖于纹理特征的对应匹配,但对于无纹理的对象,性能仍然会下降(我们在补充材料中显示了失败的情况)。此外,NeuS只有一个尺度参数s,用于为所有空间位置的概率分布的标准差建模。因此,根据不同的局部几何特征,对不同空间位置的不同方差概率进行建模,并对场景表示进行优化,是未来一个有趣的研究课题。负面的社会影响:像许多其他基于学习的工作一样,我们的方法需要大量的计算资源来进行网络训练,这可能是全球气候变化的一个问题。

补充Supplementary

A.计算不透明度的推导

在这里插入图片描述
在这里插入图片描述

B.一阶偏差分析

B.1 我们解的无偏性证明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

B.2朴素解中的偏差

在这里插入图片描述
在这里插入图片描述

C二阶偏差分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图9:∆_t对s的曲线,给定固定的μ, τ。请注意,坐标轴用ln(|∆_t|)和ln(s)表示。

在这里插入图片描述

D附加实验细节

D.1附加实现细节

网络体系结构。我们采用了与IDR类似的网络结构,由两个MLP组成,分别编码SDF和颜色。有符号距离函数f由一个MLP建模,该MLP由8个隐藏层组成,隐藏层大小为256。我们用β = 100的Softplus代替原来的ReLU作为所有隐藏层的激活函数。跳过连接用于连接第四层的输入和输出。颜色预测函数c由一个包含4个隐层,大小为256的MLP建模,该MLP不仅以空间位置p为输入,还以视图方向v、SDF n =∇f§的法向量以及来自SDF MLP的256维特征向量为输入。对空间位置p进行6次位置编码,对方向v进行4次位置编码。与IDR一样,我们使用权值归一化来稳定训练过程。
训练的细节。我们使用ADAM优化器训练我们的神经网络。在前5k迭代中,学习率首先从0线性升温到5×10^−4, 然后由余弦衰减计划控制到最小学习率2.5×10^−5。我们在单个Nvidia 2080Ti GPU上训练每个模型30万次迭代,共计14小时(用于“w/掩码”设置)和16小时(用于“w/o掩码”设置)。
在这里插入图片描述
在这里插入图片描述
图10:一条射线上定义的切点和中点。

D.2 基准线

IDR。为了实现IDR,我们使用他们官方发布的代码2和在DTU数据集上预训练的模型。https://github.com/lioryariv/idr
在这里插入图片描述
表2:在DTU数据集的三个场景上使用不同阈值从NeRF结果中提取的真实地表和水平集表面之间的倒角距离。
在这里插入图片描述
图11:使用不同阈值从NeRF结果中提取的水平集表面的可视化。

NeRF。为了实现NeRF,我们使用来自NeRF -pytorch3的代码。为了从NeRF中提取曲面,我们使用密度水平集25,实验证明该水平集是重构误差最小的最佳水平集,如表2和图11所示。

COLMAP。我们使用COLMAP官方提供的CLI(命令行接口)版本。稠密点云是由以下命令依次生成的:(1)feature_extractor, (2) strettive_matcher, (3) patch_match_stereo, (4) stereo_fusion。给定稠密点云,网格由(5)poisson_mesher生成。

UNISURF。本文的定量和定性结果由UNISURF的作者提供。

在这里插入图片描述
图11:使用不同阈值从NeRF结果中提取的水平集表面的可视化。

E附加实验结果

E.1 渲染质量和速度

除了重构曲面外,我们的方法还能渲染出高质量的图像,如图12所示。在单个Nvidia 2080Ti GPU上,渲染分辨率为1600x1200的图像的默认体积渲染设置大约花费320秒。此外,我们还测试了另一种采样策略,首先应用球面跟踪来寻找曲面附近的区域,并且只在这些区域内采样点。使用这种策略,在相同分辨率下渲染图像只需要大约60秒。表3给出了默认体绘制设置和球面跟踪设置下PSNR和SSIM的定量结果。https://github.com/yenchenlin/nerf-pytorch
在这里插入图片描述
表3:不同抽样策略的定量比较ST表示球面跟踪的采样策略。
在这里插入图片描述
图12:我们使用不同采样策略在DTU数据集上渲染的图像。-ST使用球面跟踪的采样策略。
在这里插入图片描述
表4:在没有掩码监督的情况下,新视图合成任务与NeRF的定量比较。

E.2 新视图合成

在这个实验中,我们将DTU数据集中10%的图像作为测试集,其他图像作为训练集。我们比较了测试集上的PSNR和SSIM与NeRF的定量结果。如表4所示,我们的方法获得了与NeRF相当的性能。

E.3 SDF定性评价

虽然我们没有Eikonal正则化或几何初始化的方法产生了合理的表面重建结果,但我们的完整模型可以预测一个更准确的有符号距离函数,如图13所示。此外,由于位置编码的频谱偏置,使用随机初始化会产生轴向伪影,而几何初始化则没有这种伪影。

E.4 Training进展

我们在blenddmvs数据集中展示了榴莲在不同训练阶段的重建表面。如图14所示,在训练过程中,曲面变得更加锋利。同时,我们也在图中提供了一条曲线来说明ϕ_s的可训练标准差在训练过程中的变化情况。我们可以看到,优化过程会自动降低标准偏差,使表面随着更多的训练步骤变得更加清晰和锐利。

E.5 限制

图16显示了一个失败的情况,我们的方法无法正确重建金属兔子模型表面的无纹理区域。原因是这种无纹理的区域在神经渲染重建中是模糊的。
在这里插入图片描述
图16:包含无纹理区域的失败重构案例。

E.6 Additional结果

在本节中,我们将展示DTU数据集和BlendedMVS数据集上的其他定性结果。图17显示了w/掩码设置和w/o掩码设置与基线方法的比较。图15显示了w/o掩码设置的其他结果。
在这里插入图片描述
图13:不同训练迭代中切割平面(左图蓝色平面)上有符号距离场的可视化。
在这里插入图片描述
图14:blenddmvs数据集中榴莲的训练进程。右下图是训练过程中可训练标准差的曲线。
在这里插入图片描述
图15:blenddmvs数据集上没有掩码监督的额外重建结果。
在这里插入图片描述
图17:DTU数据集上的其他重建结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Vicky__3021

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

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

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

打赏作者

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

抵扣说明:

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

余额充值