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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.1.3-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.3-cp310-cp310-win_amd64.whl (118.0 kB view details)

Uploaded CPython 3.10Windows x86-64

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

File metadata

  • Download URL: gaussian_splatting_mcmc-1.1.3.tar.gz
  • Upload date:
  • Size: 13.9 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.3.tar.gz
Algorithm Hash digest
SHA256 be0890b261e9089829dad2ab4458f752c472346e920b869ae33909a3d003c851
MD5 7ed57a9b0fc776e5f6d2e3fd95e7f7b8
BLAKE2b-256 f009b5f30c34a9ef8ee61fbd9a3ac72f65f8935e3b668c9a3bbe30a5cd8f0681

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 efb015908b457ef7cb566d12a7484725bb240f8601e46636c00d06e065b9fe38
MD5 cad3729a1a4576960a0d417271e9567c
BLAKE2b-256 165492306b2cf03de47fd76d74753a51b1ebc5669b960c22eec5c434a334a839

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8dd7dc324a4386148d182711827c4c49da10d86bfb29e2815580b5f1b352b327
MD5 3d255e27703cc3562e726ce254c3c562
BLAKE2b-256 74684778ee62a19783c33a58042560ace77d0712b8e71f2749ea1a66c0d4ec67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fd51dd7b0144ae00c1d31f12c13e03b24bc25c763dc40aa240a719e61366a53e
MD5 5fdebe423478dd786e7b8ed3665c4c98
BLAKE2b-256 406173a92c01d76f427b1344f2eac24eb2f6b624d1b052ccf318668fdbbc62a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d2d1f24c14ccb8e66188b85e3dbc203f95f4f63fc585d9377d992d03bfd85b6b
MD5 c647fa27a649f3f4bba3be1316f2c853
BLAKE2b-256 12e38490664b452855a9d22f57af7c25a1ae62b68476bde1374a436e8a904d86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 407b5d3a1795d31076d96a63dd7e51c1bac549f1fb429e6ed7ddd54d14609ff8
MD5 4e92e55489c6930758e06fa883228ba8
BLAKE2b-256 31c0e719336bbf9463d0a49659318ae2ac54d67778b796d9199d6354cff30d9c

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