大家好,我是李慢慢。
这是一篇学习笔记。
作为一名智驾仿真工作者,听说NeRF已经很多次了,但我既不是计算机图形学毕业的,也不是AI工作者,所以初步在网络上检索了NeRF之后,还是觉得一脸懵,对这个东西不明究理。于是,私下花了很多时间,尝试以门外汉的方式来讲述这们炙手可热的技术,遂有了这篇文章。
NeRF(Neural Radiance Field,神经辐射场)是一种用于生成逼真的3D场景的计算机图形技术。它是基于神经网络的模型,通过学习场景中每个点的辐射(radiance)信息,从而能够准确地预测场景中的物体外观和光照效果。
这里的“场景”怎么理解呢?我觉得可以理解为眼睛能看到的物理世界。
简单来说,NeRF 将一个3D场景看作是由许多小点组成的,每个点都有其特定的颜色和光照属性。NeRF技术通过训练一个神经网络模型,它能够学习到这些点的位置、颜色和光照等信息。当模型训练完成后,我们就可以使用这个模型来生成逼真的图像,然后在不同视角下的图像就能重建3D场景。
我以前对三维场景的理解是,它是由不同的小3D模型组合起来的大3D模型。有了NeRF,我对三维场景的理解就会变为,在不同角度的下的2D图片。
其实以前也有一些根据采集图片进行3D建模的方法,如摄影测量技术、雷达扫描技术等,这些技术都需要针对场景进行大量的扫描才能还原3D场景。而现在的NeRF则不要那么麻烦,它仅需要少量的图片,就能训练出一个模型,从而预测出各个角度的图片,以达到3D重建的效果。效率提升只有亿点点。
训练模型:这里就不扒公式了,总之NeRF要训练的模型是一个MLP模型(Multi-Layer Perceptron,多层感知机),这是一种常见的人工神经网络模型。训练方法:围绕静态场景的一组图片。
上面提到训练MLP模型时用到的是一组图片,这组图片的每个像素点会被处理成一个5D向量(x, y, z, theta, phi),这个向量就是MLP模型的输入。
多张图片输入,获得每个像素点的5D向量,训练出组成场景的每个粒子的属性,这个属性是个4D向量(密度,R,G,B)。这个4D向量就是NeRF的输出。最后,这个输出会进行一个后处理,根据给定的特定角度,输出这个角度下的像素矩阵,即图片。
1、采用少量的图片即可完成训练;
2、能真实重建烟、雾、光反射等场景;
1、对静态场景的三维重建效果较好,动态场景效果差;
2、训练和推理的过程都很慢;
3、对光照的处理能力一般;
4、没有泛化能力;
NeRF可以用于多种应用,包括但不限于以下几个方面:
1、逼真的渲染:NeRF可以生成高度逼真的3D场景渲染图像。通过对场景中的点进行采样和预测,可以生成具有真实感的图像,包括光照、阴影、反射等效果。这使得NeRF在电影、游戏等娱乐产业中有广泛的应用。
2、视觉效果增强:NeRF可以用于增强现实(AR)和虚拟现实(VR)应用中的视觉效果。通过生成逼真的虚拟场景,可以与真实世界进行融合,提供更具沉浸感的AR/VR体验。
3、三维重建与建模:NeRF可以用于三维重建和建模任务。通过对现实世界的物体、场景进行扫描,可以获取点云数据,并使用NeRF进行建模,从而得到高保真度的3D模型。
4、视频合成与特效:NeRF可以用于视频中的特效合成,例如在现实场景中添加虚拟对象、改变背景等。通过将NeRF与视频处理技术相结合,可以实现逼真的视觉特效。
5、卫星图像和规划:卫星图像提供了一系列图像,NeRF 可以使用这些图像来生成地球表面的总和模型。它对于需要对现实世界环境进行数字化的现实捕获(RC)应用场景非常有用,您可以将空间位置数据转换为非常详细的 3D 模型。例如,将航空影像重建为景观渲染常常用于城市规划,因为它可针对区域真实布局提供有用的参考。
总之,NeRF在计算机图形学、计算机视觉和虚拟现实等领域有广泛的应用。它可以生成逼真的图像和场景,用于娱乐产业、设计、建模等各种应用场景,为用户提供更加沉浸和真实的体验。
本文完。