EasyOCR: Optimized for Qualcomm Devices
EasyOCR is a machine learning model that can recognize text in images. It supports 80+ supported languages and all popular writing scripts.
This is based on the implementation of EasyOCR found here. 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 | w8a8 | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| QNN_DLC | float | 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 EasyOCR 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 EasyOCR on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.image_to_text
Model Stats:
- Input resolution: 608x800
- Model checkpoint: easyocr-small-stage1
- Model size (detector) (float): 79.2 MB
- Model size (recognizer) (float): 14.7 MB
- Number of parameters (detector): 20.8M
- Number of parameters (recognizer): 3.84M
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| detector | ONNX | float | Snapdragon® X2 Elite | 20.046 ms | 9 - 9 MB | NPU |
| detector | ONNX | float | Snapdragon® X Elite | 38.129 ms | 36 - 36 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 27.754 ms | 1 - 230 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 76.012 ms | 1 - 237 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 78.292 ms | 6 - 15 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 36.858 ms | 0 - 354 MB | NPU |
| detector | ONNX | float | Qualcomm® QCS8450 | 76.012 ms | 1 - 237 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 68.496 ms | 5 - 14 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 38.129 ms | 36 - 36 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 22.297 ms | 2 - 165 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Elite Mobile | 22.297 ms | 2 - 165 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.322 ms | 3 - 170 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® X2 Elite | 6.731 ms | 1 - 1 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® X Elite | 13.45 ms | 19 - 19 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 9.708 ms | 2 - 219 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 20.009 ms | 2 - 216 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 15.275 ms | 1 - 5 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 13.047 ms | 0 - 25 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® QCS8450 | 20.009 ms | 2 - 216 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 13.459 ms | 1 - 4 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 13.45 ms | 19 - 19 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.842 ms | 1 - 163 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 7.842 ms | 1 - 163 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.474 ms | 0 - 166 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® X2 Elite | 20.746 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® X Elite | 39.471 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 28.034 ms | 6 - 235 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 80.316 ms | 6 - 258 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 76.745 ms | 6 - 14 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 37.979 ms | 6 - 8 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8775P | 67.978 ms | 0 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8650P | 67.978 ms | 0 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8255P | 67.978 ms | 0 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® QCS8450 | 80.316 ms | 6 - 258 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 67.934 ms | 6 - 14 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 39.471 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 21.863 ms | 6 - 169 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA7255P | 269.293 ms | 0 - 170 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8295P | 77.661 ms | 0 - 185 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 21.863 ms | 6 - 169 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.848 ms | 6 - 183 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 28.26 ms | 1 - 260 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 80.52 ms | 1 - 283 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 76.586 ms | 0 - 49 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 37.892 ms | 1 - 3 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8775P | 67.999 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8650P | 67.999 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8255P | 67.999 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® QCS8450 | 80.52 ms | 1 - 283 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 67.968 ms | 0 - 49 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 21.871 ms | 1 - 171 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA7255P | 269.421 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8295P | 73.865 ms | 1 - 186 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite Mobile | 21.871 ms | 1 - 171 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.568 ms | 1 - 182 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.158 ms | 0 - 209 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 14.654 ms | 0 - 211 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 61.979 ms | 0 - 24 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 11.173 ms | 0 - 25 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.459 ms | 0 - 3 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8775P | 10.061 ms | 0 - 158 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8650P | 10.061 ms | 0 - 158 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8255P | 10.061 ms | 0 - 158 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® QCS8450 | 14.654 ms | 0 - 211 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 9.802 ms | 0 - 24 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 226.215 ms | 0 - 206 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.605 ms | 0 - 177 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 5.748 ms | 0 - 157 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA7255P | 35.806 ms | 0 - 154 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8295P | 19.001 ms | 0 - 153 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 5.748 ms | 0 - 157 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.539 ms | 0 - 161 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.605 ms | 0 - 177 MB | NPU |
| recognizer | ONNX | float | Snapdragon® X2 Elite | 12.881 ms | 1 - 1 MB | NPU |
| recognizer | ONNX | float | Snapdragon® X Elite | 20.081 ms | 11 - 11 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 16.698 ms | 0 - 781 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 27.787 ms | 1 - 346 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 23.304 ms | 0 - 4 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 21.73 ms | 0 - 50 MB | NPU |
| recognizer | ONNX | float | Qualcomm® QCS8450 | 27.787 ms | 1 - 346 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 24.428 ms | 0 - 3 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 20.081 ms | 11 - 11 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 11.882 ms | 0 - 655 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Elite Mobile | 11.882 ms | 0 - 655 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 11.651 ms | 0 - 789 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® X2 Elite | 9.114 ms | 1 - 1 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® X Elite | 10.525 ms | 10 - 10 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.975 ms | 0 - 801 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 15.709 ms | 0 - 355 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 11.992 ms | 0 - 4 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 10.554 ms | 0 - 14 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® QCS8450 | 15.709 ms | 0 - 355 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 11.268 ms | 0 - 3 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 10.525 ms | 10 - 10 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.642 ms | 0 - 666 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 7.642 ms | 0 - 666 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 8.162 ms | 0 - 810 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® X2 Elite | 12.996 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® X Elite | 20.666 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 16.767 ms | 0 - 862 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 28.652 ms | 0 - 411 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 23.665 ms | 0 - 3 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 21.714 ms | 0 - 299 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8775P | 25.844 ms | 0 - 703 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8650P | 25.844 ms | 0 - 703 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8255P | 25.844 ms | 0 - 703 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® QCS8450 | 28.652 ms | 0 - 411 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 24.472 ms | 0 - 2 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 20.666 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 12.201 ms | 0 - 701 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA7255P | 57.674 ms | 0 - 696 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8295P | 31.833 ms | 0 - 340 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 12.201 ms | 0 - 701 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 11.437 ms | 0 - 729 MB | NPU |
| recognizer | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 51.173 ms | 6 - 14 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 72.286 ms | 4 - 15 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 331.768 ms | 5 - 34 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 58.925 ms | 3 - 43 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8775P | 99.132 ms | 7 - 13 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8650P | 99.132 ms | 7 - 13 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8255P | 99.132 ms | 7 - 13 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® QCS8450 | 72.286 ms | 4 - 15 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 125.365 ms | 4 - 33 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 43.51 ms | 8 - 20 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA7255P | 173.037 ms | 8 - 18 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8295P | 69.746 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Elite Mobile | 43.51 ms | 8 - 20 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 43.162 ms | 9 - 18 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 31.05 ms | 5 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 41.151 ms | 0 - 11 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 166.812 ms | 3 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 282.613 ms | 3 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 36.69 ms | 2 - 29 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8775P | 69.203 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8650P | 69.203 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8255P | 69.203 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® QCS8450 | 41.151 ms | 0 - 11 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 94.786 ms | 3 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 77.796 ms | 7 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 57.201 ms | 15 - 21 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 28.269 ms | 7 - 16 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA7255P | 142.671 ms | 8 - 16 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8295P | 50.206 ms | 5 - 11 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 28.269 ms | 7 - 16 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 39.539 ms | 6 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 57.201 ms | 15 - 21 MB | CPU |
License
- The license for the original implementation of EasyOCR can be found here.
References
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.
