神经辐射场(NeRF)是一种神经场,用于从二维图像重建三维场景表示。该模型支持下游应用,如新视角合成、场景几何重建以及获取场景的反射属性。相机位姿等属性也可以联合学习。NeRF于2020年首次提出,已在计算机图形学和内容创作领域获得广泛关注。
其核心思想是将场景表示为连续函数,并通过神经网络进行近似。给定空间位置和观察方向,网络输出颜色和密度,从而利用传统体渲染从任意视角生成图像。
算法
NeRF算法将场景表示为辐射场,该辐射场由深度神经网络参数化。网络根据三维坐标(x, y, z)和欧拉角表示的观察方向,预测体密度和与视角相关的辐射亮度。通过沿相机光线对多个点进行采样,传统体渲染技术可生成图像。
该过程完全可微。对于每条相机光线,网络对采样点进行预测,得到密度和颜色,并将其合成为像素值。这种设计使得网络能够直接针对输入图像进行梯度下降优化,从而促使网络学习到连贯的体积模型。
数据采集
NeRF需要针对每个独特场景重新训练。第一步是采集不同角度的图像及其对应的相机位姿。标准二维图像即可满足要求;无需专用相机或软件。任何相机都能生成数据集,前提是采集设置和方法满足运动恢复结构(SfM)的要求。
相机位置和方向必须被追踪,通常通过同时定位与映射(SLAM)、GPS或惯性估计来实现。研究人员常使用合成数据进行评估,因为通过传统非学习方法渲染的图像可提供可复现且无误差的相机位姿。
训练
对于每个稀疏视角,相机光线穿过场景,生成三维点及其对应的辐射方向。多层感知器(MLP)预测这些点的体密度和辐射亮度。随后,经典体渲染生成图像。由于整个流程完全可微,网络可通过梯度下降在多个视角上最小化预测图像与原始图像之间的误差,从而引导MLP学习到连贯的三维模型。
变体与改进
早期版本的NeRF优化速度较慢,且要求所有输入视角在一致光照下由同一相机拍摄。它们最适合于围绕单个物体(如鼓组、植物或小玩具)的环绕拍摄。自2020年以来,大量改进扩展了其可用性并加速了训练。
傅里叶特征映射
在2020年原始论文之后不久,傅里叶特征映射提升了训练速度和精度。深度神经网络在低维域中往往难以学习高频函数,这一现象称为频谱偏差。为解决此问题,输入点在被送入MLP之前会映射到高维特征空间。该映射使用多个频率向量的正弦和余弦变换,使网络能够表示精细的几何纹理和细节。
其他发展
后续进展包括分层采样策略(在表面附近分配更多采样点)、考虑曝光和光照的变体,以及引入深度先验以加速收敛的方法。一些版本将NeRF与机器学习框架结合,直接估计相机参数,从而减少了预处理负担。使用网格或混合表示的高效实现已将训练时间从数小时缩短至数分钟。
应用
NeRF技术支持生成式AI和计算机图形学中的多种用例。内容创作者利用它从稀疏照片生成环绕视角,增强虚拟博物馆和零售产品展示。该技术还支持场景几何提取,用于文化遗产保护和机器人领域。对特定视角密度的固有要求仍限制了实时应用,不过持续的研究正在寻求解决这一问题。
NeRF与深度学习的相互作用使其成为场景渲染和三维场景理解的核心技术,常在计算机视觉和计算机图形学社区中被探索。谷歌DeepMind等公司和学术实验室已贡献了大量后续工作。
参见
- 机器学习
- 体渲染
- 新视角合成
- 运动恢复结构