nerf原理图_NeRF的基本概念及工作原理

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

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

NeRF和神经渲染的基本概念

为了理解NeRF的工作原理,我们先介绍一些基本概念。

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

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

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

NeRF是如何工作的

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

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

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

以下是从特定角度生成NeRF的方法:

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

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

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

审计唐子红