• 将PaddleOCR 转为 ONNX 运行


    PaddleOCR 是目前最好的开源OCR框架, 但paddle框架的兼容性实在不怎么好, 部署的时候容易出现各种各样的问题. 如果能把PaddleOCR转成ONNX, 就可以跳过paddle框架坑的同时, 又可以白嫖PaddleOCR的强大检测性能.

    本文会介绍一下, 如何把最新的PP_OCRv4模型转成onxx格式, 并正确运行.

     

    步骤1: PaddleOCR模型转ONNX

    1. 原始网络权重下载
      在PaddleOCR的项目主页 https://github.com/PaddlePaddle/PaddleOCR 下载最新的v4版检测与识别模型.

    2. 模型权重转ONNX
      用pip安装PaddlePaddle到ONNX的模型转换工具: https://github.com/PaddlePaddle/Paddle2ONNX.
      参照如下命令转换paddle格式模型到ONNX格式.

      awk
      paddle2onnx --model_dir /mnt/d/Downloads/202406/paddelocr/pp/ch_PP-OCRv4_det_infer/ --model_filename inference.pdmodel --params_filename inference.pdiparams --opset_version 11 --save_file /mnt/d/Downloads/202406/paddelocr/onnx/ch_PP-OCRv4_det_infer.onnx
      
      paddle2onnx --model_dir /mnt/d/Downloads/202406/paddelocr/pp/ch_PP-OCRv4_rec_infer/ --model_filename inference.pdmodel --params_filename inference.pdiparams --opset_version 11 --save_file /mnt/d/Downloads/202406/paddelocr/onnx/ch_PP-OCRv4_rec_infer.onnx

       

       

    步骤2: ONNX推理运行

    转换格式成功后得到的ONNX模型可以进行推理。若要用于识别任务,还需补充输入图片的预处理和检测结果的输出等外围数据处理步骤。

    https://github.com/jingsongliujing/OnnxOCR

    该项目基于转换后的ppocr_server_v2.0模型,已经完成了文本识别所需的外围数据处理部分。

    经过测试,pp_ocr系列模型的预处理和后处理部分是通用的。只需在此代码基础上集成转换好的ONNX模型即可。

    https://github.com/CKboss/pp_onnx

    这是基于原项目fork后的修改版,支持运行PP_OCRv4,并能调用v4版本的det和rec OCR模型。旋转检测部分的cls模型保持不变,仍使用server_v2.0版本。此外,还修改了可能导致引用冲突的包名和部分模型输入参数。

     

    注:

    转换为ONNX格式后的模型精度损失情况尚不明确,但从简单的demo来看,模型能够正常进行推理。


    __EOF__

  • 本文作者: 酱_油 aka JiangOil
  • 本文链接: https://www.cnblogs.com/jiangoil/p/18268771
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    读C++ Primer有感
    c++ Makefile clion ide remote构建
    电脑技巧:推荐一款桌面增强工具AquaSnap
    SpringBoot 整合RabbitMQ 之延迟队列实验
    电商数据采集,用电商API帮你!(淘宝拼多多京东1688Lazada)
    人工智能与建筑设计未来,人工智能建筑设计方案
    【一天一个设计模式】—— 单例模式
    vue3 + vite3 addRoute 实现权限管理系统
    01-国产MCU兆易GD32实现矩阵按键扫描
    http2 mTLS代理搭建与远程端口转发(gost)
  • 原文地址:https://www.cnblogs.com/JiangOil/p/18268771