beta-splatting
[SIGGRAPH'25] Official implementation for the paper "Deformable Beta Splatting"
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○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, scholar.google -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.6%) to scientific vocabulary
Keywords
Repository
[SIGGRAPH'25] Official implementation for the paper "Deformable Beta Splatting"
Basic Info
- Host: GitHub
- Owner: RongLiu-Leo
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://rongliu-leo.github.io/beta-splatting/
- Size: 586 MB
Statistics
- Stars: 197
- Watchers: 8
- Forks: 13
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Deformable Beta Splatting
(*Co-first authors, equal technical contribution; Co-advisors, equal leading contribution.)

Abstract: 3D Gaussian Splatting (3DGS) has advanced radiance field reconstruction by enabling real-time rendering. However, its reliance on Gaussian kernels for geometry and low-order Spherical Harmonics (SH) for color encoding limits its ability to capture complex geometries and diverse colors. We introduce Deformable Beta Splatting (DBS), a deformable and compact approach that enhances both geometry and color representation. DBS replaces Gaussian kernels with deformable Beta Kernels, which offer bounded support and adaptive frequency control to capture fine geometric details with higher fidelity while achieving better memory efficiency. In addition, we extended the Beta Kernel to color encoding, which facilitates improved representation of diffuse and specular components, yielding superior results compared to SH-based methods. Furthermore, Unlike prior densification techniques that depend on Gaussian properties, we mathematically prove that adjusting regularized opacity alone ensures distribution-preserved Markov chain Monte Carlo (MCMC), independent of the splatting kernel type. Experimental results demonstrate that DBS achieves state-of-the-art visual quality while utilizing only 45\% of the parameters and rendering 1.5x faster than 3DGS-MCMC, highlighting the superior performance of DBS for real-time radiance field rendering.
New Features
The repo is actively growing. If you see something new, pull it through.
To make sure you're always running the latest and greatest:
bash
git pull
pip install . # Reinstall to recompile
- 05/30/2025: Support the --share_url feature for both train.py and view.py.
- 05/26/2025: Support more features for viewer.
- 05/25/2025: Support Alpha and Normal maps rendering.
Quickstart
This project is built on top of the Original 3DGS, 3DGS-MCMC and gsplat code bases. The authors are grateful to the original authors for their open-source codebase contributions.
Installation Steps
- Clone the Repository:
sh git clone --single-branch --branch main https://github.com/RongLiu-Leo/beta-splatting.git cd beta-splatting - Set Up the Conda Environment:
sh conda create -y -n beta_splatting python=3.10 conda activate beta_splatting - Install Pytorch (Based on Your CUDA Version)
sh pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 - Install Dependencies and Submodules:
sh pip install .
Train a Beta Model
shell
python train.py -s <path to COLMAP or NeRF Synthetic dataset>
Important Command Line Arguments for train.py
#### --sourcepath / -s Path to the source directory containing a COLMAP or Synthetic NeRF data set. #### --capmax Number of primitives that the final model produces. #### --modelpath / -m Path where the trained model should be stored. #### --resolution / -r Image resolution downsample factor. #### --whitebackground / -w Whether use white background. #### --eval Whether use evaluation mode. #### --shdegree Degree used in Spherical Harmonics (SH). #### --sbnumber Light source number used in Spherical Betas (SB).
For example, simply run
shell
python train.py -s lego --cap_max 300000 --eval
You should be able to visualize your first Beta Model like this

Compress a Trained Beta Model
```shell
python compress.py --ply
It will produce a folder named "png" for a Beta Model, saving 5x~6x storage compared to a ply file
```
Visualize a Trained Beta Model
```shell
python view.py --ply
or
python view.py --png Important Command Line Arguments for view.py
#### --ply Path to a trained Beta Model. #### --port Port to connect to the viewer.
Evaluate a Trained Beta Model
shell
python eval.py -s <path to COLMAP or NeRF Synthetic dataset> -m <path to trained model directory>
Important Command Line Arguments for eval.py
#### --sourcepath / -s
Path to the source directory containing a COLMAP or Synthetic NeRF data set.
#### --modelpath / -m
Path to the trained model directory where the trained model should be stored (output/<random> by default).
#### --iteration
Loading trained iteration for rendering. "Best" by default.
Produce benchmark results
```shell
python benchmark.py -
For example, python benchmark.py -m360
```
Important Command Line Arguments for benchmark.py
#### --output_path Path to output directory. "eval" by default. #### --mipnerf360 / -m360 Path to Mip-NeRF360 dataset #### --tanksandtemples / -tat Path to Tanks and Temples dataset #### --deepblending / -db Path to Deep Blending dataset #### --nerfsynthetic / -ns Path to NeRF Synthetic dataset
| Method | PSNR | SSIM | LPIPS | Num (M) | Size (MB) | Compression Time (s) | Compression Ratio | |-----------------------------|--------|--------|---------|-----------|-------------|------------------------|---------------------| | 3DGS | 27.20 | 0.815 | 0.214 | 3.35 | 752.74 | | 1 | | DBS-full | 28.75 | 0.845 | 0.179 | 3.11 | 356.04 | | 2.11 | | DBS-full (compressed) | 28.60 | 0.840 | 0.182 | 3.11 | 63.48 | 41.70 | 11.86 | | DBS-1M | 28.42 | 0.831 | 0.205 | 1.00 | 114.44 | | 6.58 | | DBS-1M (compressed) | 28.32 | 0.828 | 0.207 | 1.00 | 22.32 | 14.28 | 33.72 | | DBS-490K | 28.03 | 0.816 | 0.232 | 0.49 | 56.08 | | 13.42 | | DBS-490K (compressed) | 27.80 | 0.806 | 0.237 | 0.49 | 11.37 | 9.15 | 66.20 |
Processing your own Scenes
The COLMAP loaders expect the following dataset structure in the source path location:
<location>
|---images
| |---<image 0>
| |---<image 1>
| |---...
|---sparse
|---0
|---cameras.bin
|---images.bin
|---points3D.bin
For rasterization, the camera models must be either a SIMPLE_PINHOLE or PINHOLE camera. We provide a converter script convert.py, to extract undistorted images and SfM information from input images. Optionally, you can use ImageMagick to resize the undistorted images. This rescaling is similar to MipNeRF360, i.e., it creates images with 1/2, 1/4 and 1/8 the original resolution in corresponding folders. To use them, please first install a recent version of COLMAP (ideally CUDA-powered) and ImageMagick. Put the images you want to use in a directory <location>/input.
<location>
|---input
|---<image 0>
|---<image 1>
|---...
If you have COLMAP and ImageMagick on your system path, you can simply run
shell
python convert.py -s <location> [--resize] #If not resizing, ImageMagick is not needed
Command Line Arguments for convert.py
#### --no_gpu Flag to avoid using GPU in COLMAP. #### --skip_matching Flag to indicate that COLMAP info is available for images. #### --source_path / -s Location of the inputs. #### --camera Which camera model to use for the early matching steps, ```OPENCV``` by default. #### --resize Flag for creating resized versions of input images. #### --colmap_executable Path to the COLMAP executable (```.bat``` on Windows). #### --magick_executable Path to the ImageMagick executable.Citation
If you find our code or paper helps, please consider giving us a star or citing:
bibtex
@misc{liu2025deformablebetasplatting,
title={Deformable Beta Splatting},
author={Rong Liu and Dylan Sun and Meida Chen and Yue Wang and Andrew Feng},
year={2025},
eprint={2501.18630},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2501.18630},
}
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
GitHub Events
Total
- Issues event: 9
- Watch event: 214
- Issue comment event: 15
- Public event: 1
- Push event: 25
- Pull request event: 1
- Fork event: 15
- Create event: 1
Last Year
- Issues event: 9
- Watch event: 214
- Issue comment event: 15
- Public event: 1
- Push event: 25
- Pull request event: 1
- Fork event: 15
- Create event: 1