Computational photography · COLMAP · OpenSplat

360 capture to 3D reconstruction

A demonstration of a pipeline that converts 360-degree capture to a Gaussian splat, involving COLMAP motion reconstruction.

Time to working demo
About a fortnight
Year
2026
Role
Pipeline development and local testing

Result

Capture reconstructed in 3D

A reconstruction preview showing the recovered scene structure and the camera path through the capture.

Sparse outdoor 3D reconstruction with a red camera path winding through the point cloud
COLMAP reconstruction preview produced while testing the pipeline locally.

Project outline

Making spherical footage usable for reconstruction

The experiment started with an equirectangular video exported from an Insta360 camera. Standard structure-from-motion tooling expects pinhole-camera images, so the capture needed a preprocessing and camera-rig layer before it could be reconstructed.

The pipeline

FFmpeg first samples the exported video into spherical panorama frames. A modified pycolmap spherical-SfM program renders four horizontal perspective views from every panorama, creates masks, configures those virtual cameras as a synchronized rig, extracts and matches features, and runs incremental mapping. OpenSplat can then train a Gaussian splat from the resulting COLMAP project.

Practical constraints

The work involved more than connecting tools together. The capture had to remain suitable for motion reconstruction, the virtual-camera geometry had to stay consistent across frames, and feature masks were needed so overlapping views did not count the same panorama region more than once.

Local testing

About a fortnight of capture experiments, pipeline changes, dependency work, and local reconstruction tests produced the working demonstration shown above. The repository records the successful Linux path without bundling captured footage, generated databases, or third-party reconstruction tools.

  • Python
  • FFmpeg
  • pycolmap
  • COLMAP
  • OpenSplat