Skip to content
ucr.
Private beta · first public benchmark in progress

Synthetic data generation and evaluation for UAVs

We generate labelled images of drones and flight scenes for training detection and autonomy models. Then we test your model in simulation and show you exactly where it fails.

Built on flight physics checked against real Betaflight firmware and real flight logs.

  • Camera images
  • 2D bounding boxes
  • Depth maps
  • Object masks
  • COCO and YOLO export
  • Weather and lighting varied per run
  • Betaflight-matched flight physics
  • Scored against ground truth

The problem

Collecting real-world UAV data is hard.

Models need thousands of labelled frames across many conditions. Getting them from real flights is slow, expensive and incomplete.

Flying costs time and money

Every dataset needs pilots, drones, permits and weeks of flights, and crashes destroy hardware.

The hard cases rarely happen

Fog, glare, night, GPS loss and far-away targets can't be scheduled, and some are unsafe to fly.

Labelling by hand is slow and inaccurate

People miss small drones and disagree on boxes. Depth and masks can't be labelled by hand at all.

What we do

Two products on one flight simulator.

Synthetic data

Available to pilots

Describe the scenario. We render it in Unreal Engine and label every frame automatically.

  • Camera images with 2D bounding boxes
  • Depth maps and per-object masks
  • Weather, lighting and time of day varied on every run
  • Exported in COCO and YOLO format
How the data is made →

Model evaluation

Private beta

Run your model inside our simulator, score it against ground truth, and get a list of the situations where it fails.

  • Scores against exact ground truth, not hand labels
  • Same test, same result, every time
  • Flight-control policies today, detection models in 2027
  • Failure breakdown and targeted data to fix it, from 2027
How evaluation works →
Camera image, illustration
Camera image

What the drone's camera sees, as a PNG.

2D boxes, illustration
2D boxes

One box per visible object. Hidden objects get no box.

Depth, illustration
Depth

Distance from the camera for every pixel.

Masks, illustration
Masks

Which pixels belong to which object.

Illustration of the four outputs, made with an AI image model, not a render from our simulator. Real renders are being captured and will replace it.

How it works

From scenario to better model in four steps.

  1. 01

    Describe it

    Tell us the target, camera, place and conditions. For example: small quadcopters over a city at dusk, seen from 50 to 400 m.

  2. 02

    We render and label

    Thousands of varied frames with exact labels, plus a quality report on what the dataset covers.

  3. 03

    You train

    Use the data with your own pipeline. It drops into any detector that reads COCO or YOLO.

  4. 04

    We test and repeat

    We score the trained model, find where it fails, and generate more data for exactly those cases.

Proof

Measured, not claimed.

Synthetic data is only useful if the simulator behaves like the real thing. These are the checks we have run so far.

See every method
Verified

Flies like a real FPV drone

Same outputs as Betaflight firmware

Our controller and real Betaflight code, fed the same inputs, give the same outputs. The P and I terms agree to about 1e-4.

Verified

More accurate than a published physics model

Lower error on all 4 force and torque axes

On real flight data, our force and torque error is lower than the NeuroBEM paper's physics model on all four axes.

Verified

Already scores real AI pilots

Hover held within 6.2 cm

SimpleFlight's published flight policy held a hover within 6.2 cm and flew a figure-8 within 8.0 cm.

Step 1 of 3 done

Proof on real drone photos

Baseline reproduced: 0.90 mAP@50

A standard detector trained on real DUT Anti-UAV photos scores 0.90 to 0.91 mAP@50 over two runs, matching the published 0.915. Next: add our synthetic data and measure the change. Full result due Jan 2027.

Try it now

Run a test batch in your browser.

Pick a place, a drone and a task. The demo runs a quick batch and shows the flight paths, results and sample labels for each run. No sign-up.

Open the demo
First-person view of a drone flying over a ridge

Questions

Common questions.

Something else? Ask us directly.

Does a model trained on synthetic data work on real cameras?

That is the question we are answering in public, on real drone photos from the DUT Anti-UAV dataset. Step one is done: a standard detector trained on the real photos scores 0.90 to 0.91 mAP@50, matching the published 0.915. Next we add our synthetic data and publish the change, whatever it shows.

Can you match our drone and our camera?

Partly, today. Two airframes are modelled now, a 5-inch FPV quad and a Crazyflie, and the camera and conditions are set per scenario. Matching your exact airframe from a spec sheet or flight log is planned for 2027.

Can it run on our own servers?

Today we render on our machines and deliver the data. An install that runs fully on your own hardware, with no internet, is planned for 2027.

How do we start?

Two ways: a four-week pilot program on one scenario that matters to you, or a custom request for a specific dataset or test. See how it works.