LiDAR-assisted 3D Gaussian Splatting
DensifyBeforehand
Content-aware densification before optimization for compact, high-quality 3D scene reconstruction.
Ground truth and novel-view renderings on Wetlab: original 3DGS, Pixel-GS, Taming 3DGS, and DensifyBeforehand.
Overview
Densify first.
Optimize what matters.
Adaptive density control grows Gaussian primitives during training, but can introduce redundant Gaussians and floating artifacts. DensifyBeforehand moves that work to initialization.
We combine sparse LiDAR from a mobile device with monocular depth estimation, refine depth globally and locally using projected LiDAR anchors, and sample a content-aware dense point cloud. The resulting initialization lets 3DGS optimize appearance and geometry without cloning, while retaining splitting and pruning.
The method preserves texture-rich regions and thin structures while using fewer final Gaussians and less training time across six newly collected scenes.
- 29.72
- PSNR on Wetlab
- 252.9k
- Final Gaussians
- 402.87s
- Training time
- 5.52%
- Low-opacity Gaussians
Method
Dense initialization from sparse mobile LiDAR
Posed RGB frames and a sparse LiDAR point cloud become a content-aware initialization before 3DGS optimization begins.
-
01
Refine depth
Project visible LiDAR anchors into each view, then apply iterative global median scaling and nearest-anchor local correction to Metric3Dv2 depth.
-
02
Sample by content
Back-project RGB-variance importance into 3D and allocate samples at a 30:1 ROI-to-background ratio.
-
03
Optimize compactly
Train 3DGS without cloning. Splitting remains available, followed by a direct opacity prune at iteration 25,000.
Qualitative results
Details survive where sparse initialization struggles
Across Wetlab, Corner, Pantry, and Staircase, DensifyBeforehand preserves thin geometry and readable, texture-rich regions with a compact scene representation.
Wetlab benchmark
Quality with fewer Gaussians
All methods use the same LiDAR point cloud for initialization. Higher PSNR and SSIM are better; lower LPIPS, time, and Gaussian counts are better.
| Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Time (s) ↓ | Final #G (k) ↓ | Peak #G (k) ↓ |
|---|---|---|---|---|---|---|
| 3DGS | 28.8505 | 0.9387 | 0.1459 | 407.61 | 918.23 | 918.23 |
| Pixel-GS | 29.6315 | 0.9369 | 0.1500 | 2019.86 | 1439.35 | 1439.35 |
| Taming 3DGS | 28.7854 | 0.9387 | 0.1456 | 496.04 | 406.86 | 406.86 |
| LightGaussian | 28.9727 | 0.9362 | 0.1580 | 2736.09 | 285.42 | 739.44 |
| DensifyBeforehand | 29.7187 | 0.9389 | 0.1454 | 402.87 | 252.90 | 630.71 |
Runnable demo
Reproduce the Wetlab pipeline
The public Wetlab package contains 191 RGB frames, calibrated poses, 148,414 LiDAR points, and a reference initialization. Run preprocessing, clone-disabled training, rendering, and evaluation with the released code.
- 191
- RGB frames
- 167 / 24
- Train / test views
- 148,414
- LiDAR points
- 300k
- Point budget
Citation
Build on this work
Accepted to CVM 2026 as a Technical Brief. Please cite the arXiv paper when using the method, code, or Wetlab demonstration package.
@article{phurtivilai2025densifybeforehand,
title = {DensifyBeforehand: LiDAR-assisted Content-aware Densification
for Efficient and Quality 3D Gaussian Splatting},
author = {Phurtivilai, Patt and Leyang, Huang and
Yinqiang, Zhang and Yang, Lei},
journal = {arXiv preprint arXiv:2511.19294},
year = {2025},
doi = {10.48550/arXiv.2511.19294}
}