Adopted from Gaussian Splatting By Kerbl et. al
This is a final project code submission for Brown University's CS1430 With Professor Srinath Sridhar
The code has been tested in the following setup
- Ubuntu 22.04 and WSL/Ubuntu24.04
- Python 3.12
- PyTorch 2.5
- CUDA 12.4-12.6
The provided environment.yml serves as a suggestion:
$ conda env create -f environment.yml
$ conda activate g-splat
You need to compile the diff-gaussian-rasterizer
and fused-ssim
manually:
NOTE: You might run into a compilation issue in diff-gaussian-rasterizer
. Easily fixable by adding #include <cstdint>
in the file that complains.
$ pip install 3rdparty/diff-gaussian-rasterization
$ pip install 3rdparty/fused-ssim
We have 3 modes:
- Single-image: overfits on a single image
- Blender: Runs on our synthetic Blender-generated datasets
- Colmap: More in-line with the upstream gaussian splatting data format
See examples below
python main.py --mode blender --data data/yosemite1.jpg --viz_interval 100
python main.py --mode blender --data data/monkey --viz_interval 5
python main.py --mode colmap --data data/db/drjohnson --viz_interval 5
The code is pretty bare-bones. Please adjust they hyperparameters stright in the code. Specifically see main.py and scene.py.
Not for commercial use :)