AutelicaLearnA whole afternoon of capture

Processing a whole afternoon of capture.

Robot teams need the rare moments, a step-up or a climb, and the ordinary minutes around them. Both only show up if the whole session is processed, including the parts where capture is hard.

By AutelicaUpdated 6 min read

The short answer

From one afternoon of three-drone capture (two takes, 18.2 minutes, one person), the 3D body is measured on 90.6% of take A and 87.1% of take B: 24,315 frames at 25 fps. The person is in view of at least two drones on 94.1% and 91.3% of frames, so we measure about 95% of what the drones can measure. Every frame carries a flag: measured, a short gap of up to 2 s that is marked as such, or no body. Stretches seen by fewer than two drones are left empty. Most of what is missing is take-off, landing and drone handling (23% measured) and short stretches where only one drone sees the person. Every walking, jogging, hill, jump, step-up and climbing activity is measured on 90–99% of its frames.

01Why a whole session

Most motion capture results are shown on short, clean clips. A robot team asking for data from a real site needs something else. The moments that matter for a policy, such as stepping onto a bench, climbing or jumping down, take a few seconds each and are spread across long sessions. The transitions between them matter too, because a deployed robot has to get from one to the next. And a dataset is only useful if every frame says whether it was measured, so that a team can filter out what it does not trust.

So we processed one whole afternoon, from the first take-off to the last landing, and counted what came out.

02Setup

  • Capture. One person at a public park on October 17, 2026 (Capture 03): lawns, dirt paths, grass hills, a levee, benches, a picnic table and a rope-net pyramid.
  • Cameras. Three DJI Neo 2 consumer drones, following or orbiting the person, 4K at 100 fps. No markers, suit, calibration board or shared clock.
  • Footage. Two takes: 11 min 15 s and 6 min 54 s, 18.2 minutes on the clock and 52.8 minutes of drone video. The takes include take-off, landing and the person catching the drones.
  • Labels. Both takes split into 86 windows of 4 to 42 seconds, each labelled by activity and ground type.
  • Flags. Each 25 fps frame is measured (the 3D body solved from two or three drones and passing per-frame checks), short gap (up to 2 s between measured frames, filled and marked as filled), or no body.

03Results

Take A (11:15)Take B (6:54)
Measured90.6%87.1%
Short gap, flagged2.4%3.3%
No body7.0%9.6%
Person seen by at least two drones94.1%91.3%
Measured, as a share of that96%95%
30-second stretches passing the quality check21 of 2213 of 14
Median reprojection error, measured joints (1920 × 1080 pixels)3.2 px3.4 px
Held-out drone, whole take (median per drone)7.9–10.1 px8.2–10.8 px

24,315 of about 27,200 frames at 25 fps are measured over both takes. The quality check scores each consecutive 30-second stretch of a take on coverage and error; the one stretch per take that fails is the end of the take, where the drones are landing.

Two drones are the minimum for a measurement: one camera gives the direction to each joint but not its distance. The useful comparison is therefore with the frames where at least two drones see the person, and there we measure about 95%. Reprojection error alone flatters a solve, because the cameras were fitted to the same joints. So we also hold one drone out: the body is solved from the other two, using joints that were not used to align the cameras, and drawn on the held-out drone’s frames. Over the whole takes the joints land 7.9 to 10.8 px from where the held-out drone sees them (median per drone). On two short windows solved separately, the same check gives 8.4 px (levee crossing) and 6.2 px (table step-up).

Four horizontal strips, two per take. The activity strips show blocks of walking, jogging, three rope-net climbs, step-ups, hills and jumps, with dark take-off and landing blocks at both ends. The body strips below are almost entirely green for measured, with thin yellow flagged gaps and grey no-body stretches at the ends of each take.
Both takes, frame by frame. Upper strip of each take: what the person was doing. Lower strip: whether the 3D body was measured (green), in a short flagged gap (yellow) or missing (grey).
Bar chart of measured share by activity: rope-net climb 99%, hill up 98%, jog 97%, walk 94%, jump 94%, bench and table step-ups 93%, hill down 90%, standing 47%, take-off, landing and handling 23%.
Share of frames with a measured body, by activity, over the 86 labelled windows of both takes.

Every moving activity is measured on 90 to 99% of its frames, including the three rope-net climbs and the bench and table step-ups, where limbs hide behind ropes and furniture. The two low bars are mostly the ends of the takes: take-off, landing and catching the drones, and standing around between them.

04What is missing, and why

  • Fewer than two drones on the person: about 76 s over both takes. About 55 s of it is take-off, landing and handling at the ends of the takes, when no drone is on the person; the rest is short stretches when one drone has turned away or is not yet recording. A body from one view would be an estimate, not a measurement, so these frames have no body and say so.
  • About 4% of the frames two drones can see. These fail the per-frame consistency checks between views or on body proportions, usually when a limb is hidden or one view is briefly wrong. Gaps of up to 2 s are filled and flagged; longer ones stay empty.
  • Hard frames are noisier. Frames measured during fast jogs, step-ups and two-drone stretches pass the same checks but are less steady than easy three-drone frames. The median deviation of each bone from its usual length is 7 to 9%, against 4 to 6%, and the median joint acceleration is 23 to 31 m/s², against 11 to 14 m/s². The output is not smoothed, so teams can filter it their own way, and each frame records how many drones measured it.

05What the session became

80 clean motion runs, 16 minutes in total, passed our checks for robot use. They were retargeted to the Unitree G1 and H1-2, and cut into 233 four-second clips for testing G1 policies in physics simulation (results). The rare moments are in it too: three full rope-net climbs, six step-up windows and two jumps, with the walking and jogging between them.

06Limits

  • One person, one park, one afternoon.
  • No independent body reference such as optical motion capture or body-worn sensors. Reprojection and held-out-drone errors check the cameras against each other, not against ground truth.
  • The flags are per frame, not per joint. A measured frame can still have a poorly seen wrist or ankle.
  • Hands are not measured at this distance; the drones frame the whole body.
  • The body is delivered at 25 fps, from 100 fps video, without temporal smoothing.
  • Position in the park comes from the drones’ GPS: the solved drone positions agree with it to 0.5–1.1 m at the median.
  • The session has to be flown with two or more drones on the person; the data cannot recover moments the drones did not see.

Questions

How much of a long drone capture session can be measured in 3D?

In our October 17 capture (18.2 minutes, three drones, one person), the 3D body was measured on 90.6% and 87.1% of the frames of the two takes, which is about 95% of the frames where at least two drones saw the person. Every moving activity was measured on 90–99% of its frames; the missing time is mostly take-off, landing and drone handling.

Why not fill the gaps in motion capture data?

Short gaps of up to 2 s are filled, but each filled frame is flagged so it is never mistaken for a measurement. Longer stretches seen by fewer than two cameras are left empty: one camera gives the direction to each joint but not its distance, so anything there would be a guess.

Why process a whole session instead of short clips?

The moments a robot needs, such as step-ups, climbs and jumps, are a few seconds each inside long sessions, and the transitions between them matter as well. Processing the whole session keeps them all, with a per-frame flag so a team can choose what to train on.

How is the accuracy of drone motion capture checked without a mocap system?

Two ways: the reprojection error of the measured joints in the drones that saw them (3.2 and 3.4 px median over the two takes), and a held-out check where the body is solved from two drones and drawn on the third drone’s frames (7.9 to 10.8 px median per drone over the whole takes, at 1920 × 1080). Neither is an independent reference such as optical motion capture, which we do not have for this capture yet.