2026-07-05 · paper

Reading motion: a flight-maneuver detection pipeline

Working notes — the systems half of this shipped; the paper is being carved out of it.

The problem

Telemetry from a flight is a multivariate time series — position, attitude, rates — and a maneuver (a loop, a cuban eight, a barrel roll) is an event: a labeled interval with structure inside it. Detection means going from the stream to the events, reproducibly.

The pipeline, end to end

  1. Labeling. A custom CesiumJS visualizer with an editing-suite timeline: scrub the flight, mark in/out points, name the maneuver. Annotation is the bottleneck for small corpora, so the tool is the first-class citizen.
  2. Event schema. Maneuvers live in a relational schema — intervals with types, qualities, and provenance — not in filenames. Labels survive re-processing of the raw telemetry.
  3. Features. A versioned feature pipeline: derived channels (energy, turn rate, normal load) computed from raw state, hashed and cached, so a model trained last month is still explainable this month.
  4. Baselines before deep nets. Windowed classical features + gradient boosting set the honest floor. A small annotated corpus rewards feature engineering over architecture search.

Open questions for the write-up

  • Segmentation vs. classification: detect boundaries first, or classify sliding windows and merge?
  • How much does class imbalance (mostly straight-and-level flight) distort the reported metrics, and what should be reported instead?
  • What the labeling tool's disagreement data says about maneuver ontology — when two annotators can't agree where a cuban eight begins, the class definition is the bug.

← writing · home