Skip to main content

Refactored python training code for 3D Gaussian Splatting as Markov Chain Monte Carlo

Project description

3D Gaussian Splatting as Markov Chain Monte Carlo (Packaged Python Version)

PyPI version Downloads Total downloads CI CI

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

  1. 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/
  1. Train 3DGS-MCMC:
python -m gaussian_splatting_mcmc.train -s data/truck -d output/truck -i 30000 --mode base
  1. 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

button button button

Shakiba Kheradmand, Daniel Rebain, Gopal Sharma, Weiwei Sun, Yang-Che Tseng, Hossam Isack, Abhishek Kar, Andrea Tagliasacchi, Kwang Moo Yi

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},
   }

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gaussian_splatting_mcmc-1.3.1.1.tar.gz (15.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gaussian_splatting_mcmc-1.3.1.1-cp312-cp312-win_amd64.whl (123.0 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.3.1.1-cp311-cp311-win_amd64.whl (122.3 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.3.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

gaussian_splatting_mcmc-1.3.1.1-cp310-cp310-win_amd64.whl (121.2 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.3.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file gaussian_splatting_mcmc-1.3.1.1.tar.gz.

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.1.1.tar.gz
Algorithm Hash digest
SHA256 542d31e954a48e4be4dea6e95a3e306ed581ff60d8d4545a72b1bd405d51b946
MD5 df6b9e4f5b983aadf54f2aa2da5d7cee
BLAKE2b-256 dbc2426904bb3d483f5636e39904b6d0bfe774a39e588317847479c12e43d96a

See more details on using hashes here.

File details

Details for the file gaussian_splatting_mcmc-1.3.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 361b6a74046b284902cc792ae4ae1ebe21465354453ac1abc269201aa4f45c1f
MD5 b58e9195fa0b9d4915920b30c10cff6d
BLAKE2b-256 4fe483133ff846949fcd4829452a6f699fe5f9828a61e02e98c0d29a628abe68

See more details on using hashes here.

File details

Details for the file gaussian_splatting_mcmc-1.3.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b823216a757287a24d37c48695a9db8298e054d542ade3b62a0b516078bdde7f
MD5 5a71bba0f85b9e04a7913dcc48a0fb06
BLAKE2b-256 6d2eabb08408e8d4fa18916cd5bee577db3983a525c7cef3de2f17d3ce718a05

See more details on using hashes here.

File details

Details for the file gaussian_splatting_mcmc-1.3.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0496ed080e3e81828bacdaf4a9b1551884725dc7b2d970347010500cd081d1a8
MD5 fea1270a472605de47b6ffe5c8757f2d
BLAKE2b-256 6e4b5bab0428e8803d7ee4cf9be095b19afabbd632ae0862146aed0c52fda3a3

See more details on using hashes here.

File details

Details for the file gaussian_splatting_mcmc-1.3.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9bdc4926d40fe0a813d26923771a084f37e128dfb9f1984476bc2d47190968d8
MD5 002ee7f84965529de133b5a575edb2eb
BLAKE2b-256 0c2b971400482a971a2f07d04852758c3b2e5ced78929d9f9cc0a06bd5bcab00

See more details on using hashes here.

File details

Details for the file gaussian_splatting_mcmc-1.3.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6fc8ce6ff8658f36ec610d4d0420b27cf15d7cb18011372b7af512e08baefeb2
MD5 c96b5bcd97f18dcee42bedcaa43e346f
BLAKE2b-256 bec110e32f5df70f2a98cfa4ba3dec23f9db3302c778c93c653091fa936e522a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page