Vision safety · in your browser
Site Photo Check
Drop a site photo. A small detection model runs on this device, marks people and PPE, and shows a calibrated confidence for each finding. Findings the model is unsure about are routed to a person instead of being reported.
Loading the model…
Between the two values a detection is routed to a person for review. Below the lower value it is not shown. Confidence is calibrated on photos held out from the training dataset. On photos unlike those it can read high.
FindingRouted to a personBelow the floor, hidden
Result
No photo yet
Load a photo to run the check.
Findings and routed cases
Your photo never left this device
How it works
The detector is a YOLOX-Nano network with under one million parameters, fine-tuned on a public construction dataset and exported to ONNX. It runs inside this page, so the photo stays on the device.
Each detection carries a calibrated confidence. Two thresholds sort detections into three outcomes: report, route to a person, hide. A missing-PPE detection is reported only when the photo also shows site context (PPE, cones, machinery, or vehicles); without it, the detection goes to a person.
Trained on daytime photos of mostly outdoor sites. Expect weaker results at night, in rain, at distance, and on partial views. Classes it does not have are invisible to it.
Foundations
- YOLOX-Nano: Megvii, Apache-2.0; anchor-free detector, depthwise, 416 px input
- Construction Site Safety dataset: Roboflow Universe Projects, v27, CC BY 4.0; 2,801 images, 10 classes
- Platt calibration: confidence fitted on the validation split so the number shown is a probability, not a score
- Confidence Routing Threshold: Author's Research, CDI Lab frameworks glossary; the hand-over rule between model and person
- ONNX Runtime Web: Microsoft, MIT; WebGPU when available, WebAssembly otherwise
A demonstration of a method. It sees hard hats, safety vests, cones, machinery, vehicles, and people. It does not see harness attachment, edge protection, or whether PPE is worn correctly. It can miss missing PPE, so a photo with no flag is not a cleared photo. A finding is a prompt for a person to look, never a record.