Construction Ppe Yolov8
A YOLOv8 model fine-tuned to detect personal protective equipment (PPE) and safety violations on construction sites. Built as part of SafeSight, an AI-powered construction safety monitoring system.
Model source
- Kind
- Other
- File size
- 21.5 MB
- Version
- vRevision 06ce701
- Updated
- Sep 16, 2026
- Downloads
- 208
- Source
- Hugging Face
Source description
SafeSight PPE — Construction Site Safety Detector (YOLOv8)
A YOLOv8 model fine-tuned to detect personal protective equipment (PPE) and safety violations on construction sites. Built as part of SafeSight, an AI-powered construction safety monitoring system.
Why this model
Most public PPE datasets only cover a handful of classes (hard hat, vest, person). They don't cover the full range of equipment and violations that real construction safety monitoring needs. No single existing dataset covered everything required for this project, so multiple datasets were combined and the model was fine-tuned on the merged set.
Classes (19 total)
| ID | Class | ID | Class |
|---|---|---|---|
| 0 | Boots | 10 | No-Helmet |
| 1 | Ear-Protection | 11 | No-Mask |
| 2 | Glass | 12 | No-Vest |
| 3 | Glove | 13 | Worker |
| 4 | Hard_hat | 14 | Vest |
| 5 | Mask | 15 | Circular_Saw |
| 6 | No-Boots | 16 | Fire_Extinguisher |
| 7 | No-Ear-Protection | 17 | Fire_prevention_Net |
| 8 | No-Glass | 18 | Welding_Equipment |
| 9 | No-Glove |
The model detects both presence of PPE (e.g. Hard_hat) and absence/violations (e.g. No-Helmet) as distinct classes, plus site equipment relevant to hazard context (fire extinguishers, welding equipment, saws).
Training
- Base model: YOLOv8
- Epochs: 60
- Dataset size: ~13,000 training images, combined from multiple sources (primarily Roboflow, plus at least one additional GitHub-sourced dataset)
- Full training config in
args.yaml
Results
| Metric | Value |
|---|---|
| mAP50 | ~0.76 |
| mAP50-95 | ~0.43 |
| Precision | ~0.81 |
| Recall | ~0.72 |
See results.png for full training curves and confusion_matrix.png / confusion_matrix_normalized.png for per-class performance.
Example Detections
Validation predictions
Known limitations
- Ear-Protection class is underrepresented — significantly fewer correct detections than other classes, likely due to limited examples in the combined dataset. Treat predictions for this class with caution.
- Background false negatives — several classes (notably Boots, No-Ear-Protection, No-Glove) are sometimes missed entirely rather than misclassified, suggesting the model under-detects in certain conditions rather than confusing classes.
- Training was stopped at 60 epochs while loss was still decreasing. Further training on a larger/more balanced dataset would likely improve mAP50-95 further, particularly for underrepresented classes.
- Performance has not been validated on construction sites outside the source datasets' geography/conditions.
Usage
from ultralytics import YOLO
model = YOLO("best.pt")
results = model.predict("path/to/image.jpg")
for r in results:
r.show() # display detections
print(r.boxes) # class ids, confidence, bounding boxes
License
Apache 2.0. Base YOLOv8 architecture by Ultralytics (AGPL-3.0 for their own codebase — check Ultralytics licensing if using their training pipeline commercially). Training data combined from multiple public sources; individual dataset licenses may apply to the underlying data, not to these fine-tuned weights.
Sources
1 source
Sources
1 sourceVerified Sep 2
Model artifacts
1 artifact
Model artifacts
1 artifactSource excerpts
2 excerpts
Source excerpts
2 excerpts--- license: apache-2.0 tags: - yolov8 - object-detection - ppe-detection - construction-safety - computer-vision library_name: ultralytics pipeline_tag: object-detection --- # SafeSight PPE — Construction Site Safety Detector (YOLOv8) A YOLOv8 model fine-tuned to detect personal protective equipment (PPE) and safety violations on construction sites. Built as part of **SafeSight**, an AI-powered construction safety monitoring system. ## Why this model Most public PPE datasets only cover a handful of classes (hard hat, vest, person). They don't cover the full range of equipment and violations that real construction safety monitoring needs. No single existing dataset covered everything required for this project, so multiple datasets were combined and the model was fine-tuned on the merged set. ## Classes (19 total) | ID | Class | ID | Class | |----|-------|----|-------| | 0 | Boots | 10 | No-Helmet | | 1 | Ear-Protection | 11 | No-Mask | | 2 | Glass | 12 | No-Vest | | 3 | Glove | 13 | Worker | | 4 | Hard_hat | 14 | Vest | | 5 | Mask | 15 | Circular_Saw | | 6 | No-Boots | 16 | Fire_Extinguisher | | 7 | No-Ear-Protection | 17 | Fire_prevention_Net | | 8 | No-Glass | 18 | Welding_Equipment | | 9 | No-Glove | | | The model detects both presence of PPE (e.g. `Hard_hat`) and absence/violations (e.g. `No-Helmet`) as distinct classes, plus site equipment relevant to hazard context (fire extinguishers, welding equipment, saws). ## Training - **Base model:** YOLOv8 - **Epochs:** 60 - **Dataset size:** ~13,000 training images, combined from multiple sources (primarily Roboflow, plus at least one additional GitHub-sourced dataset) - Full training config in `args.yaml` ### Results | Metric | Value | |--------|-------| | mAP50 | ~0.76 | | mAP50-95 | ~0.43 | | Precision | ~0.81 | | Recall | ~0.72 | See `results.png` for full training curves and `confusion_matrix.png` / `confusion_matrix_normalized.png` for per-class performance. ## Example Detections  ## Known limitations - **Ear-Protection class is underrepresented** — significantly fewer correct detections than other classes, likely due to limited examples in the combined dataset. Treat predictions for this class with caution. - **Background false negatives** — several classes (notably Boots, No-Ear-Protection, No-Glove) are sometimes missed entirely rather t...
Source context: 208 downloads · 1 likes · Pipeline object-detection · Library ultralytics · Repo killuminati1/construction-ppe-yolov8
