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)

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.2.0.tar.gz (14.9 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.2.0-cp312-cp312-win_amd64.whl (123.0 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.2.0-cp311-cp311-win_amd64.whl (122.2 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.2.0-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.2.0-cp310-cp310-win_amd64.whl (121.1 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.2.0-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.2.0.tar.gz.

File metadata

  • Download URL: gaussian_splatting_mcmc-1.2.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for gaussian_splatting_mcmc-1.2.0.tar.gz
Algorithm Hash digest
SHA256 f8d1e5b07a8443f9bfc48abae23e5ffa8b1e4a5f58543e174451db34927f8520
MD5 28220b847b5d17c7a2368325482058d4
BLAKE2b-256 cff4389104119f44637c8391d83bf47131c76553b71483a2d8cdd831df17cce3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 de34d9768621a1616724cfb7375025499aa8f862d15fded97d696e64f32ab820
MD5 8babea860f027eb3942784b648f3ee64
BLAKE2b-256 0866def55b57062fa4fb170b57698a6709976ae013dca55c9f09acdfdf2d7f12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 65c2b6ebaf85fafab17e0da3a7a5c22886442a4a438822c099532328159384d1
MD5 10711626e5cdf99f9e48782deb68cc72
BLAKE2b-256 33c6e2d716b2aba8cc80aedddcc3443f50d08a56af2067490c13178b702c8daf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 979cf3c1c6c7d01c5ec7a3890e542e9942531620f724147f42ce24820a814cf9
MD5 077f77e62b4673e08b97e0a3d47e7208
BLAKE2b-256 d1ff76ecc9f25da1656b5b149fed40f885bd07a06f413b555cb2a3b49ffc53ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c5a7995b58e5b9170e4a8a8415e25ffe7f5960c37edf55af875d543d4859bc5a
MD5 fb9780faadf74533e9c5d172100527c9
BLAKE2b-256 639743da572f4b63ec1cdcc309a06e8fccceb38bb87f33904ec5a5e142412816

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bfb046f9306e459b3590cf81feb977aca99ba6f8bfe29bfabd692abe548ca99f
MD5 23cc1dc003c08499fcf9e7fc33f830e1
BLAKE2b-256 7bf110dbf34cd3528b7765f83dd94b26d71d839b4975fb1fe09c374a262eb01c

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