Advertisement

【论文笔记16】NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

阅读量:

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

论文题目 :NeRF:将场景表示为视图合成的神经辐射场

论文链接https://dl.acm.org/doi/abs/10.1145/3503250

发表时间 :2021

发表期刊 :Communications of the ACM

摘要

  • 本研究提出了一种通过优化基础连续体积场函数来合成复杂场景的新视图的方法 ,该方法使用稀疏的输入视图 ,实现了最先进的结果。通过使用全连接的深度网络来表示场景,该算法的输入是单个连续的5D坐标(空间位置(x,y,z)和观察方向(θ,φ))输出是该空间位置的体积密度和视角相关的辐射 。通过查询沿着摄像机射线的5D坐标来合成视图,并使用经典的体积渲染技术将输出颜色和密度投影到图像中。该方法的优化仅需要一组具有已知摄像机姿态的图像作为输入。作者描述了如何有效地优化神经辐射场以渲染具有复杂几何和外观的逼真新视图,并展示了优于先前神经渲染和视图合成工作的结果。

背景信息:

  • 论文背景: 过去的视图合成方法未能在大摄像机基线上实现逼真的质量,因此本研究提出了一种新的场景表示方法,该方法可以直接优化以重现大量高分辨率输入视图,并且仍然非常内存高效。
  • 过去方案: 以往的场景表示和渲染方法未能在大摄像机基线上实现逼真的质量。
  • 论文的Motivation: 本研究的动机是解决长期存在的视图合成问题,即如何从给定的输入图像和它们各自的摄像机姿态中渲染出场景的新视图,特别是在处理复杂几何和材质反射特性时。

方法

图1.可视化了在周围半球随机捕获的合成鼓场景的100个输入视图集 ,并展示了从优化的NeRF表示中输出的两个新视图

该文发现,优化一个复杂场景的神经辐射场表示的基本实现并没有收敛到一个足够高分辨率的表示。他们通过用位置编码转换输入的5D坐标 来解决这个问题,使MLP能够表示更高频率的函数。

他们的方法可以表示复杂的真实世界的几何和外观 ,非常适合基于梯度的优化。通过在神经网络的参数中存储一个场景,克服了在高分辨率下建模复杂场景时离散体素网格的高昂存储成本。

近年来计算机视觉中一种有前途的方向是将物体和场景编码到一个多层感知器(MLP)的权重中,该MLP直接将3D空间位置映射到形状的隐式表示,例如在该位置的有符号距离。然而,到目前为止,这些方法尚未能够以与使用三角形网格或体素网格等离散表示场景的技术相同的保真度复现具有复杂几何形状的逼真场景。

过去方案:神经三维形状表示

之前的研究探讨了将连续的3D形状表示为水平集的隐式表示。然而,这些模型受到它们对ground truth3D几何的要求的限制,虽然这些技术可能代表复杂和高分辨率的几何,但到目前为止,它们仅限于低几何复杂度的简单形状,导致过度平滑渲染。本文展示了一种优化网络编码5维辐射场(具有二维视觉依赖外观的三维体积)的替代策略 ,可以代表更高分辨率的几何形状和外观,以呈现复杂场景的逼真的新视图。

过去方案:视图合成和基于图像的渲染

计算机视觉和图形学领域中用于新视图合成的两种主要方法类别:基于网格 的方法和基于体积 的方法。

基于网格 的方法使用网格表示场景,通过优化网格来重现一组输入图像。然而,这种方法在基于图像的梯度优化时通常很困难,因为可能存在局部最小值或损失景观的条件较差,并且需要提供具有固定拓扑结构的模板网格作为初始化。

基于体积 的方法能够更逼真地表示复杂的形状和材质,适合基于梯度的优化,并且通常产生比基于网格的方法更少的视觉干扰伪影。这些方法通过训练深度网络来预测从一组输入图像中采样的体积表示,并在测试时使用α合成或沿射线学习合成来渲染新视图。虽然这些方法在新视图合成方面取得了显著进展,但它们扩展到更高分辨率图像的能力受到时间和空间复杂度不佳的限制,因为它们需要更细致的3D空间采样。为了解决这个问题,一些方法将连续体积编码到深度全连接神经网络的参数范围内,从而产生了比先前体积方法更高质量的渲染,并且只需要前者采样体积表示的一小部分存储成本。

本文方法:神经辐射场场景表示

场景被表示为一个5D向量值函数,接受3D位置和2D观察方向作为输入 ,并输出发射颜色和体积密度。具体实现中,使用一个MLP网络 来近似这个场景表示,并优化网络权重,使其能够从输入的5D坐标映射到对应的体积密度和方向性发射颜色。

为了使表示在多视角上保持一致,限制网络将体积密度预测为位置的函数,而将RGB颜色预测为位置和观察方向的函数。为了实现这一点,MLP首先处理输入的3D坐标,然后将输出与相机射线的观察方向连接起来,最终输出视角相关的RGB颜色

该方法能够更好地表示非兰伯特效应,相比于不考虑视角依赖性的模型,可以更好地处理镜面反射等复杂光照效果。

该文引入了两个改进来表示高分辨率的复杂场景。第一种是输入坐标的位置编码 ,帮助MLP表示高频函数。第二种是分层抽样程序

尽管神经网络是通用函数逼近器,但作者发现让网络FΘ直接在xyzθφ输入坐标上操作会导致渲染效果较差,无法很好地表示颜色和几何形状中的高频变化。这与Rahaman等人最近的工作一致,他们表明深度网络倾向于学习较低频率的函数。他们还表明,将输入映射到一个高维空间,使用高频函数对其进行处理,然后再将其传递给网络,可以更好地拟合包含高频变化的数据。

在神经场景表示的背景下,作者利用了这些发现,并展示将FΘ重新构造为两个函数的组合(一个学习的,一个非学习的)可以显著提高性能。这里γ是一个将R映射到更高维空间R^2L的映射,仍然是一个普通的MLP。

具体细节

数据需求:

复制代码
 * 场景的RGB图像数据。
 * 相应的摄像机姿态和内参参数。
 * 场景边界信息。
 * 对于合成数据,使用真实的摄像机姿态、内参和边界信息;对于真实数据,使用COLMAP结构运动估计软件包来估计这些参数。

网络优化:

复制代码
 * 为每个场景单独优化一个神经连续体表示网络。
 * 使用上述提到的数据集来训练网络。

优化迭代:

复制代码
 * 从数据集中随机采样一批摄像机光线。
 * 在每条光线上随机采样N个点,并查询网络。
 * 使用体积渲染过程根据这些采样点渲染每条光线的颜色。

损失计算:

复制代码
 * 计算损失,即渲染颜色与真实像素颜色之间的总平方误差。

这一过程涉及利用神经网络在连续体空间中表示场景,并利用提到的数据集和渲染技术进行优化,以重建场景。损失函数有助于评估渲染颜色与地面实况像素颜色之间的准确度。

结果


结论

  • 本文解决了视图合成的问题,提出了一种新的场景表示方法,称为神经辐射场(NeRF)。NeRF可以被优化以重现高分辨率输入视图,同时具有内存效率。

  • NeRF将场景表示为连续的5D函数,输出空间中每个点的辐射和密度。作者展示了他们的方法在神经渲染和视图合成方面优于先前的工作。

全部评论 (0)

还没有任何评论哟~