Video Surveillance Analytics
Defence · 2016-2019
The 10-stage pipeline
One pipeline runs end to end: sample → change-gate → perceive → filter → track → zone-test → confirm → decide → govern → dispatch. Every stage is deterministic and free except perception, the single metered vision call. The real detector's non-maximum-suppression and cleanup are the deterministic filter stage; the geofence is the zone test against operator-drawn polygons with per-zone class allow-lists.
Two confidence floors govern the outcome: below the detection floor an object is noise and dropped at the filter stage; between the detection floor and the auto-alert floor a zone intrusion is routed to manual review rather than auto-fired. The change gate is the primary cost lever and the dwell window the primary false-positive guard.
The cost story and the cost lever
Only one stage is ever metered: perceive. Everything else is deterministic and costs nothing in either mode, so the cost meter only moves in Cloud mode, only on changed frames.
The cost lever is the change-gate together with the sampling interval. Because a static scene short-circuits before perception, and because the cameras sample rather than stream, perception fires when the scene actually changes rather than on every frame. This is the faithful downscale of constant-video processing into "sample, don't stream".
Dual approach - cloud vs on-prem OSS
Perception runs one of two ways. Cloud uses a hosted multimodal model (claude-haiku-4-5), cost-capped and fail-closed. OSS uses a self-hosted vision model (qwen2.5vl:7b) recorded on local M4 hardware - which, on a secured site, means every frame stays on the internal network and nothing is sent to a third party.
For a defence deployment that data-sovereignty property is often decisive, so the OSS-local path is not a fallback but a first-class mode. The honest finding, shown as recorded divergences in the inspector: the cloud model reads the iconographic frames more reliably and is better calibrated, while the smaller open model detects the same objects with lower confidence and occasionally swaps a class. The deterministic filter, tracking, zone tests and dwell window run identically either way, and one occluded frame is shown as "not captured" for the OSS run rather than inventing a detection.
Out of scope (the real system)
Several production capabilities are deliberately excluded and represented honestly. Real cameras and live video are stood in for by a simulated feed of synthetic iconographic frames. A YOLO-style object detector, a dedicated multi-object tracker and a state classifier are downscaled to one vision-LLM call plus deterministic NMS, tracking and a change gate. Real alerting integrations and many-camera real-time concurrency are simulated and labelled. Model retraining is represented by the false-alarm feedback, the owner overlay and the audit log rather than live learning.