NammaSpace Documentation

NammaSpace: Walkable Digital Twins of Indoor Spaces from a Single Phone Video

Chepuri Dathatreya

IIT Techfest 2026, NammaSpace challenge

Two sparse COLMAP reconstructions of indoor spaces with the camera path in red
Sparse COLMAP reconstructions with the camera path in red: the Room (left) and a longer hallway and bedroom capture, v3 (right). Ceiling points are removed so the interior is visible.

NammaSpace rebuilds a real indoor space from one handheld phone video and lets a person walk through it in an ordinary web browser. The video is turned into a 3D Gaussian splat, a set of about half a million soft, coloured, translucent 3D Gaussians fitted to the real frames, so the room keeps its real colour, reflections and soft edges. A splat is not solid, so the system also builds a separate 10 cm collision grid from the scan itself, which stops the viewer at walls and furniture.

The pipeline picks the sharpest frame in every half second, recovers camera poses with COLMAP, fixes the floor and metric scale from the camera path, trains the splat with nerfstudio, then aligns, cleans and compresses it to a file of about 8 MB that a WebGL2 viewer streams and draws. On the Room scene (613 frames) it reaches a held-out PSNR of 27.14 dB, SSIM 0.913 and LPIPS 0.191 after 14 minutes of training on one GPU. The limits are stated plainly in the roadmap.

Live demo

The Room scene running in your browser. Click inside the scene, then use W A S D to walk, Shift to run, Space to jump and Esc to free the mouse. Use the ⛶ button in the corner of the viewer for full screen. Open it full screen, or try the Hallway and Bedroom and the Early Bedroom.

Demo video

Demo video coming soon

Reconstructions

Room rendered from the Gaussian splat
Room, Gaussian splat render
Hallway and bedroom rendered from the Gaussian splat
Hallway and Bedroom (v2), Gaussian splat render
Room collision grid
Room, collision grid: walkable (green), obstacle (orange), blocked margin (grey)
Hallway and bedroom collision grid
Hallway and Bedroom (v2), collision grid

More views, the evaluation table, frame-rate measurements and the full list of experiments, including the ones that went wrong, are on the results page.

Method overview

Phone videoFrames + COLMAP3D Gaussian trainingAlign + cleanWeb viewer one slow walkposes, floor, scalesplatfacto, 30k stepssort, compressWebGL2 + collision video.mp4cameras, points, gridsplat.plyscene.qsplat, 8 MBsite/ laptop CPU, about 21 minGPU, about 14 minCPU, about 15 s

Frames are chosen by sharpness, COLMAP solves a camera pose for each, and the camera path fixes the floor plane and a metric scale from an assumed phone height of 1.4 m. nerfstudio's splatfacto fits the Gaussians to the frames. The result is moved back into the metric world frame, cleaned of reflections that appear below the floor, sorted so the most important Gaussians come first, and compressed. The splat itself is a second, independent source of evidence, and it is combined with the camera-path map to produce the collision grid. Every step is described in the technical report.

Ongoing work

The next stage is points of interest (POIs): named places in a scene, such as a door, a bed or a window, placed on the same collision grid the live map already reads. On top of them we are adding A* route finding, so a viewer can pick a POI and see the shortest walkable route drawn on the live map and in the 3D view. Details are on the roadmap page.

Citation

@misc{dathatreya2026nammaspace,
  title  = {NammaSpace: Walkable Digital Twins of Indoor Spaces
            from a Single Phone Video},
  author = {Dathatreya, Chepuri},
  year   = {2026},
  note   = {Project documentation, IIT Techfest 2026},
  url    = {https://namma-space-documentation.pages.dev/}
}
NammaSpace · Chepuri Dathatreya · IIT Techfest 2026 · live demo · code