Using Gabriele Romagnoli captures from a 360 drone, I was able to configure COLMAP for 360 imagery and this is the result. I cleaned it so it could look better.
We used COLMAP’s official panorama_sfm.py example.
For this test, our pipeline processed:
→ 239 equirectangular panoramas
→ 2,868 perspective images
→ Approximately 1 hour and 40 minutes of COLMAP processing
This included perspective rendering, feature extraction, sequential feature matching, sparse reconstruction, and preparation of the Brush-compatible dataset.
The virtual camera rig allowed COLMAP to:
→ Detect consistent visual features
→ Match them across consecutive frames
→ Preserve the geometry of every 360° capture
→ Estimate accurate camera positions→ Build a robust sparse reconstruction
We then imported the dataset into Brush and trained a Gaussian Splat containing more than 4 million splats.
It took 2 hours and 40 minutes on a Macbook Pro M1 Max
- 64GB Ram
- 10 Cores (8 performance and 2 efficiency)
- 32 Cores of Built-in GPU
Finally, we cleaned and optimized the scene before uploading it to SuperSplat for visualization and delivery.
360° footage → 12-camera virtual rig → COLMAP → Brush → 4M+ Gaussian Splats → SuperSplat
You can download the python script with this helper, you just add your 360 video and it will ask how many fps you want and then process using pyColmap and then you will have a brush-dataset to process in Brush app
https://github.com/3GOVideo/colmap-360-rig-pipeline/blob/main/README.md#interactive-assistant-for-a-360-video