3D Gaussian Splatting (3DGS) 技术概述 - 3DGS是一种新视角合成方法,通过迭代训练由大量各向异性3D高斯体组成的场景表示,以捕捉场景的外观和几何形状 [2] - 与其他方法相比,3DGS具有更快的渲染速度,同时能保持相当的图像质量,因此在3D建模、数字孪生、影视制作、VR/AR和机器人视觉重建等领域展现出革命性应用潜力 [4][5] - 3DGS渲染的图像质量取决于场景表示的保真度,处理大面积或复杂场景需要更多高斯体,导致内存占用随场景大小、复杂性或输出图像分辨率增加而增长 [5] CLM系统的技术创新 - CLM系统由谢赛宁团队提出,旨在解决3DGS在扩展应用时GPU显存容量不足的障碍,允许使用单块消费级GPU(如RTX 4090)渲染大型场景 [6][8] - 系统的设计基于3DGS计算本质上是稀疏的洞察,即每次训练迭代只访问场景高斯体的一个小子集,因此只需将该子集加载到GPU内存,而将其余高斯体卸载到CPU内存 [8][11] - 评估表明,该实现可以在单个RTX 4090上渲染需要1.02亿个高斯体的大型场景,并达到顶尖水平的重建质量,与没有卸载的基线系统相比仅产生适度的性能开销 [8][9] 基于稀疏性的卸载策略 - 3DGS的计算过程具有高度稀疏性,在渲染时只有位于相机视锥体内的高斯点才对最终图像产生贡献,在大场景中单个视角访问的高斯点数量占比通常不到1% [12][14] - 团队利用这种稀疏性,通过视锥剔除逻辑提前识别每个视角所需的高斯点子集,并仅将这些必要的高斯点传输至GPU,从而显著降低内存占用与数据传输量 [12][15] - 在最大的数据集上,每个视角平均只访问了0.39%的高斯点,单个视角访问的高斯点数量上限为1.06% [23] 空间局部性优化 - 不同视角的稀疏模式虽不同但存在重叠,其交集的高斯点数与视角之间的空间位置和角度相似度密切相关 [16] - 团队利用这种空间局部性来优化CPU与GPU之间的数据传输,通过合理安排训练迭代顺序以最大化重叠访问并最小化总体通信量 [13][17] - 通过microbatch调度优化,提前计算每个微批次的稀疏模式并合理安排处理顺序,使得相邻批次之间的访问模式尽可能重叠,从而提高缓存命中率 [24] 系统设计与性能 - CLM的核心思路是通过将高斯参数和部分优化器计算卸载到CPU端来扩展有效的GPU显存容量,同时基于3DGS稀疏性和空间局部性观察结果最大限度减少通信开销 [20][25] - 系统采用流水线执行,使得通信与计算能够重叠进行,例如加载微批次i的视锥高斯时与微批次i-1的GPU反向计算重叠,传输微批次i的梯度时与微批次i+1的GPU前向计算重叠 [25][28] - CLM使得3DGS的可训练模型规模相比纯GPU训练基线提升了最高6.1倍,能够训练更大模型从而提升场景重建精度,并实现更低的通信与卸载开销 [27]
打破显存墙:谢赛宁团队提出CLM,单卡RTX 4090「撬动」1亿高斯点
机器之心·2025-11-11 16:40