Splat-by-Splat

Progressive Gaussian Splatting for efficient scene reconstruction.

Splat-by-Splat explores progressive Gaussian Splatting for more efficient scene reconstruction. The project focuses on splitting a scene into subsets and incrementally expanding the model instead of treating the reconstruction as a single monolithic optimization problem.

Highlights

  • Progressive reconstruction workflow for Gaussian splatting
  • Alternative scene-splitting strategies based on view geometry and clustering
  • Practical implementation built on top of the Gaussian Splatting codebase
Code Abstract

Results

How To Run

Installation

git clone https://github.com/christoaluckal/gaussian-splatting.git --recursive
cd gaussian-splatting

conda env create --file environment.yml
conda activate gaussian_splatting

Running The Code

python colmap_splitter/split.py \
  -s original_COLMAP_txt_scene \
  -m output_folder \
  -f frame_name \
  --num_test number_of_test_images
python train.py \
  -s output_folder/model0 \
  -m output_name \
  -r resolution_fraction \
  --eval \
  --pkl_name output_pkl_name \
  -x 1 \
  --splitter_itr iteration_value

The trained Gaussian model and reconstruction results are written to the output/ directory.

Additional Splitting Strategies

Split By Cartesian Plane

A plane defined using the viewport positions can be used to split the model. See colmap_splitter/split_xyz.py.

Scene partitioning strategies used to create smaller Gaussian subsets for reconstruction.