PPE Helmet Detection — Live Cloud Deploy
Solo · Machine Learning & Deep Learning · M.Eng. · THD Deggendorf
Live inference — per-person helmet detection with real-time compliance HUD
Problem
Manual PPE compliance checks on construction sites are slow, inconsistent and impossible to scale across camera feeds. The goal: detect helmet / no-helmet per person in live video, aggregate a site-level compliance score in real time, and make the whole system reproducible enough to redeploy with a single push.
Final case study for the Machine Learning and Deep Learning course at THD Deggendorf — extended beyond coursework requirements into a full production deployment.
Model Performance
| Class | mAP@50 | mAP@50-95 | Precision | Recall |
|---|---|---|---|---|
| Overall | 94.9% | 61.5% | 92.4% | 90.2% |
| Helmet | 96.1% | 61.8% | 93.7% | 92.1% |
| No Helmet | 93.7% | 61.2% | 91.1% | 88.3% |
Held-out test split · 103 FPS on GPU · confidence threshold 0.50
From Notebook to Production
Model
YOLOv8s fine-tuned on a curated PPE dataset. Dataset quality and augmentation — mosaic, lighting shifts, perspective transforms — proved more impactful than model scaling.
API
Inference wrapped in a FastAPI REST API with image and video endpoints, containerised with Docker for reproducible builds.
Dashboard
Interactive Streamlit dashboard for live video upload, annotation preview and per-class performance metrics.
CI/CD
Deployed on Render with GitHub Actions — every push to main triggers an automatic rebuild and redeploy of both services.
Key Learning
The gap between held-out test accuracy and live-camera performance closed significantly after adding 200 frames from the actual deployment environment to the training set. In production computer vision, domain match beats benchmark scores.
Streamlit Dashboard
Open live dashboard →

Sample Detections

