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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.1.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.1.2.tar.gz.

File metadata

  • Download URL: gaussian_splatting_mcmc-1.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6af0c5dcb8ccff0b50739ec67e46ff24411af461a857c50cef0c3bed6dfbfe55
MD5 6f4e96d9b9bf175144db76266ae0604c
BLAKE2b-256 ae004d58171beec1fb77ed37169f755e239b3320af51885bb9671de892a8fb1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 daa39e846f6945955ae3daf809a06c12e84b85a964f6091a919776fc7b25c6f4
MD5 111420a852cf26e32f7e3a50d2a64142
BLAKE2b-256 c643624e329e9700afb13231cbfde67160e8a454b7f18a6487d78ac1da1f66fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f0a9c10e57683448d1f311143170ba47fe0a7e456f6bdb8a6699aecdfbe0789d
MD5 00f8adfe7be3b00b134980154f24e257
BLAKE2b-256 acf598ad59e9c8016c21e69050189a147711e5444143ef47c966c307793b1cf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 83753b414d6cc6df2fc7aae8f3934a04ad629d69704129d315f74831df58eb53
MD5 a8abcb38d680127be3a00898a04f1f96
BLAKE2b-256 6b0503da469dadabe2cf32ea859513bed40cc49fc2ec4750b22b3f23c34db1bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f2d8e71721c8cab4372ace941f4704a0ce3575c75e9ee56ce47889d71b7ddab9
MD5 23ad33b54bdc46f111d9eed02e119526
BLAKE2b-256 a30d8ecbc58c63d65e39d1c8a1a2a40b17880bd5dacf4d5775082891f2893cd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 203cbf09cb3f0eecf89c2622d499e087bafdf4bc3b3c98b9c407f467038c3f40
MD5 dfd4a255c4b06ff6eabda0e4d171c048
BLAKE2b-256 44b7f6ce4839685e9827c47b9af5d338d9ccf60261e9426c68dd75da3139ae88

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