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.7.tar.gz (15.4 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.7-cp312-cp312-win_amd64.whl (123.4 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.1.7-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.7-cp310-cp310-win_amd64.whl (121.5 kB view details)

Uploaded CPython 3.10Windows x86-64

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

File metadata

  • Download URL: gaussian_splatting_mcmc-1.1.7.tar.gz
  • Upload date:
  • Size: 15.4 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.1.7.tar.gz
Algorithm Hash digest
SHA256 7fade229d75dd6430b0e43a783f64ca31f2c12745f80bc5871d51c1aa6fa49b1
MD5 2bbbb8264f0b8bf5693eb6c7c3aa5a37
BLAKE2b-256 bc643fc4a946a2a37912c8aaa4752630257dd30be5c6cedf35e1e233332ffe3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0f39b21c19e78d33ab277691622a1e5883f2c3ed22e9d41902ce60c4da22d1f5
MD5 6bb097d7cbdbcff17388c6efd5a711e7
BLAKE2b-256 fb5d2d73e41a45c9b0704c6df66b6b08e542fa830d748b59f527a8848ef7bbc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 22061ea4b2701b87333cc26df7a7e3c29a40712f3d8ebe7e4ba659064f0cfc8d
MD5 b2d9b46e4d58de8c86fd416be5023f44
BLAKE2b-256 1534b5ee7d623df8287307d9f8cc7966b1eb65a88d1c49b889cfe5d7fb74553b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 99ed110f2dc0fa904d3c4de47b9e2c49092334289f5bd470017b4b4956ce3640
MD5 f1546d632053d6a947339c5faa56811c
BLAKE2b-256 e32f985b5d07b790e721210b2bd0d04f89182dbe3bf66a3de47372312d6c7e22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6e5c36075688531e40f905d77a42d73cdbd3736b0fa87d69c26754a59775b324
MD5 c23e63050d82ce895636881cac7517d7
BLAKE2b-256 95ac7b7f883d492fa7d5ccc24f0ed9f99a6b9497d4d7b8691b5da7502b1910ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9fee8a86129663d80bcdc6e2b7438ff097ee2c59d3550dcc538e2a89f3000bd5
MD5 b4f0e622838e55d9a8e3e1783d1ad439
BLAKE2b-256 4e66f05101420b78345ed58a41e1cb3e5c3426501c7eb5d4f5adc9006a6fa1a5

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