相比MVSnet,MVSNerf重建效果要好一点,相比Nerf,MVSNerf渲染的速度要快一点。

注意:可泛化是指一个广泛应用于不同领域的术语,它指的是某种模型、理论或方法在面对新的、以前未见过的情境或数据时能够表现良好的能力。

1、前置知识学习(MLP)

神经网络有很多种类,其中最简单最常用的就是多层感知器(MLP),它由输入层,隐藏层、输出层构成,隐藏层的层数,以及每一层的神经元个数都是可以自己设定的。

MLP三要素就是权重、偏置、激活函数,其激活函数只有两个,分别是线性激活函数,即g(z)=z,还有一个是sigmoid函数。之前学吴恩达老师的深度学习课程就知道只有输出层是回归问题或者二分类问题时时才用线性激活函数或者sigmoid函数,因此MLP常常用于回归和分类问题。

MLP拥有前向传播和反向传播,通过反向传播不断调参来减小误差,常常用于语音识别,图像识别,自然语言处理,金融预测等等。

MLP的优点在于很灵活,可以根据数据集的特点进行定制化设计,并且还可以通过增加层数和神经元个数来提高模型精度和复杂度,但是MLP存在着过拟合,训练时间长,局部最优解的问题,所以在使用MLP中要谨慎调参。

2、MVSNerf相对于Nerf的改进

MVSNerf其实是对于Nerf可泛化能力的改进,在MVSNerf之前,已经有两篇对Nerf可泛化能力进行改进的文章,分别是PixelNerf(Nerf可泛化的开山之作)和IBRNet,其中PixelNerf效果不是很好,IBRNet效果好,但是速度慢,那么MVSNerf是效果也比较好,速度也比较快。

MVSNerf相比于PixelNerf和IBRNet要好一点的原因是直接利用代价体3D的特征(神经编码体S)作为MLP的输入,因为代价体本来就是比较稳定、可靠的数据,比起只让采样点的数据作为输入,数据更可靠,渲染出来的结果更好。

上图是文章开头的插图,是利用了DTU数据集分别训练Nerf和MVSNerf,MVSNerf对于不同场景都具有泛化能力,对于比较复杂的室内场景也只需要输入三张图片就可以进行辐射场重建,并合成新视点下的图像。虽然结果中有很多的伪图像,但是MVSNerf只需要经过6分钟的微调(4k迭代)就与Nerf经过5.1小时的优化(100k迭代)效果相当。

3、摘要

  • 输入:输入和MVSnet一样是三张图片,一张参考图,两张源图,可以通过快速网络推理仅从三个附近的输入视图重建辐射场。

  • 可泛化:原始Nerf是一个场景对应一个神经网络模型,MVSNerf是训练的一个可泛化的神经网络模型,也就是训练出来的一个场景的神经网络模型可以应用到新场景中。MVSNerf是基于DTU数据集进行训练的,然后又用了三个完全不同场景的数据集对训练出来的MVSNerf模型进行测试,结果显示MVSNerf具有很好的泛化能力,并且MVSNerf只需要3张输入图像就可以生成逼真的视图合成结果。

  • 代价体:MVSNerf利用了MVSNet里面代价体构建的方法,用于计算深度图(几何感知场景推理),并与基于物理的体渲染结合进行辐射场重建。

  • 神经编码体积:神经编码体是辐射场的局部神经表示,一旦被估计,该体积可直接用于(丢弃3D CNN)通过可微分光线行进进行最终渲染。

  • 微调:如果捕捉到了密集的逐视角图像,MVSNerf就可以很容易的微调(fine-tuning),相比Nerf具有更好的渲染质量和更少的优化时间。

4、简介

  • 问题背景:

    • 新视图合成一直是计算机视觉和图形学领域的难题。近期神经渲染方法,特别是神经辐射场(NeRF)及其后续研究,推动了该领域的发展。

  • 现有问题:

    • 目前方法存在显著缺陷,需要长时间的每场景优化,显著限制了实用性。

  • 提出方法(MVSNeRF):

    • 通过高效的辐射场估计,能够跨场景地从少量非结构化多视图输入图像中(至少三幅)重建辐射场。

    • 具有强大的泛化能力,避免了繁琐的逐场景优化,可以通过快速网络推理直接在新的视点上回归真实图像。

  • 方法原理及步骤:

    • 对附近输入视图的2D图像特征进行变形,借鉴深度多视图立体(MVS)构建成本体。

    • 利用3D卷积在成本体积上训练神经网络。

    • 通过3D CNN实现神经场景编码体的重建,再通过多层感知器进行三线性插值,解码任意位置的体积密度和辐射度,实现最终渲染。

    • 网络不仅进行深度推断,还推理场景几何形状和外观,最终输出神经辐射场。

  • 方法优势:

    • 综合了基于学习的MVS和神经渲染的优势。

    • 实现了可微分神经渲染,无需3D监督和推理时间优化即可进行训练,提高了重建质量。

    • 可泛化能力强。

  • 实验证明:

    • 仅使用三个输入图像,该方法能够合成照片级逼真的图像。

    • 在新的测试场景上,进一步轻松优化,产生更好的结果,相较于其他方法,优化时间更短。

5、相关工作

Multi-view Stereo:(多视图立体)

问题背景:

  • 多视图立体(MVS)是计算机视觉领域的经典问题,目标是使用多个视点捕获的图像实现密集的几何结构重建。

    深度学习介入:

  • 深度学习技术被引入解决MVS问题,如MVSNet应用3D CNN在平面扫描成本体积上进行深度估计,优于传统方法的3D重建。

技术结合:

  • 建议结合基于成本-体积的深度MVS技术和可微分体积渲染,以有效重建用于神经渲染的辐射场。

  • 与使用直接深度监督的MVS方法不同,我们仅使用图像损失训练网络进行新视图合成。这确保了网络满足多视图一致性,自然地允许高质量的几何重建。

副产品及未来方向:

  • MVSNeRF作为副产品,能够实现与MVSNet相当的精确深度重建,并且比Nerf的速度快很多,可能激发未来无监督几何重建方法的发展。

View Synthesis:(视图合成)

研究历史:

  • 视图合成是一个几十年来研究的问题,包括光场、基于图像的渲染等多种方法,以及近期的深度学习方法。

平面扫描体积的应用:

  • 平面扫描体积被广泛用于视图合成,通过深度学习方法,如基于MPI的方法在参考视图处构建平面扫描体。

新方法的优势:

  • 与以前的方法不同,新方法将平面扫描中的每体素神经特征推断为场景编码体,实现连续的神经辐射场,从而实现逼真的视图合成。

Neural Rendering:(神经渲染)

神经场景表示:

  • 有着各种神经场景表示来实现视图合成和几何重建任务,其中NeRF将MLPs与可微分体渲染相结合,实现了照片级的真实视图合成。

方法拓展与挑战:

  • 后续工作试图提高NeRF在视图合成方面的性能,扩展支持其他神经渲染任务,如动态视图合成、姿态估计等。

  • 大多数先前的作品仍需要昂贵的每场景优化,与之不同,MVSNerf提出的方法结合深度MVS技术,实现跨场景神经辐射场估计,显著提高性能。

6、MVSNerf

6.1 代价体的构建

MVSNerf里面代价体的构建与MVSNet代价体的构建是基本相同的,目的就是求得参考图(i=1的图视为参考图)的代价体。其步骤就是:

  • 利用2D CNN卷积处理输入的参考图,提取2D特征,也就是局部图像外观的2D神经特征。本文采用的2D CNN提取图像特征的公式如下:

  • 然后将提取的参考图像的2D神经特征扭曲到多个扫描平面去构建代价体,也就是如下图所示,对于提取到的每个特征都划分出这样的平面,构建属于每个特征的代价体,进而构建每个参考图对于每个源图的代价体。

    代价体(cost volume)的具体计算如下计算:

    首先我们要知道cost volume里面存储的就是参考图像上的像素点进行单应性变换后的点与匹配图上对应点相似性的误差。其具体计算过程如下:

  • 那么在找参考图上的2D特征在不同深度下投射在源图上对应的特征时,使用的单应性变换矩阵为:

    那么MVSNet里面的单应性矩阵为:

    在学习MVSNet的时候我就知道MVSNet论文里面的单应性矩阵是错误的,而MVSNerf的作者在编写文章时,只把MVSNet里面的单应性矩阵比较显著的错误修改了,也就是最后的K1T修改为K1-1,其余的没修改,正确的公式应该如下:

    但是总的思想就是利用这个单应性矩阵来找参考图上的2D特征在不同深度下投射在源图上对应的特征,进而构成每个2D神经特征Epipolar line,然后根据邻域信息计算matching cost,构成单个2D神经特征代价体,对于提取的所有2D神经特征都这样做,就得到了参考图相对于一张源图的代价体。即下面的Fiz(u,v)。

6.2 辐射场重建
6.2.1 3D CNN神经网络B构建神经编码体

在MVSNet中直接用代价体预测深度概率,仅用代价体表达场景几何形状。MVSnerf的目标是实现高质量的渲染,因此需要从代价体中推断出更多的外观感知信息。因此本文使用用深度神经网络3D CNN神经网络B将构建的代价体转换成用于真实视图合成的辐射场的重建,也就是将原始2D图像特征代价体P重建为神经编码体S,其中S由编码局部场景几何形状和外观的每个体素特征组成,其中特征空间由网络自身学习和发现,用于后续的体积属性回归,这一过程表现为:

最后MLP解码器A用于从该编码体回归体渲染属性。

但由于由于对2D图像进行特征提取时进行的下采样,进而使得场景编码体S具有相对低的分辨率,但是我们有需要渲染一个逼真场景,就需要MLP回归出高频的信息,因此在随后的体积回归阶段引入了原始图像像素数据,尽管本文后来表明,这种高频也可以通过快速的每场景微调优化在增大的体积中恢复。

3D CNN神经网络B是由下采样和上采样卷积层以及跳跃连接的3D UNet组成,其可以有效地推断和传播场景外观信息,从而产生有意义的场景编码体S。

6.2.2 MLP解码器A回归体积属性

其中f = S(x)是在位置x处对S进行三线性内插的神经特征。其中x在被参数化,d由单位向量表示。MVSNerf使用NDC空间对于可泛化有很大的帮助。此外,MVSNerf受NeRF的启发,位置和方向向量(x和d)应用了位置编码,进一步增强了结果中的高频细节。

总结:通过上述的描述构建了一整个框架,模拟出了一个神经辐射场,从几个(三个)输入图像回归场景中的体积密度和视点相关辐射率(RGB)。值得注意的是编码体S一旦被重建,就与MLP解码器A绑在一起,可以被视为辐射场的独立神经表示,而无需预先考虑2D和3D CNNs,它们可以输出体属性,从而支持体渲染。

6.3 体渲染和端到端训练
6.3.1 体渲染

MVSNeRF通过3D CNN神经网络B重建了一个神经编码体S,并通过MLP解码器A对神经编码体S的三线性插值进行操作回归了场景中任意点的体密度和视点相关辐射。这使得能够应用d可微分的体渲染来回归图像颜色。

基于物理的体渲染方程(如下)可以通过用于视图合成的可微分射线行进进行数值评估。具体而言,像素的辐射亮度值(颜色)是通过采集穿过像素光线上的采样点累积辐射亮度来计算的,由下式给出:

6.3.2 端到端训练

光线行进渲染是完全可微分的,因此它允许框架使用端到端的三个输入视图在新的视点回归最终像素颜色。MVSNerf使用的是L2渲染损失,用真实像素颜色监督模型训练过程:

其中c~ t是在新视点的真实像素颜色。上图的式子是用来监督整个系统的唯一损失。MVSNerf在DTU数据集上跨不同场景训练整个网络,具有可泛化的能力,这都受益于代价体处理中的几何感知场景推理,可以有效地学习一个通用函数,该函数可以在新的测试场景上将辐射场重建为神经编码体,从而实现高质量的视图合成。

6.4 优化神经编码体

问题一:当跨场景训练时,MVSNeRF已经可以学习一个强大的泛化函数,仅从三幅输入图像中重建跨场景的辐射场。然而,由于不同场景和数据集之间的有限输入和高度多样性,使用这样的通用解决方案在不同场景上实现完美的结果是非常具有挑战性的。

解决办法:附加颜色。当神经编码体S发送到MLP解码器时,公式

使得S与像素颜色c相结合,这种设计对于微调仍然有效,也就是将体素中心的每视图颜色p作为附加通道附加到编码体来实现独立的神经重建,并且这些颜色作为特征也可以在每场景优化中进行训练。这种简单的附加最初会在渲染中引入模糊,但在微调过程中会很快得到解决。

问题二:论文中介绍神经编码体中回归密度和颜色的解码器具有很强的泛化性。NeRF是通过逐场景优化解决这个泛化性问题,但是花销很高。相比之下,MVSNerf建议微调神经编码体,可以通过网络从少量图像中立即重建,以在捕捉密集图像时实现快速的每场景优化。

解决方法:优化神经编码体。在添加颜色后,具有MLP的神经编码体是一个体面的初始辐射场,已经可以合成合理的图像。建议进一步微调S以及MLP解码器,以便在密集图像可用时执行快速的逐场景优化。注意只优化了编码体和MLP,而不是整个网络。这种微调避免了昂贵的 2D CNN,plane-sweep warping和3D CNN的网络处理。因此,优化可以非常快,比从头开始优化NeRF花费的时间少得多,如下图。

MVSNerf进行72分钟微调的结果就与Nerf610分钟优化的结果相同。

7、实现细节

7.1 数据集

在DTU 数据集上训练MVSNerf,以学习一个可泛化的网络。遵循PixelNeRF将数据划分为88个训练场景和16个测试场景,使用512 × 640的图像分辨率。还在真实的合成NeRF数据和前向数据上测试模型(仅在DTU上训练),这些数据与我们的训练集具有不同的场景和视图分布。对于每个测试场景,选择20个附近的视图;然后选择3个中心视图作为输入,13个作为每个场景微调的附加输入,剩下的4个作为测试视图。

7.2 网络细节
  • f = 32个通道进行特征提取,包括2D CNN和3D CNN(在附加颜色通道之前)。

  • 从近到远均匀采样的D = 128深度假设来指定平面扫描体。

  • MLP解码器类似于NeRF的MLP,但更紧凑,由6层组成。

  • 与NeRF将两个(粗略和精细)辐射场重建为单独的网络不同,MVSNerf仅重建一个辐射场,并且已经可以获得良好的结果。

  • 对于光线行进,在每条行进光线上采样128个着色点。

  • 使用一个RTX 2080 Ti GPU来的网络。

  • 对于DTU上的跨场景训练,从一个新视点随机采样1024个像素作为一批

  • 使用Adam 优化器

  • 初始学习速率为5e-4。

8、实验

8.1 比较三张图像输入结果

将MVSNerf与PixelNeRF和IBRNet 进行了比较,这三种方法旨在实现辐射场重建的泛化。使用PixelNeRF发布的代码和训练模型,并在DTU数据上重新训练IBRNet,使用本文中使用的3个输入视图来训练和测试这些方法。比较了具有相同输入视图的三个数据集上的所有方法,并使用4个额外的图像来测试每个场景。在表1中显示了定量的结果,图4中展示了视觉比较。

如图4所示,MVSNerf可以在不同的数据集上只输入3张图像即可实现真实的视图合成结果,有较强的泛化能力,虽然MVSNerf只在DTU上进行训练,但它可以很好地推广到其他两个具有不同的场景和视图分布的数据集。相比之下,PixelNeRF倾向于过度拟合DTU上的训练设置,虽然它在DTU测试场景中工作得很合理,但它在Realistic Synthetic合成场景中包含了明显的人为因素,甚至在LLFF场景中完全失败。在其他数据集上测试时,IBRNet 可以做得比PixelNeRF更好,但闪烁伪影仍然可以观察到,而且比MVSNerf更明显。

在表1中这三种方法在DTU测试集和其他两个测试集上都能获得合理的PSNR、SSIM和LPIP。然而,在相同的所有三个指标输入下,MVSNerf方法始终优于PixelNeRF和IBRNet。PixelNeRF和IBRNet都直接聚合光线采样点的跨视图二维图像特征来用于辐射场推断。MVSNerf利用MVSNet将二维图像特征扭曲到多个扫面平面构建代价体进行几何感知场景推理,并将局部辐射场表示重建为具有显式三维结构的神经编码体。从而导致了MVSNerf的结果在不同的测试场景中的最佳通用性和最高的渲染质量。

8.2 每个场景的微调结果

在表1和图4中展示了13个额外的输入图像对每一个场景优化的结果,由于从MVSNerf网络中获得了很强的初始化辐射场,因此只需要微调15分钟(10k次迭代),就可以产生逼真的结果。 在表1和图4中还将MVSNerf快速微调结果与NeRF的结果进行了比较(长达10.2小时),MVSNerf即使只有15 min的微调,初始渲染结果也得到了显著的提高,这与优化时间长30倍的结果相当(Realistic Synthetic)或更好(DTU和 Forward-Facing)。

在图3中比较了MVSNerf在不同优化时间下的优化进展,这清楚地表明了MVSNerf的收敛速度明显更快。通过利用MVSNerf的通用网络来实现强的初始辐射场(因为这个初始辐射场含有将局部辐射场表示重建为具有显式三维结构的神经编码体),MVSNerf能够在有密集图像时实现高度实用的每一个场景辐射场重建。

8.3 深度重建结果

MVSNerf重建了一个辐射场,表示场景几何为体积密度。MVSNerf通过比较深度重建结果来评估几何重建质量,这些深度重建结果是由行进光线上采样点的深度值的加权和产生的。MVSNerf与两种辐射场方法和MVSNet进行了比较。由于MVSNerf基于代价体的重建,MVSNerf比其他神经渲染方法获得了更精确的深度。需要注意的是,虽然MVSNerf网络只经过渲染监督而没有深度监督的训练,但MVSNerf可以实现与具有直接深度监督的MVS方法相当的高重建精度。这表明MVSNerf高质量的几何重建是获得真实渲染的一个关键的因素。

9、结论

  • MVSNerf提出了一种新的高质量辐射场重建和真实感神经渲染的通用方法。

  • 该方法结合了深度MVS和神经渲染的主要优点,成功地将基于代价体的场景推理结合到基于物理的神经体积渲染中。

  • MVSNerf能够仅从三个输入视图进行高质量的辐射场重建,并且能够从重建中获得逼真的视图合成结果。

  • MVSNerf在不同的测试数据集上具有良好的泛化能力。

  • 当密集的输入图像可用时,MVSNerf的神经重建也可以很容易地针对每场景优化进行微调,从而能够在使用更少优化时间的同时实现比NeRF更好的照片级逼真渲染。

10、MVSNerf的局限性

  • 对于具有高光泽度/推测性的高挑战性场景,强烈的视角依赖的阴影效应很难通过网络推理直接恢复,并且需要更长的微调过程来完全重建这些效果。

  • MVSNerf的辐射场表示是在参考视图的坐标系中重建的。因此,只有参考视图看到的场景内容被很好的重建和初始化,那么填充体积(可以包含原始坐标系中的内容)才能够很好的被渲染,然而,看不见的部分(包括那些在坐标系中,但被遮挡和不可见的视图)不能直接被网络恢复。因此,使用单一的神经编码体来实现场景周围的广泛视图范围内的渲染(如360度渲染)是非常困难的。所以在多个视图上结合多个神经编码体可以是一个有趣的未来方向,以实现快速辐射场重建与更大的视野范围。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐