The loop at a glance.
Semaphor’s guard mode is a persistent observe → react → analyze → event loop. It starts from pixels on a monitoring screen and ends with a card in a guard inbox that carries the original frames, a priority and an AI scene report. Nothing in the loop touches your cameras or your video management system. If you want the overview before the detail, read what Semaphor is first.
Observe.
Screen capture, pane separation and feed identity. Know which camera is where, and which cameras are not visible right now.
React.
Local detection and event routing. Pick the moments that matter; suppress the repeats.
Analyze and deliver.
Preliminary alert, AI scene report, guard inbox, retained evidence. The guard decides.
1. Screen capture.
Semaphor captures the monitoring screen: the rendered VMS client, video wall or camera dashboard your operator already uses. Capture is the product’s input boundary. That single decision is why Semaphor works with your existing camera software — no camera credentials, no vendor API, no changes to the customer’s system. If a guard can see it, Semaphor can observe it.
2. Pane separation.
A monitoring screen is a mosaic. Semaphor finds the individual camera panes geometrically — the rectangles separated by the gutters of the layout — and crops each one. Every crop keeps its original image. Labels and timestamps drawn around the edge of a tile are kept out of the scene fingerprint so a clock ticking in the corner does not look like activity.
3. Feed identity.
Video walls cycle. Operators drag a camera to full screen, switch to a six-up, then back to a four-up. Semaphor keeps up by giving each view a visual feed identity built from visual hashes, scene landmarks and a median background estimate. When a scene returns in a different tile or at a different size, it matches the same feed. When identity is uncertain, Semaphor says so and keeps the evidence rather than guessing. Coverage gaps are explicit: a camera cycled off the screen is marked unobserved, never assumed quiet. This is camera view tracking, and it is what makes every later alert trustworthy about which camera it came from.
4. Detection.
Each view gets one durable job. A local YOLOX-based detector runs on the original crops to find people and vehicles, and pixel-change checks look for substantial connected changes between samples. Brightness shifts, small flickers and edge text are filtered before they become candidates. Detection runs locally on the monitoring machine, not in someone else’s cloud. More on the detector and its tracks on the person and vehicle detection page, and the fundamentals in how object detection works on security cameras.
5. Event routing.
Detections propose candidate events; routing decides which ones deserve attention. A fingerprint combines appearance hashes, coarse object positions and trigger types. The same reviewed fingerprint does not re-alert. Cooldowns space out reviews per camera, and quiet observations re-arm a view when activity genuinely returns. This is how Semaphor stops the same parked car from alerting all night without ignoring a new arrival. See duplicate alert suppression.
6. Preliminary alert.
In alert-first mode, the moment a candidate clears routing, a preliminary activity alert publishes to the guard inbox with its camera evidence. In backend tests the preliminary alert lands in well under a second. The guard never waits for AI to learn that something moved on camera 14. That is alert-first review.
7. AI scene report.
A vision-language model — the Qwen VL family, running locally or on hosted inference over verified HTTPS with authentication and optional mutual TLS — reviews a short sequence of original frames plus the trigger. It returns a structured AI scene report: a summary of what is happening, specific observations, a recommendation such as guard review suggested or no escalation, and what remains uncertain. The report updates the same card the guard is already looking at. If the model is slow or unavailable, the preliminary card stays put and says so; a failed review never declares a scene safe.

8. Guard inbox.
Every event becomes a persistent card in the guard inbox. Cards sort Critical, High, Unassessed and Low, oldest first within each level. Guards acknowledge, review evidence, override priority with a reason and close after review. Repeated activity updates the same open camera incident instead of spawning a new card. A quiet sample, a missing camera or a model failure never closes an incident automatically. Only the guard closes the card.
9. Evidence.
Every processed frame and crop keeps its original image, an exact SHA-256 hash and perceptual hashes. The original evidence sits beside every AI assessment, so the guard judges what the camera showed, not what a model claimed. Sessions export as JSON manifests with links to saved images, and guard mode applies automatic, bounded retention so storage never grows without limit. See evidence and audit trail.
Built to run all shift.
Monitoring does not stop at 5 p.m., so neither does the loop. Jobs and inbox state survive restarts. Inference runs in recyclable worker processes that are replaced on a schedule and stopped if a call stalls. Retention sweeps run continuously in the background. Model conversations start fresh on every analysis with only the current incident summary carried forward, so context never piles up over a long night.
Where the guard fits.
Semaphor watches continuously. The guard judges. The AI never dispatches, never calls police and never closes a card. That division of labor is the whole design — read why in human-in-the-loop security AI.
See the loop on your screens.
The recorded demo on the home page shows detection overlays, track IDs and saved scene reports on public research footage. The real test is your own video wall. Book a live demo on your own camera screens, or go straight to a pilot on one monitoring station.