技术深度解析
3D高斯泼溅的核心,是摒弃了定义NeRF家族的隐式神经表示。场景不再由一个多层感知器(MLP)近似的连续体积场表示,而是被离散化为一系列显式的3D高斯基元。每个高斯体由以下参数定义:
- 位置(μ): 椭球体在3D空间中的中心。
- 协方差矩阵(Σ): 一个3x3对称矩阵,定义椭球体的形状、尺度和方向。关键在于,该矩阵被参数化为旋转矩阵(四元数)和缩放向量,确保在优化过程中矩阵保持半正定。
- 不透明度(α): 控制透明度的标量。
- 球谐(SH)系数: 通常最高到3阶(每个颜色通道16个系数),实现视角相关的颜色效果。
渲染管线才是魔法发生的地方。该方法不使用光线步进,而是采用基于图块的可微分栅格化器。图像被划分为16×16像素的图块。对于每个图块,使用快速的GPU排序算法构建一个投影到该图块上的高斯体列表。然后,对于每个像素,可见的高斯体按深度排序,并从前往后进行alpha合成——这与多边形栅格化中的传统alpha混合完全一致。这比NeRF逐射线的MLP评估快数个数量级。
自适应密度控制是防止场景过于稀疏或臃肿的秘密武器。在训练过程中,算法监控每个高斯体位置的梯度。如果梯度幅度超过阈值(表明高斯体位置不佳),则该高斯体会被分裂(如果它较大)成两个更小的高斯体,或者沿梯度方向克隆(如果它较小)。相反,不透明度低于阈值的高斯体会被剪除。这使得表示能够自动为复杂区域(如头发或树叶)分配更多高斯体,而为均匀区域(如墙壁)分配更少高斯体。
基准性能: 原始论文在Mip-NeRF 360数据集上报告了以下结果,该数据集是评估无界360°场景的黄金标准:
| 方法 | PSNR ↑ | SSIM ↑ | LPIPS ↓ | 训练时间 | 渲染帧率 (FPS) |
|---|---|---|---|---|---|
| 3D高斯泼溅 | 27.22 | 0.815 | 0.214 | ~25分钟 | 30-40 |
| Mip-NeRF 360 | 27.03 | 0.792 | 0.237 | ~48小时 | <0.1 |
| Instant NGP | 26.74 | 0.780 | 0.247 | ~15分钟 | ~10 |
| Plenoxels | 26.41 | 0.768 | 0.260 | ~20分钟 | ~15 |
数据要点: 高斯泼溅在实现最高PSNR和SSIM分数的同时,渲染速度比Mip-NeRF 360快300-400倍。训练时间与Instant NGP相当,但渲染速度快3-4倍,使其成为首个将最先进质量与实时性能相结合的方法。
GitHub上已涌现出多个衍生仓库。gaussian-splatting(原始仓库)拥有21.8k颗星。nerfstudio(nerfstudio-project/nerfstudio)迅速将高斯泼溅作为核心模型集成,使其对非专业人士也可用。sugar(sugar-gaussian/sugar)通过添加正则化项鼓励高斯体与表面对齐,将方法扩展到表面重建。gsplat(nerfstudio-project/gsplat)提供了栅格化器的独立、优化CUDA实现,正被许多下游项目使用。
关键参与者与案例研究
论文背后的Inria团队——Bernhard Kerbl、Georgios Kopanas、Thomas Leimkühler和George Drettakis——是计算机图形学领域的知名人物。Drettakis领导Inria的GRAPHDECO研究小组,该小组在推动实时渲染边界方面有着悠久历史。他们之前在3D点云渲染和可微分渲染方面的工作直接为这一创新奠定了基础。
案例研究:Luma AI – 以基于NeRF的3D捕捉应用闻名的初创公司Luma AI,已公开承认了这一转变。其最新产品Luma Dream Machine使用高斯泼溅作为实时3D场景编辑和生成功能的底层表示。这是一个战略性的转向:NeRF对于交互式编辑来说太慢,而高斯体则能实现即时反馈。
案例研究:NVIDIA – NVIDIA的研究部门一直在积极探索用于自动驾驶模拟的高斯泼溅。其神经重建团队发布了一个分支,将高斯体与其Omniverse平台集成,实现了包含动态对象的复杂驾驶场景的实时模拟。以60 FPS渲染场景的能力对于感知系统的闭环测试至关重要。
案例研究:Polycam – 流行的3D扫描应用Polycam将高斯泼溅导出作为高级功能。用户可以用手机视频捕捉一个房间,应用将其重建为一个splat文件,可在移动设备上实时查看。这使高质量3D内容创作走向大众。