algorithm_overview.md 12 KB

前沿算法与模型

本文给出了PaddleOCR已支持的OCR算法列表,以及每个算法在英文公开数据集上的模型和指标,主要用于算法简介和算法性能对比,更多包括中文在内的其他数据集上的模型请参考PP-OCRv3 系列模型下载

PaddleOCR将持续新增支持OCR领域前沿算法与模型,欢迎广大开发者合作共建,贡献更多算法,合入有奖🎁!具体可查看社区常规赛

新增算法可参考教程:使用PaddleOCR架构添加新算法

1. 两阶段算法

1.1 文本检测算法

已支持的文本检测算法列表(戳链接获取使用教程):

在ICDAR2015文本检测公开数据集上,算法效果如下:

模型 骨干网络 precision recall Hmean 下载链接
EAST ResNet50_vd 88.71% 81.36% 84.88% 训练模型
EAST MobileNetV3 78.20% 79.10% 78.65% 训练模型
DB ResNet50_vd 86.41% 78.72% 82.38% 训练模型
DB MobileNetV3 77.29% 73.08% 75.12% 训练模型
SAST ResNet50_vd 91.39% 83.77% 87.42% 训练模型
PSE ResNet50_vd 85.81% 79.53% 82.55% 训练模型
PSE MobileNetV3 82.20% 70.48% 75.89% 训练模型
DB++ ResNet50 90.89% 82.66% 86.58% 合成数据预训练模型/训练模型

在Total-text文本检测公开数据集上,算法效果如下:

模型 骨干网络 precision recall Hmean 下载链接
SAST ResNet50_vd 89.63% 78.44% 83.66% 训练模型

在CTW1500文本检测公开数据集上,算法效果如下:

模型 骨干网络 precision recall Hmean 下载链接
FCE ResNet50_dcn 88.39% 82.18% 85.27% 训练模型
DRRG ResNet50_vd 89.92% 80.91% 85.18% 训练模型

说明: SAST模型训练额外加入了icdar2013、icdar2017、COCO-Text、ArT等公开数据集进行调优。PaddleOCR用到的经过整理格式的英文公开数据集下载:

1.2 文本识别算法

已支持的文本识别算法列表(戳链接获取使用教程):

参考DTRB[3]文字识别训练和评估流程,使用MJSynth和SynthText两个文字识别数据集训练,在IIIT, SVT, IC03, IC13, IC15, SVTP, CUTE数据集上进行评估,算法效果如下:

模型 骨干网络 Avg Accuracy 模型存储命名 下载链接
Rosetta Resnet34_vd 79.11% rec_r34_vd_none_none_ctc 训练模型
Rosetta MobileNetV3 75.80% rec_mv3_none_none_ctc 训练模型
CRNN Resnet34_vd 81.04% rec_r34_vd_none_bilstm_ctc 训练模型
CRNN MobileNetV3 77.95% rec_mv3_none_bilstm_ctc 训练模型
StarNet Resnet34_vd 82.85% rec_r34_vd_tps_bilstm_ctc 训练模型
StarNet MobileNetV3 79.28% rec_mv3_tps_bilstm_ctc 训练模型
RARE Resnet34_vd 83.98% rec_r34_vd_tps_bilstm_att 训练模型
RARE MobileNetV3 81.76% rec_mv3_tps_bilstm_att 训练模型
SRN Resnet50_vd_fpn 86.31% rec_r50fpn_vd_none_srn 训练模型
NRTR NRTR_MTB 84.21% rec_mtb_nrtr 训练模型
SAR Resnet31 87.20% rec_r31_sar 训练模型
SEED Aster_Resnet 85.35% rec_resnet_stn_bilstm_att 训练模型
SVTR SVTR-Tiny 89.25% rec_svtr_tiny_none_ctc_en 训练模型
ViTSTR ViTSTR 79.82% rec_vitstr_none_ce 训练模型
ABINet Resnet45 90.75% rec_r45_abinet 训练模型
VisionLAN Resnet45 90.30% rec_r45_visionlan 训练模型
SPIN ResNet32 90.00% rec_r32_gaspin_bilstm_att 训练模型
RobustScanner ResNet31 87.77% rec_r31_robustscanner 训练模型
RFL ResNetRFL 88.63% rec_resnet_rfl_att 训练模型

1.3 文本超分辨率算法

已支持的文本超分辨率算法列表(戳链接获取使用教程):

在TextZoom公开数据集上,算法效果如下:

模型 骨干网络 PSNR_Avg SSIM_Avg 配置文件 下载链接
Text Gestalt tsrn 19.28 0.6560 configs/sr/sr_tsrn_transformer_strock.yml 训练模型
Text Telescope tbsrn 21.56 0.7411 configs/sr/sr_telescope.yml 训练模型

1.4 公式识别算法

已支持的公式识别算法列表(戳链接获取使用教程):

在CROHME手写公式数据集上,算法效果如下:

模型 骨干网络 配置文件 ExpRate 下载链接
CAN DenseNet rec_d28_can.yml 51.72% 训练模型

2. 端到端算法

已支持的端到端OCR算法列表(戳链接获取使用教程):

3. 表格识别算法

已支持的表格识别算法列表(戳链接获取使用教程):

在PubTabNet表格识别公开数据集上,算法效果如下:

模型 骨干网络 配置文件 acc 下载链接
TableMaster TableResNetExtra configs/table/table_master.yml 77.47% 训练模型 / 推理模型

4. 关键信息抽取算法

已支持的关键信息抽取算法列表(戳链接获取使用教程):

在wildreceipt发票公开数据集上,算法复现效果如下:

模型 骨干网络 配置文件 hmean 下载链接
SDMGR VGG6 configs/kie/sdmgr/kie_unet_sdmgr.yml 86.70% 训练模型

在XFUND_zh公开数据集上,算法效果如下:

模型 骨干网络 任务 配置文件 hmean 下载链接
VI-LayoutXLM VI-LayoutXLM-base SER ser_vi_layoutxlm_xfund_zh_udml.yml 93.19% 训练模型
LayoutXLM LayoutXLM-base SER ser_layoutxlm_xfund_zh.yml 90.38% 训练模型
LayoutLM LayoutLM-base SER ser_layoutlm_xfund_zh.yml 77.31% 训练模型
LayoutLMv2 LayoutLMv2-base SER ser_layoutlmv2_xfund_zh.yml 85.44% 训练模型
VI-LayoutXLM VI-LayoutXLM-base RE re_vi_layoutxlm_xfund_zh_udml.yml 83.92% 训练模型
LayoutXLM LayoutXLM-base RE re_layoutxlm_xfund_zh.yml 74.83% 训练模型
LayoutLMv2 LayoutLMv2-base RE re_layoutlmv2_xfund_zh.yml 67.77% 训练模型