PPE-Detection: Optimized for Qualcomm Devices
Detect if a person is wearing personal protective equipments (PPE) in real-time. This model's architecture was developed by Qualcomm. The model was trained by Qualcomm on a proprietary dataset, but can be used on any image.
This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the Qualcomm® AI Hub Models library to export with custom configurations. More details on model performance across various devices, can be found here.
Qualcomm AI Hub Models uses Qualcomm AI Hub Workbench to compile, profile, and evaluate this model. Sign up to run these models on a hosted Qualcomm® device.
Getting Started
There are two ways to deploy this model on your device:
Option 1: Download Pre-Exported Models
Below are pre-exported model assets ready for deployment.
| Runtime | Precision | Chipset | SDK Versions | Download |
|---|---|---|---|---|
| ONNX | float | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| ONNX | w8a16 | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| QNN_DLC | float | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a16 | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a8 | Universal | QAIRT 2.45 | Download |
| TFLITE | float | Universal | QAIRT 2.45 | Download |
| TFLITE | w8a8 | Universal | QAIRT 2.45 | Download |
For more device-specific assets and performance metrics, visit PPE-Detection on Qualcomm® AI Hub.
Option 2: Export with Custom Configurations
Use the Qualcomm® AI Hub Models Python library to compile and export the model with your own:
- Custom weights (e.g., fine-tuned checkpoints)
- Custom input shapes
- Target device and runtime configurations
This option is ideal if you need to customize the model beyond the default configuration provided here.
See our repository for PPE-Detection on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.object_detection
Model Stats:
- Inference latency: RealTime
- Input resolution: 320x192
- Model size (float): 23.6 MB
- Model size (w8a16): 6.65 MB
- Model size (w8a8): 6.23 MB
- Number of output classes: 2
- Number of parameters: 6.19M
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| PPE-Detection | ONNX | float | Snapdragon® X2 Elite | 0.578 ms | 2 - 2 MB | NPU |
| PPE-Detection | ONNX | float | Snapdragon® X Elite | 1.271 ms | 12 - 12 MB | NPU |
| PPE-Detection | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 0.911 ms | 0 - 79 MB | NPU |
| PPE-Detection | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 2.268 ms | 1 - 54 MB | NPU |
| PPE-Detection | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 1.971 ms | 1 - 4 MB | NPU |
| PPE-Detection | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 1.243 ms | 0 - 16 MB | NPU |
| PPE-Detection | ONNX | float | Qualcomm® QCS8450 | 2.268 ms | 1 - 54 MB | NPU |
| PPE-Detection | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 1.865 ms | 1 - 3 MB | NPU |
| PPE-Detection | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 1.271 ms | 12 - 12 MB | NPU |
| PPE-Detection | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 0.678 ms | 0 - 57 MB | NPU |
| PPE-Detection | ONNX | float | Snapdragon® 8 Elite Mobile | 0.678 ms | 0 - 57 MB | NPU |
| PPE-Detection | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.532 ms | 1 - 61 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Snapdragon® X2 Elite | 0.403 ms | 1 - 1 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Snapdragon® X Elite | 0.936 ms | 6 - 6 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 0.598 ms | 0 - 68 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Snapdragon® 8 Gen 1 Mobile | 1.274 ms | 0 - 65 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS6490 | 3.72 ms | 0 - 3 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 0.916 ms | 0 - 4 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 0.902 ms | 0 - 9 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® QCS8450 | 1.274 ms | 0 - 65 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 1.063 ms | 0 - 3 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 0.936 ms | 6 - 6 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 6.868 ms | 1 - 171 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 1.058 ms | 0 - 43 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 0.459 ms | 0 - 40 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Snapdragon® 8 Elite Mobile | 0.459 ms | 0 - 40 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 0.384 ms | 0 - 43 MB | NPU |
| PPE-Detection | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 1.058 ms | 0 - 43 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Snapdragon® X2 Elite | 0.232 ms | 1 - 1 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Snapdragon® X Elite | 0.502 ms | 6 - 6 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.354 ms | 0 - 65 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 0.802 ms | 0 - 65 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 2.367 ms | 0 - 3 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 0.588 ms | 0 - 4 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 0.508 ms | 0 - 9 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® QCS8450 | 0.802 ms | 0 - 65 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 0.655 ms | 0 - 3 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 0.502 ms | 6 - 6 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 3.5 ms | 0 - 185 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 0.609 ms | 0 - 42 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 0.279 ms | 0 - 40 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 0.279 ms | 0 - 40 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.247 ms | 0 - 41 MB | NPU |
| PPE-Detection | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 0.609 ms | 0 - 42 MB | NPU |
| PPE-Detection | QNN_DLC | float | Snapdragon® X2 Elite | 0.666 ms | 1 - 1 MB | NPU |
| PPE-Detection | QNN_DLC | float | Snapdragon® X Elite | 1.29 ms | 1 - 1 MB | NPU |
| PPE-Detection | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 0.81 ms | 0 - 76 MB | NPU |
| PPE-Detection | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 1.969 ms | 0 - 48 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 1.692 ms | 1 - 4 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 1.115 ms | 1 - 89 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® SA8775P | 1.796 ms | 1 - 61 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® SA8650P | 1.796 ms | 1 - 61 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® SA8255P | 1.796 ms | 1 - 61 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® QCS8450 | 1.969 ms | 0 - 48 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 1.601 ms | 1 - 3 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 1.29 ms | 1 - 1 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 0.613 ms | 0 - 56 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® SA7255P | 4.896 ms | 1 - 54 MB | NPU |
| PPE-Detection | QNN_DLC | float | Qualcomm® SA8295P | 2.251 ms | 0 - 27 MB | NPU |
| PPE-Detection | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 0.613 ms | 0 - 56 MB | NPU |
| PPE-Detection | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.476 ms | 0 - 54 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 0.48 ms | 0 - 0 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Snapdragon® X Elite | 0.94 ms | 0 - 0 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 0.542 ms | 0 - 54 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Snapdragon® 8 Gen 1 Mobile | 1.104 ms | 0 - 57 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS6490 | 3.403 ms | 2 - 4 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 0.82 ms | 0 - 3 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 0.805 ms | 0 - 67 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® SA8775P | 1.031 ms | 0 - 35 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® SA8650P | 1.031 ms | 0 - 35 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® SA8255P | 1.031 ms | 0 - 35 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® QCS8450 | 1.104 ms | 0 - 57 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 0.914 ms | 2 - 4 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 0.94 ms | 0 - 0 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 6.429 ms | 2 - 170 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 0.952 ms | 0 - 38 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 0.426 ms | 0 - 38 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® SA7255P | 2.0 ms | 0 - 33 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Qualcomm® SA8295P | 1.462 ms | 0 - 34 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Snapdragon® 8 Elite Mobile | 0.426 ms | 0 - 38 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 0.356 ms | 0 - 35 MB | NPU |
| PPE-Detection | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 0.952 ms | 0 - 38 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 0.347 ms | 0 - 0 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Snapdragon® X Elite | 0.581 ms | 0 - 0 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.339 ms | 0 - 54 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Snapdragon® 8 Gen 1 Mobile | 0.759 ms | 0 - 57 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 2.29 ms | 0 - 2 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 0.588 ms | 0 - 3 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 0.475 ms | 0 - 2 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® SA8775P | 0.694 ms | 0 - 35 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® SA8650P | 0.694 ms | 0 - 35 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® SA8255P | 0.694 ms | 0 - 35 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® QCS8450 | 0.759 ms | 0 - 57 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 0.572 ms | 0 - 2 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 0.581 ms | 0 - 0 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 3.365 ms | 0 - 170 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 0.583 ms | 0 - 36 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 0.262 ms | 0 - 32 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® SA7255P | 1.266 ms | 0 - 33 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Qualcomm® SA8295P | 0.994 ms | 0 - 31 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Snapdragon® 8 Elite Mobile | 0.262 ms | 0 - 32 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.235 ms | 0 - 34 MB | NPU |
| PPE-Detection | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 0.583 ms | 0 - 36 MB | NPU |
| PPE-Detection | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 0.787 ms | 0 - 77 MB | NPU |
| PPE-Detection | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 1.99 ms | 0 - 55 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 1.679 ms | 0 - 16 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 1.105 ms | 0 - 2 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® SA8775P | 1.807 ms | 0 - 66 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® SA8650P | 1.807 ms | 0 - 66 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® SA8255P | 1.807 ms | 0 - 66 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® QCS8450 | 1.99 ms | 0 - 55 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 1.611 ms | 0 - 15 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 0.621 ms | 0 - 66 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® SA7255P | 4.936 ms | 0 - 57 MB | NPU |
| PPE-Detection | TFLITE | float | Qualcomm® SA8295P | 2.269 ms | 0 - 29 MB | NPU |
| PPE-Detection | TFLITE | float | Snapdragon® 8 Elite Mobile | 0.621 ms | 0 - 66 MB | NPU |
| PPE-Detection | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.478 ms | 0 - 57 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.33 ms | 0 - 50 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 0.756 ms | 0 - 57 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 2.277 ms | 0 - 11 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 0.546 ms | 0 - 9 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 0.474 ms | 0 - 27 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® SA8775P | 0.706 ms | 0 - 34 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® SA8650P | 0.706 ms | 0 - 34 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® SA8255P | 0.706 ms | 0 - 34 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® QCS8450 | 0.756 ms | 0 - 57 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 0.616 ms | 0 - 8 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 3.396 ms | 0 - 173 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 0.576 ms | 0 - 33 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 0.268 ms | 0 - 35 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® SA7255P | 1.273 ms | 0 - 30 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Qualcomm® SA8295P | 0.991 ms | 0 - 28 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 0.268 ms | 0 - 35 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.239 ms | 0 - 31 MB | NPU |
| PPE-Detection | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 0.576 ms | 0 - 33 MB | NPU |
License
- The license for the original implementation of PPE-Detection can be found here.
Community
- Join our AI Hub Slack community to collaborate, post questions and learn more about on-device AI.
- For questions or feedback please reach out to us.
