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.1.10.tar.gz (15.3 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.1.10-cp312-cp312-win_amd64.whl (123.3 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.1.10-cp311-cp311-win_amd64.whl (122.6 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.1.10-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.1.10-cp310-cp310-win_amd64.whl (121.4 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.1.10-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.1.10.tar.gz.

File metadata

  • Download URL: gaussian_splatting_mcmc-1.1.10.tar.gz
  • Upload date:
  • Size: 15.3 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.1.10.tar.gz
Algorithm Hash digest
SHA256 829f05f5d2fffede6c34f126fcddda5859ff657c05447094b252d52e9434e648
MD5 80ee75f9ec779f310cf05c1004ef94f1
BLAKE2b-256 ea7f127d352432fded34dbaaff5ea56a81c5f91a9b266b238c367b30f28b7816

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 51d74db73f69fd19755e57f0881bf7e7c0cc967a5453f31b2a17c8e19f1adc4a
MD5 306616f439008716a87084ee669fd3f0
BLAKE2b-256 5a6fcd39a2b9e49383876e990f14c8f3256989233ccf2e446e31a297ffdb0b94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c7657a12fa18d7c8f8aef073938393f6c084eda78829af4342568ba5aaff9d2
MD5 d4a275f11d27e248ed989b9dd97ddcbd
BLAKE2b-256 cfefdaf32ad396f69c93519f1672be4edc1928dc791baafcf0562149e0819e13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 657eae92f923eb294573e9b2f2b591e8c7441f893b4ecc5cd34a32c9739cc663
MD5 4cda850ecdd3908480eefa25a0b5ef52
BLAKE2b-256 c6db976f47da5515c7d931b8cbec095b1c4f2c60245a078d47c7ce33524a2f6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1575f816bef4e34c288685875fa049410c21d84721432dc7a12199ec437bf035
MD5 741771de94a79f1f6b8cd89de557b379
BLAKE2b-256 0a647d42bcc0bf7d100bd5d9fb62f73517675b8b26d3dd16a8581ee46cba5b24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b530c4bbca70a82011855b3498896ea123caef2da678afbe54df12c9fb1d5755
MD5 ecd6c89ad60374bac65e633c85528524
BLAKE2b-256 44ec9491763dc95bfd24dd02faa8f07645b519327c942c4a1a1b1564bbbb1c16

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