NeRF:从二维图像到三维重建
反渲染(Inverse Rendering)可以理解为成像渲染的反过程,是指从一组二维图像重建三维场景的过程,这在计算机视觉和图形学中具有重要意义。NeRF(Neural Radiance Fields)是一种先进的三维重建神经网络方法,能够从一组二维图像生成高质量的三维场景。本文将详细介绍NeRF的各个方面,包括输入前处理、模型结构、体渲染、反渲染的概念及其应用。

输入的前处理
为了从二维图像生成用于NeRF模型的粒子,需要进行一系列的前处理步骤:
-
光线投射(Ray Casting):将每个像素的光线从相机的视点投射到三维空间中。这些光线通过相机的内参和外参计算得到。
-
采样点生成:沿着每条光线均匀地生成采样点。例如,从近平面到远平面之间生成64个均匀分布的采样点。
-
输入预处理:每个采样点的三维坐标和视角方向作为NeRF模型的输入。
(如图a所示,黑色的点就是粗均匀采样的点)

模型结构
NeRF模型由两个类似的全连接神经网络组成:粗模型(Coarse Model)和细模型(Fine Model)。
粗模型(Coarse Model):
- 输入:位置编码后的三维点坐标γ(x)\gamma(\mathbf{x})γ(x)和视角方向 γ(d)\gamma(\mathbf{d})γ(d)。
- 网络结构:包含8层,每层256个单元,激活函数为ReLU。在第4层之后,将中间特征与原始输入拼接(skip connection)。
- 输出:体积密度(不透明度) σ\sigmaσ 和颜色 c∈(RGB)\mathbf{c} \in (RGB)c∈(RGB)。
细模型(Fine Model):
- 输入:来自粗模型的重要性采样点,位置编码后的三维点坐标 γ(x)\gamma(\mathbf{x})γ(x) 和视角方向 γ(d)\gamma(\mathbf{d})γ

最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



