← All posts

Motion alerts that actually matter: person & vehicle detection

24 April 2026 · Nasugn Vigil · 3 min read
motion detectionperson detectionvehicle detectionalertsfalse alarms

Everyone who has run motion-based CCTV knows the failure mode. The first week, the alerts feel useful. By the second week, your phone has buzzed at a moth on the lens, a tree in the wind, a cloud crossing the car park and headlights sweeping the wall at 2am. By the third week, you’ve muted the notifications entirely — which means the one alert that mattered went unseen too.

The problem isn’t that the camera detected motion. The problem is that all it can detect is motion.

Pixel motion vs. what’s actually there

Classic motion detection works by comparing frames: if enough pixels change between one frame and the next, that’s “motion”. It’s cheap and it’s fast, but it’s blind to meaning. To a pixel-difference algorithm, a person climbing a fence and a branch swaying in a gust look identical — both are just changed pixels. So you get one of two bad outcomes: turn sensitivity up and drown in false alarms, or turn it down and miss real events.

Rain, insects near an IR illuminator, shadows moving across the ground through the day, headlights, flags, reflections on wet tarmac — every one of these trips a pure motion detector. The result is alert fatigue, and alert fatigue quietly defeats the entire point of having alerts.

Detecting what, not just that

The fix is to add a layer that answers a different question. Instead of “did pixels change?”, ask “is there a person or a vehicle in the frame?” That’s an object-detection problem, and it’s exactly what a small neural network is good at.

Vigil runs a MobileNet-SSD model to do this. MobileNet-SSD is a compact, well-proven object detector — “SSD” is the single-shot detector architecture, and “MobileNet” is the lightweight backbone that makes it efficient enough to run without a data-centre GPU. It looks at motion events and classifies whether what triggered them is a person, a vehicle, or neither. A swaying branch produces motion but no person and no vehicle — so it never becomes an alert.

The effect is dramatic. The moth, the shadow and the headlight glare fall away. What’s left is the loading-dock visitor after hours and the car that pulled into the yard — the events a person actually wants to know about.

Why we run it on the agent, on your network

Detection in Vigil runs on the agent, on a machine on your own network, before footage is used to decide about alerts. That’s a deliberate design choice with a few benefits:

  • Less noise reaches the cloud and your phone. Filtering at the edge means the boring frames don’t have to travel anywhere to be judged.
  • It’s a gate, not a tracker. Detection decides whether an event is worth your attention. Vigil is a security-operations tool — it isn’t built to profile people or match identities.
  • Alerts arrive where you already are. When something qualifies, you get a WhatsApp or SMS — no extra app to install — and you can snooze for an hour or overnight while events keep recording.

Setting expectations honestly

No detector is perfect. Heavy rain, fog, extreme backlighting, tiny distant figures and unusual camera angles can still cause the occasional miss or false positive — this is machine learning, not magic. The goal isn’t a mythical zero-error system; it’s to move you from dozens of junk alerts a day to a handful of real ones, so that when your phone buzzes, you actually look.

That shift — from noise you learn to ignore to signal you trust — is the whole game. An alert you believe is worth a hundred you’ve muted.

The short version

Motion alone can’t tell a burglar from a branch. On-device person and vehicle detection can. By classifying what triggered an event and only alerting on people and vehicles, Vigil turns a firehose of false alarms into the short list of things that genuinely need a look — and keeps you paying attention to the alerts that count.


Ready to see it? Vigil turns the cameras you already own into cloud CCTV in an afternoon — hosted in AWS Sydney, A$10/camera/month. Start free →