Birth-Death Structural Learning for 3D Gaussian Splatting
Organizations: Center for AI Research, VinUniversity, Hanoi, Vietnam
Abstract
3D Gaussian Splatting (3DGS) has become a standard representation for real-time novel-view synthesis. Yet, its quality-efficiency trade-off still relies heavily on adaptive density control. Existing cloning, splitting, and pruning rules use proxy signals, such as position gradients, opacity, and image-space error. Although effective in practice, these signals do not directly answer the structural question behind density control: where should new Gaussians be allocated to reduce the multi-view reconstruction loss, and which existing primitives can be pruned with minimal penalty. To address this, we propose first-variation birth-death control for 3DGS, a principled approach that replaces heuristic structural decisions with a variational score derived from the reconstruction loss. At each structural update, we freeze the current Gaussian population, attach auxiliary mass coordinates to each primitive, and differentiate the multiview loss with respect to these coordinates. We demonstrate that this score is a coordinate of the first variation of the Splat Regression Model, giving a rigorous local descent surrogate for birth-death moves: high-score Gaussians are selected as birth sites, while low-score, low-opacity Gaussians are selected for removal. Across standard 3DGS benchmarks, integrating this score into 3DGS-MCMC yields state-of-the-art reconstruction quality and outperforms existing methods, delivering the most significant gains under tight Gaussian budgets. Ultimately, our work provides compelling evidence that gradient-based variational metrics offer a principled alternative to proxy heuristics in 3DGS.
Figures & tables
| Method | Mip-NeRF360 | Tanks & Temples | DeepBlending | ||||||
| PSNR | SSIM | LPIPS | PSNR | SSIM | LPIPS | PSNR | SSIM | LPIPS | |
| Number of Gaussians limited to 100k | |||||||||
| 3DGS [ 15 ] (SfM) † | 23.61 | 0.693 | 0.413 | 22.38 | 0.774 | 0.333 | 24.65 | 0.827 | 0.412 |
| Improved ADC [ 10 ] | 26.34 | 0.781 | 0.322 | 22.08 | 0.784 | 0.280 | 28.25 | 0.885 | 0.315 |
| 3DGS-MCMC [ 17 ] (SfM) † | 27.06 | 0.800 | 0.303 | 22.50 | 0.780 | 0.332 | 28.94 | 0.876 | 0.333 |
| EDGS [ 19 ] † | 27.09 | 0.798 | 0.296 | 22.32 | 0.777 | 0.324 | 28.43 | 0.872 | 0.337 |
| Variant | Selection statistic | PSNR (dB) |
| (a) MCMC baseline | – | |
| (b) Position gradient | +0.04 | |
| (c) Opacity gradient (post-act.) | +0.11 | |
| (d) Birth only | +0.28 | |
| (e) Death only | +0.05 | |
| (f) Ours (Full) | +0.33 |
| Method | Tanks & Temples | Mip-NeRF360 | DeepBlending | |||||||||
| #G | PSNR | SSIM | LPIPS | #G | PSNR | SSIM | LPIPS | #G | PSNR | SSIM | LPIPS | |
| Vanilla 3DGS [ 15 ] | 1577 | 23.79 | 0.853 | 0.169 | 2627 | 27.55 | 0.813 | 0.221 | 2475 | 29.82 | 0.907 | 0.238 |
| LightGaussian-20% [ 8 ] | 315 | 22.49 | 0.779 | 0.271 | 526 | 26.35 | 0.765 | 0.288 | 495 | 28.01 | 0.873 | 0.315 |
| PUP-3DGS-20% [ 12 ] | 315 | 22.60 | 0.809 | 0.228 | 525 | 26.67 | 0.790 | 0.257 | 495 | 29.72 | 0.905 | 0.248 |
| Trimming the Fat-20% [ 1 ] | 315 | 22.50 | 0.819 | 0.232 | 524 | 26.49 | 0.781 | 0.280 | 494 | 29.08 | 0.900 | 0.272 |
| MesonGS-20% [ 31 ] | 314 | 20.70 | 0.822 | 0.207 | 527 | 25.01 | 0.776 | 0.262 | 496 | 28.70 | 0.897 | 0.262 |
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| Item | Value |
| Training iterations | 30,000 |
| Gaussian caps | 100k, 200k, 500k, 1M, 2M |
| Initialization / seed | SfM or random initialization, seed 0 |
| Controller interval | 40 iterations |
| Score batch size | 16 views |
| EMA coefficient | 0.9 |
| Reconstruction quality | Final #G (M) | |||
| Scene | Vanilla | Vanilla + | Vanilla | + |
| Bicycle | 25.13 / 0.747 / 0.242 | 25.29 / 0.774 / 0.202 | 4.769 | 3.271 |
| Bonsai | 32.46 / 0.947 / 0.180 | 32.67 / 0.952 / 0.151 | 2.167 | 1.064 |
| Flowers | 21.36 / 0.589 / 0.359 | 21.61 / 0.627 / 0.278 | 3.206 | 2.850 |
| Scene | Position gradient | First-variation score |
| 500k parent-selection diagnostic | ||
| Bonsai | 29.81 / 0.908 / 0.277 | 30.20 / 0.912 / 0.266 |
| Counter | 27.67 / 0.874 / 0.267 | 27.95 / 0.877 / 0.261 |
| Garden | 24.51 / 0.689 / 0.361 | 24.58 / 0.691 / 0.357 |
| Kitchen | 28.05 / 0.878 / 0.218 | 28.94 / 0.883 / 0.210 |
| Room | 30.17 / 0.894 / 0.277 | 30.67 / 0.897 / 0.273 |
| Cap | Structural updates | PSNR | SSIM | LPIPS |
| 500k | Full updates | 21.88 | 0.820 | 0.216 |
| 500k | Stop at 15k | 22.36 | 0.823 | 0.217 |
| 1M | Full updates | 22.06 | 0.835 | 0.190 |
| 1M | Stop at 15k | 22.24 | 0.831 | 0.196 |
| Method | Tanks & Temples | Mip-NeRF360 | DeepBlending | |||||||||
| #G | PSNR | SSIM | LPIPS | #G | PSNR | SSIM | LPIPS | #G | PSNR | SSIM | LPIPS | |
| Vanilla 3DGS [ 15 ] | 1577 | 23.79 | 0.853 | 0.169 | 2627 | 27.55 | 0.813 | 0.221 | 2475 | 29.82 | 0.907 | 0.238 |
| LightGaussian [ 8 ] | 158 | 22.11 | 0.756 | 0.306 | 263 | 25.67 | 0.735 | 0.331 | 248 | 28.01 | 0.869 | 0.327 |
| PUP-3DGS [ 12 ] | 158 | 21.52 | 0.767 | 0.280 | 262 | 25.33 | 0.753 | 0.309 | 248 | 29.15 | 0.895 | 0.274 |
| Trimming the Fat [ 1 ] | 156 | 21.54 | 0.776 | 0.293 | 263 | 25.26 | 0.731 | 0.343 | 247 | 28.06 | 0.887 | 0.302 |
| MesonGS [ 31 ] | 157 | 20.71 | 0.811 | 0.208 | 263 | 24.92 | 0.773 | 0.264 | 248 | 28.69 | 0.896 | 0.264 |
| Setting | Protocol | Mean PSNR | Severe views | View-luma std. | Mean bright-pixel frac. |
| Train, 2M | Default | ||||
| Train, 2M | Exp. comp. | – | – | ||
| Truck, 2M | Default | ||||
| Mip-NeRF360 avg., 2M | Default |
| Dataset | Method | 100k | 500k | 1M | 2M |
| (P / S / L) | (P / S / L) | (P / S / L) | (P / S / L) | ||
| Mip-NeRF360 | 3DGS [ 15 ] (SfM) † | 23.61 / 0.693 / 0.413 | 28.22 / 0.821 / 0.260 | 28.71 / 0.846 / 0.222 | 29.01 / 0.861 / 0.200 |
| Improved ADC [ 10 ] | 26.34 / 0.781 / 0.322 | 28.46 / 0.843 / 0.232 | 28.94 / 0.858 / 0.205 | 29.21 / 0.871 / 0.184 | |
| 3DGS-MCMC [ 17 ] (SfM) † | 27.06 / 0.800 / 0.303 | 28.82 / 0.861 / 0.214 | 29.23 / 0.875 / 0.190 | 29.52 / 0.883 / 0.172 | |
| EDGS [ 19 ] † | 27.09 / 0.798 / 0.296 | 28.82 / 0.865 / 0.193 | 29.18 / 0.877 / 0.168 | 29.38 / 0.883 / 0.155 | |
| ConeGS [ 2 ] † | 27.74 / 0.809 / 0.285 | 29.08 / 0.870 / 0.190 | 29.37 / 0.880 / 0.168 | 29.43 / 0.881 / 0.158 |
| Scene | ConeGS † | 3DGS (SfM) † | 3DGS-MCMC (SfM) † | EDGS † | Ours |
| Mip-NeRF360 | |||||
| Bicycle | 24.05 / 0.652 / 0.379 | 20.99 / 0.470 / 0.543 | 23.34 / 0.630 / 0.400 | 23.68 / 0.635 / 0.393 | 23.57 / 0.636 / 0.393 |
| Garden | 24.69 / 0.709 / 0.336 | 22.87 / 0.589 / 0.445 | 24.51 / 0.710 / 0.350 | 24.47 / 0.706 / 0.341 | 25.12 / 0.747 / 0.306 |
| Stump | 25.71 / 0.707 / 0.351 | 22.79 / 0.547 / 0.498 | 25.16 / 0.680 / 0.370 | 25.08 / 0.673 / 0.377 | 25.41 / 0.695 / 0.363 |
| Room | 31.09 / 0.903 / 0.254 | 27.02 / 0.859 / 0.328 | 30.37 / 0.900 / 0.270 | 30.08 / 0.896 / 0.265 | 30.94 / 0.903 / 0.261 |
| Counter | 28.22 / 0.879 / 0.251 | 25.64 / 0.845 / 0.307 | 27.83 / 0.880 / 0.260 | 27.77 / 0.877 / 0.251 | 28.44 / 0.895 / 0.232 |
| Scene | ConeGS † | 3DGS (SfM) † | 3DGS-MCMC (SfM) † | EDGS † | Ours |
| Mip-NeRF360 | |||||
| Bicycle | 25.25 / 0.758 / 0.242 | 24.06 / 0.651 / 0.370 | 24.90 / 0.740 / 0.282 | 24.95 / 0.751 / 0.251 | 25.14 / 0.753 / 0.265 |
| Garden | 26.87 / 0.837 / 0.157 | 25.16 / 0.743 / 0.296 | 26.36 / 0.823 / 0.189 | 26.49 / 0.833 / 0.161 | 26.79 / 0.837 / 0.170 |
| Stump | 27.03 / 0.793 / 0.215 | 25.27 / 0.688 / 0.348 | 26.81 / 0.779 / 0.250 | 26.50 / 0.768 / 0.237 | 27.21 / 0.795 / 0.229 |
| Room | 32.02 / 0.924 / 0.205 | 31.47 / 0.913 / 0.234 | 31.72 / 0.921 / 0.221 | 31.36 / 0.923 / 0.203 | 31.84 / 0.922 / 0.219 |
| Counter | 28.87 / 0.906 / 0.194 | 28.86 / 0.901 / 0.213 | 28.95 / 0.907 / 0.205 | 29.05 / 0.912 / 0.184 | 29.06 / 0.911 / 0.200 |
| Scene | ConeGS † | 3DGS (SfM) † | 3DGS-MCMC (SfM) † | EDGS † | Ours |
| Mip-NeRF360 | |||||
| Bicycle | 25.45 / 0.778 / 0.198 | 24.40 / 0.688 / 0.325 | 25.34 / 0.768 / 0.238 | 25.26 / 0.778 / 0.199 | 25.51 / 0.780 / 0.220 |
| Garden | 27.42 / 0.861 / 0.115 | 26.70 / 0.827 / 0.172 | 26.83 / 0.847 / 0.147 | 27.05 / 0.857 / 0.118 | 27.45 / 0.862 / 0.126 |
| Stump | 27.23 / 0.802 / 0.184 | 25.64 / 0.719 / 0.301 | 27.21 / 0.798 / 0.213 | 26.71 / 0.783 / 0.203 | 27.56 / 0.814 / 0.193 |
| Room | 32.30 / 0.928 / 0.196 | 31.62 / 0.918 / 0.221 | 32.09 / 0.926 / 0.208 | 31.71 / 0.928 / 0.191 | 32.10 / 0.927 / 0.205 |
| Counter | 29.21 / 0.911 / 0.181 | 29.11 / 0.907 / 0.201 | 29.24 / 0.913 / 0.191 | 29.27 / 0.917 / 0.171 | 29.34 / 0.917 / 0.187 |
| Cap | Method | PSNR | SSIM | LPIPS | Train time | Overhead | Score-pass | Base train |
| 100k | 3DGS-MCMC | 27.61 | 0.814 | 0.281 | 10.75m | 1.00 | – | – |
| Ours | 27.94 | 0.818 | 0.276 | 13.65m | 1.27 | 2.90m | 10.75m | |
| 200k | 3DGS-MCMC | 28.04 | 0.835 | 0.254 | 11.79m | 1.00 | – | – |
| Ours | 28.37 | 0.841 | 0.249 | 15.01m | 1.27 | 3.22m | 11.79m | |
| 500k | 3DGS-MCMC | 28.89 | 0.864 | 0.209 | 16.16m | 1.00 | – | – |
| Ours | 29.11 | 0.869 | 0.203 | 20.47m | 1.27 | 4.31m | 16.16m |
| Probe setting | Spearman | Top-10% gain | Death P@10 |
| Same views as score batch | |||
| Disjoint probe views | |||
| Held-out test views |
3D Gaussian Splatting
3D Gaussian Splatting represents scenes as optimizable 3D Gaussian primitives for fast, photorealistic rendering from new viewpoints.
See all 1,019 papers