开源OCR模型对比

引言

目前,开源的项目中有很多 OCR 模型,但是没有一个统一的基准来衡量哪个是更好一些的。

面对这么多的模型,让我们有些不知所措。为此,最近一段时间以来,我一直想要构建这样一个基准,现在来看,已经初步具有雏形。

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

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

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

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

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

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

文本检测模型

评测依赖仓库:

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

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

模型 模型大小 Precision Recall H-mean Speed(s/img)
ch_PP-OCRv4_det_infer.onnx 4.5M 0.8301 0.8659 0.8476 0.2256
ch_PP-OCRv3_det_infer.onnx 2.3M 0.8021 0.8457 0.8234 0.1660
ch_PP-OCRv2_det_infer.onnx 2.2M 0.7579 0.8010 0.7788 0.1570
ch_PP-OCRv4_det_server_infer.onnx 108M 0.7922 0.8533 0.8216 3.9093
ch_ppocr_server_v2.0_det_infer.onnx 47M 0.7298 0.8128 0.7691 0.7419
读光-文字检测-轻量化端侧 DBNet 行检测模型-中英-通用领域 5.8M 0.7666 0.8128 0.7890 0.6636
读光-文字检测-DBNet 行检测模型-中英-通用领域 47.2M 0.7749 0.8167 0.7952 0.4121
读光-文字检测-行检测模型-中英-通用领域 未跑通 312M - - - -

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

推理引擎 模型 模型大小 Precision Recall H-mean Speed(s/img)
rapidocr_onnxruntime==1.3.16 ch_PP-OCRv4_det_infer.onnx 4.5M 0.8301 0.8659 0.8476 0.2256
rapidocr_openvino==1.3.16 ch_PP-OCRv4_det_infer.onnx 4.5M 0.8339 0.8629 0.8481 0.6447
rapidocr_paddle==1.3.18 ch_PP-OCRv4_det_infer.onnx 4.5M 0.8301 0.8659 0.8476 0.9924
文本识别模型

评测依赖仓库:

  • rapidocr_onnxruntime==1.3.16: link
  • 计算指标库 TextRecMetric: link
  • 测试集 text_rec_test_dataset: link
模型 对应 PaddleOCR 分支 模型大小 Exact Match Char Match Speed(s/img)
ch_PP-OCRv4_rec_infer.onnx release/v2.7 10M 0.8323 0.9355 0.6836
ch_PP-OCRv3_rec_infer.onnx release/v2.6 11M 0.7097 0.8919 0.6362
ch_PP-OCRv4_rec_server_infer.onnx release/v2.7 86M 0.7968 0.9381 0.6967
ch_PP-OCRv2_rec_infer.onnx release/v2.3 8.0M 0.6387 0.8398 0.6138
ch_ppocr_mobile_v2.0_rec_infer.onnx release/v2.0 4.3M 0.5323 0.7823 0.5575
读光-文字识别-行识别模型-中英-文档印刷体文本领域 - 73M 0.5968 0.7705 -
读光-文字识别-行识别模型-中英-通用领域 - 73M 0.5839 0.7615 -
读光-文字识别-行识别模型-中英-自然场景文本领域 - 73M 0.5903 0.7779 -
读光-文字识别-轻量化端侧识别模型-中英-通用领域 - 7.4M 0.5484 0.7515 -
读光-文字识别-CRNN 模型-中英-通用领域 - 46M 0.5935 0.7671 -
OFA 文字识别-中文-通用场景-base 未跑通 - - - - -

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

推理引擎 模型 模型大小 Exact Match Char Match Speed(s/img)
rapidocr_onnxruntime==1.3.16 ch_PP-OCRv4_rec_infer.onnx 10M 0.8323 0.9355 0.6836
rapidocr_openvino==1.3.16 ch_PP-OCRv4_rec_infer.onnx 10M 0.8323 0.9355 0.6836
rapidocr_paddle==1.3.18 ch_PP-OCRv4_rec_infer.onnx 10M 0.8323 0.9355 0.6836
  • 输入 Shape:

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

    python 复制代码
    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],
    )

后续更新,请移步:link

相关推荐
沉到海底去吧Go10 小时前
【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
数据库·qt·ocr·图片识别自动改名·图片区域识别改名·pdf识别改名
开开心心就好1 天前
高效Excel合并拆分软件
开发语言·javascript·c#·ocr·排序算法·excel·最小二乘法
沉到海底去吧Go2 天前
【行驶证识别成表格】批量OCR行驶证识别与Excel自动化处理系统,行驶证扫描件和照片图片识别后保存为Excel表格,基于QT和华为ocr识别的实现教程
自动化·ocr·excel·行驶证识别·行驶证识别表格·批量行驶证读取表格
撞南墙者2 天前
如何让AI自己检查全文?使用OCR和LLM实现自动“全文校订”(可DIY校订规则)
人工智能·ocr
沉到海底去吧Go4 天前
【图片识别改名】如何批量将图片按图片上文字重命名?自动批量识别图片文字并命名,基于图片文字内容改名,WPF和京东ocr识别的解决方案
ocr·wpf·图片识别改名·图片识别重命名·图片内容改名
TextIn智能文档云平台4 天前
从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?
人工智能·自然语言处理·ocr·pdf解析·textin·复杂文档解析
mulannanlu5 天前
免费开源Umi-OCR,离线使用,批量精准!
ocr
凌康ACG5 天前
易语言使用OCR
c++·yolo·c#·ocr·易语言
开开心心就好6 天前
小巧实用,Windows文件夹着色软件推荐
java·开发语言·前端·决策树·c#·ocr·动态规划
郑知鱼7 天前
【拥抱鸿蒙】HarmonyOS NEXT实现双路预览并识别文字
华为·ocr·harmonyos·鸿蒙·移动端·鸿蒙next·ohos