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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.3.2-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.2-cp310-cp310-win_amd64.whl (121.2 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.3.2-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.2.tar.gz.

File metadata

  • Download URL: gaussian_splatting_mcmc-1.3.2.tar.gz
  • Upload date:
  • Size: 15.2 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.3.2.tar.gz
Algorithm Hash digest
SHA256 4824918558eb84107bd83827f3b2236fc7f14258f11fe9b1598058eec59c438d
MD5 08eafe1de811248970e2a1ffd096b4a0
BLAKE2b-256 bdca6c997b46194646c73ae7c11c9c8942ef4158201481f21d25b1a6274942e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 07d5139e09a242830892cab38eca09daa4e894c13f2bc8b09d17434cce953aa6
MD5 b3cb4804fd297761794f0a8331c5e36e
BLAKE2b-256 e0ecb2a4bd2429881a70b1663b6ccbda48b674cd555f601686da957dfb149695

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d9c03b50ea92a9cc07ce684d5c4103ffbed7480cb45472755fdece069a05cd0
MD5 88979460f673f84013e24ca6df82ef33
BLAKE2b-256 ec558394ab4b3f0b1ce9d969968d80db53b704b810424663162363740ef670b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 49b589b600d927ebe3b4a958d67990c25f2c34c41eaaa978d355bd45aec35489
MD5 f6e7c2202a6da3bfbb10e7136da5b809
BLAKE2b-256 f1e22eee475484e2aa015e8e281113c51f4e7fb45322f56407b430b28ccb3848

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a07e1eb08e78ec1ea1d1982ac3b67ac1ef0ef79136c0c68edadecb34e086bef8
MD5 7a9de7b9e3d410d40140696a476561c8
BLAKE2b-256 b052a605ee8c7005f7d9ee8ed1c331f88388688886f02fd5f4b974f0a1175010

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.3.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0ae8f4bf42b4c51bf49293440dfc4005705984793163e0881e89bc3ae292bd4d
MD5 828398e5d4a811573ac94b560a9a6e43
BLAKE2b-256 4db880e3aa2e1d9cd10b78395e387a68350fc6d93df58807a4a6718150f5009a

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