Unofficial reproduction of the IndoorGS pipeline with ongoing exploration of improvements for indoor 3D Gaussian Splatting reconstruction.
This repository is based on the official implementation of
3D Gaussian Splatting: https://github.com/graphdeco-inria/gaussian-splatting
The goal of this project is to reproduce the IndoorGS pipeline and explore potential improvements for indoor scene reconstruction, especially for challenging scenarios such as weak-texture surfaces.
The overall workflow follows the IndoorGS preprocessing pipeline:
- COLMAP Reconstruction
Generate camera poses and sparse point clouds using COLMAP via:
convert.py
This produces the standard COLMAP reconstruction outputs.
- 3D Line Extraction (LIMAP)
Run LIMAP to extract 3D line structures from the reconstructed scene.
These lines are later used as geometric cues.
- SAM Segmentation
Download the Segment Anything (SAM) model and generate segmentation masks.
These masks are used for geometric cue generation.
- Geometric Cue Generation
Use the scripts in:
geometric-cues/
to generate three types of points:
- Dynamic points (from COLMAP)
- Plane points
- Line points
These cues are used to initialize the Gaussian representation.
- 3DGS Training
Run the training pipeline based on 3D Gaussian Splatting to optimize the scene representation.
Major dependencies include:
- PyTorch
- COLMAP
- LIMAP
- Segment Anything (SAM)
- 3D Gaussian Splatting
This repository is currently a research prototype used for:
- reproducing IndoorGS
- experimenting with potential improvements
- exploring better reconstruction for indoor scenes
Further updates will include improvements and additional experiments.