R&D · drones and synthetic data

Real2sim

Drone footage of a real place becomes a photorealistic digital twin, then a simulator for flights and a factory for labelled training data.

Year
2026
Status
R&D, first cloud run done
Compute
Rented cloud GPUs
Stack
COLMAP · nerfstudio · gsplat · 3DGRUT · Isaac Sim · Replicator · PX4 · Vast.ai
  • 597kGaussians in the first cloud splat
  • $0.75for that run, debugging included
  • 0.57 pxreprojection error in the local SfM test
  • PX4SITL flying locally in WSL2

The problem

Detection models for drones need thousands of labelled aerial images of the places they will fly over, and real labelling is slow. The idea is to rebuild the real place once and generate the data inside it.

How it works

  1. 01

    Plan the survey

    30–60 m above ground, 1–2.5 cm per pixel, a grid plus at least three orbits and facades, 65–80% overlap.

  2. 02

    Frames and geotags

    ffmpeg extracts sharp frames; positions come from the drone's SRT telemetry.

  3. 03

    Structure from motion

    COLMAP on a cloud GPU recovers camera poses and aligns the model to GPS.

  4. 04

    Gaussian splat

    splatfacto-big with MCMC trains the photorealistic scene. The first cloud run: 597k Gaussians from 88 photos on an RTX 4090.

  5. 05

    Into the simulator

    A simplified collision mesh plus the splat go to USD and into Isaac Sim, where PX4 flies the drone over the twin.

  6. 06

    Labelled data

    Replicator inserts objects and exports labels in COCO, converted to YOLO; training goes synthetic first, then fine-tunes on real frames.

Drone survey30–60 m, 1–2.5 cm/pxFrames + geotagsffmpeg, DJI SRTCOLMAPposes, GPS-alignedGaussian splat597k GaussiansIsaac SimUSD twin + PX4Replicatorlabels, COCO → YOLODetector trainingsynthetic → real

Limits I know about

  • Heavy steps need a cloud GPU: a local CPU took 60 minutes for 16 photos.
  • Only commercially usable licences are allowed (Apache, BSD, Isaac for R&D), which rules out several popular research codebases.

Need something like this?

Tell me about your task and data. I will answer with how I would approach it.

Discuss a project →