Video gallery
Every recorded engagement, with the facts taken from the run that produced
it. Interception clips are Isaac Sim, closed loop at 20 Hz; detection clips are real
video. Nothing here is a re-cut of a good moment — each clip is one engagement,
start to finish.
City defence — the four-camera ringIsaac Sim
The interceptor rises over the town and holds station, watching all four quarters at once. An intruder arrives from a bearing drawn from the whole circle, commits to the nearest surveyed building, and does not break off when it is seen. Ten of the twenty-four scored engagements were recorded. Each frame shows all four camera feeds with the owning camera outlined, a contrast-stretched magnified inset of the target, and a top-down map with both flight paths and a red cross on the wall the intruder was aiming at.
Due north, 0°HIT
Straight over the nose. Acquired in 0.20 s, intercepted at 6.0 s.
closest approach 0.076 m · intercepted at 6.00 s · acquired in 0.20 s · 4.47 s before the strike · detection rate 0.97 · played 2×
030° — off the bowHIT
Outside a single camera's 76° cone; the ring never has to turn.
closest approach 0.081 m · intercepted at 6.65 s · acquired in 0.90 s · 4.22 s before the strike · detection rate 0.88 · played 2×
075° — near a seamHIT
Arrives close to the forward/right seam and is handed between cameras mid-track.
closest approach 0.144 m · intercepted at 6.50 s · acquired in 0.90 s · 3.79 s before the strike · detection rate 0.87 · played 2×
105° — the headline engagementHIT
170 m out and 2.7 px across, diving on a plaza block. Passed 0.13 m from it.
closest approach 0.125 m · intercepted at 7.00 s · acquired in 0.90 s · 3.33 s before the strike · detection rate 0.88 · played 2×
150° — over the shoulderHIT
Well behind the beam. A forward camera would still be slewing.
closest approach 0.046 m · intercepted at 6.65 s · acquired in 0.90 s · 2.86 s before the strike · detection rate 0.88 · played 2×
180° — dead asternHIT
The exact bearing one nose camera cannot see. Acquired in 0.20 s.
closest approach 0.036 m · intercepted at 6.55 s · acquired in 0.20 s · 5.05 s before the strike · detection rate 0.98 · played 2×
210° — astern quarterHIT
Closest approach 8 mm — about a sixtieth of the airframe's rotor span.
closest approach 0.008 m · intercepted at 6.85 s · acquired in 0.90 s · 4.91 s before the strike · detection rate 0.88 · played 2×
255° — from the port quarterHIT
Aft camera first, then two seam crossings into the chase.
closest approach 0.031 m · intercepted at 6.70 s · acquired in 0.90 s · 4.35 s before the strike · detection rate 0.88 · played 2×
285° — abeam to portHIT
90° off the nose: the worst case for a single sensor, ordinary for a ring.
closest approach 0.081 m · intercepted at 6.50 s · acquired in 0.90 s · 3.45 s before the strike · detection rate 0.88 · played 2×
330° — closing the circleHIT
Tenth of ten recorded arrivals; the full 24 cover every 15°.
closest approach 0.021 m · intercepted at 6.45 s · acquired in 0.90 s · 3.05 s before the strike · detection rate 0.88 · played 2×
One camera, chase and interceptIsaac Sim
The earlier campaign: one forward-facing camera, an intruder crossing or fleeing, and nothing to defend. 54 of 62 engagements intercepted (87.1%). These six are chosen to show the range of the campaign — including the engagement that motivated building the ring, and one of the eight failures in full.
Best pass of the campaign — 2.5 cmHIT
A crossing target at 115 m, open sky. Proportional navigation drives the line-of-sight rate to zero and the closure does the rest.
closest approach 0.025 m · intercepted at 8.90 s · acquired in 5.75 s · detection rate 0.92 · played 1.5×
Urban clutter, 115 m, high on the leftHIT
Rivermark rooftops behind the target for the whole run. 0.114 m.
closest approach 0.114 m · intercepted at 9.10 s · acquired in 3.65 s · detection rate 0.96 · played 1.5×
It breaks; the law does not careHIT
A hard break turn at close range. PN is driven by bearing rate, so a manoeuvre is just a new rate to null.
closest approach 0.198 m · intercepted at 5.00 s · acquired in 0.35 s · detection rate 0.98 · played 1×
A fleeing target has no bearing rateHIT
Running straight away, which is the geometry a constant-rate test cannot help with — and the reason that test is only demanded of motion contacts.
closest approach 0.181 m · intercepted at 8.95 s · acquired in 0.20 s · detection rate 0.98 · played 1.5×
Why the ring existsHIT
One forward camera, target arriving from behind: 21.0 s to acquire and 30.5 s to intercept, nearly all of it spent turning to look. The ring does this in 0.2 s.
closest approach 0.461 m · intercepted at 30.45 s · acquired in 21.00 s · detection rate 0.92 · played 3×
A failure, shown in fullMISS
Detection rate 0.00: the target crosses low against Rivermark's roofline and is never acquired, so there is nothing to steer at. Every one of the eight failures looks like this — perception, not guidance.
detection rate 0.00 · played 3×
Detection on real videoreal video
Full-length runs on the hand-labelled source footage. The source files hide their opening seconds behind an MP4 edit list that every decoder honours silently — tools/recover_full_video.py remuxes them back losslessly, which is why the test video is 591 frames and not 361.
Baseline | PC-MAX | EDGE-RT, side by side
The same 19.7 s of unseen test video through three systems at once. Left: a YOLO26n trained on a real multi-scene drone dataset. Middle and right: the two shipped models.
1280×720 · 591 frames · the drone is 3–14 px throughout
PC-MAX on the unseen test video
The accuracy-first desktop profile: three detection streams fused by centre agreement, then a Kalman tracker and a track-level classifier.
AP / F1 = 1.000 · zero false positives · ~4 fps on an RTX 5070
EDGE-RT on the unseen test video
The whole pipeline distilled into one YOLOv8-nano-P2 reading the stabilised 3-moment stack full-frame, under TensorRT FP16. One network is the pipeline.
AP / F1 = 1.000 · ~74 fps end to end
The baseline on the same video
Single-frame appearance. Excellent against open sky in the final second (conf 0.6–0.84, zero false positives) and silent everywhere else, even at conf 0.02.
12.5% flight coverage · nothing below the treeline
The training video, with the hand labels painted
Every frame of 07_05 was labelled by hand; this is the authoritative ground truth the detection numbers are scored against.
the labeller's method is the algorithm's: flip frames, watch what moves