atomgs
[BMVC'24] Official implementation for the paper "AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field"
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Repository
[BMVC'24] Official implementation for the paper "AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field"
Basic Info
- Host: GitHub
- Owner: RongLiu-Leo
- License: other
- Language: Python
- Default Branch: main
- Homepage: https://rongliu-leo.github.io/AtomGS/
- Size: 4.83 GB
Statistics
- Stars: 139
- Watchers: 5
- Forks: 8
- Open Issues: 2
- Releases: 0
Topics
Metadata Files
README.md
AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field
Project page | Paper | Video | Viewer Pre-built for Windows

This repo contains the official implementation for the paper "AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field". Our work builds upon 3DGS and GS Monitor codebases.
Installation
Environment
This codebase builds upon the 3DGS repository and maintains compatibility with it. Therefore, if you want to set up the repository smoothly, we strongly advise you to explore the video tutorial and the FAQ section from 3DGS. This may help you identify if your concern is a known issue and, ideally, lead you to a solution.
shell
git clone --single-branch --branch main https://github.com/RongLiu-Leo/AtomGS.git
cd AtomGS
conda env create --file environment.yml
conda activate AtomGS
Viewer
The Pre-built Viewer for Windows can be found here. If you use Ubuntu or you want to check the viewer usage, please refer to GS Monitor.
Scripts
Prepare the data
Adjust the data into the format like:
<location>
|---input
|---<image 0>
|---<image 1>
|---...
Then run
python convert.py -s <location> [--resize] #If not resizing, ImageMagick is not needed
Lauch the Viewer
shell
<path to downloaded/compiled viewer>/bin/SIBR_remoteGaussian_app_rwdi.exe
Train an AtomGS Model
https://github.com/RongLiu-Leo/AtomGS/assets/102014841/65dc3d7a-5062-4aa0-82e0-2250a6fc90ea
shell
python train.py -s <path to COLMAP or NeRF Synthetic dataset>
For object-centered or masked datasets, if there is no large background, we advise using a dense representation to achieve better geometry accuracy.
shell
python train.py -s <path to COLMAP or NeRF Synthetic dataset> --scaling_lr 0 --iteration 7000
Some Tips
- When facing OOM problem, try to reduce
--warm_up_until - If you observe an oversmooth problem, try to reduce
--lambda_normal; If you think the geometry is still noisy, try to increase--lambda_normal.Important Command Line Arguments for train.py
#### --sourcepath / -s
Path to the source directory containing a COLMAP or Synthetic NeRF data set.
#### --modelpath / -m
Path where the trained model should be stored (output/<random> by default).
#### --prunethreshold
Threshold is used to prune the Gaussians whose opacity falls below this value.
#### --clonethreshold
Threshold is used to clone the Gaussians whose positonal gradient exceeds this value.
#### --splitthreshold
Threshold is used to split the Gaussians whose positonal gradient exceeds this value.
#### --atomproliferationuntil
Iteration where Atom Proliferation stops.
#### --warmupuntil
Iteration where warm-up strategy stops.
#### --lambdamsssim
Influence of MS-SSIM Loss.
#### --lambdanormal
Influence of Edge-Aware Normal Loss.
#### --atominitquantile
The percentile of Atom Scale initialization.
View the Trained Model
shell
python view.py -s <path to COLMAP or NeRF Synthetic dataset> -m <path to trained model>
Important Command Line Arguments for view.py
#### --sourcepath / -s
Path to the source directory containing a COLMAP or Synthetic NeRF data set.
#### --modelpath / -m
Path where the trained model should be stored (output/<random> by default).
#### --iteration
Specifies which of iteration to load.
Render the Trained Model
shell
python render.py -s <path to COLMAP or NeRF Synthetic dataset> -m <path to trained model>
Important Command Line Arguments for render.py
#### --sourcepath / -s
Path to the source directory containing a COLMAP or Synthetic NeRF data set.
#### --modelpath / -m
Path where the trained model should be stored (output/<random> by default).
#### --render_mode
Specifies which map to render (rgb by default).
Export Poisson Mesh from the Trained Model
shell
python export.py -s <path to COLMAP or NeRF Synthetic dataset> -m <path to GS model>
Important Command Line Arguments for export.py
#### --source_path / -s Path to the source directory containing a COLMAP or Synthetic NeRF data set. #### --model_path / -m Path where the trained model should be stored (```output/Citation
If you find our code or paper helps, please consider giving us a star or citing:
bibtex
@misc{liu2024atomgs,
title={AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field},
author={Rong Liu and Rui Xu and Yue Hu and Meida Chen and Andrew Feng},
year={2024},
eprint={2405.12369},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://rongliu-leo.github.io/AtomGS/}
}
License
This project is licensed under the Gaussian-Splatting License - see the LICENSE file for details.
Owner
- Name: Rong Liu
- Login: RongLiu-Leo
- Kind: user
- Company: USC
- Website: https://rongliu-leo.github.io/
- Repositories: 8
- Profile: https://github.com/RongLiu-Leo
Computer Vision & Deep Learning
Citation (CITATION.bib)
@misc{liu2024atomgs,
title={AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field},
author={Rong Liu and Rui Xu and Yue Hu and Meida Chen and Andrew Feng},
year={2024},
eprint={2405.12369},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://rongliu-leo.github.io/AtomGS/}
}
GitHub Events
Total
- Issues event: 1
- Watch event: 29
- Push event: 3
- Fork event: 6
Last Year
- Issues event: 1
- Watch event: 29
- Push event: 3
- Fork event: 6
Dependencies
- matplotlib *
- open3d *
- submodules *