Skip to content

Nithya-Kanakam/Gaussian-Splatting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Gaussian Splatting — TH OWL Campus Reconstruction

Reconstructing TH OWL campus buildings from real-world image data using 3D Gaussian Splatting, refined with SuperSplat, and integrated into Unreal Engine 5 as an interactive first-person environment. Developed as a university project at TH OWL, Detmold, Germany.


Overview

This project converts campus image data into real-time interactive 3D environments using 3D Gaussian Splatting. Two independent pipelines were designed and evaluated — one GUI-based for high visual fidelity, and one fully automated for scalability on a DGX server.


Step 1 — Data Collection

  • Camera: GoPro with ~80% image overlap
  • Markers: AprilTag markers placed around the campus for spatial reference
  • Locations: InnovationSPIN building (~60 GB dataset) and Detmold campus (~6 GB dataset)

💡 Choose your pipeline: Use Pipeline 1 for a GUI-based local workflow, or Pipeline 2 for automated server-side processing.


Pipeline 1 — Manual (RealityScan + LichtFeld Studio)

Dataset: InnovationSPIN building, ~60 GB
Mode: GUI-based, local machine

Installation

RealityScan

  • Download from the Epic Games Launcher (free)
  • Sign in with an Epic Games account
  • Open the launcher → Library → RealityScan → Install
  • Import your captured images into RealityScan
  • RealityScan automatically runs COLMAP internally (Structure-from-Motion)
  • Export the project — this generates the 3 files needed for Gaussian Splatting training:
    • cameras.txt — camera intrinsics
    • images.txt — camera poses per image
    • points3D.txt — sparse 3D point cloud
  • Export resolution capped at 2,000,000 pixels to prevent VRAM crashes

LichtFeld Studio

  • Clone from GitHub:
git clone https://github.com/MrNeRF/LichtFeld-Studio
  • Open LichtFeld Studio
  • Import the COLMAP output folder (containing cameras.txt, images.txt, points3D.txt)
  • Set training parameters and click Train
  • Export the trained .ply file
  • Requires a CUDA-capable GPU (tested on RTX 4060 with 8 GB VRAM)

Training Parameters

Parameter Value
Iterations 30,000
Maximum Gaussians 2,000,000
SH Degree 3
Tile Mode 1

✅ High visual fidelity — building facade, windows, entrance, vegetation all clearly reconstructed
✅ Strong GUI control with real-time feedback
⚠️ Limited scalability due to GPU memory constraints


Pipeline 2 — Automated (Graphdeco + DGX Server)

Dataset: Detmold campus building, ~6 GB
Mode: Headless, SSH, Docker, fully scripted

Installation & Setup

All installation, setup, and training is fully automated via the bash script.
No manual dependency installation needed.

# 1. Clone this repository
git clone https://github.com/Nithya-Kanakam/Gaussian-Splatting.git
cd Gaussian-Splatting

# 2. Edit the script — set your GPU_ID and WORKSPACE path
nano bash/gaussian_splatting.sh

# 3. Place your images inside the scene folder
# Path: /data/pool/(your_username)/gs_pipeline/my_scene/images

# 4. Run the script
bash bash/gaussian_splatting.sh

The script will automatically:

  • Pull the Docker container (nvcr.io/nvidia/pytorch:24.01-py3)
  • Clone the Graphdeco Gaussian Splatting repo
  • Install COLMAP, PyTorch submodules, and all dependencies
  • Run COLMAP convert.py for camera pose estimation
  • Run train.py for Gaussian Splatting training
  • Export the final point_cloud.ply to the output directory

Why Resolution ÷4?

Full-resolution training on the 6 GB dataset required ~80 GB GPU memory. The DGX server had ~30–50 GB available. Reducing input resolution by factor 4 made training feasible.

✅ Scalable and reproducible automated workflow
✅ ~45 min training time
⚠️ No GUI — monitoring only via command-line logs


Step 2 — SuperSplat Refinement

After training, the .ply output was imported into SuperSplat for post-processing:

  • Visualised the reconstructed Gaussian Splat model
  • Manually removed floating artifacts, noise, and redundant splats
  • Focused the model on the main building structure
  • Re-exported as a cleaned .ply ready for Unreal Engine

Step 3 — Unreal Engine 5 Integration

The refined .ply was imported into Unreal Engine 5.1.1 using the X3DGS plugin:

  • Installed via Epic Games Launcher; project configured with X3DGS for .ply Gaussian Splat support
  • Reconstructed campus rendered as a fully navigable first-person environment
  • Built on UE5's first-person template
  • Interactive game elements added: targetable blocks + rifle asset (shooting interaction)
  • Result: a small gamified campus tour running in real time on reconstructed real-world geometry

⚠️ Note: Constrained to UE5.1.1 — newer UE versions do not have stable .ply Gaussian Splat import support via available plugins

UE5 Integration

Future Scope — Gamified Campus Digital Twin

Campus IntelligenceExplore. Learn. Optimize. Shape a better tomorrow.

The vision is to transform the static Gaussian Splat campus model into a full Campus Intelligence platform with four interactive game modes:

Module Concept
🌱 Sustainability Plant trees, place solar panels, optimise walking routes — earn a Sustainability Score
⚡ Efficiency Control lighting and heating in campus buildings, turn them from red to green — earn an Efficiency Score
📚 Knowledge Explore hotspots, discover labs and SmartFactoryOWL projects, answer quizzes — earn a Knowledge Score
🗺️ Exploration Free navigation, guided tours, hidden locations — digital campus tour for students and visitors

The long-term goal is a Campus Intelligence system where users explore, learn, and make decisions inside a photorealistic digital twin of TH OWL — built on top of the Gaussian Splat reconstruction.

Campus Intelligence

Conclusion

This project demonstrates that 3D Gaussian Splatting can effectively bridge real-world image capture and interactive digital environments. Two complementary pipelines were built and validated — one focused on visual quality, one on automation and scalability. The reconstructed InnovationSPIN campus was successfully integrated into Unreal Engine 5 as a navigable, gamified environment. Despite hardware and data acquisition constraints, a complete end-to-end workflow was achieved, proving Gaussian Splatting as a practical foundation for future campus-scale interactive applications.


📄 Results

See RESULTS.md for full pipeline comparison, training metrics, and output images.


Tech Stack

3D Gaussian Splatting COLMAP RealityScan LichtFeld Studio SuperSplat
Unreal Engine 5.1.1 X3DGS Plugin NVIDIA DGX A100 Docker PyTorch Python Bash

About

3D Gaussian Splatting reconstruction of TH OWL campus integrated into Unreal Engine 5 for real-time interactive visualization. Pipeline includes COLMAP, RealityScan, LichtFeld Studio, SuperSplat, and the Graphdeco framework on an NVIDIA DGX A100 server.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages