Downloads · 30 days
187
30% of all-time downloads
jashwanthpeddisetty0712/ppe-detection-yolov8m
ppe-detection-yolov8m is a object detection model from jashwanthpeddisetty0712. Use it when you need objects located in an image. It is set up for ultralytics. The card lists the license as agpl-3.0.
Fine-tuned YOLOv8m for construction-site personal protective equipment (PPE) compliance. Detects PPE worn and, critically, PPE violations (missing hardhat, mask, safety vest, gloves, goggles).
Downloads · 30 days
187
30% of all-time downloads
All-time downloads
623
Public
Repo size
52.1 MB
Likes
1
Public
Click a slice to open those files.
.pt52.1 MB · 100%
From the Hugging Face model README
Fine-tuned YOLOv8m for construction-site personal protective equipment (PPE) compliance. Detects PPE worn and, critically, PPE violations (missing hardhat, mask, safety vest, gloves, goggles).
Used as a built-in pattern-alert detector in the visual-ai platform; downloaded
automatically at runtime via huggingface_hub.hf_hub_download.
0 Fall-Detected 5 Mask 10 NO-Safety Vest
1 Gloves 6 NO-Gloves 11 Person
2 Goggles 7 NO-Goggles 12 Safety Cone
3 Hardhat 8 NO-Hardhat 13 Safety Vest
4 Ladder 9 NO-Mask
Violation (alert) classes: NO-Hardhat, NO-Mask, NO-Safety Vest,
NO-Gloves, NO-Goggles.
| Metric | Value |
|---|---|
| Precision | 0.70 |
| Recall | 0.86 |
| mAP@50 | 0.79 |
| mAP@50-95 | 0.53 |
Per-class recall / mAP@50 for the violation classes:
| Class | Recall | mAP@50 |
|---|---|---|
| NO-Hardhat | 0.93 | 0.74 |
| NO-Gloves | 0.91 | 0.91 |
| NO-Goggles | 0.97 | 0.96 |
| NO-Mask | 0.88 | 0.66 |
| NO-Safety Vest | 0.32 | 0.21 |
Note:
NO-Safety Vestis the rarest class and has weak recall — treat its alerts with lower confidence and consider oversampling/more data for a future revision.
yolov8m.pt, 640px, batch 16, ~92/100 epochs (early stop, patience 25), seed 0from huggingface_hub import hf_hub_download
from ultralytics import YOLO
path = hf_hub_download(repo_id="jashwanthpeddisetty0712/ppe-detection-yolov8m", filename="best.pt")
model = YOLO(path)
results = model.predict("image.jpg", conf=0.25)