一句话定义
NeRF(Neural Radiance Field,神经辐射场)是一种把整个三维场景"记"在一个神经网络权重里的技术——训练完成后,从任意角度问它"这里看起来是什么样",它都能渲染出一张照片级的新视角图像。
它是怎么工作的
NeRF 的核心是一个很朴素的 MLP(多层感知机)。给它两组输入:一个空间点的坐标 (x, y, z),以及一个观察方向 (θ, φ)。它输出两样东西:这个点在那个方向上是什么颜色 (R, G, B),以及这个点的密度 σ——可以理解成"这里有多实",越接近空气越接近 0,越接近实心物体越大。
只有这两样还不够,还得说明怎么变成一张图片。做法是模拟光线:从相机位置穿过每个像素射出一条视线,在这条线上密集采样很多点,挨个问神经网络"你是什么颜色、多实",然后按密度加权把这些颜色累加起来,得到这个像素的最终颜色。这个过程叫体渲染(volume rendering)。把渲染出的图和真实拍到的照片逐像素比对,算误差,反向传播去调网络权重。换个角度、换张照片,重复几万次。
打个比方:不是把场景拍成照片存在硬盘上,而是请一个学生反复看同一间屋子的几十张照片,直到他能把这间屋子"背"进脑子里。之后你随便报一个观察位置,他都能凭记忆把那间屋子的样子画出来。场景不在硬盘里,在他脑子里——在网络的权重里。
和相邻概念的区别
| 对比项 | 场景存在哪 | 输出形式 | 特点 |
|---|---|---|---|
| 点云 / 网格模型 | 显式的顶点、面片文件 | 可见的几何体 | 好编辑、好导入引擎,但表面空洞和噪声需要额外修补 |
| NeRF | 隐式的神经网络权重 | 一个函数 | 连续、无分辨率上限,但从"权重"里直接取出几何体没那么方便 |
| AI 词典:3D 高斯泼溅">3D 高斯泼溅(3D Gaussian Splatting) | 一堆显式的高斯球 | 可实时渲染的点集 | 训练和渲染更快,但不是用神经网络表示场景 |
和普通的图像生成模型也不同:生成模型(比如扩散模型)造的是世界上不存在的画面,NeRF 做的是把一个真实存在过的场景从新角度看一遍。
对从业者和普通人的意义
对做三维重建的人来说,NeRF 把"建模"这件事从手工拼几何体,变成了"拍一圈照片 + 训练一个网络"。相机位姿标定得准不准,直接决定成败,这是它目前最脆的现实约束。
对普通人,它的价值藏在几个场景里:电商商品可以绕着圈看,不用拍几百张角度图;看房、看展、看文物,一段手机视频就能还原出可自由走动的三维空间;自动驾驶和机器人的仿真环境,也可以用真实路采数据重建出来做测试。
原始版 NeRF 训练慢、只适合静态场景、对光照变化敏感,后续工作已经沿着这些方向改了不少。真要落地选型,具体能力和部署要求以各项目的官方页面为准。
