🎥 Gaussian-Splatting SLAM — a tiny, runnable demo
This Space runs a complete neural-rendering SLAM system in pure PyTorch (accelerated by ZeroGPU when available, CPU otherwise). It is a shrunk-down, from-scratch cousin of SplaTAM / 3D Gaussian Splatting: the scene is represented as a cloud of 3-D Gaussians and rendered with a small differentiable splatting renderer. Because rendering is differentiable, the same renderer drives both halves of SLAM:
- Tracking — freeze the map, optimise the new camera pose (6-DoF, via an SE(3) Lie-algebra increment) so the rendered RGB-D matches the observed frame.
- Mapping — freeze the poses, optimise the Gaussians; new Gaussians are densified straight from the RGB-D frame wherever the map is incomplete.
The input is a synthetic RGB-D sequence of a small room (generated on the fly, nothing to download), so the whole thing fits in a free Space. It is meant to make the ideas tangible — not to compete with full GPU systems on accuracy.
Press Run SLAM to start.
Built with PyTorch + Gradio. Tracking uses Adam on an se(3) pose increment; mapping uses Adam on per-Gaussian position / colour / opacity / scale. See the repo's README.md for the full method write-up.