Back
2026

Immersive Gaussian Splatting

Mixed-reality 3D scanning and reconstruction

About

Immersive Gaussian Splatting explores a mixed-reality workflow for environment capture, 3D reconstruction, spatial inspection, and asset export. A Meta Quest 3 application captures calibrated RGB frames with camera intrinsics and headset poses, guides the user through setup, capture, and inspection, and renders live reconstruction updates returned by a connected GPU workstation.

The Unity-based Quest application handles camera capture, head-motion checks, WebSocket communication, runtime loading and rendering of Gaussian splats, ray-based segment selection, and local storage of exported assets. Tracking-aware visibility, opacity pruning, fixed foveated rendering, and a 250,000-splat default cap keep the experience practical on standalone hardware.

The Python backend performs semantic segmentation with GroundingDINO and SAM, initializes sparse geometry through SIFT matching and triangulation, and optimizes Gaussians in PyTorch using gsplat. Semantically labeled splats are clustered into selectable object components with Open3D. Selected components are converted through Screened Poisson reconstruction into a binary PLY mesh with a generated UV atlas and PNG texture.

The result is an end-to-end proof of concept: captured frames drive an evolving reconstruction that returns to the headset for live display, spatial inspection, semantic selection, and textured-mesh export. It was developed as a university group project.

Key Highlights
  • End-to-end mixed-reality workflow covering setup, capture, live reconstruction, inspection, selection, and export
  • Calibrated Quest camera frames and headset poses streamed to an NVIDIA GPU backend over WebSockets
  • Incremental Gaussian splat updates rendered live on standalone Meta Quest 3 hardware
  • Semantic segmentation and spatial clustering turn labeled splats into selectable object components
  • XR ray interaction with distinct hover and persistent multi-segment selection states
  • Selected components exported as portable binary PLY meshes with generated PNG textures
Stack
UnityC#Meta Quest 3OpenXRPythonPyTorchgsplatGroundingDINOSAMOpen3DDockerWebSockets