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.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 | 19.976 ms | 9 - 9 MB | NPU |
| detector | ONNX | float | Snapdragon® X Elite | 38.178 ms | 36 - 36 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 27.935 ms | 1 - 232 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 79.566 ms | 8 - 248 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 78.009 ms | 6 - 15 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 37.906 ms | 0 - 203 MB | NPU |
| detector | ONNX | float | Qualcomm® QCS8450 | 79.566 ms | 8 - 248 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 68.484 ms | 5 - 14 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 38.178 ms | 36 - 36 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 22.411 ms | 3 - 168 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Elite Mobile | 22.411 ms | 3 - 168 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.399 ms | 3 - 171 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® X2 Elite | 6.731 ms | 1 - 1 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® X Elite | 13.422 ms | 20 - 20 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 9.733 ms | 2 - 215 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 19.997 ms | 2 - 215 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 15.232 ms | 1 - 5 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 13.005 ms | 0 - 56 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® QCS8450 | 19.997 ms | 2 - 215 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 14.013 ms | 1 - 4 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 13.422 ms | 20 - 20 MB | NPU |
| detector | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.853 ms | 2 - 165 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 7.853 ms | 2 - 165 MB | NPU |
| detector | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.478 ms | 0 - 165 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® X2 Elite | 30.948 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® X Elite | 39.468 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 28.153 ms | 6 - 236 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 80.416 ms | 6 - 260 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 76.834 ms | 6 - 14 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 269.343 ms | 1 - 170 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 38.182 ms | 6 - 8 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8775P | 67.972 ms | 1 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8650P | 67.972 ms | 1 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8255P | 67.972 ms | 1 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® QCS8450 | 80.416 ms | 6 - 260 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 67.95 ms | 6 - 14 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 39.468 ms | 6 - 6 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 22.007 ms | 6 - 171 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA7255P | 269.343 ms | 1 - 170 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8295P | 77.658 ms | 0 - 184 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 22.007 ms | 6 - 171 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.862 ms | 6 - 182 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 28.083 ms | 1 - 261 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 80.455 ms | 1 - 284 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 76.816 ms | 0 - 49 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 269.45 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 38.372 ms | 1 - 3 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8775P | 68.005 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8650P | 68.005 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8255P | 68.005 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® QCS8450 | 80.455 ms | 1 - 284 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 68.73 ms | 0 - 49 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 21.953 ms | 1 - 171 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA7255P | 269.45 ms | 1 - 175 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8295P | 73.891 ms | 1 - 186 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite Mobile | 21.953 ms | 1 - 171 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 16.87 ms | 1 - 181 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.182 ms | 0 - 211 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 14.795 ms | 0 - 210 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 61.238 ms | 0 - 24 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 11.107 ms | 0 - 25 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 35.795 ms | 0 - 155 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.526 ms | 0 - 3 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8775P | 10.091 ms | 0 - 156 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8650P | 10.091 ms | 0 - 156 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8255P | 10.091 ms | 0 - 156 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® QCS8450 | 14.795 ms | 0 - 210 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 9.803 ms | 0 - 24 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 251.313 ms | 0 - 208 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.662 ms | 0 - 173 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 5.791 ms | 0 - 159 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA7255P | 35.795 ms | 0 - 155 MB | NPU |
| detector | TFLITE | w8a8 | Qualcomm® SA8295P | 19.019 ms | 0 - 152 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 5.791 ms | 0 - 159 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.54 ms | 0 - 162 MB | NPU |
| detector | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.662 ms | 0 - 173 MB | NPU |
| recognizer | ONNX | float | Snapdragon® X2 Elite | 12.833 ms | 1 - 1 MB | NPU |
| recognizer | ONNX | float | Snapdragon® X Elite | 20.103 ms | 11 - 11 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 16.417 ms | 0 - 780 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 27.901 ms | 1 - 346 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 23.126 ms | 0 - 4 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 21.942 ms | 0 - 15 MB | NPU |
| recognizer | ONNX | float | Qualcomm® QCS8450 | 27.901 ms | 1 - 346 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 24.316 ms | 0 - 3 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 20.103 ms | 11 - 11 MB | NPU |
| recognizer | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 12.16 ms | 0 - 660 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Elite Mobile | 12.16 ms | 0 - 660 MB | NPU |
| recognizer | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 11.698 ms | 0 - 788 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® X2 Elite | 9.111 ms | 1 - 1 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® X Elite | 10.557 ms | 10 - 10 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.981 ms | 0 - 803 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 15.601 ms | 0 - 352 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 12.023 ms | 0 - 4 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 10.592 ms | 0 - 296 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® QCS8450 | 15.601 ms | 0 - 352 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 11.918 ms | 0 - 3 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 10.557 ms | 10 - 10 MB | NPU |
| recognizer | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.54 ms | 0 - 664 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 7.54 ms | 0 - 664 MB | NPU |
| recognizer | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 8.17 ms | 0 - 808 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® X2 Elite | 12.915 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® X Elite | 20.763 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 16.942 ms | 0 - 859 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 28.841 ms | 0 - 411 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 23.725 ms | 0 - 3 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 57.668 ms | 0 - 696 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 22.193 ms | 0 - 105 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8775P | 25.78 ms | 0 - 703 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8650P | 25.78 ms | 0 - 703 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8255P | 25.78 ms | 0 - 703 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® QCS8450 | 28.841 ms | 0 - 411 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 24.868 ms | 2 - 4 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 20.763 ms | 0 - 0 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 12.095 ms | 0 - 705 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA7255P | 57.668 ms | 0 - 696 MB | NPU |
| recognizer | QNN_DLC | float | Qualcomm® SA8295P | 31.789 ms | 0 - 340 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 12.095 ms | 0 - 705 MB | NPU |
| recognizer | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 11.432 ms | 0 - 727 MB | NPU |
| recognizer | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 55.202 ms | 7 - 15 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 87.592 ms | 7 - 21 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 339.33 ms | 5 - 34 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 174.222 ms | 6 - 16 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 77.577 ms | 3 - 45 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8775P | 99.618 ms | 8 - 14 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8650P | 99.618 ms | 8 - 14 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8255P | 99.618 ms | 8 - 14 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® QCS8450 | 87.592 ms | 7 - 21 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 132.194 ms | 4 - 33 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 45.439 ms | 7 - 17 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA7255P | 174.222 ms | 6 - 16 MB | CPU |
| recognizer | TFLITE | float | Qualcomm® SA8295P | 69.518 ms | 6 - 11 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Elite Mobile | 45.439 ms | 7 - 17 MB | CPU |
| recognizer | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 44.156 ms | 9 - 19 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 30.789 ms | 5 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 56.134 ms | 0 - 12 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 141.75 ms | 3 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 280.375 ms | 3 - 21 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 140.387 ms | 0 - 8 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 37.889 ms | 5 - 28 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8775P | 70.59 ms | 8 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8650P | 70.59 ms | 8 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8255P | 70.59 ms | 8 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® QCS8450 | 56.134 ms | 0 - 12 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 95.825 ms | 3 - 22 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 76.452 ms | 6 - 12 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 57.837 ms | 8 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 31.312 ms | 7 - 16 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA7255P | 140.387 ms | 0 - 8 MB | CPU |
| recognizer | TFLITE | w8a8 | Qualcomm® SA8295P | 50.224 ms | 5 - 11 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 31.312 ms | 7 - 16 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 40.178 ms | 6 - 14 MB | CPU |
| recognizer | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 57.837 ms | 8 - 14 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.
