§ HOW IT WORKS
Cameras, embeddings, matches, alerts.
Four steps. No black boxes. No "AI does it" hand-waving. Below is the actual pipeline, the actual model family, the actual residency story. If a step doesn't match what the camera estate in your building can support, we'd rather know now than during a pilot.
- 01
Cameras
Connect the cameras you already have
Hikvision, Axis, Hanwha, Mobotix, generic ONVIF — any RTSP-speaking camera. We don't audio-record. We don't replace your VMS. We tap the same stream Milestone or Genetec is already on, read-only. Setup is a 4-line config per camera and a single firewall rule.
No on-prem appliance. No proprietary cameras. No rip-and-replace.
- 02
Embeddings
Compute a vector per detection
At the LHR edge node, the stream runs through a person-detection model (YOLO v8 family) into a re-identification model (OSNet variant). Output: a 512-dimensional float vector per detected person, per frame. The raw frame is held in a rolling 30-second buffer for operator playback, then discarded.
Vector store is UK region only. Raw frames never leave the edge.
- 03
Match
Match across cameras within a window
When a new vector arrives, we search against the recent embedding history (the operator sets the window — typically 5 to 45 minutes). Match threshold is cosine similarity > 0.78 by default, configurable per camera. Matches surface as 'this person, seen on camera B at 14:23, was also seen on camera A at 14:18.'
Vectors expire after 14 days. No identity store. No name.
- 04
Alert
Alert the duty officer — not the whole building
Operators see a thumbnail strip, the camera IDs, the timestamps, and the similarity score. No name. No 'who this person is'. The decision — escort to lift, intervene at door, call the police — stays with the human. We do the watching; they do the deciding.
Webhook + dashboard. Optional Slack / Teams / Pagerduty fan-out.
§ DIAGRAM