1. 问题背景
NeRF主要解决的是视图合成问题,即从多个已知视角的图像中生成一个新视角的图像。
2. 基本概念
5D输入:NeRF将场景表示为一个连续的5D函数,输入包括空间坐标 (x,y,z)(x, y, z) 和观察方向 (θ,ϕ)(\theta, \phi)。
在 NeRF 中如何使用 MLP?
- 输入:场景的 5D 坐标 (x,y,z,θ,ϕ)(x, y, z, \theta, \phi)(x,y,z,θ,ϕ)。
- 隐藏层:通过多个全连接层和激活函数,逐步提取出每个坐标点的几何和颜色信息。
- 输出:每个点的体积密度 σ\sigmaσ 和方向相关的颜色 (r,g,b)(r, g, b)(r,g,b)。
MLP 在 NeRF 中的关键优势是能够拟合复杂的 3D 函数,将空间坐标和方向映射到颜色和密度。
输出:输出为每个点的体积密度和方向相关的颜色(即RGB值)。
3. 技术核心
网络结构:一个简单的全连接神经网络(MLP)被用来表示这个函数,没有卷积层。
体积渲染:通过传统的体积渲染技术,将上述5D函数沿相机光线积分,生成2D图像。
优化:利用已知的图像数据和相机姿态,通过梯度下降优化网络,使其生成的新视角图像与真实图像尽可能相似。
4. 关键技术改进
位置编码:将输入的坐标映射到高维空间,以帮助MLP学习高频细节。
分层采样:首先粗略采样场景,然后通过加权采样在关键区域进行更精细的采样,提高采样效率和渲染质量。
5. 优点
能够生成高质量的视图合成效果。
对复杂几何结构和非Lambert材质具有良好的表现。
存储效率高(相比传统体素网格方法)。
6. 典型应用
虚拟现实和增强现实。
影视特效中的场景建模。
数字文物的3D重建。