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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

File metadata

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

File hashes

Hashes for gaussian_splatting_mcmc-1.1.9.tar.gz
Algorithm Hash digest
SHA256 0d882535603177d11d356b19050e690e16ccc608fcc2f84b42d32fa4a5f854a9
MD5 42cf1fa6883bff71280cebcf90c0e4eb
BLAKE2b-256 6b6c53f5a5f62a1bc42ca545d4ce5666a8bf277eda285dc0568052f7f7a5303b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7ce557cba71894639286fc295b95e1cb54d9fa70c3e0e41a62310516c1fdd855
MD5 132595f4d6cdf2a0ebb286f84d0ba6d3
BLAKE2b-256 134d130e053ae4284c1d08bb9341c7d2644c7ba348ca4cf93ee28fef89182967

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fa68c9f7e376013eec2c361d626e9a951e3e23365b55541adb05bc598232bafb
MD5 0e440dd8d34b443cbb5534f4265cd50c
BLAKE2b-256 06699754683b24c4ff3bba013955b5db5e2d9fed6fd1e696d5623e586974a204

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 59fbe403067f644dcbdf9fc59098c353869a21cf994c07f4f635877c3985579e
MD5 714cf6d204f74fc441796b9086f34252
BLAKE2b-256 e243c4246fd5f06a4d7c8950524b36861a93077102d2bb1de680a56ce909f0fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a027e11f4235a2812fcf1e1b9845bdf2e72b0cda201ead0132fc741e1d732dfc
MD5 ddb924e3ab01ab1397ee62d0579772b2
BLAKE2b-256 0af3bf5b062f81cf7670fea01df475ad6b463d15c34df0bf666fbba644ca560d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7345db9e53c726823bd328f7018026fa468ed8d394db7336e5c93355c15866c5
MD5 1d64a8987b7f496c8cb97d6188635cbe
BLAKE2b-256 dfd59351a820a9b93bc24dc70f90ab49ec7379515112e122d67a127b2d33581b

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