3DGS: 将一个场景显式地表示为数百万个可学习的3D高斯椭球体。每个高斯球拥有位置、协方差(尺度/旋转)、不透明度和球谐函数系数(表示颜色和视角相关外观)。通过光栅化技术,将这些球体投影并融合成2D图像。其核心是显式表示和基于点的可微分光栅化。
| 特性 | NeRF | 3D Gaussian Splatting | 分析 |
|---|---|---|---|
| 核心表示 | 隐式(神经网络) | 显式(3D高斯球集合) | |
| 渲染质量 | 高保真、连续、平滑,细节和光泽表面处理更好 | 极高质量,但可能有颗粒感/空洞,在极端近距离下会“露馅” | NeRF学习的是一个连续的场景函数。 3DGS是离散的点云表示,在非常稀疏或点分布不均的区域,可能会产生“空洞”或颗粒感。虽然通过 densification 和 pruning 可以缓解,但其本质仍然是离散的。 |
| 速度 | 慢(训练:小时/天,渲染:秒/帧) | 极快(训练:分钟/小时,渲染:实时 >100 FPS) | 每条射线查询数百次神经网络,计算量巨大。 |
| 内存效率 | 高(模型小,优秀的压缩) | 低(模型大,存储所有显式属性) | NeRF的模型是一个强大的压缩算法,将数十亿体素的信息压缩到一个紧凑的神经网络中。 3DGS需要显式存储数百万甚至数千万个高斯球。 |
| 编辑性 | 困难(黑盒模型,难以操控) | 相对容易(可像点云一样选择、移动、编辑) | 隐式表示缺乏显式的几何和语义结构。显式的点云,编辑相对直观。 |
| 泛化能力 | 强(支持预训练和先验学习) | 弱(每个场景独立优化) | 神经网络架构天然适合迁移学习和预训练。 3DGS本质上是“从零开始”为每个场景进行优化,缺乏这种跨场景的泛化能力。每个高斯球都是独立的,没有共享的语义知识。 |
| 鲁棒性 | 对噪声和错误初始化相对鲁棒 | 严重依赖高质量的SfM点云初始化 | 神经网络具有平滑性,不会过拟合每一个噪声点。但许多NeRF变体对相机位姿的 3DGS虽然依赖SfM初始化,但其优化过程相对鲁棒,且社区已经形成了比较固定的超参数设置,开箱即用性更好。 |
| 主要应用 | 高质量离线渲染、学术研究、场景压缩 | 实时应用(VR/AR、游戏)、快速预览、需要交互的场景 |
3DGS能够克服隐式方法(特别是动态 NeRF)的效率瓶颈和兼容性问题。
但由于缺乏真实的4D标注数据,只能依赖多视角渲染进行监督学习,因此容易出现视角间的不一致性问题。