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)

Install

PyPI Install

pip install --upgrade gaussian-splatting-mcmc

Install (Development)

Install gaussian-splatting. You can download the wheel from PyPI:

pip install --upgrade gaussian-splatting

Alternatively, install the latest version from the source:

pip install --upgrade git+https://github.com/yindaheng98/gaussian-splatting.git@master

Install reduced-3dgs. You can download the wheel from PyPI:

pip install --upgrade reduced-3dgs

Alternatively, install the latest version from the source:

pip install --upgrade git+https://github.com/yindaheng98/reduced-3dgs.git@main

(Optional) If you prefer not to install gaussian-splatting and reduced-3dgs in your environment, you can install them in your lapis-gs directory:

pip install --target . --no-deps --upgrade git+https://github.com/yindaheng98/gaussian-splatting.git@master
pip install --target . --no-deps --upgrade git+https://github.com/yindaheng98/reduced-3dgs.git@main

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.1.tar.gz (13.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.1.1-cp312-cp312-win_amd64.whl (121.0 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.1.1-cp311-cp311-win_amd64.whl (120.3 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.1.1-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.1-cp310-cp310-win_amd64.whl (119.1 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.1.1-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.1.tar.gz.

File metadata

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

File hashes

Hashes for gaussian_splatting_mcmc-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7d7b5a1bf8ea3e0073ef40356a0cf01537dc21463a40bd3f474438df56947b4d
MD5 57f0b4dbbb34ab6716fa00719e3b564b
BLAKE2b-256 d83121eddda6f2c21ffff0a0eaedd46d14eda97c391db9d1fcd101a5a279b03d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 764d87a6bba5ff5107d5a92e34bca64d1b273ed395b13ac2d89e20927bc75ded
MD5 b389d33db6d3d5daf404e3a56b59cbef
BLAKE2b-256 9d2f848dcc6088af3ee14008cac0470b8654e0525251811856f52475401d0c76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 559d9549f1059f286d88de4739d061c9300a9e104435c3c93406f83dce6d9c84
MD5 37129c60c6c4184c389178c171f14e48
BLAKE2b-256 a537f13c7cf5d05eb7371e4b9ad7dc564ae5913659d1f3dbe518d52e555776d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 174f0255b4086cd634ed98bb499b048028077c4f49eee83db98ece56b8a25e9c
MD5 5782928beac8883818566a8fa8aa9196
BLAKE2b-256 d34d51f98c03cb141dd3cdf6757693b309efeb4692eb63fe4459014c51df1d2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 31beb64ddb2302652cefb524e29d8a562b6a3969c16e30c719517664b87713b6
MD5 0841e458a03f3f389a42408d92f75fe6
BLAKE2b-256 5641ddc1d5237147f9bc826584efb10bbeb350dd30c1f948277b1f4b6de55acd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 acb132ca34720b4a1100016dd632cb4e483dc8529541bbb8aae5059ecff24d2b
MD5 7056a73c18f92435397861eaf96826b3
BLAKE2b-256 dc2fd39281ee678faffc24e174557776dab64a80b2e4a6ca6597619f628a0764

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