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.8.tar.gz (15.5 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.8-cp312-cp312-win_amd64.whl (123.5 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.1.8-cp311-cp311-win_amd64.whl (122.8 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.1.8-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.8-cp310-cp310-win_amd64.whl (121.6 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.1.8-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.8.tar.gz.

File metadata

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

File hashes

Hashes for gaussian_splatting_mcmc-1.1.8.tar.gz
Algorithm Hash digest
SHA256 c7fbac3b98e98b6f6e8ec6ffd7a1dae2e240179c1129fd31ec92d1f061453173
MD5 46b573d18e9bf3d241c1d3cd51ffbd5e
BLAKE2b-256 9d4d66f934f03dd0f288f5114266d95cb7b26d3b6c61e6d4a873ea29fca5cd24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ef8d044342775ced8d4d2dff8def16bcbb004a013339664198e9c88de920c4ac
MD5 9b926e833370e790ab40ae98b20bf30e
BLAKE2b-256 6622a0be41c62c5e86774f7504f5381e28db54fbc6b8d7164692fa8ba288dc9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f8e7ddacd933417462f6c72ad96a267fc3d84c46d13d3343a127d848d6685e6f
MD5 be33fc32aaa7558f8010300992ddf9cc
BLAKE2b-256 7c9ee781232a27caf0919e30e5641c49cdb5956e2e198486289b76ac434b2d5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 385b164c300b72ead3459aaba7d01444076278e7f7e208e46b8086bcbd66c392
MD5 bc52eb7bd69e05a3cbfc051d4586069c
BLAKE2b-256 3260b21e8cc32ee782087cebba6e2ddcd5c7cfa1d9e8d49bbff756bae3e9f012

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 77ea71b0de796444fe35d4de9fdf90069ab9dc3f5cf23ac76d2e81c0bf1ea71a
MD5 5f159e848e1ddfb57048af63e13760d6
BLAKE2b-256 1c338f6f8978656ecb90c3291f9c186fe3b47055e589974803e1aea65a9005a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b1c046ba5c637c89be522634fb4c1bdd787710e01a24ba95b40f3f2b8a501fa8
MD5 09164438d5313ae9b1c8806c8be30e80
BLAKE2b-256 953ed11e4047e802f28e872a8e78234efa40cda6a685efa392339ea5d2947669

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