当前位置:   article > 正文

开源OCR模型对比

开源OCR模型对比

引言

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

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

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

以下结果均是基于以上 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/477090
推荐阅读
相关标签
  

闽ICP备14008679号