Most fire-detection demos celebrate the moment the model says yes.
Ours got more interesting when a second model said no.
Detection was the easy part
SafeEdge started as a 24-hour lab-safety prototype. Classical vision and YOLO watched each frame for smoke and fire. A temporal window required five of eight recent frames to agree, which removed isolated spikes.
The first pass runs locally in a 6MB model. YOLO finds fire-like objects while optical flow watches for haze.
That still left the expensive failure: a confident false alarm can trigger an evacuation workflow.
So a candidate event does not immediately escalate. The handoff is face blurred, then a second vision model reviews only the small subset of frames that survived the cheap first pass. It can confirm the event or veto it.

A veto is a product feature
During testing, the primary detector fired on a simulated scene. The second pass rejected it because the display showed a synthetic fire rather than the room itself.

Confirmed alerts are routed around the hazard to one of nine NTU assembly zones using the campus walking graph. The same event object feeds the operator view, so every escalation has location context and an inspectable trail.
The useful part was the veto. A cheap model found candidates, a temporal window filtered one-frame spikes, and the expensive vision model only saw the frames worth escalating.
For safety systems, a model that knows when to stop can be more valuable than one that fires first.
