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

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.0.0.tar.gz (13.6 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.0.0-cp312-cp312-win_amd64.whl (119.5 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.0.0-cp311-cp311-win_amd64.whl (118.8 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.0.0-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.0.0-cp310-cp310-win_amd64.whl (117.7 kB view details)

Uploaded CPython 3.10Windows x86-64

gaussian_splatting_mcmc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file gaussian_splatting_mcmc-1.0.0.tar.gz.

File metadata

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

File hashes

Hashes for gaussian_splatting_mcmc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 41ae238447274749d3b65093d179d1b7a1cb0358c1594ec9c6762a17b4fa750b
MD5 299585428aaeddf5be3e393ec32432b3
BLAKE2b-256 003bd99d79a8fd64886928330332cbde0e13d7bcd43f062373b067143c36e0ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5aae24152e7a38c3aec6790d277ea40972ea89fcc361b6014cc1415cf5cbb952
MD5 afd8a96c98b73cac7c89b825a60b048e
BLAKE2b-256 dce9b48df828a901b78adb7ab9108036304f80d825f6b9310bb7b7207b2b30a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6c19f88dbc958f56ba1f1f313b933b6a1c44fa6622ab03528c2ee32e4da439d5
MD5 b7486a1b1fe59f3c324ae93d3e52b319
BLAKE2b-256 cf38e93c401dde88fe5cf272246b299f79f51a6f9239f51560bed924ca6eab4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e16da5f34b5568ec4ec8d7debfe785043cc02ca75b56629bdeb7b05c23516a04
MD5 2c3e106a9c319c04889a67ca76dd6324
BLAKE2b-256 3fa30347e8a9c7466dc7b8b243f0293952b7cae9117599cb258323b3b72bbeab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7bfb54c3b4b15a98630d7ef0c7444f6df301fade04944b67c1363ae09792f01d
MD5 cb957b425ce8d0f1ecc8e49392bd4a2a
BLAKE2b-256 a525909fbc5a547580675d7eb5c0eecc0df2b073107c1d46ca06688ca3baefc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c507a7b471bc54b85009ee5c9ae21c1cf185b49ff749cdce4dd8b700517bff74
MD5 3bf1d27313986701a0bc93976d5dc2f1
BLAKE2b-256 cf651d4a1c740209d6cc760b789192f53b999e879fa482bc73e807a5bcfe2f95

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