Video Surveillance Analytics

Defence · 2016-2019

PublicRepresentative · synthetic data
samplecamera tickchange-gatemotion diffperceivedetectfilterfloor + NMStrackobject IDszone-testgeofenceconfirmN-frame dwelldeciderules ⊕ overlaygoverncooldowndispatchoperator alertmetered · LLMdeterministic · $0
Live diagram - the 10-stage pipeline. Only perceive is a metered vision call; the filter (NMS), tracking, zone tests and dwell are deterministic at $0.
sample$0change-gate$0$perceivemeteredfilter$0track$0zone-test$0confirm$0decide$0govern$0dispatch$0COST LEVER · change gate
Live diagram - spend accrues only on perceive, and only on changed frames; the change-gate plus sampling keep that surface small.
ASPECTCLOUD · capable readOSS · recordedIntruder over fencedetects + classifiesdetects, lower confVehicle vs personcorrect classoccasionally swapsDetection confidencecalibratedlower on icon framesOccluded intruderreads partialnot captured - routed to a human
Live diagram - Cloud (claude-haiku-4-5 vision) vs recorded OSS (qwen2.5vl:7b, on the internal network); the deterministic filter, tracking and dwell are identical in both modes.

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.