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.1.0.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.0-cp312-cp312-win_amd64.whl (121.0 kB view details)

Uploaded CPython 3.12Windows x86-64

gaussian_splatting_mcmc-1.1.0-cp311-cp311-win_amd64.whl (120.3 kB view details)

Uploaded CPython 3.11Windows x86-64

gaussian_splatting_mcmc-1.1.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.1.0-cp310-cp310-win_amd64.whl (119.1 kB view details)

Uploaded CPython 3.10Windows x86-64

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

File metadata

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

File hashes

Hashes for gaussian_splatting_mcmc-1.1.0.tar.gz
Algorithm Hash digest
SHA256 48a036511f94df001f65358bcc64214815c6d92e4a8cd3dd82cc3391db4e1810
MD5 77c2d3704891090830b8f188d9e90ba1
BLAKE2b-256 9f70016f3a45f76f83e3983ee029a9d3e4717dcc19c6504bdc8c9eb47385aa28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cea05844ada175fc124ddcd12bdadf79f12f2f6c60b2241f3c8cee613c0c4c5e
MD5 544bb4947b6fc7183b9ae16f1bd9edcf
BLAKE2b-256 fb555093e1462fe431027d81619a56481aa32dc6f976ca693e9334b6e759bb0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 80b14d8426912163ef5544506e3851c4531d9d88de3d8cfb17f6591db6c1f3b4
MD5 b90d3127bf6ee119060ef708bf410ec1
BLAKE2b-256 f3171cefc4692025e625f9fa3ac325569e0a839937cfdd02fba1786c9f4e44a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3406a347a4731d33041180fcfee28b63b5d0f31f9323fbbf3f5c27b9dc5a2112
MD5 87ff5273539f89a72732929f40d02bfd
BLAKE2b-256 0aceb1abe39a768e40aa0dd24c14b95eac0419a46f706f8e76cc171b2e094f1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1c40a9d297fc7d571444db08e7b6eb8c945f96be1911ba01bf106d6dad9d41fd
MD5 0537609da72dc24153e7ecf76c3c36ca
BLAKE2b-256 be49f35f4f022b4b1b30e77912fbc8e19ab40dadde101cc2a0e45b5d8a6fdfb2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gaussian_splatting_mcmc-1.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 44e241a36b30bc36fb74afd5ba94dc8f5370cdd7a68a3413ccc3cf5ae5ac386a
MD5 5cb16a8a317833e2aea04f0dd5a007ab
BLAKE2b-256 e256184b79105371a853c20603d05ecb24f7b8bf841a6d487f859ccbb5cf1e55

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