NeRF 最早是在 ECCV2020 中提出的方法,还获得了 ECCV2020 Oral
Neural Radiance Fields (NeRF) 是一种用于3D场景重建的方法,其就是利用深度学习技术构建了一个可预测任意角度、任意位置观察情况下物体表面光照情况 (Radiance) 的模型,其工作流程大致可以分为以下几个步骤:
数据采集:首先,需要拍摄并收集一系列从不同视角看到的场景图片。这些图片将作为训练数据输入到NeRF模型中。
预处理:对收集到的图像进行必要的预处理操作,如裁剪、缩放等,并提取每个图像对应的相机参数(包括相机位置和视线方向)。这里的相机参数后续需要用于模型训练。
训练:使用收集到的图像和相应的相机参数来训练一个深度神经网络。这个网络的输入是 3D 空间中一个点的坐标以及一个观察方向,输出是该点在给定观察方向下应有的颜色和透明度。
采样与渲染:当我们想生成新图片时,会给出新相机参数(包括新位置和新视线方向)。然后沿着新视线 (ray) 在该 ray 经过的路线上的 3D 空间中选择多个采样点,并用训练好的网络计算出每个采样点处朝某个方向看去时应有颜色和透明度。最后通过将所有被采样点处得到颜色值进行混合(如加权平均),就能得到每一个像素所显示颜色值,从而生成最终渲染图像。
这里的“采样”主要指的是在3D空间中选择一些点来计算它们的颜色和透明度。对于一个像素位置,NERF 其实是沿着一条光线 ray 来进行采样的,采样点是沿着这个 ray 上采样的点,因为相机位置到每个像素位置其实都对应了一条 ray。
具体来说,当你想生成一张新图片时,你会给NeRF一个相机参数,包括相机位置和视线方向。然后,NERF会沿着这个视线方向在3D空间中选择(或者说“采样”)多个点。
对于每个被采样的点,NERF都会用训练好的函数计算出该点处朝某个方向看去时应有的颜色和透明度,最后通过将所有被采样点处得到的颜色值进行混合(比如加权平均),就能得到新视角下像素应有的颜色值。
在NeRF(Neural Radiance Fields)模型中,采样率是一个可以根据实际需要进行调整的参数。具体的采样率取决于多种因素,包括场景的复杂性、计算资源和时间限制等。
在原始的NeRF论文中,作者们提到在渲染过程中使用了64至128个采样点来估计每个像素值。这意味着沿着相机视线方向,他们在3D空间中选择了64至128个点来计算颜色和透明度。
优化与微调:根据生成图片与实际情况或期望结果之间是否匹配来优化或微调模型参数以改善性能。
什么是辐射场 Radiance Field:
在计算机图形学中,Radiance Field指的 是一个函数,它将一个点和一个方向映射到光线颜色上,可以预测在三维空间中的任何一个位置。换言之,如果你站在某个位置,并且看向某个特定方向,那么 Radiance Field 就决定了你看到的景象。
所以说,在NERF中,“辐射场”就是一个三维空间中所有点和方向与颜色之间关系的描述。换句话说, 辐射场给出了从每个点、沿每个方向观察时应该“看到”的颜色信息。
为什么叫神经辐射场呢:
简单总结 NERF: