3D Gaussian Splatting as Markov Chain Monte Carlo (Packaged Python Version)
This repository contains the refactored Python code for 3dgs-mcmc. It is forked from commit 7b4fc9f76a1c7b775f69603cb96e70f80c7e6d13. The original code has been refactored to follow the standard Python package structure, while maintaining the same algorithms as the original version.
Features
- Code organized as a standard Python package
- Markov Chain Monte Carlo trainer for 3D Gaussian Splatting
- Integration with reduced-3dgs
Prerequisites
- Pytorch (v2.4 or higher recommended)
- CUDA Toolkit (12.4 recommended, should match with PyTorch version)
- (Optional) cuML for faster vector quantization
(Optional) If you have trouble with gaussian-splatting and reduced-3dgs, try to install it from source:
pip install wheel setuptools
pip install --upgrade git+https://github.com/yindaheng98/gaussian-splatting.git@master --no-build-isolation
pip install --upgrade git+https://github.com/yindaheng98/reduced-3dgs.git@main --no-build-isolation
PyPI Install
pip install --upgrade gaussian-splatting-mcmc
or build latest from source:
pip install wheel setuptools
pip install --upgrade git+https://github.com/yindaheng98/3dgs-mcmc.git@main --no-build-isolation
Development Install
git clone --recursive https://github.com/yindaheng98/reduced-3dgs
cd 3dgs-mcmc
pip install --target . --upgrade --no-deps .
Quick Start
- Download dataset (T&T+DB COLMAP dataset, size 650MB):
wget https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/datasets/input/tandt_db.zip -P ./data
unzip data/tandt_db.zip -d data/
- Train 3DGS-MCMC:
python -m gaussian_splatting_mcmc.train -s data/truck -d output/truck -i 30000 --mode base
- Render:
python -m gaussian_splatting.render -s data/truck -d output/truck -i 30000 --load_camera output/truck/cameras.json
** NeurIPS 2024 SPOTLIGHT **
3D Gaussian Splatting as Markov Chain Monte Carlo
BibTeX
@inproceedings{kheradmand20243d,
title = {3D Gaussian Splatting as Markov Chain Monte Carlo},
author = {Kheradmand, Shakiba and Rebain, Daniel and Sharma, Gopal and Sun, Weiwei and Tseng, Yang-Che and Isack, Hossam and Kar, Abhishek and Tagliasacchi, Andrea and Yi, Kwang Moo},
booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
year = {2024},
note = {Spotlight Presentation},
}
Release files for gaussian-splatting-mcmc 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gaussian_splatting_mcmc-1.3.2.tar.gz | 15.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| gaussian_splatting_mcmc-1.3.2-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| gaussian_splatting_mcmc-1.3.2-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| gaussian_splatting_mcmc-1.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.17+ x86-64 | Details |
| gaussian_splatting_mcmc-1.3.2-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| gaussian_splatting_mcmc-1.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.17+ x86-64 | Details |
Total release size: 7.7 MB
Release files / gaussian_splatting_mcmc-1.3.2.tar.gz
| Download URL | gaussian_splatting_mcmc-1.3.2.tar.gz |
|---|---|
| Size | 15.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4824918558eb84107bd83827f3b2236fc7f14258f11fe9b1598058eec59c438d
|
|
BLAKE2b-256 checksum How to use checksums |
bdca6c997b46194646c73ae7c11c9c8942ef4158201481f21d25b1a6274942e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.11
|
Release files / gaussian_splatting_mcmc-1.3.2-cp312-cp312-win_amd64.whl
| Download URL | gaussian_splatting_mcmc-1.3.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 123.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
07d5139e09a242830892cab38eca09daa4e894c13f2bc8b09d17434cce953aa6
|
|
BLAKE2b-256 checksum How to use checksums |
e0ecb2a4bd2429881a70b1663b6ccbda48b674cd555f601686da957dfb149695
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / gaussian_splatting_mcmc-1.3.2-cp311-cp311-win_amd64.whl
| Download URL | gaussian_splatting_mcmc-1.3.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 122.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9d9c03b50ea92a9cc07ce684d5c4103ffbed7480cb45472755fdece069a05cd0
|
|
BLAKE2b-256 checksum How to use checksums |
ec558394ab4b3f0b1ce9d969968d80db53b704b810424663162363740ef670b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / gaussian_splatting_mcmc-1.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | gaussian_splatting_mcmc-1.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
49b589b600d927ebe3b4a958d67990c25f2c34c41eaaa978d355bd45aec35489
|
|
BLAKE2b-256 checksum How to use checksums |
f1e22eee475484e2aa015e8e281113c51f4e7fb45322f56407b430b28ccb3848
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / gaussian_splatting_mcmc-1.3.2-cp310-cp310-win_amd64.whl
| Download URL | gaussian_splatting_mcmc-1.3.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 121.2 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a07e1eb08e78ec1ea1d1982ac3b67ac1ef0ef79136c0c68edadecb34e086bef8
|
|
BLAKE2b-256 checksum How to use checksums |
b052a605ee8c7005f7d9ee8ed1c331f88388688886f02fd5f4b974f0a1175010
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.11
|
Release files / gaussian_splatting_mcmc-1.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | gaussian_splatting_mcmc-1.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
0ae8f4bf42b4c51bf49293440dfc4005705984793163e0881e89bc3ae292bd4d
|
|
BLAKE2b-256 checksum How to use checksums |
4db880e3aa2e1d9cd10b78395e387a68350fc6d93df58807a4a6718150f5009a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|