Overview #
Waymark FlyTrack looks at drone footage that has already been recorded and says what vehicles and animals are in it, where each one is in every frame, and how each one moved. It is built for counting and flow: how many trucks used the haul road this morning, how many sheep crossed from one field to the other, where the vehicles on a site were at each second of a clip. Every detection is a class and a box; a track is a run of detections that the tracker judged to be the same object within one clip.
It is the fourth member of the Waymark series and the first to read pixels directly: Waymark and Waymark Extra read a scene sketch written from a photo, and Waymark Flight reads an airspace scene. FlyTrack is a small centre-point detector trained from scratch on openly licensed aerial imagery, paired with a deterministic tracker that has no weights at all.
What it deliberately does not do is identify. There is no person class, no face or appearance feature, no re-identification and no memory across clips. A track id means “the same car for the next few seconds of this clip” and nothing more. It works on saved files sent to the API, not on a camera feed.
Intended use #
- Traffic and haul-road counts from a drone clip: how many cars, trucks and buses passed, and in which direction.
- Herd and flock counts and movement from a survey flight over a field, a pen or a paddock.
- Site surveys: where the vehicles on a yard were at each moment of a clip, as paths in frame coordinates.
Out of scope #
- People: they are not a class, are never boxed and are never tracked. Footage in which the interest is a person is out of scope, whatever the consent arrangements.
- Identity of any kind: which truck, whose car, which animal. Track ids are per clip and carry nothing that links one clip to another.
- Camera feeds and anything time-critical: the route takes a saved clip and answers in tens of seconds.
- Equipment and other object classes: the first version knows four classes, and objects outside them are ignored or mislabelled as the nearest one.
Choose Waymark FlyTrack when #
- The footage is straight-down or steeply oblique drone video of vehicles or livestock, at the altitudes its training data covers (roughly 15 m for animals and 150 to 250 m for vehicles).
- A count per class and a rough path per object are the answer; if the question is about the layout of a scene, Waymark is the model.
- Otherwise there is no other member of the family for pixels; the held-out figures, once published, say how far to trust it.
Specification #
| Parameters | 4,448,840 |
|---|---|
| Backbone | Stem of two 3×3 convolutions (stride 2), then four residual stages of two blocks at 48, 96, 192 and 256 channels (strides 4 to 32) |
| Top-down path | Three upsample-and-add steps back to stride 4 with a 3×3 refinement each |
| Heads | At stride 4: a 4-class centre heatmap (sigmoid), a box size (softplus, pixels) and a sub-pixel centre offset |
| Training crops | 512 × 512 random crops with scale jitter 0.7–1.4, horizontal and vertical flips and light colour jitter; images cached with a long side of 1,536 |
| Loss | CenterNet focal loss on the heatmap, L1 on size (weight 0.1) and offset at object centres |
| Decoding | 3×3 max-pool peak pick, up to 300 detections, served at score 0.25 |
| Tracker | Two-pass greedy IoU matching against a constant-velocity prediction (IoU 0.3 for scores ≥ 0.5, then 0.2 for the rest); confirmed after 2 hits, dropped after 8 missed frames; ids per clip only |
| Serving device | CPU container, scales to zero; frames decoded by ffmpeg |
Try it #
- You send
- A ten-second clip filmed straight down over a farm track, with two trucks passing and a flock crossing the field.
- You get back
- Two truck tracks and forty-one animal tracks with the seconds each was in view and the path of its centre; counts per class; no names, no faces, no link to any other clip.
The same exchange as the API sees it:
{
"video_base64": "data:video/mp4;base64,AAAAIGZ0eXBpc29t…",
"fps": 3,
"max_seconds": 10,
"min_score": 0.25
}{
"media": { "kind": "video", "width": 1920, "height": 1080, "duration_s": 6.2, "frames": 18, "fps": 3 },
"frames": [
{ "t": 0, "detections": [ { "class": "truck", "score": 0.91, "box": [412.0, 220.5, 470.2, 251.0], "track": 1 } ] }
],
"tracks": [
{ "id": 1, "class": "truck", "first_t": 0, "last_t": 5.67, "frames": 18, "max_score": 0.94, "path": [[0, 441.1, 235.8], [0.333, 448.0, 236.2]] }
],
"counts": { "car": 0, "truck": 1, "bus": 0, "animal": 0 },
"coordinates": "pixels of the decoded frame (long side ≤ 1024)",
"latency_ms": 4200,
"notice": "Class-level tracking of vehicles and animals in saved drone footage; no identity, no live use."
}Limits & safety #
FlyTrack sees only the pixels it is sent, at a long side of 1,024. It does not know the altitude, the camera, the ground sampling distance or the location, and it does not see any other clip.
- People are not a class. The model has not been trained to see them and returns nothing for them; a person in the footage is not a detection, not a track and not a count. The scope of the model is vehicles and animals, and the notice in every response says so.
- No identity, ever: no re-identification, no appearance features, no linking across clips, no face processing. A track id is an integer valid inside one response.
- Saved footage only. The route has no streaming form and answers in tens of seconds, which rules out real-time tracking by design.
- It knows four classes at the altitudes of its training data. Objects it has not seen the like of, clips filmed much lower or higher, night footage, thermal footage and heavy motion blur are outside what the held-out figures describe.
- Counts are counts of confirmed tracks, which a long occlusion can split and a crowd can merge; the per-frame detections are there to be checked.
- The footage the host sends may show private property or people; the host is responsible for having the right to process it. The model cannot make that judgement and does not try.
Related models #
Waymark Flight
Describe the airspace around a flight and where the aircraft has been, and it says what it is inside, what comes next and how to go around.
Airspace readings and route proposals from a scene and a flight track
Waymark
Give it a written sketch of a photo and ask where something is; it answers in one short sentence.
Sketch-to-layout language model for viewer-relative scene answers
LIM3D
Watches how someone moves through a photo and tells you where they’re going and if they should stop.
Intention from a scene sketch and an observed track
Latest versions #
| Version | Date | Status | Note |
|---|---|---|---|
| 0.1.0 | Training | First run: the base size on the four CC BY 4.0 sources, 16 epochs of two crops per image, one A100 (Vertex AI job flytrack-20260923-201621). Released once evaluated. |
Read the full documentation
Nine chapters: architecture, inputs and outputs, training, evaluation, API, runtime, limits and versions.