PaddleOcr

introduction

 
PP-OCR是PaddleOCR自研的实用的超轻量OCR系统。在实现前沿算法的基础上,考虑精度与速度的平衡,进行模型瘦身深度优化,使其尽可能满足产业落地需求。

PP-OCR

PP-OCR是一个两阶段的OCR系统,其中文本检测算法选用DB,文本识别算法选用CRNN,并在检测和识别模块之间添加文本方向分类器,以应对不同方向的文本识别。
PP-OCR系统pipeline如下:
notion image
PP-OCR系统在持续迭代优化,目前已发布PP-OCR和PP-OCRv2两个版本:
PP-OCR从骨干网络选择和调整、预测头部的设计、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身(如绿框所示),最终得到整体大小为3.5M的超轻量中英文OCR和2.8M的英文数字OCR。更多细节请参考PP-OCR技术报告

PP-OCRv2

PP-OCRv2在PP-OCR的基础上,进一步在5个方面重点优化,检测模型采用CML协同互学习知识蒸馏策略和CopyPaste数据增广策略;识别模型采用LCNet轻量级骨干网络、UDML 改进知识蒸馏策略和Enhanced CTC loss损失函数改进(如上图红框所示),进一步在推理速度和预测效果上取得明显提升。更多细节请参考PP-OCRv2技术报告

PP-OCRv3

PP-OCRv3在PP-OCRv2的基础上,针对检测模型和识别模型,进行了共计9个方面的升级:
  • PP-OCRv3检测模型对PP-OCRv2中的CML协同互学习文本检测蒸馏策略进行了升级,分别针对教师模型和学生模型进行进一步效果优化。其中,在对教师模型优化时,提出了大感受野的PAN结构LK-PAN和引入了DML蒸馏策略;在对学生模型优化时,提出了残差注意力机制的FPN结构RSE-FPN。
  • PP-OCRv3的识别模块是基于文本识别算法SVTR优化。SVTR不再采用RNN结构,通过引入Transformers结构更加有效地挖掘文本行图像的上下文信息,从而提升文本识别能力。PP-OCRv3通过轻量级文本识别网络SVTR_LCNet、Attention损失指导CTC损失训练策略、挖掘文字上下文信息的数据增广策略TextConAug、TextRotNet自监督预训练模型、UDML联合互学习策略、UIM无标注数据挖掘方案,6个方面进行模型加速和效果提升。
PP-OCRv3系统pipeline如下:
notion image
 
 

算法列表

飞桨使用二阶段算法
OCR(Optical Character Recognition,光学字符识别) = DBNet检测算法和CRNN识别模型作

PaddleOCR算法列表

目标检测算法中有三个组件:Backbone、Neck和Head:
Backbone,
译作骨干网络,主要指用于特征提取的,已在大型数据集(例如ImageNet|COCO等)上完成预训练,拥有预训练参数的卷积神经网络,例如:ResNet-50、Darknet53等;
Head
译作检测头,主要用于预测目标的种类和位置(bounding boxes)
在Backone和Head之间,会添加一些用于收集不同阶段中特征图的网络层,通常称为
Neck
PaddleOCR中提供了如下文本检测算法和文本识别算法列表,以及每个算法在英文公开数据集上的模型和指标,主要用于算法简介和算法性能对比。
文本检测算法:
模型
骨干网络
precision
recall
Hmean
下载链接
EAST
ResNet50_vd
85.80%
86.71%
86.25%
EAST
MobileNetV3
79.42%
80.64%
80.03%
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%
文本识别算法:
模型
骨干网络
Avg Accuracy
模型存储命名
下载链接
Rosetta
Resnet34_vd
80.9%
rec_r34_vd_none_none_ctc
Rosetta
MobileNetV3
78.05%
rec_mv3_none_none_ctc
CRNN
Resnet34_vd
82.76%
rec_r34_vd_none_bilstm_ctc
CRNN
MobileNetV3
79.97%
rec_mv3_none_bilstm_ctc
StarNet
Resnet34_vd
84.44%
rec_r34_vd_tps_bilstm_ctc
StarNet
MobileNetV3
81.42%
rec_mv3_tps_bilstm_ctc
RARE
MobileNetV3
82.5%
rec_mv3_tps_bilstm_att
RARE
Resnet34_vd
83.6%
rec_r34_vd_tps_bilstm_att
SRN
Resnet50_vd_fpn
88.52%
rec_r50fpn_vd_none_srn
NRTR
NRTR_MTB
84.3%
rec_mtb_nrtr
DB(ResNet50_vd) + CRNN(Resnet34_vd、MobileNetV3)
 
Loading...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP