基于python部署paddleocrv5的onnx模型PPOCRv5模型部署源码+onnx模型+使用说明

1. 项目简介

本项目是 PaddleOCRv5 的 ONNX 版本实现,具有以下特点:

  • 支持简体中文、繁体中文、中文拼音、英文和日文识别
  • 无需深度学习训练框架,可直接部署使用
  • 支持 ARM 和 x86 架构
  • 高性能推理,识别速度快
  • 识别精度与 PaddleOCR 保持一致

2. 环境要求

  • Python >= 3.8
  • CUDA 支持(如果使用 GPU 版本,需要GPU版本onnxruntime和对应cuda安装)
  • 足够的磁盘空间(建议至少 2GB 可用空间)

3. 详细安装步骤

3.1 基础环境准备

  1. 确保已安装 Python 3.8 或更高版本
  2. 建议使用虚拟环境(可选但推荐):
    # 创建虚拟环境
    python -m venv paddleocr_env
    
    # Windows 激活虚拟环境
    .\paddleocr_env\Scripts\activate
    
    # Linux/Mac 激活虚拟环境
    source paddleocr_env/bin/activate
    

3.2 安装依赖包

安装依赖包:

pip install requirements.txt

3.3 模型文件准备

项目提供两种模型版本:

  1. Mobile 版本(默认)

    • 已包含在项目中,位于 onnxocr/models/ppocrv5 目录下
    • 无需额外下载
  2. Server 版本(推荐,效果更好,但是推理时间会变长)

4. 使用说明

4.1 快速测试

首先到gitee.com/FIRC/fircfiles/blob/master/ppocrv5.md获取代码,然后按照使用说明安装好环境,注意onnxruntime版本和是否需要GPU版本支持
运行测试脚本在当前目录会生成一个result.jpg即可查看效果:

python demo_ocr.py
使用 Python 调用:
import time
from onnxocr.ppocr_onnx import PaddleOCROnnx,SaveOCResult
import sys
import time
ocr_engine = PaddleOCROnnx(use_angle_cls=True, use_gpu=False)
img = cv2.imread('./test.jpg')
start = time.time()
result = ocr_engine.ocr(img)
end = time.time()
print("ocr time: {:.3f}".format(end - start))
print("result is:", result)
for box in result[0]:
    print(box)

SaveOCResult(img, result,'result.jpg')

测试结果:
在这里插入图片描述

5. 常见问题

  1. GPU 相关问题

    • 确保已正确安装 CUDA 和 cuDNN
    • 检查 onnxruntime-gpu 版本是否与 CUDA 版本匹配
  2. 内存不足

    • 如果遇到内存不足,建议使用 Mobile 版本模型
    • 可以调整批处理大小来减少内存使用
  3. 识别效果不理想

    • 尝试使用 Server 版本模型
    • 确保图片清晰度足够
    • 检查图片是否包含支持的语言类型

6. 性能优化建议

  1. 使用 GPU 版本可以获得更好的性能
  2. 对于批量处理,建议使用批处理模式
  3. 可以根据实际需求调整模型参数
  4. 对于特定场景,可以考虑使用模型量化来提升性能

7. 技术支持

如果遇到问题,可以:

  1. 查看项目文档
  2. 检查常见问题解答

8. 源码特点

  • 使用PP-OCRv5 模型
  • 支持 5 种文字类型识别
  • 识别精度比v4及其版本提升 13%
  • 与 PaddleOCR 3.0 精度保持一致

你可能感兴趣的:(深度学习,python,开发语言)