Experiments: sprint auto-start and auto-splits
Question: can pose detection find the start and the split crossings from a single down-the-line phone view, so a person only has to confirm? Everything is App-Measured; tape owns the metre; no auto-DQ. All auto events are unconfirmed suggestions (humanReviewed=false). No app code was changed.
New (2026-10-11)
- Luke's own video, simulated: annotated clips, keyframes and proxy tables (assumed scale, ±25-30%, illustrative only).
- Iterations v0.2.2 to v0.2.6: change, evidence, verified vs compile-checked for each build.
Luke's video (annotated, proxy)
Keyframes, tables and caveats →
Verdict
- Start (first movement): viable as a proposal. Found 7 of 7; median absolute error about 67 ms (median signed +40 ms); 6 of 7 within ±67 ms; worst −167 ms.
- Auto split crossings from one down-the-line phone view: not viable as an unreviewed measurement. Found 17 of 18 gates, but timing noise is about 130 ms median and the metre scale cannot come from the video alone (±20% scale means about ±150-200 ms). True gate accuracy is unknown: no markers in the footage.
- Recommended next: frame-1 calibration (tap cone points), then a marked-course trial; show detections only as unconfirmed suggestions. See the proposed next node.
Annotated videos
Images






Start detection vs manual frames
| run | auto frame | manual | error |
|---|---|---|---|
| 0 | 356 | 354 | +2 f (+67 ms) |
| 1 | 1384 | 1383 | +1 (+33 ms) |
| 2 | 2844 | 2845 | −1 (−33 ms) |
| 3 | 4225 | 4230 | −5 (−167 ms; slow crouch release) |
| 4 | 4988 | 4986 | +2 (+67 ms) |
| 5 | 5760 | 5758 | +2 (+67 ms) |
| 3hRE (25 fps, side) | 193 | 192 | +1 (+40 ms) |
Pose coverage vs runner size
| runner bbox height | frames | full-frame pose | x3 crop pass |
|---|---|---|---|
| 60-100 px (far) | 585 | 0% | 100% |
| 100-150 px | 197 | 0% | 100% |
| 150-250 px | 802 | 14% | 100% |
Reference is the crop pass itself, so its 100% is optimistic.
Frame-rate sensitivity
| rate | with interpolation (median / mean abs / p90 / max) | no interpolation (median / mean abs) |
|---|---|---|
| 15 fps | −4 / 24 / 49 / 118 ms | +28 / 39 ms |
| 10 fps | −4 / 43 / 107 / 248 ms | +64 / 83 ms |
Take-away: 30 fps minimum with interpolation; 60 fps recommended.
Limits (honest)
Six reps, one athlete, one camera; manual references are mine to ±1-2 frames; scale assumptions unverified; CPU model, not a phone model; real-world will be worse.
More
- Full report
- Luke's video simulation
- Iterations v0.2.2 to v0.2.6
- Simulated app output tables (proxy metres, illustrative)
- Footage sources and licences (links only)
- results.json