如果你一直关注 3D 场景重建领域,你可能很熟悉从神经辐射场 (NeRFs) 到 3D 高斯泼溅 (3DGS) 的快速演变。虽然 NeRFs 以其照片级真实感的视图合成震惊了世界,但它们的训练速度也是出了名的慢,通常需要数小时甚至数天。3DGS 通过使用显式的高斯基元来表示场景,彻底改变了这一点,将优化时间缩短到了数十分钟。
但对于许多实时应用来说,“数十分钟”仍然太长了。无论是用于交互式内容创作、数字人,还是大规模测绘,行业的终极目标是在几秒钟内而不是几分钟内完成优化。
在这篇文章中,我们将深入探讨 DashGaussian , 这是一篇提出巧妙调度方案以加速 3DGS 优化的研究论文。通过从根本上重新思考训练期间计算资源的分配方式,DashGaussian 在消费级 GPU 上仅需 200 秒 即可实现高质量的场景重建。

如上图所示,DashGaussian 不仅达到了最先进方法的质量,而且是在极短的时间内完成的。让我们来看看它是如何做到的。
核心问题: 优化复杂度
要理解 3DGS 为什么耗时,我们需要看看优化过程中发生了什么。渲染器将数百万个 3D 高斯基元光栅化到 2D 屏幕上,以计算与真值图像的损失。
计算成本——即 优化复杂度——主要由两个因素驱动:
- 渲染分辨率: 正在计算的像素数量。
- 基元数量: 场景中 3D 高斯的数量。 \[ \text{Cost} \propto \text{Resolution} \times \text{Primitive Count} \] 标准的 3DGS 优化有点“暴力”。它通常在几何形状仍然粗糙的早期阶段就在高分辨率图像上进行训练,并在后期收益递减时继续添加基元。这导致了计算浪费: 为模糊、欠优化的场景渲染高分辨率细节是低效的。
现有的加速方法通常侧重于 工程优化 (编写更快的 CUDA 内核) 或 剪枝 (激进地删除基元) 。虽然有效,但剪枝往往会损害视觉质量。DashGaussian 采取了一种不同的方法: 算法调度 。 它提出的问题是: “如果我们动态调整分辨率和基元数量,只在需要的时候,为需要的东西付出计算代价,会怎么样?”
DashGaussian 方法
作者提出了一种“调度方案”,用于随时间管理优化复杂度。这由三个主要部分组成: 频率引导的分辨率调度器、分辨率引导的基元调度器和基于动量的预算。
让我们看看高层流程:

1. 频率视角
研究人员通过信号处理的视角来构建优化问题。图像可以看作是频率的集合。高分辨率图像包含高频细节 (锐利的边缘、纹理) ,而低分辨率图像包含低频信息 (大致形状、颜色) 。
当你开始训练 3D 模型时,它首先捕捉大致形状 (低频) 。它在物理上无法表示高频细节,因为基元是稀疏且未优化的。因此,过早在高分辨率像素上强迫模型计算损失是浪费的。模型正试图学习它尚未准备好表示的高频细节。
核心洞察: 在优化过程中提高渲染分辨率,在数学上等同于逐步将模型拟合到更高层次的频率分量。
2. 频率引导的分辨率调度
DashGaussian 并不是从头到尾都在全分辨率图像上训练,而是从低分辨率渲染开始,逐步提升。然而,这不仅仅是一个线性的增长。作者定义了一个指标,根据图像的信息含量 (频率能量) 来决定 何时 应该提高分辨率。
他们根据频率图 \(\mathbf{F}\) 定义了特定分辨率下图像的 重要性 (\(\mathcal{X}\)):

这个公式本质上是对频率域中的能量进行求和。为了决定在特定的低分辨率 \(\mathbf{F}_r\) 与全分辨率 \(\mathbf{F}\) 上花费多少时间,他们使用了一个分数函数:

这创建了一个场景自适应的调度。如果一个场景的高频细节很少 (如光滑的墙壁) ,调度器可能会在低分辨率下花费更多时间。如果场景细节非常丰富 (如树叶) ,它会更快地过渡到高分辨率。
在实践中,这看起来就像图 2 中的“分辨率调度 (Resolution Schedule) ”曲线。分辨率保持在低位以快速建立几何结构,然后攀升以细化细节。
3. 分辨率引导的基元调度
调整分辨率只是成功了一半。高斯基元的数量需要与分辨率相匹配。
如果你正在渲染一个 \(64 \times 64\) 像素的图像,拥有 500 万个高斯基元就是杀鸡用牛刀——多个基元会重叠在单个像素上,既浪费内存又浪费计算周期,且不会改善梯度信号。
DashGaussian 将基元的增长与当前的渲染分辨率耦合起来。随着分辨率的增加,模型的容量 (基元数量) 也被允许增长。

这里,\(P_i\) 是第 \(i\) 步的目标基元数量。项 \(r^{(i)}\) 代表当前分辨率。注意指数 \((2 - i/S)\)。这创建了一个 向上凹 的增长曲线。
- 早期阶段: 基元增长缓慢 (防止在分辨率较低时过度致密化) 。
- 后期阶段: 随着分辨率达到最大值,基元快速增长以捕捉精细细节。
这与标准 3DGS 形成对比,后者通常在早期基元数量就会爆炸式增长。
4. 基于动量的基元预算
在上面的公式中,有一个变量 \(P_{fin}\)——最终期望的基元数量。在以前的工作中,这通常是一个“魔术数字”或基于初始点云大小的启发式方法。如果猜得太低,质量会受损;猜得太高,优化会变慢。
DashGaussian 使用一种 基于动量 的方法消除了这种猜测。它将最终基元数量视为一个移动目标,根据场景在致密化过程中自然“想要”添加多少基元进行调整。

这个更新规则会检查模型是否正在积极尝试添加新基元 (\(P_{add}\))。如果是,预算 \(P_{fin}\) 就会增加。如果模型稳定下来,预算也会稳定。这使得系统能够自动找到最佳的模型大小。
融会贯通: 渲染的数学原理
为了直观地理解这些减少为何重要,以此回顾一下像素颜色 \(\mathbf{C}(\mathbf{u})\) 的标准渲染公式:

这个求和在 \(P\) 个基元上进行。通过在早期阶段保持较低的 \(P\) (基元调度) 并减少像素数量 \(\mathbf{u}\) (分辨率调度) ,DashGaussian 大幅减少了达到收敛所需的总浮点运算量。
实验与结果
研究人员将 DashGaussian 集成到了几个现有的 3DGS 骨干网络中,包括原始 3DGS、Mip-Splatting 和 Taming-3DGS。
定量速度与质量
结果非常鲜明。通过将 DashGaussian 插入“Taming-3DGS” (一个已经优化过的版本) ,他们在 Deep Blending 数据集上实现了低至 2.20 分钟 的训练时间,在 Tanks & Temples 数据集上仅需 2.62 分钟 。

表格中的关键结论:
- 速度: DashGaussian 始终比 Reduced-3DGS 和 Mini-Splatting 更快。
- 质量: 尽管速度很快,但它保持甚至超过了原始较慢方法的 PSNR (峰值信噪比) 。
- 效率: 它使用更少的高斯 (\(N_{GS}\)) 来实现这些结果,从而减少了模型存储占用。
视觉质量
如果生成的图像模糊不清,速度再快也没用。定性对比显示,DashGaussian 有效地保留了高频细节。

在上方的“Treehill”和“Truck”场景中,注意 DashGaussian (底行) 如何保持与真值 (GT) 相当的锐利边缘和纹理细节,而其他快速方法有时会引入模糊或伪影。
剖析加速来源
时间究竟省在哪里了?作者剖析了迭代的三个主要步骤: 前向传播、反向传播和优化步骤。

图 5 显示 DashGaussian 降低了 每个 阶段的成本。因为在整个训练过程中平均需要渲染的像素更少,需要管理的基元也更少,所以前向和反向传播都轻量得多。
动态调度实战
观察调度器如何适应不同场景是非常有趣的。

在左侧,注意分辨率调度 (紫色和青色线) 如何针对“bicycle”与“stump”场景进行不同的适应。在右侧,看看基元的增长。标准 3DGS (虚线) 立即飙升至高基元数。DashGaussian (实线) 在前 10k 次迭代中保持低计数,然后在需要高分辨率细化时才使其激增。
广泛的兼容性
这篇论文最强的一点在于 DashGaussian 不是一个独立的渲染器;它是一种策略。

表 2 证明,将 DashGaussian 应用于 任何 骨干网络 (原始 3DGS、Mip-Splatting 等) 都能在不损失质量的情况下平均提速约 45%。它是高斯泼溅的一个通用“加速按钮”。
结论
DashGaussian 证明,在神经渲染的世界里,巧干优于苦干。通过认识到模型在训练早期无法利用高分辨率数据,作者设计了一种调度方案,将计算工作量与模型的学习进度相匹配。
关键要点:
- 渐进式学习: 从低分辨率/低多边形近似开始,随着时间推移进行细化。
- 耦合复杂度: 分辨率和基元数量必须协同缩放。
- 自适应预算: 让场景决定它需要多少基元,而不是设定任意的限制。
- 结果: 大约 3 分钟 内训练出高保真 3D 场景。
这项工作为端侧训练 (例如,在手机上捕捉场景并在几分钟内本地完成训练) 以及效率至关重要的大规模城市环境重建铺平了道路。
](https://deep-paper.org/en/paper/2503.18402/images/cover.png)