开源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

相关推荐
代码AI弗森1 天前
PDF OCR + 大模型:让文档理解不止停留在识字
pdf·ocr
AI人工智能+3 天前
应用银行卡识别技术,构建更安全、便捷的数字身份认证与支付生态
人工智能·ocr·银行卡识别
deephub4 天前
Dots.ocr:告别复杂多模块架构,1.7B参数单一模型统一处理所有OCR任务22
人工智能·深度学习·神经网络·ocr
ccut 第一混4 天前
c#联合Halcon进行OCR字符识别(含halcon-25.05 百度网盘)
c#·ocr·halcon
R-G-B7 天前
【04】OpenCV C++实战篇——实战:发票精准定位,提取指定单元格数据。(倾角计算、旋转矫正、产品定位、目标定位、OCR文字提取)
c++·opencv·ocr·发票精准定位·提取指定单元格数据·倾角计算·旋转矫正
EkihzniY7 天前
单层 PDF 与双层 PDF:一字之差,功能大不同
pdf·ocr
郭庆汝11 天前
本地服务器端部署基于大模型的通用OCR项目——dots.ocr
ocr
EkihzniY13 天前
OCR 精准识别验讫章:让登记与校验更智能
ocr
CodeCraft Studio13 天前
使用 Aspose.OCR 将图像文本转换为可编辑文本
java·人工智能·python·ocr·.net·aspose·ocr工具
TextIn智能文档云平台13 天前
当文档包含图文混排表格时,如何结合大模型(如DeepSeek-VL)和OCR提取数据
人工智能·ocr·大模型文档应用