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.6.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.6-cp312-cp312-win_amd64.whl (123.3 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.1.6-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.6.tar.gz.

File metadata

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

File hashes

Hashes for gaussian_splatting_mcmc-1.1.6.tar.gz
Algorithm Hash digest
SHA256 0580ab3ca659dc9dc6ad338e76905d4a548622be6356dbc3ac9828a7bdeb0e22
MD5 20b4ac754245ae3dd89eb58631b8bf94
BLAKE2b-256 38e2a92b0bac623f5ee22dfd92b66cc217a9b87298eef6b6460f7392720e0bf6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8534d36417a892241a2e61f7a74428bb4840dc92cc4e12d85ae4a5d511e5839c
MD5 c774096c70615a9224e82551f13238c9
BLAKE2b-256 e50a612062cbbd0dfedc56b09b8e9779de036ecd92dd32d9eb8cac2ff87d7751

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d099b62d4b301f5392c6213d06c1e227128f88e87608e7e7aaf8e5e4489a2ab2
MD5 0c63aae80050b9198b5adcc3f3c4a62c
BLAKE2b-256 4083b8f4ef43034d1c912a6d8050b23cc3beb877746fbffd65f7cbf9f9795ef9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 96b39ad1a917f76545bdaaaecd7c61b82d1101f998d3ecd1c6c9dab676820bf1
MD5 5ded6a5c7870b8572634fc6a6c56349d
BLAKE2b-256 ea857cced64880a2c9743e9a47d2fa1c7d0c8c158dab59172107405805490d76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3690b9e0e4b1828b4f92d2775e162a6bb0c649e7aeeab90df116cf964b8fe2cf
MD5 24c2664024706f0d36c55dbd8b598cb3
BLAKE2b-256 259ed976db679b26fb13e26c146000d8c5c1d6c6cda72b8d850fc6f06bbbf959

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 44072a3b30cc6f5ccff54ec8508fd06d66d6b450277b5ace2d0deee91a3fc2a2
MD5 66fa00a955c478f10f542506d30334b8
BLAKE2b-256 93b41fc6badec99cc4df40e3644f6d55c76266b1800c4ab62715b2b70fa24648

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