Thanks to visit codestin.com
Credit goes to github.com

Skip to content

noodle-lab/GaussianSpa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GaussianSpa: An “Optimizing-Sparsifying” Simplification Framework for Compact and High-Quality 3D Gaussian Splatting (CVPR 2025)

Yangming Zhang*, Wenqi Jia*, Wei Niu, Miao Yin

GaussianSpa formulates simplification as an optimization problem and introduces an “optimizing-sparsifying” solution that alternately solves two independent sub-problems, gradually imposing strong sparsity onto the Gaussians in the training process. GaussianSpa significantly reduces the number of Gaussians while maintaining high rendering quality.

Update log

Feb 2025: Results evaluated by metrics.py across all scenes are available now.

Mar 2025: We apply our "sparisifying-optimizing" framework to vanilla 3DGS and Mini-Splatting. Release the codes and scripts.

Usasge

1. Clone the repository

The repository contains submodules which are not compatible with newest 3DGS , thus please check it out with

# HTTPS
git clone https://github.com/noodle-lab/GaussianSpa.git --recursive

2. Setup environment

conda create -n gaussian_spa python=3.7
conda activate gaussian_spa
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 -f https://download.pytorch.org/whl/torch_stable.html
pip install -r requirements.txt

3. Download datasets

Download datasets Mip-360 and Tanks&Temples and Deep Blending. Then put the scenes to Dataset folder for running scripts perfectly. The expected folder structure is:

GaussianSpa
├──train_opacity.sh
├──train_imp_score.sh
└── ...
Dataset
├── drjohnson
├── playroom
├── bicycle
├── bonsai
├── counter
├── flowers
├── garden
├── kitchen
├── room
├── stump
├── treehill
├── train
└── truck

4. Running

We provide two different criteria to sparisify auxiliary variable Z (details please refer our paper 5.2. Generality of GaussianSpa): opacity in 3DGS and importance score proposed by Mini-Splatting.

# Metric opacity for vanilla 3DGS
chmod +x train_opa.sh
bash train_opa.sh
Command Line Arguments for train_op.py

--optimizing_spa

Flag to enable optimizing and spasifying

--prune_ratio2

Ratios for spasifying/pruning points at the sparisifying stop iteration.

--optimizing_spa_interval

Interval to perform the “sparsifying” step every fixed number of iterations

# Metric opacity for Mini-Splatting
chmod +x train_opacity.sh
bash train_opacity.sh

# Metric importance score for Mini-Splatting
chmod +x train_imp_score.sh
bash train_imp_score.sh
Command Line Arguments for train_opacity.py or train_imp_score.py

--optimizing_spa

Flag to enable optimizing and spasifying

--prune_ratio1

Ratios for pruning points at the simplifying iteration1.

--prune_ratio2

Ratios for spasifying/pruning points at the sparisifying stop iteration.

--optimizing_spa_interval

Interval to perform the “sparsifying” step every fixed number of iterations

Other arguments are similar to offical 3DGS and Mini-Splatting.

Recommend Arguments Setting for Evaluation
Scenes Method Pruning_ratio1 Pruning_ratio2
drjohnson imp_score 75 50
playroom opacity 50 77
bicycle imp_score 50 72
bonsai imp_score 50 80
counter opacity 60 50
flowers opacity 50 70
garden imp_score 60 50
kitchen opacity 40 80
room opacity 50 80
stump imp_score 65 70
treehill opacity 40 75
train opacity 50 80
trunk opacity 62 80

Citation

Consider citing our paper if you find its insights and contributions somewhat valuable.

@misc{zhang2024gaussianspa,
        title={GaussianSpa: An "Optimizing-Sparsifying" Simplification Framework for Compact and High-Quality 3D Gaussian Splatting}, 
        author={Yangming Zhang and Wenqi Jia and Wei Niu and Miao Yin},
        year={2024},
        eprint={2411.06019},
        archivePrefix={arXiv},
        primaryClass={cs.CV},
        url={https://arxiv.org/abs/2411.06019}, 
}

About

Project website: https://noodle-lab.github.io/gaussianspa/

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published