File size: 11,181 Bytes
4f25bc7
 
b43607c
4f25bc7
 
 
 
 
 
 
 
 
d87c310
4f25bc7
 
 
d87c310
 
 
 
 
 
 
 
 
 
 
 
 
 
1cdedbc
 
 
 
 
 
 
 
 
 
d87c310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1cdedbc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4f25bc7
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
---
library_name: pytorch
license: other
tags:
- real_time
- android
pipeline_tag: object-detection

---

![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/web-assets/model_demo.png)

# Yolo-X: Optimized for Qualcomm Devices

YoloX is a machine learning model that predicts bounding boxes and classes of objects in an image.

This is based on the implementation of Yolo-X found [here](https://github.com/Megvii-BaseDetection/YOLOX/).
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/yolox) 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
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.42, ONNX Runtime 1.24.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-onnx-float.zip)
| ONNX | w8a16 | Universal | QAIRT 2.42, ONNX Runtime 1.24.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-onnx-w8a16.zip)
| ONNX | w8a8 | Universal | QAIRT 2.42, ONNX Runtime 1.24.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-onnx-w8a8.zip)
| ONNX | w8a8_mixed_int16 | Universal | QAIRT 2.42, ONNX Runtime 1.24.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-onnx-w8a8_mixed_int16.zip)
| QNN_DLC | float | Universal | QAIRT 2.43 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-qnn_dlc-float.zip)
| QNN_DLC | w8a16 | Universal | QAIRT 2.43 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-qnn_dlc-w8a16.zip)
| QNN_DLC | w8a8 | Universal | QAIRT 2.43 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-qnn_dlc-w8a8.zip)
| QNN_DLC | w8a8_mixed_int16 | Universal | QAIRT 2.43 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-qnn_dlc-w8a8_mixed_int16.zip)
| TFLITE | float | Universal | QAIRT 2.43, TFLite 2.17.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-tflite-float.zip)
| TFLITE | w8a8 | Universal | QAIRT 2.43, TFLite 2.17.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/yolox/releases/v0.47.0/yolox-tflite-w8a8.zip)

For more device-specific assets and performance metrics, visit **[Yolo-X on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/yolox)**.


### Option 2: Export with Custom Configurations

Use the [Qualcomm® AI Hub Models](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/yolox) 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 [Yolo-X on GitHub](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/yolox) for usage instructions.

## Model Details

**Model Type:** Model_use_case.object_detection

**Model Stats:**
- Model checkpoint: YoloX Small
- Input resolution: 640x640
- Number of parameters: 8.98M
- Model size (float): 34.3 MB
- Model size (w8a16): 9.53 MB
- Model size (w8a8): 8.96 MB

## Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit
|---|---|---|---|---|---|---
| Yolo-X | ONNX | float | Snapdragon® X Elite | 13.178 ms | 14 - 14 MB | NPU
| Yolo-X | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 8.841 ms | 0 - 187 MB | NPU
| Yolo-X | ONNX | float | Qualcomm® QCS8550 (Proxy) | 13.149 ms | 0 - 17 MB | NPU
| Yolo-X | ONNX | float | Qualcomm® QCS9075 | 16.154 ms | 5 - 7 MB | NPU
| Yolo-X | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 7.37 ms | 3 - 164 MB | NPU
| Yolo-X | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 5.87 ms | 5 - 166 MB | NPU
| Yolo-X | ONNX | float | Snapdragon® X2 Elite | 8.62 ms | 14 - 14 MB | NPU
| Yolo-X | ONNX | w8a16 | Snapdragon® X Elite | 14.5 ms | 7 - 7 MB | NPU
| Yolo-X | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 9.752 ms | 3 - 241 MB | NPU
| Yolo-X | ONNX | w8a16 | Qualcomm® QCS6490 | 811.041 ms | 113 - 116 MB | CPU
| Yolo-X | ONNX | w8a16 | Qualcomm® QCS8550 (Proxy) | 13.537 ms | 0 - 12 MB | NPU
| Yolo-X | ONNX | w8a16 | Qualcomm® QCS9075 | 14.368 ms | 2 - 5 MB | NPU
| Yolo-X | ONNX | w8a16 | Qualcomm® QCM6690 | 423.273 ms | 99 - 109 MB | CPU
| Yolo-X | ONNX | w8a16 | Snapdragon® 8 Elite For Galaxy Mobile | 8.728 ms | 0 - 205 MB | NPU
| Yolo-X | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 396.04 ms | 112 - 122 MB | CPU
| Yolo-X | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 10.751 ms | 3 - 210 MB | NPU
| Yolo-X | ONNX | w8a16 | Snapdragon® X2 Elite | 11.183 ms | 8 - 8 MB | NPU
| Yolo-X | ONNX | w8a8 | Snapdragon® X Elite | 9.065 ms | 8 - 8 MB | NPU
| Yolo-X | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 6.108 ms | 1 - 90 MB | NPU
| Yolo-X | ONNX | w8a8 | Qualcomm® QCS6490 | 107.7 ms | 48 - 57 MB | CPU
| Yolo-X | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 8.228 ms | 0 - 114 MB | NPU
| Yolo-X | ONNX | w8a8 | Qualcomm® QCS9075 | 8.775 ms | 1 - 4 MB | NPU
| Yolo-X | ONNX | w8a8 | Qualcomm® QCM6690 | 97.744 ms | 38 - 49 MB | CPU
| Yolo-X | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 5.753 ms | 1 - 60 MB | NPU
| Yolo-X | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 93.66 ms | 49 - 60 MB | CPU
| Yolo-X | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 8.013 ms | 1 - 59 MB | NPU
| Yolo-X | ONNX | w8a8 | Snapdragon® X2 Elite | 8.163 ms | 8 - 8 MB | NPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Snapdragon® X Elite | 50.347 ms | 34 - 34 MB | NPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Gen 3 Mobile | 36.391 ms | 25 - 1233 MB | NPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Qualcomm® QCS6490 | 324.708 ms | 105 - 112 MB | CPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Qualcomm® QCS8550 (Proxy) | 50.982 ms | 22 - 26 MB | NPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Qualcomm® QCM6690 | 206.948 ms | 96 - 107 MB | CPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Elite For Galaxy Mobile | 31.855 ms | 27 - 865 MB | NPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Snapdragon® 7 Gen 4 Mobile | 193.83 ms | 105 - 116 MB | CPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Elite Gen 5 Mobile | 32.263 ms | 24 - 1155 MB | NPU
| Yolo-X | ONNX | w8a8_mixed_int16 | Snapdragon® X2 Elite | 37.979 ms | 34 - 34 MB | NPU
| Yolo-X | QNN_DLC | float | Snapdragon® X Elite | 6.068 ms | 5 - 5 MB | NPU
| Yolo-X | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 4.261 ms | 5 - 181 MB | NPU
| Yolo-X | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 27.629 ms | 0 - 154 MB | NPU
| Yolo-X | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 5.638 ms | 5 - 99 MB | NPU
| Yolo-X | QNN_DLC | float | Qualcomm® SA8775P | 8.432 ms | 0 - 158 MB | NPU
| Yolo-X | QNN_DLC | float | Qualcomm® QCS9075 | 8.755 ms | 7 - 13 MB | NPU
| Yolo-X | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 14.877 ms | 3 - 209 MB | NPU
| Yolo-X | QNN_DLC | float | Qualcomm® SA7255P | 27.629 ms | 0 - 154 MB | NPU
| Yolo-X | QNN_DLC | float | Qualcomm® SA8295P | 11.454 ms | 0 - 175 MB | NPU
| Yolo-X | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.157 ms | 0 - 159 MB | NPU
| Yolo-X | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.382 ms | 5 - 164 MB | NPU
| Yolo-X | QNN_DLC | float | Snapdragon® X2 Elite | 3.421 ms | 5 - 5 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Snapdragon® X Elite | 5.498 ms | 2 - 2 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 3.282 ms | 2 - 104 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® QCS6490 | 14.529 ms | 3 - 7 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® QCS8275 (Proxy) | 10.828 ms | 1 - 72 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® QCS8550 (Proxy) | 5.007 ms | 2 - 15 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® SA8775P | 5.559 ms | 1 - 73 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® QCS9075 | 5.428 ms | 1 - 5 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® QCM6690 | 45.8 ms | 3 - 198 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® QCS8450 (Proxy) | 6.493 ms | 2 - 111 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® SA7255P | 10.828 ms | 1 - 72 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Qualcomm® SA8295P | 6.993 ms | 0 - 70 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Snapdragon® 8 Elite For Galaxy Mobile | 2.345 ms | 2 - 82 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 6.046 ms | 2 - 189 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 1.805 ms | 2 - 82 MB | NPU
| Yolo-X | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 2.955 ms | 2 - 2 MB | NPU
| Yolo-X | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 4.264 ms | 0 - 201 MB | NPU
| Yolo-X | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 27.644 ms | 0 - 166 MB | NPU
| Yolo-X | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 5.632 ms | 0 - 3 MB | NPU
| Yolo-X | TFLITE | float | Qualcomm® SA8775P | 8.467 ms | 0 - 171 MB | NPU
| Yolo-X | TFLITE | float | Qualcomm® QCS9075 | 8.733 ms | 0 - 26 MB | NPU
| Yolo-X | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 14.881 ms | 0 - 220 MB | NPU
| Yolo-X | TFLITE | float | Qualcomm® SA7255P | 27.644 ms | 0 - 166 MB | NPU
| Yolo-X | TFLITE | float | Qualcomm® SA8295P | 11.496 ms | 0 - 188 MB | NPU
| Yolo-X | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.21 ms | 0 - 168 MB | NPU
| Yolo-X | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.379 ms | 0 - 174 MB | NPU

## License
* The license for the original implementation of Yolo-X can be found
  [here](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/LICENSE).

## References
* [YOLOX: Exceeding YOLO Series in 2021](https://github.com/Megvii-BaseDetection/YOLOX/blob/main/README.md)
* [Source Model Implementation](https://github.com/Megvii-BaseDetection/YOLOX/)

## 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).