Helmet & hi-viz spot-checks
Flag a person inside a work zone, during work hours, missing a required helmet or vest for more than N consecutive frames — an advisory nudge for a supervisor, not an automatic penalty.
Advisory flags when a person in a work zone is missing a required helmet or hi-viz vest — for a human to review.
This plugin uses an existing open community model (nothing is trained in-house), its accuracy claims are self-reported, and its training data is biased toward outdoor construction imagery. Treat every event as an advisory signal for a human to review — it is not a certified safety system, and not a substitute for one.
PPE spot-checks are manual and sporadic. A camera watching a work zone can flag the obvious cases — someone in the dock without a helmet or hi-viz vest — for a supervisor to look at, without pretending to be a certified safety system. Safety PPE is deliberately scoped as that advisory signal, with honest limits stated up front.
Flag a person inside a work zone, during work hours, missing a required helmet or vest for more than N consecutive frames — an advisory nudge for a supervisor, not an automatic penalty.
Point it at a loading dock or yard during the shift; sustained violations (with a cooldown) each capture an evidence JPEG for a human to confirm before anyone acts.
A worker samples the stream (default 1 fps), schedule-gated: off-schedule frames are skipped entirely. You draw the work zones and set the hours.
A community helmet/vest/person model run through onnxruntime associates each person with the PPE in their box, then a sustained-violation tracker filters transients.
A sustained (zone, item) miss fires one ppe.violation to your callback URL, HMAC-signed with the same scheme as the app callbacks, then cools down per zone and item.
Each event stores an evidence JPEG and a SQLite row and shows in the violations table. A human confirms before anything downstream acts — by design.
Declared in the plugin manifest and relayed through the app's HMAC-signed callbacks (webhook + MQTT). Anything a worker tries to emit that is not on this list is rejected — no core-event spoofing.
Numbers are the plugin authors' honest measurements, not marketing. GPU is optional on every vision plugin except where noted.
Every Studio app is a first-class application, not a config modal — and it does not have to live inside StreamHub.
Opens as its own page inside the tenant app — zones, live panels, history and settings on one surface, not squeezed into a dialog.
Keeps its state in a dedicated per-app SQLite database — reads, alerts, occupancy and evidence rows — that you own and can query.
Download the app as a self-contained bundle — worker, Dockerfile, compose and an env template — to self-host on your own infra and extend, talking back over the REST API and signed webhooks.
Tell us what you are monitoring and we will scope the right apps, wire them into your systems and run them with you. The software is open source — the deployment and operation is what we do.