码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 开源OCR模型对比


    引言

    目前,开源的项目中有很多 OCR 模型,但是没有一个统一的基准来衡量哪个是更好一些的。
    面对这么多的模型,让我们有些不知所措。为此,最近一段时间以来,我一直想要构建这样一个基准,现在来看,已经初步具有雏形。

    为了能更好地评测各个模型效果,收集标注了两个开源评测集:

    • text_det_test_dataset
    • text_rec_test_dataset

    为了能够方便计算各个模型指标,整理开源了两个计算常用指标的库:

    • TextDetMetric
    • TextRecMetric

    以下结果均是基于以上 4 个库来的,其指标结果仅仅代表在指定评测集上效果,不代表在其他测试集上结果也是如此,仅供参考。

    以下表格中推理时间是基于 MacBook Pro M2 运行所得,不同机器会有差别,请侧重查看彼此之间的比较。

    指标计算都是在相同参数下计算得来,差别仅在于模型文件不同。

    对应模型下载地址,参见:link。

    文本检测模型

    评测依赖仓库:

    • rapidocr_onnxruntime==1.3.16: link
    • 计算指标库 TextDetMetric: link
    • 测试集 text_det_test_dataset: link

    详情可以移步AI Studio运行查看。

    模型模型大小PrecisionRecallH-meanSpeed(s/img)
    ch_PP-OCRv4_det_infer.onnx4.5M0.83010.86590.84760.2256
    ch_PP-OCRv3_det_infer.onnx2.3M0.80210.84570.82340.1660
    ch_PP-OCRv2_det_infer.onnx2.2M0.75790.80100.77880.1570
    ch_PP-OCRv4_det_server_infer.onnx108M0.79220.85330.82163.9093
    ch_ppocr_server_v2.0_det_infer.onnx47M0.72980.81280.76910.7419
    读光-文字检测-轻量化端侧 DBNet 行检测模型-中英-通用领域5.8M0.76660.81280.78900.6636
    读光-文字检测-DBNet 行检测模型-中英-通用领域47.2M0.77490.81670.79520.4121
    读光-文字检测-行检测模型-中英-通用领域 未跑通312M----

    不同推理引擎下,效果比较:

    推理引擎模型模型大小PrecisionRecallH-meanSpeed(s/img)
    rapidocr_onnxruntime==1.3.16ch_PP-OCRv4_det_infer.onnx4.5M0.83010.86590.84760.2256
    rapidocr_openvino==1.3.16ch_PP-OCRv4_det_infer.onnx4.5M0.83390.86290.84810.6447
    rapidocr_paddle==1.3.18ch_PP-OCRv4_det_infer.onnx4.5M0.83010.86590.84760.9924
    文本识别模型

    评测依赖仓库:

    • rapidocr_onnxruntime==1.3.16: link
    • 计算指标库 TextRecMetric: link
    • 测试集 text_rec_test_dataset: link
    模型对应 PaddleOCR 分支模型大小Exact MatchChar MatchSpeed(s/img)
    ch_PP-OCRv4_rec_infer.onnxrelease/v2.710M0.83230.93550.6836
    ch_PP-OCRv3_rec_infer.onnxrelease/v2.611M0.70970.89190.6362
    ch_PP-OCRv4_rec_server_infer.onnxrelease/v2.786M0.79680.93810.6967
    ch_PP-OCRv2_rec_infer.onnxrelease/v2.38.0M0.63870.83980.6138
    ch_ppocr_mobile_v2.0_rec_infer.onnxrelease/v2.04.3M0.53230.78230.5575
    读光-文字识别-行识别模型-中英-文档印刷体文本领域-73M0.59680.7705-
    读光-文字识别-行识别模型-中英-通用领域-73M0.58390.7615-
    读光-文字识别-行识别模型-中英-自然场景文本领域-73M0.59030.7779-
    读光-文字识别-轻量化端侧识别模型-中英-通用领域-7.4M0.54840.7515-
    读光-文字识别-CRNN 模型-中英-通用领域-46M0.59350.7671-
    OFA 文字识别-中文-通用场景-base 未跑通-----

    不同推理引擎下,效果比较:

    推理引擎模型模型大小Exact MatchChar MatchSpeed(s/img)
    rapidocr_onnxruntime==1.3.16ch_PP-OCRv4_rec_infer.onnx10M0.83230.93550.6836
    rapidocr_openvino==1.3.16ch_PP-OCRv4_rec_infer.onnx10M0.83230.93550.6836
    rapidocr_paddle==1.3.18ch_PP-OCRv4_rec_infer.onnx10M0.83230.93550.6836
    • 输入 Shape:

      • v2: [3, 32, 320]
      • v3~v4: [3, 48, 320]
    • 不同模型,实例化示例如下:

      from rapidocr_onnxruntime import RapidOCR
      
      # v3 or v4
      engine = RapidOCR(
        rec_model_path="models/ch_PP-OCRv3_rec_infer.onnx",
      )
      
      # v2
      engine = RapidOCR(
        rec_model_path="models/ch_ppocr_mobile_v2.0_rec_infer.onnx",
        rec_img_shape=[3, 32, 320],
      )
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12

    后续更新,请移步:link

  • 相关阅读:
    如何使用Chrome直接编辑前端代码
    Linux 进程线程
    大数据技术之Hadoop:Yarn集群部署(七)
    Java基础面试-重载和重写的区别
    opencv4.5.5安装的坑
    x264中的哈德玛变换
    SOA(面向服务架构)是什么?
    javaWeb项目中:连接mysql的驱动问题
    c面向对象编码风格(上)
    SpringCloudAlibaba 微服务组件 Nacos 之配置中心源码深度解析
  • 原文地址:https://blog.csdn.net/shiwanghualuo/article/details/137843554
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号