R
Projects
University·2026★ Featured

PPE Helmet Detection — Live Cloud Deploy

Solo · Machine Learning & Deep Learning · M.Eng. · THD Deggendorf

94.9% mAP@50Overall
103 FPSGPU inference
YOLOv8sModel
CI/CDAuto-deploy

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

ClassmAP@50mAP@50-95PrecisionRecall
Overall94.9%61.5%92.4%90.2%
Helmet96.1%61.8%93.7%92.1%
No Helmet93.7%61.2%91.1%88.3%

Held-out test split · 103 FPS on GPU · confidence threshold 0.50

From Notebook to Production

01

Model

YOLOv8s fine-tuned on a curated PPE dataset. Dataset quality and augmentation — mosaic, lighting shifts, perspective transforms — proved more impactful than model scaling.

02

API

Inference wrapped in a FastAPI REST API with image and video endpoints, containerised with Docker for reproducible builds.

03

Dashboard

Interactive Streamlit dashboard for live video upload, annotation preview and per-class performance metrics.

04

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 →
Streamlit dashboard — detection tab with image, video and webcam modes
Detection — image / video / webcam input with adjustable confidence threshold
Streamlit dashboard — model analysis tab with per-class performance metrics
Model Analysis — per-class metrics and training curves

Sample Detections

Three workers detected wearing helmets — 100% compliance
3 helmets detected · Compliance: 100%
Per-person helmet detection with confidence scores
Per-person confidence scores at 0.50 threshold