开源OCR模型对比
本文主要给出了常见开源文本检测和文本识别模型的对比和评测,给大家一个使用参考。
引言¶
目前,开源的项目中有很多OCR模型,但是没有一个统一的基准来衡量哪个是更好一些的。
面对这么多的模型,让我们有些不知所措。为此,最近一段时间以来,我一直想要构建这样一个基准。现在来看,已经初步具有雏形。
为了能更好地评测各个模型效果,收集标注了两个开源评测集:
为了能够方便计算各个模型指标,整理开源了两个计算常用指标的库:
以下结果均是基于以上4个库来的,其指标结果仅仅代表在指定评测集上效果,不代表在其他测试集上结果也是如此,仅供参考。
以下表格中推理时间是基于MacBook Pro M2运行所得,不同机器会有差别,请侧重查看彼此之间的比较。
指标计算都是在相同参数下计算得来,差别仅在于模型文件不同。
对应模型下载地址,参见:link。
已知开源OCR项目¶
文本检测模型¶
评测依赖仓库:
详情可以移步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 |
文本识别模型¶
评测依赖仓库:
模型 | 对应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]
- v2:
-
不同模型,实例化示例如下: