DASHBOARD OVERVIEW
MODEL IDLE
REAL-TIME OVERVIEW

Compliance Dashboard

Total Workers
0
Compliant
0
Violations
0
Compliance %
0%
Today's Alerts
0
Avg. Confidence
0%

Compliant vs Non-Compliant

Missing PPE Frequency

Compliance Trend

INPUT SOURCE

Live Detection

Detection Engine

LOADING PPE MODEL…
Live Camera
Upload Image
Upload Video
CAMERA OFFLINE
Press "Start Camera" to begin live person detection
How detection works here: Person bounding boxes are produced by a real in-browser vision model (TensorFlow.js / COCO-SSD) running on your camera or upload — nothing is faked about locating people in the frame. Helmet and vest are checked with real pixel-color analysis of each person's crown-band and torso-band against hard-hat and hi-vis color palettes. Goggles and gloves use dedicated landmark models — BlazeFace locates actual eye positions and MediaPipe Hands locates actual hand keypoints, per person, rather than guessing "eyes are roughly here" or "hands hang about there" off the body box, which was the main source of unreliable reads. Color analysis then runs only on those precisely located regions. Shoes have no fixed color palette to match (footwear comes in every color), so instead this checks for bare skin at the very bottom of the box — a lot of skin there means no footwear, little/none means something's covering the foot. If BlazeFace/Hands can't find a face/hand for someone — turned away, hands in pockets, out of frame — or the foot region reads ambiguous, that item is marked N/A rather than guessed. This whole panel is what runs in Local Heuristics mode above — switch to Local PPE Model for a real pretrained YOLOv8m PPE detector running in-browser (no server needed, and it now uses this same bare-foot check for shoes since that model wasn't trained on footwear), Trained Backend for the real YOLOv11 pipeline, or AI Vision to have a general vision model judge PPE directly per frame instead.

Detection Results

This count is for the current scan only. The Dashboard's "Total Workers" stat is a running log across every scan this session, not a headcount of one photo.
No workers scanned yet this session.
MULTI-ZONE OVERVIEW

Smart Factory Floor

Zone / Production Line Status

No zone data yet — run a scan from Live Detection with a zone selected.

Shift-wise Compliance

Department / Zone Compliance

DETECTION LOG

History & Reports

Worker IDHelmetVestGlovesShoesGoggles Compliance %StatusZoneShiftSourceTimestamp
No detections logged yet — run a scan from Live Detection.
VIOLATION FEED

Alert Log

No alerts yet. Alerts appear here the moment a violation is detected.
PROJECT NOTES

About This Prototype

SENTRY is a working front-end prototype of an AI Industrial PPE Compliance Monitor. It runs entirely in your browser — there is no server, database, or login behind it.

What's real: live webcam capture, real person-detection bounding boxes from an in-browser AI model (COCO-SSD via TensorFlow.js), image upload analysis, a full compliance dashboard, charts, a searchable detection log, an alert feed, and CSV / Excel / print-to-PDF export.

Factory-tuned detection: helmet/vest color analysis includes automatic white-balance correction (factory sodium-vapor and fluorescent lighting casts strong orange/green tints that would otherwise throw off raw color matching), a broader hard-hat color palette (white/yellow/blue/green/red, covering common role-coded factory hats), and a too-small-to-verify guard so distant workers on a wide floor camera get an honest N/A instead of a noisy guess.

Smart-factory features: tag scans with a Zone / Production Line (create your own from Live Detection), automatic Morning/Afternoon/Night shift classification by timestamp, and a Smart Factory dashboard page with live per-zone compliance cards and a shift/zone compliance breakdown — a lightweight stand-in for the brief's requested department- and shift-wise analytics and camera management.

What's simulated: nothing anymore — every item runs real pixel analysis. Helmet and vest use color analysis on the person box; goggles and gloves use BlazeFace/MediaPipe Hands to find the actual eye/hand regions first, then run color analysis on those; shoes check for bare skin at the bottom of the box (a lot of skin there means bare feet, little/none means something's covering the foot — footwear itself comes in too many colors to match a fixed palette the way a hard hat or vest can). Anything a check can't locate or read reliably (turned-away face, hidden hands, ambiguous foot region) is marked N/A rather than guessed. A real deployment would replace all of this with a YOLOv11 model fine-tuned on a labeled industrial PPE dataset, served from a FastAPI backend, with results persisted to Firebase — as scoped in the original brief.

Data lifetime: everything you scan lives only in this browser tab's memory for this session. Reloading the page clears it — there is intentionally no use of local storage.

Suggested next steps to reach production: (1) collect & label a PPE image dataset, (2) train/fine-tune YOLOv11 per PPE class, (3) stand up a FastAPI inference service, (4) wire up Firebase for auth, storage and history, (5) deploy frontend to Vercel and backend to Render/Railway.