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.5.tar.gz (14.0 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.5-cp312-cp312-win_amd64.whl (119.9 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.1.5-cp311-cp311-win_amd64.whl (119.2 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.1.5-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.5-cp310-cp310-win_amd64.whl (118.1 kB view details)

Uploaded CPython 3.10Windows x86-64

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

File metadata

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

File hashes

Hashes for gaussian_splatting_mcmc-1.1.5.tar.gz
Algorithm Hash digest
SHA256 40317389220ce8d723362f2f45305b1247a416c0961ee4734cdb6ca988b63553
MD5 1fafdc4c529e80a5961ddcf3bf971faf
BLAKE2b-256 389646386ea0d748713562037636e15f20ff8e6e15ec86f8139d78afd1b9fd33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a0a2f98b2a36189cb4e54174aa2ed1c0e8148adf87f334f02f336fa135763a97
MD5 c7902d0cacc5940b4bb88545a204f98c
BLAKE2b-256 a919b29478a4f06c5f094150ebc50365907fcdb6e6ea69afe5b65f200f9f4568

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d245749ea747c3aaca6fb04e7859fab8d06d14f755271d518a1c89233e43e8da
MD5 bde90a62a7ad16144e6cae64afb0bd6d
BLAKE2b-256 4d062e712e0aadee8682f079f2fda03487b509b75710a51a494a0ad611308951

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b4b2c690ec504d64805d7495838c647fe1806b25e512e60db1f2d1f7f841a9ed
MD5 39085c78b86167e4653c2cf91fcf4031
BLAKE2b-256 56c7e69b8500b485c5eef6d77bc218fe33be5ce9b9750161d135b3412854439c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d802ff66fb88058da995e8c30cb2395d31fa6b5e358190acc96ec0b2d45bd56f
MD5 aa28011d181782a821fb390b184dbeac
BLAKE2b-256 c611839a2930030ca932014134f28a3a881da955bfc13ee78d3dacf0edebd41a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 eb9525dd98ebba70db0d6513ecf4d9270e5f6c38b091d9d1f7a9d14f3349b443
MD5 e60ef1ef8a388a5b7e75c9b96a25c078
BLAKE2b-256 f20d0326a46dd93375e355ee73a19bea7c401cfbad9404febc54712ca7f217ca

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