|
|
--- |
|
|
library_name: pytorch |
|
|
license: other |
|
|
tags: |
|
|
- real_time |
|
|
- android |
|
|
pipeline_tag: object-detection |
|
|
|
|
|
--- |
|
|
|
|
|
 |
|
|
|
|
|
# YOLOv10-Detection: Optimized for Qualcomm Devices |
|
|
|
|
|
Ultralytics YOLOv10 is a machine learning model that predicts bounding boxes and classes of objects in an image. |
|
|
|
|
|
This is based on the implementation of YOLOv10-Detection found [here](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/models/yolo/detect). |
|
|
This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the [Qualcomm® AI Hub Models](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/yolov10_det) library to export with custom configurations. More details on model performance across various devices, can be found [here](#performance-summary). |
|
|
|
|
|
Qualcomm AI Hub Models uses [Qualcomm AI Hub Workbench](https://workbench.aihub.qualcomm.com) to compile, profile, and evaluate this model. [Sign up](https://myaccount.qualcomm.com/signup) to run these models on a hosted Qualcomm® device. |
|
|
|
|
|
## Getting Started |
|
|
Due to licensing restrictions, we cannot distribute pre-exported model assets for this model. |
|
|
Use the [Qualcomm® AI Hub Models](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/yolov10_det) 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 |
|
|
|
|
|
See our repository for [YOLOv10-Detection on GitHub](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/yolov10_det) for usage instructions. |
|
|
|
|
|
|
|
|
## Model Details |
|
|
|
|
|
**Model Type:** Model_use_case.object_detection |
|
|
|
|
|
**Model Stats:** |
|
|
- Model checkpoint: YOLOv10-N |
|
|
- Input resolution: 640x640 |
|
|
- Number of parameters: 2.33M |
|
|
- Model size (float): 8.95 MB |
|
|
- Model size (w8a8): 2.55 MB |
|
|
- Model size (w8a16): 3.04 MB |
|
|
|
|
|
## Performance Summary |
|
|
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|
|
|---|---|---|---|---|---|--- |
|
|
| YOLOv10-Detection | ONNX | float | Snapdragon® X Elite | 5.821 ms | 5 - 5 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 3.766 ms | 5 - 213 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | float | Qualcomm® QCS8550 (Proxy) | 5.539 ms | 5 - 9 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | float | Qualcomm® QCS9075 | 7.244 ms | 5 - 7 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.472 ms | 0 - 164 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.509 ms | 0 - 156 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Snapdragon® X Elite | 5.529 ms | 2 - 2 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 3.335 ms | 0 - 165 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Qualcomm® QCS6490 | 359.505 ms | 66 - 72 MB | CPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Qualcomm® QCS8550 (Proxy) | 5.346 ms | 1 - 164 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Qualcomm® QCS9075 | 6.797 ms | 2 - 5 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Qualcomm® QCM6690 | 177.917 ms | 57 - 67 MB | CPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Snapdragon® 8 Elite For Galaxy Mobile | 2.557 ms | 2 - 142 MB | NPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 157.609 ms | 68 - 77 MB | CPU |
|
|
| YOLOv10-Detection | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 2.294 ms | 0 - 141 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Snapdragon® X Elite | 4.417 ms | 5 - 5 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 2.939 ms | 5 - 254 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 13.141 ms | 3 - 201 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 4.019 ms | 5 - 12 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Qualcomm® SA8775P | 5.44 ms | 1 - 202 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Qualcomm® QCS9075 | 5.083 ms | 5 - 11 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 9.216 ms | 4 - 197 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Qualcomm® SA7255P | 13.141 ms | 3 - 201 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Qualcomm® SA8295P | 8.739 ms | 1 - 168 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 2.195 ms | 5 - 211 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.86 ms | 5 - 208 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Snapdragon® X Elite | 4.624 ms | 2 - 2 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 2.995 ms | 0 - 200 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Qualcomm® QCS8275 (Proxy) | 7.996 ms | 1 - 174 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Qualcomm® QCS8550 (Proxy) | 4.248 ms | 2 - 4 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Qualcomm® SA8775P | 20.28 ms | 0 - 173 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Qualcomm® QCS9075 | 4.734 ms | 1 - 5 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Qualcomm® QCM6690 | 20.613 ms | 2 - 182 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Qualcomm® SA7255P | 7.996 ms | 1 - 174 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Snapdragon® 8 Elite For Galaxy Mobile | 2.075 ms | 2 - 176 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 4.406 ms | 2 - 177 MB | NPU |
|
|
| YOLOv10-Detection | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 1.767 ms | 2 - 184 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 2.647 ms | 0 - 173 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 12.668 ms | 0 - 107 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 3.692 ms | 0 - 3 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Qualcomm® SA8775P | 5.095 ms | 0 - 108 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Qualcomm® QCS9075 | 4.8 ms | 0 - 13 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 7.759 ms | 0 - 195 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Qualcomm® SA7255P | 12.668 ms | 0 - 107 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Qualcomm® SA8295P | 8.116 ms | 0 - 171 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.996 ms | 0 - 115 MB | NPU |
|
|
| YOLOv10-Detection | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.557 ms | 0 - 109 MB | NPU |
|
|
|
|
|
## License |
|
|
* The license for the original implementation of YOLOv10-Detection can be found |
|
|
[here](https://github.com/ultralytics/ultralytics/blob/main/LICENSE). |
|
|
|
|
|
## References |
|
|
* [YOLOv10: Real-Time End-to-End Object Detection](https://arxiv.org/abs/2405.14458) |
|
|
* [Source Model Implementation](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/models/yolo/detect) |
|
|
|
|
|
## Community |
|
|
* Join [our AI Hub Slack community](https://aihub.qualcomm.com/community/slack) to collaborate, post questions and learn more about on-device AI. |
|
|
* For questions or feedback please [reach out to us](mailto:ai-hub-support@qti.qualcomm.com). |
|
|
|