itsadityabaniya/yolov8n-ppe-detection-6classes
By itsadityabaniya · ↓ 0 · ♥ 0 · Updated 2026-02-18
What's in this repo
This page lists the files in itsadityabaniya/yolov8n-ppe-detection-6classes.
- No .onnx files in this repository
- 4 files, including 1 .zip, 1 .md, 1 .pt
- Last updated 2026-02-18
ONNX files
This repository has no .onnx files. See the full file list on the right for other formats.
How to use
These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.
README
🦺 YOLOv8n PPE Detection (6 Classes)
A lightweight and fast Personal Protective Equipment (PPE) detection model trained on 6 safety classes, optimized for edge devices such as NVIDIA Jetson Orin, ONNX Runtime, and TensorRT deployment.
1. 📌 Model Details
- Model name: YOLOv8n PPE Detection – 6 Classes
- Architecture: Ultralytics YOLOv8n (Nano)
- Task: Object Detection (PPE / Safety Gear)
- Framework: PyTorch (Ultralytics), exported to ONNX
- Input size:
1 × 3 × 640 × 640 - Output shape (ONNX):
1 × 10 × 8400- 4 channels → bounding box (x, y, w, h)
- 6 channels → class logits
- Number of classes:
6
2. 🏷️ Classes & Dataset Distribution
Class List with Image Counts
| ID | Class Name | Image Count |
|---|---|---|
| 0 | Gloves | 2,693 |
| 1 | Vest | 4,418 |
| 2 | goggles | 1,431 |
| 3 | helmet | 2,703 |
| 4 | mask | 2,763 |
| 5 | safety_shoe | 2,006 |
3. 🎯 Intended Use
Primary use-cases
- Real-time PPE compliance monitoring
- Construction site safety analytics
- Industrial / warehouse safety automation
- Worker equipment detection on:
- Helmets
- Safety shoes
- Reflective vests
- Gloves
- Masks
- Goggles
Target Platforms
- NVIDIA Jetson (Orin Nano, Orin NX, Xavier NX)
- ONNX Runtime
- TensorRT (FP32 / FP16 / INT8)
- NVIDIA DeepStream SDK
- Python (Ultralytics inference)
Not intended for
- Legal enforcement without human review
- Medical or clinical decisions
- Surveillance without consent
- Environments restricted by privacy regulations
⚠️ Human supervision is mandatory for high-risk applications.
4. 📂 Training Data
- Dataset source: Custom PPE dataset (Roboflow format)
- Annotation format: YOLO TXT
- Data types: Indoor/outdoor industrial environments
- Split:
- Train: majority
- Val: held-out validation
- Test: separate set for unbiased evaluation
Dataset is slightly imbalanced:
- Vest is most common
- safety_shoe & goggles have fewer samples
5. ⚙️ Training Procedure
- Base model:
yolov8n.pt(COCO pretrained) - Framework: Ultralytics YOLOv8
- Hyperparameters:
epochs = 50imgsz = 640batch = 32optimizer = auto
- Augmentations:
- Mosaic
- HSV color shift
- Random flip
- Scaling
- Translation
6. 📊 Evaluation & Metrics
Overall Performance
| Metric | Value |
|---|---|
| mAP@50 | ~0.81 |
| mAP@50–95 | ~0.53 |
| Precision | ~0.80 |
| Recall | ~0.74 |
Per-Class mAP@50
| Class | mAP@50 |
|---|---|
| Gloves | ~0.69 |
| Vest | ~0.90 |
| goggles | ~0.90 |
| helmet | ~0.90 |
| mask | ~0.80 |
| safety_shoe | ~0.64 |
7. ⚠️ Limitations & Ethical Considerations
Technical
- Sensitive to low-light & motion blur
- Small distant objects can reduce accuracy
- PPE variations (colors, styles, regional differences) may affect performance
Bias & Data Risks
- Dataset may not represent all ethnicities, industries, or regions globally
- Model may fail on unseen uniform types or PPE color variations
Responsible AI Guidance
- Always include human review
- Follow local privacy laws (GDPR, workplace regulations)
- Use only for transparent, ethical monitoring
8. 🚀 How to Use
A) Inference with Ultralytics (.pt)
from ultralytics import YOLO
model = YOLO("best.pt")
results = model("image.jpg", imgsz=640)
results[0].show() # visualize
Model info
Created: 2026-02-18
Updated: 2026-02-18
View on Hugging FaceFiles (4)
Related models
More from itsadityabaniya
No other models by this author.