The implementation of DashGaussian: Optimizing 3D Gaussian Splatting in 200 Seconds, a powerful 3DGS training acceleration method. Accepted by CVPR 2025 (highlight).
In this repository, we show how to plug DashGaussian into the up-to-date 3DGS implementation.
- 2025.08.16 : A bug in reproduction is fixed. Now DashGaussian works correctly to boost the optimization speed of 3DGS while improving the rendering quality.
To prepare the environment,
-
Clone this repository.
git clone https://github.com/YouyuChen0207/DashGaussian.git -
Follow 3DGS to install dependencies.
Please notice, that the
diff-gaussian-rasterizationmodule contained in this repository has already been switched to the3dgs-accelbranch for efficient backward computation.
Set the data paths in scripts/full_eval.sh to your local data folder, and run.
bash scripts/full_eval.sh
In full_eval.py, you can set,
--dashEnable DashGaussian.--fastUse the Sparse Adam optimizer.--preset_upperboundSet the primitive number upperbound manually for DashGaussian and disable the momentum-based primitive upperbound budgeting method. This option is disabled by default.
This repository is an example to plug DashGaussian into 3DGS backbones.
Search keyword DashGaussian within the project, you can find all code pieces integrating DashGaussian into the backbone.
The following experiment results are produced with a personal NVIDIA RTX 4090 GPU. The average of rendering quality metrics, number of Gaussian primitives in the optimized 3DGS model, and training time, are reported.
| Method | Optimizer | PSNR | SSIM | LPIPS | N_GS | Time (min) |
|---|---|---|---|---|---|---|
| 3DGS | Adam | 27.51 | 0.8159 | 0.2149 | 2.73M | 12.70 |
| 3DGS-Dash | Adam | 27.70 | 0.8201 | 0.2140 | 2.42M | 6.21 |
| 3DGS-fast | Sparse Adam | 27.33 | 0.8102 | 0.2240 | 2.46M | 7.91 |
| 3DGS-fast-Dash | Sparse Adam | 27.66 | 0.8167 | 0.2202 | 2.23M | 3.69 |
| Method | Optimizer | PSNR | SSIM | LPIPS | N_GS | Time (min) |
|---|---|---|---|---|---|---|
| 3DGS | Adam | 29.83 | 0.9069 | 0.2377 | 2.48M | 10.74 |
| 3DGS-Dash | Adam | 29.87 | 0.9061 | 0.2458 | 1.94M | 3.78 |
| 3DGS-fast | Sparse Adam | 29.48 | 0.9068 | 0.2461 | 2.31M | 6.71 |
| 3DGS-fast-Dash | Sparse Adam | 30.14 | 0.9085 | 0.2477 | 1.94M | 2.31 |
| Method | Optimizer | PSNR | SSIM | LPIPS | N_GS | Time (min) |
|---|---|---|---|---|---|---|
| 3DGS | Adam | 23.73 | 0.8526 | 0.1694 | 1.57M | 8.04 |
| 3DGS-Dash | Adam | 24.01 | 0.8514 | 0.1789 | 1.20M | 3.88 |
| 3DGS-fast | Sparse Adam | 23.78 | 0.8502 | 0.1741 | 1.53M | 6.11 |
| 3DGS-fast-Dash | Sparse Adam | 24.02 | 0.8519 | 0.1798 | 1.20M | 2.83 |
@inproceedings{chen2025dashgaussian,
title={DashGaussian: Optimizing 3D Gaussian Splatting in 200 Seconds},
author={Chen, Youyu and Jiang, Junjun and Jiang, Kui and Tang, Xiao and Li, Zhihao and Liu, Xianming and Nie, Yinyu},
booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
pages={11146--11155},
year={2025}
}