library_name: pytorch
license: other
tags:
- android
pipeline_tag: image-to-text
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.25.0 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.45, ONNX Runtime 1.25.0 | 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:
- Model checkpoint: easyocr-small-stage1
- Input resolution: 608x800
- Number of parameters (detector): 20.8M
- Model size (detector) (float): 79.2 MB
- Number of parameters (recognizer): 3.84M
- Model size (recognizer) (float): 14.7 MB
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| detector | ONNX | float | Snapdragon® X2 Elite | 19.946 ms | 9 - 9 MB | NPU |
| detector | ONNX | float | Snapdragon® X Elite | 38.164 ms | 35 - 35 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 27.795 ms | 2 - 231 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 76.565 ms | 8 - 245 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 36.921 ms | 0 - 45 MB | NPU |
| detector | ONNX | float | Qualcomm® QCS8450 | 76.565 ms | 8 - 245 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.42 ms | 3 - 171 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Elite Mobile | 22.301 ms | 2 - 167 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 22.301 ms | 2 - 167 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 38.164 ms | 35 - 35 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 70.753 ms | 6 - 51 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® X2 Elite | 6.744 ms | 1 - 1 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® X Elite | 13.546 ms | 20 - 20 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 9.688 ms | 2 - 216 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 20.027 ms | 2 - 216 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 13.02 ms | 0 - 25 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® QCS8450 | 20.027 ms | 2 - 216 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 7.811 ms | 2 - 163 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 13.515 ms | 1 - 47 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.472 ms | 0 - 163 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.811 ms | 2 - 163 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 13.546 ms | 20 - 20 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® X2 Elite | 20.689 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® X Elite | 39.551 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 27.945 ms | 0 - 231 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 80.383 ms | 5 - 258 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® QCS8275 | 269.336 ms | 2 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 37.728 ms | 6 - 7 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8775P | 67.953 ms | 1 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8650P | 67.953 ms | 1 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8255P | 67.953 ms | 1 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® QCS8450 | 80.383 ms | 5 - 258 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.86 ms | 6 - 183 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA7255P | 269.336 ms | 2 - 171 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 21.894 ms | 6 - 170 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8295P | 77.643 ms | 0 - 185 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 21.894 ms | 6 - 170 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 39.551 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 76.218 ms | 6 - 14 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 28.076 ms | 26 - 286 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 80.371 ms | 1 - 285 MB | NPU |
| detector | TFLITE | float | Qualcomm® QCS8275 | 269.488 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 38.386 ms | 1 - 4 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8775P | 68.033 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8650P | 68.033 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8255P | 68.033 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® QCS8450 | 80.371 ms | 1 - 285 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.862 ms | 1 - 182 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA7255P | 269.488 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite Mobile | 21.908 ms | 0 - 167 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8295P | 73.88 ms | 1 - 186 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 21.908 ms | 0 - 167 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 75.417 ms | 0 - 49 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.177 ms | 0 - 213 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 14.601 ms | 0 - 213 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 61.529 ms | 0 - 24 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® QCS8275 | 35.794 ms | 0 - 154 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.473 ms | 0 - 2 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8775P | 10.061 ms | 0 - 156 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8650P | 10.061 ms | 0 - 156 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8255P | 10.061 ms | 0 - 156 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® QCS8450 | 14.601 ms | 0 - 213 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 5.786 ms | 0 - 157 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 9.775 ms | 0 - 24 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.876 ms | 0 - 173 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.542 ms | 0 - 161 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 214.749 ms | 0 - 206 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA7255P | 35.794 ms | 0 - 154 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8295P | 18.979 ms | 0 - 152 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.876 ms | 0 - 173 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 5.786 ms | 0 - 157 MB | NPU |
| recognizer | ONNX | float | Snapdragon® X2 Elite | 12.861 ms | 1 - 1 MB | NPU |
| recognizer | ONNX | float | Snapdragon® X Elite | 20.026 ms | 11 - 11 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 16.425 ms | 0 - 782 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 27.958 ms | 1 - 345 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 21.577 ms | 0 - 18 MB | NPU |
| recognizer | ONNX | float | Qualcomm® QCS8450 | 27.958 ms | 1 - 345 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 11.7 ms | 0 - 790 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Elite Mobile | 11.889 ms | 0 - 659 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 11.889 ms | 0 - 659 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 20.026 ms | 11 - 11 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 24.141 ms | 0 - 45 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® X2 Elite | 9.186 ms | 1 - 1 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® X Elite | 10.821 ms | 10 - 10 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.903 ms | 0 - 805 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 15.71 ms | 0 - 355 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 10.515 ms | 0 - 17 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® QCS8450 | 15.71 ms | 0 - 355 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 7.522 ms | 0 - 666 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 11.768 ms | 0 - 45 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 8.186 ms | 0 - 810 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.522 ms | 0 - 666 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 10.821 ms | 10 - 10 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® X2 Elite | 12.92 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® X Elite | 20.961 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 16.863 ms | 0 - 870 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 28.929 ms | 0 - 422 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® QCS8275 | 57.543 ms | 0 - 706 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 21.995 ms | 0 - 4 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8775P | 25.977 ms | 0 - 712 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8650P | 25.977 ms | 0 - 712 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8255P | 25.977 ms | 0 - 712 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® QCS8450 | 28.929 ms | 0 - 422 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 11.414 ms | 0 - 739 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA7255P | 57.543 ms | 0 - 706 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 12.52 ms | 0 - 716 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8295P | 31.784 ms | 0 - 349 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 12.52 ms | 0 - 716 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 20.961 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 24.964 ms | 0 - 2 MB | NPU |
| recognizer | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 51.729 ms | 12 - 20 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 74.577 ms | 5 - 16 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® QCS8275 | 174.133 ms | 8 - 17 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 58.129 ms | 6 - 8 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8775P | 97.337 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8650P | 97.337 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8255P | 97.337 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® QCS8450 | 74.577 ms | 5 - 16 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 40.559 ms | 9 - 17 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA7255P | 174.133 ms | 8 - 17 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Elite Mobile | 43.022 ms | 7 - 16 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8295P | 71.152 ms | 6 - 12 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 43.022 ms | 7 - 16 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 131.955 ms | 4 - 33 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 32.445 ms | 5 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 43.741 ms | 3 - 19 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 167.651 ms | 3 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® QCS8275 | 142.882 ms | 22 - 32 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 36.122 ms | 5 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8775P | 68.41 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8650P | 68.41 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8255P | 68.41 ms | 8 - 13 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® QCS8450 | 43.741 ms | 3 - 19 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 28.367 ms | 8 - 17 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 97.182 ms | 3 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 57.517 ms | 10 - 16 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 39.502 ms | 8 - 17 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 79.198 ms | 6 - 12 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA7255P | 142.882 ms | 22 - 32 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8295P | 49.686 ms | 5 - 11 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 57.517 ms | 10 - 16 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 28.367 ms | 8 - 17 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.
