nerf原理图(NeRF的基本概念及工作原理)

神经辐射场(NeRF)是一个完全连接的神经网络,它可以基于部分2D图像集生成复杂三维场景的新视图。它被训练使用渲染损失来再现场景的输入视图。其工作原理是获取代表场景的输入图像,并对其进行插值,以渲染出完整的场景。NeRF是一种为复合数据生成图像的有效方法。

NeRF网络被训练成直接从观察方向和空间位置(5D输入)映射到不透明度和颜色(4D输出),体绘制用于绘制新视图。NeRF是一种计算密集型算法,它可能需要几个小时或几天来处理复杂的场景。但是,新算法可以用来显著提高性能。

NeRF和神经渲染的基本概念

为了理解NeRF是如何工作的,让让我们介绍一些基本概念。

渲染:渲染是从3D模型创建图像的过程。模型会包含纹理、阴影、阴影、光照、视点等特征,渲染引擎的作用就是处理这些特征来创建逼真的图像。三种常见的渲染算法是:(1)栅格化,根据模型中的信息对物体进行几何投影,没有光学效果;(2)光线投影,利用反射的基本光学定律,计算特定角度的图像;(3)和光线追踪,利用蒙特卡罗技术在更短的时间内获得逼真的图像。光线追踪用于提高NVIDIA GPU的渲染性能。

体绘制:体绘制使您能够创建三维离散采样数据集的2D投影。对于给定的相机位置,体绘制算法获得空间中每个体素的RGB(红色、绿色、蓝色和Alpha通道),来自相机的光通过这些体素投射。alpha颜色被转换为RGB颜色,并记录在2D图像的相应像素中。对每个像素重复这个过程,直到整个2D图像被渲染。

视图合成:视图合成与体绘制相反。它包括从一系列2D图像中创建3D视图。这可以通过使用从多个角度显示物体的一系列照片,创建物体的半球形平面,并将每个图像放置在物体周围的适当位置来完成。给定一系列描述物体不同视角的图像,视图合成功能试图预测深度。

NeRF是如何工作的?

NeRF使用一组稀疏输入视图来优化连续体场景函数。作为这种优化的结果,可以生成复杂场景的新视图。您可以将输入作为一组静态图像提供给NeRF。连续场景是具有以下特征的5D向量值函数:

它的输入是三维位置x=(x;y;z)和2D观测方向(;)

它的输出是颜色c=(r;g;b)和堆积密度()。

这里如何从特定角度生成NeRF:

通过让相机光线穿过场景,生成一组采样的3D点。

通过将具有相应2D观察方向的采样点输入到神经网络中,生成一组密度和颜色输出。

通过使用经典的体绘制技术,密度和颜色被累积到2D图像中。

审计唐子红