NeRF:将场景表示为用于视图合成的神经辐射场

NeRF文章解读

文章结构

链接与引用

出自文献:Mildenhall B, Srinivasan P P, Tancik M, et al. Nerf: Representing scenes as neural radiance fields for view synthesis[C]//European Conference on Computer Vision. Springer, Cham, 2020: 405-421.

llaq6wco.png


一、摘要

一种新的场景表示方法

这篇论文提出了一种基于神经网络的连续场景表示方法,称为NeRF,它可以从稀疏的图像输入中学习场景的体密度和视角相关的辐射亮度,并利用体渲染技术合成任意新视角下的高质量图像。这种方法克服了传统离散体素网格表示在存储和分辨率方面的限制,并在多个合成和真实数据集上显示了优异的性能。

方法和结果

一种用于合成复杂场景的新视角的方法,该方法通过优化一个连续的5D场景函数来实现。这个场景函数由一个全连接的深度神经网络表示,它的输入是一个5D坐标(空间位置和观察方向),输出是该位置的体密度和视角相关的辐射亮度。

  • 体渲染技术

    作者使用经典的体渲染技术,通过沿着相机光线采样这个场景函数,并将输出的颜色和密度投影到图像上。由于体渲染是可微分的,所以只需要一组带有已知相机姿态的图像作为优化的输入。

  • 效果

    描述了如何有效地优化神经辐射场(NeRF)来渲染具有复杂几何和外观的场景的新视角,并展示了在神经渲染和视角合成方面超越先前工作的结果。


二、介绍

三维重建面临的挑战

三维重建是计算机视觉和计算机图形学领域的一个重要研究方向,其目标是从二维图像中恢复出三维场景的结构和外观。然而,由于图像数据的不完整性、噪声和遮挡等问题,三维重建一直面临着许多挑战。

新视角合成是一个长期存在的问题,传统的基于图像或基于几何的方法都有各自的局限性。

NeRF方法

论文提出了一种直接优化一个连续的5D场景函数来最小化一组捕获图像的渲染误差的新方法。论文称这种场景函数为神经辐射场,它可以捕获场景中的复杂几何和外观信息,并且可以使用自然可微分的体渲染技术来渲染任意视角下的图像。论文认为,这种方法是一种新颖且有效的场景表示方式,可以推动新视角合成和图像生成等领域的发展。

llaq7djp.png

我们提出了一种优化一组输入图像场景的连续 5D 神经辐射场表示(任何连续位置的体积密度和视图相关颜色)的方法。我们使用体绘制技术来沿着光线累积此场景表示的样本,以从任何视点渲染场景。在这里,我们可视化了在周围半球上随机捕获的合成鼓场景的 100 个输入视图集,并展示了从我们优化的 NeRF 表示中呈现的两个新颖视图。

本文的 Introduction 部分主要介绍了以下几个内容:

  • 本文提出了一种新的方法,通过使用稀疏的输入视图来优化一个连续的体积场景函数,从而实现了复杂场景的新视角合成的最先进的结果。
  • 使用一个全连接(非卷积)的深度网络来表示一个场景,该网络的输入是一个单一的连续的5D坐标(空间位置和观察方向),输出是该空间位置的体积密度和视角相关的辐射亮度。
  • 通过沿着相机光线查询5D坐标,并使用经典的体积渲染技术将输出的颜色和密度投影到图像上,来合成新的视图。由于体渲染是自然可微分的,所以优化我们的表示只需要一组带有已知相机姿态的图像作为输入。
  • 如何有效地优化神经辐射场(NeRF)来渲染具有复杂几何和外观的场景的真实感新视图,并展示了超越先前工作在神经渲染和视角合成方面的结果。

三、相关工作

相关领域回顾

Related Work 部分主要介绍了以下几个内容:

  • 回顾了使用多层感知机(MLP)来表示物体和场景为连续函数的先前工作,以及它们在表示复杂真实场景方面的不足。
  • 对比了使用网格或体素网格等离散表示来进行视角合成的传统方法,以及使用深度卷积网络来预测采样的体积表示的现代方法,指出了它们在存储成本、渲染质量和分辨率方面的局限性。
  • 提出了一种新颖的视角合成方法,即使用MLP来将场景表示为辐射亮度和密度的连续5D函数,并通过沿着相机光线采样和合成这些函数来渲染图像,从而克服了先前方法的缺点。

四、基于神经辐射场的场景表示

大致思路

  • 提出了一种将场景表示为神经辐射场(NeRF)的方法,即使用一个全连接的深度神经网络(MLP),将一个连续的5D坐标(空间位置和视角方向)作为输入,输出该位置的体积密度和视角相关的辐射亮度。
  • 使用经典的体积渲染技术,沿着相机光线采样和合成神经辐射场的输出,从而从任意视点渲染场景。由于体积渲染是可微分的,所以本文只需要一组带有已知相机姿态的图像作为优化神经辐射场的输入。
  • 说明了如何有效地优化神经辐射场,以渲染具有复杂几何和外观的场景的逼真的新视图,并展示了优于先前神经渲染和视角合成工作的结果。

llaq7odc.png

其中的 2D 视角方向

它的原理可以用以下几个步骤来简单概括:

  • 首先,我们需要一个神经网络,它的输入是一个5D坐标,包括空间位置(x,y,z)和视角方向(θ,φ),它的输出是该位置的体积密度(σ)和视角相关的辐射亮度(c)。这个神经网络就相当于一个函数,可以根据输入的坐标计算出场景中任意点的光学性质。
  • 然后,我们需要一组带有已知相机姿态的图像,这些图像是从不同的视点拍摄场景的。我们可以用这些图像来优化神经网络的参数,使得它能够更好地拟合场景的真实情况。优化的方法是通过比较神经网络渲染出来的图像和真实图像之间的差异,并用梯度下降法来调整神经网络的参数。
  • 最后,我们可以用优化好的神经网络来渲染新的视图。渲染的方法是沿着相机光线在空间中采样一些点,然后用神经网络计算出这些点的体积密度和辐射亮度,再用体积渲染技术将这些点合成为一张图像。体积渲染技术就是根据光线在空间中传播时遇到的不同密度和亮度的点,计算出最终到达相机的颜色和透明度。

详细介绍

llaq7vs8.png

神经辐射场的表示原理是使用一个全连接神经网络(MLP,Multi-Layer Perceptron)来表示一个函数,该函数将三维空间中的点和视角作为输入,并输出该点的颜色和密度。具体来说,输入是一个三维坐标 (x, y, z) 和一个二维视角 (θ, φ),输出是一个颜色值 (r, g, b) 和一个密度值 σ。神经网络通过最小化重建误差来学习这个函数,即使输入图像稀疏,也能生成连续的三维场景。

llaq80ly.png

神经辐射场的方法主要包括以下几个步骤:

  1. 数据准备:收集一组二维图像,这些图像是从不同视角拍摄的同一三维场景。同时,需要获取每个图像的相机参数,例如相机位置和方向。< /li>
  2. 训练神经网络:使用全连接神经网络(MLP)来表示三维场景。输入是三维坐标和视角,输出是颜色值和密度值。通过最小化重建误差来训练神经网络。
  3. 体积渲染:对于给定的相机参数,使用神经网络生成一个体积渲染图像。这是通过从相机位置发射射线并沿射线积分颜色和密度值来完成的。
  4. 优化:通过迭代优化神经网络的参数,使得生成的体积渲染图像与输入图像尽可能接近。

神经辐射场的描述可以总结为:它是一种使用神经网络表示三维场景的方法,通过从稀疏的二维图像中学习颜色和密度信息,能够生成具有高视觉真实感的三维场景。


五、辐射场的立体渲染

辐射场的立体渲染

llaq864l.png

这部分内容主要讲述了一种基于神经网络和体积渲染的新颖的视图合成方法,它能够从稀疏的输入图像中重建出复杂场景的高质量的新视图。这种方法具有连续性、可微分性、多视角一致性等优点,同时也有一些局限性,比如需要大量的计算资源、难以处理动态场景等。讲述了如何使用神经辐射场(Neural Radiance Fields,简称NeRF)进行体积渲染。这个部分的内容可以分为以下几个关键点:

  1. 体积渲染的基本概念:体积渲染是一种将三维数据转换为二维图像的技术。在这篇论文中,作者使用神经辐射场表示场景,并通过体积渲染技术生成新的视图。
  2. 神经辐射场的表示:神经辐射场是一个连续的函数,它将三维空间中的点 (x, y, z) 和视线方向 d 映射到辐射值和密度。这个函数由一个深度神经网络(DNN)表示,输入是一个三维点和视线方向,输出是辐射值和密度。
  3. 体积渲染方程:作者使用了一个离散化的体积渲染方程来计算从摄像机位置到场景中某个点的颜色。这个方程考虑了沿视线方向的积分,以及场景中的不透明度和辐射值。
  4. 采样策略:为了高效地计算体积渲染方程,作者采用了一种分层采样策略。首先,在摄像机和场景之间的空间中均匀地采样一组点。然后,根据这些点的密度值,使用重要性采样在每个点附近采样更多的点。这种策略可以减少计算量,同时保持渲染质量。
  5. 优化和训练:作者使用了一个基于梯度的优化方法来训练神经辐射场。损失函数包括两部分:一部分是重建损失,即预测的颜色与真实颜色之间的差异;另一部分是正则化项,用于防止过拟合。通过最小化损失函数,神经辐射场可以学习到场景的几何和光照信息。

六、神经辐射场的优化

辐射场的立体渲染

这部分展示了一种基于神经网络和体渲染技术的新颖的视图合成方法,该方法能够从稀疏的输入图像中学习一个连续的场景表示,并生成高质量的新视图。这部分也探讨了如何提高神经辐射场表示的表达能力和采样效率,并通过实验评估了方法的性能和优势。

具体方法

如何优化神经辐射场(NeRF)以实现高质量的视图合成。这部分的内容可以分为以下几个关键点:

  1. 目标函数:论文提出了一个目标函数,用于优化神经辐射场。目标函数包括两个部分:一个是预测的体积密度与真实体积密度之间的误差,另一个是预测的辐射度与真实辐射度之间的误差。通过最小化这个目标函数,可以训练神经网络来更好地表示场景的几何和光照信息。
  2. 采样策略:为了高效地优化神经辐射场,论文提出了一种分层采样策略。首先,在摄像机光线的起点和终点之间进行均匀采样。然后,根据预测的体积密度对这些采样点进行加权,以便在可能存在物体的区域进行更密集的采样。这种策略可以提高优化过程的效率,同时保持较高的视图合成质量。
  3. 网络结构:论文使用了一个多层感知器(MLP)作为神经辐射场的表示。输入是一个5D向量,包括3D空间位置和2D视角信息。输出是预测的体积密度和辐射度。为了提高网络的表达能力,论文还引入了位置编码,将输入向量映射到一个更高维的空间。
  4. 训练数据:为了训练神经辐射场,需要大量的场景渲染数据。论文使用了从多个视角渲染的场景图像作为训练数据。通过将这些图像投影到神经辐射场中,可以计算出真实的体积密度和辐射度,从而用于优化目标函数。
  5. 优化算法:论文使用了随机梯度下降(SGD)算法来优化神经辐射场。为了提高优化的稳定性和收敛速度,论文还使用了学习率衰减和梯度裁剪等技巧。

通过这些方法,论文成功地优化了神经辐射场,实现了高质量的视图合成。这种方法在多个场景和光照条件下都表现出了良好的性能。


七、结果

对比效果

  • 这部分展示了在不同的数据集上,该方法与其他视图合成方法的定量和定性的比较结果,包括两个合成物体数据集和一个真实场景数据集。

llaq8ckw.png

  • 这部分证明了该方法在所有场景上都能够超越先前的工作,生成高分辨率、高真实度、多视角一致的新视图,同时只需要很少的存储空间。

llaq8hzm.png

  • 这部分分析了不同方法的优缺点,例如时间和空间的权衡,以及对输入图像数量和视差范围的要求。

llaq8l6f.png

  • 这部分通过消融实验验证了该方法的设计选择和参数设置,并展示了位置编码、视角依赖和分层采样等技术对于提高场景表示的质量和效率的重要性。

八、总结

具体方法

  • 总结了本文的主要贡献,即提出了一种使用多层感知机(MLP)来表示场景为连续的5D神经辐射场(NeRF)的方法,以及一种基于经典体渲染技术的可微渲染过程,从而实现了从稀疏的输入视图合成复杂场景的新视图。
  • 讨论了本文直接解决了先前使用MLP表示对象和场景为连续函数的工作的不足之处,例如无法生成高分辨率、高真实度、多视角一致的新视图。
  • 指出了本文的局限性和未来的工作方向,例如提高神经辐射场的优化和渲染效率,增加对神经网络权重中编码的场景信息的可解释性,以及探索基于真实图像的图形流水线,将复杂场景组合为神经辐射场。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容