| --- |
| license: apache-2.0 |
| library_name: onnx |
| pipeline_tag: image-to-text |
| tags: |
| - ocr |
| - paddleocr |
| - onnx |
| - computer-vision |
| - text-detection |
| - text-recognition |
| - multilingual |
| datasets: |
| - community-datasets |
| language: |
| - en |
| - zh |
| - multilingual |
| widget: |
| - src: https://huggingface.co/datasets/mishig/sample_images/resolve/main/tiger.jpg |
| example_title: Sample OCR |
| --- |
| |
| # PaddleOCR ONNX Models |
|
|
| π₯ **ONNX format models converted from PaddleOCR for easy deployment and testing** |
|
|
| ## π Model Description |
|
|
| This repository contains ONNX format models converted from [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR), a practical ultra-lightweight OCR system. These models are optimized for production deployment and cross-platform compatibility. |
|
|
| ## π¦ Model Files |
|
|
| | File Name | Size | Description | |
| |-----------|------|-------------| |
| | `PP-OCRv5_server_det_infer.onnx` | 84MB | Text detection model - locates text regions in images | |
| | `PP-OCRv5_server_rec_infer.onnx` | 81MB | Text recognition model - recognizes text content | |
| | `UVDoc_infer.onnx` | 30MB | Document rectification model - corrects document perspective | |
| | `PP-LCNet_x1_0_doc_ori_infer.onnx` | 6.5MB | Document orientation detection | |
| | `PP-LCNet_x1_0_textline_ori_infer.onnx` | 6.5MB | Text line orientation detection | |
| | `PP-OCRv5_server_rec_infer.yml` | 145KB | Recognition model configuration file | |
|
|
| **Total Size:** ~208MB |
|
|
| ## π Quick Start |
|
|
| ### Installation |
|
|
| ```bash |
| pip install huggingface_hub onnxruntime |
| ``` |
|
|
| ### Download Models |
|
|
| ```python |
| from huggingface_hub import hf_hub_download |
| import os |
| |
| def download_paddleocr_models(): |
| """Download all PaddleOCR ONNX models""" |
| model_files = [ |
| "PP-OCRv5_server_det_infer.onnx", |
| "PP-OCRv5_server_rec_infer.onnx", |
| "UVDoc_infer.onnx", |
| "PP-LCNet_x1_0_doc_ori_infer.onnx", |
| "PP-LCNet_x1_0_textline_ori_infer.onnx", |
| "PP-OCRv5_server_rec_infer.yml" |
| ] |
| |
| cache_dir = "models" |
| os.makedirs(cache_dir, exist_ok=True) |
| |
| for file in model_files: |
| print(f"Downloading {file}...") |
| hf_hub_download( |
| repo_id="marsena/paddleocr-test", |
| filename=file, |
| local_dir=cache_dir |
| ) |
| print("All models downloaded!") |
| |
| # Download models |
| download_paddleocr_models() |
| ``` |
|
|
| ### Basic Usage |
|
|
| ```python |
| import onnxruntime as ort |
| import numpy as np |
| from PIL import Image |
| |
| # Load detection model |
| det_session = ort.InferenceSession("models/PP-OCRv5_server_det_infer.onnx") |
| |
| # Load recognition model |
| rec_session = ort.InferenceSession("models/PP-OCRv5_server_rec_infer.onnx") |
| |
| # Your OCR pipeline implementation here... |
| ``` |
|
|
| ## π·οΈ Model Tags |
|
|
| - **Framework:** ONNX |
| - **Task:** Computer Vision, OCR |
| - **Language:** Multi-language support |
| - **Domain:** Text Detection, Text Recognition |
|
|
| ## π§ Technical Details |
|
|
| ### Conversion Process |
|
|
| These models were converted from PaddlePaddle format to ONNX format for broader compatibility: |
|
|
| 1. **Source:** Original PaddleOCR models from PaddlePaddle Hub |
| 2. **Conversion:** PaddlePaddle β ONNX format |
| 3. **Optimization:** Model optimization for inference speed |
| 4. **Validation:** Output consistency verification |
|
|
| ### System Requirements |
|
|
| - **Runtime:** ONNX Runtime |
| - **Python:** 3.7+ |
| - **Memory:** Minimum 2GB RAM recommended |
| - **Platform:** Cross-platform (Windows, Linux, macOS) |
|
|
| ## π License |
|
|
| This project follows the **Apache 2.0 License**, consistent with the original PaddleOCR project. |
|
|
| ### Original PaddleOCR License |
|
|
| ``` |
| Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ``` |
|
|
| ## π Acknowledgments |
|
|
| - **Original Project:** [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) by PaddlePaddle Team |
| - **Framework:** [PaddlePaddle](https://github.com/PaddlePaddle/Paddle) |
| - **Conversion Tools:** ONNX ecosystem |
|
|
| ## π Citation |
|
|
| If you use these models in your research, please cite the original PaddleOCR paper: |
|
|
| ```bibtex |
| @misc{paddleocr2020, |
| title={PaddleOCR: Awesome multilingual OCR toolkits}, |
| author={PaddlePaddle Authors}, |
| year={2020}, |
| howpublished={\url{https://github.com/PaddlePaddle/PaddleOCR}} |
| } |
| ``` |
|
|
| ## β Issues & Support |
|
|
| For issues related to: |
| - **Model conversion:** Create an issue in this repository |
| - **Original PaddleOCR:** Visit [PaddleOCR Issues](https://github.com/PaddlePaddle/PaddleOCR/issues) |
| - **ONNX Runtime:** Visit [ONNX Runtime Issues](https://github.com/microsoft/onnxruntime/issues) |
|
|
| --- |
|
|
| **Note:** This is a community contribution for easier deployment of PaddleOCR models. For production use, please ensure compliance with your specific requirements and test thoroughly. |