Photogrammetry · live demo

DRONE → 3D

Sixty-one drone photos of one building went in. A real structure-from-motion pipeline ran — on this machine, right now — and out came camera positions and a 3D point cloud you can orbit below.

61drone photos
61images registered
33,5163D points
STEP 01

Drone photos

Overlapping aerial photos from a DJI drone circling a two-storey shingle-roof building. Heavy overlap (60–80%) is what lets the math work.

source: open dataset
STEP 02

Sparse reconstruction

SIFT features matched frame-to-frame, cameras solved by incremental bundle adjustment (COLMAP / pycolmap). This is the actual output you can spin below.

computed on this VM
STEP 03

Dense mesh + texture

Multi-view stereo densifies the cloud into a textured mesh — but it needs a GPU and hours of compute, so the textured model below is the dataset author's own reconstruction.

borrowed reference

The raw material — 8 of the 61 photos

Shot from a drone on an orbital flight path around the building. Each frame overlaps its neighbours — that's the fuel for the reconstruction.

drone photo 1
#01
drone photo 2
#02
drone photo 3
#03
drone photo 4
#04
drone photo 5
#05
drone photo 6
#06
drone photo 7
#07
drone photo 8
#08

What we computed — the sparse point cloud

Every dot is a real 3D point triangulated from matched features across the photos. Drag to orbit, scroll to zoom. It ran here on 2 CPUs with no GPU.

sparse cloud · computed on this VM
drag · scroll · right-drag

The finished look — textured reference model

The dataset author's dense reconstruction of the same building — textured mesh from multi-view stereo. Ours stopped at the sparse stage: dense MVS needs a beefy GPU machine.

dense textured mesh · dataset author's
drag · scroll · right-drag

HONEST LABELS — WHAT RAN WHERE

On this VM (just now): SIFT feature extraction, sequential matching and incremental bundle adjustment over 61 downsampled photos → 61 registered, 33,516 3D points. No GPU. That point cloud above is 100% ours.

Borrowed from the dataset: the original 61 full-resolution photos and the textured .glb mesh (the author's own dense multi-view-stereo reconstruction). Our VM can't run dense MVS.