OCR方向的工程师,之前一定听说过PaddleOCR这个项目。
PaddleOCR影响力动图
PP-OCRv3效果动图[1]
发布超轻量OCR系统PP-OCRv3:中英文、纯英文以及多语言场景精度再提升5% - 11%!
发布半自动标注工具PPOCRLabelv2:新增表格文字图像、图像关键信息抽取任务和不规则文字图像的标注功能。
发布OCR产业落地工具集:打通22种训练部署软硬件环境与方式,覆盖企业90%的训练部署环境需求。
发布业界首个交互式OCR开源电子书《动手学OCR》:覆盖OCR全栈技术的前沿理论与代码实践,并配套教学视频。
下面我们就对上述升级依次进行说明。
PP-OCR是PaddleOCR团队自研的超轻量OCR系统,面向OCR产业应用,权衡精度与速度。近期,PaddleOCR团队针对PP-OCRv2的检测模块和识别模块,进行共计9个方面的升级,打造出一款全新的、效果更优的超轻量OCR系统:PP-OCRv3。
中文场景,相比PP-OCRv2,中文模型提升超5%;
英文数字场景,相比PP-OCRv2,英文数字模型提升11%;
多语言场景,优化80+语种识别效果,平均准确率提升超5%。
1.检测模块
LK-PAN:大感受野的PAN结构
DML:教师模型互学习策略
RSE-FPN:残差注意力机制的FPN结构
2.识别模块
GTC:Attention指导CTC训练策略
TextConAug:挖掘文字上下文信息的数据增广策略
TextRotNet:自监督的预训练模型
UDML:联合互学习策略
UIM:无标注数据挖掘方案
优化策略具体解读见文末。
PPOCRLabelv2多项重磅更新
新增标注类型:表格标注、关键信息标注、不规则文字图像的标注(印章、弯曲文本等)
新增功能:锁定框、图像旋转、数据集划分、批量处理等
易用性提升:新增whl包安装、以及优化多处标注体验
OCR产业落地工具集
1.分布式训练
2.模型压缩
3.服务化部署
4.移动端/边缘端部署
5.云上飞桨
《动手学OCR》电子书
覆盖从文本检测识别到文档分析的OCR全栈技术
紧密结合理论实践,跨越代码实现鸿沟,并配套教学视频
Notebook交互式学习,灵活修改代码,即刻获得结果
加入PaddleOCR
技术交流群
入群福利
2. 获取PaddleOCR团队整理的10G重磅OCR学习大礼包,包括:
《动手学OCR》电子书,配套讲解视频和notebook项目
66篇OCR相关顶会前沿论文打包放送,包括CVPR、AAAI、IJCAI、ICCV等
PaddleOCR历次发版直播课视频
OCR社区优秀开发者项目分享视频
入群方式
SETP1:微信扫描二维码,填写问卷
SETP2:加入交流群领取福利
更多阅读
官网地址:https://www.paddlepaddle.org.cn
PaddleOCR项目地址:
GitHub: https://github.com/PaddlePaddle/PaddleOCR
Gitee: https://gitee.com/paddlepaddle/PaddleOCR
PP-OCRv3优化策略具体解读
1.检测模块优化策略
LK-PAN (Large Kernel PAN) 是一个具有更大感受野的轻量级PAN结构,核心是将PAN结构的path augmentation中卷积核从3*3改为9*9。通过增大卷积核,提升特征图每个位置覆盖的感受野,更容易检测大字体的文字以及极端长宽比的文字。使用LK-PAN结构,可以将教师模型的hmean从83.2%提升到85.0%。
DML 互学习蒸馏方法,通过两个结构相同的模型互相学习,可以有效提升文本检测模型的精度。教师模型采用DML策略, hmean从85%提升到86%。将PP-OCRv2中CML的教师模型更新为上述更高精度的教师模型,学生模型的hmean可以进一步从83.2%提升到84.3%。
RSE-FPN(ResidualSqueeze-and-Excitation FPN)引入残差结构和通道注意力结构,将FPN中的卷积层更换为带有残差结构的通道注意力结构的RSEConv层,进一步提升特征图的表征能力。进一步将PP-OCRv2中CML的学生模型的FPN结构更新为RSE-FPN,学生模型的hmean可以进一步从84.3%提升到85.4%。
2.识别模块优化策略
注:测试速度时,实验01-03输入图片尺寸均为(3,32,320),04-08输入图片尺寸均为(3,48,320)。在实际预测时,图像为变长输入,速度会有所变化。测试环境:Intel Gold 6148 CPU,预测时开启MKLDNN加速。
SVTR_LCNet是针对文本识别任务,将Transformer网络和轻量级CNN网络PP-LCNet 融合的一种轻量级文本识别网络。使用该网络,并且将输入图片规范化高度从32提升到48,预测速度可比情况下,识别准确率达到73.98%,接近PP-OCRv2采用蒸馏策略的识别模型效果。
GTC(Guided Training of CTC),利用Attention模块以及损失,指导CTC损失训练,融合多种文本特征的表达,是一种有效的提升文本识别的策略。使用该策略,识别模型的准确率进一步提升到75.8%(+1.82%)。
TextConAug是一种挖掘文字上下文信息的数据增广策略,可以丰富训练数据上下文信息,提升训练数据多样性。使用该策略,识别模型的准确率进一步提升到76.3%(+0.5%)。
TextRotNet是使用大量无标注的文本行数据,通过自监督方式训练的预训练模型。该模型可以初始化SVTR_LCNet的初始权重,从而帮助文本识别模型收敛到更佳位置。使用该策略,识别模型的准确率进一步提升到76.9%(+0.6%)。
UDML(Unified-Deep Mutual Learning)联合互学习是PP-OCRv2中就采用的对于文本识别非常有效的提升模型效果的策略。在PP-OCRv3中,针对两个不同的SVTR_LCNet和Attention结构,对他们之间的PP-LCNet的特征图、SVTR模块的输出和Attention模块的输出同时进行监督训练。使用该策略,识别模型的准确率进一步提升到78.4%(+1.5%)。
UIM(Unlabeled Images Mining)是一种非常简单的无标注数据挖掘方案。核心思想是利用高精度的文本识别大模型对无标注数据进行预测,获取伪标签,并且选择预测置信度高的样本作为训练数据,用于训练小模型。使用该策略,识别模型的准确率进一步提升到79.4%(+1%)。
在多语言场景,基于PP-OCRv3训练的模型,在有评估集的四种语系,相比于PP-OCRv2,识别准确率平均提升5%以上,如下表所示。同时,PaddleOCR团队基于PP-OCRv3更新了已支持的80余种语言识别模型。
关注【飞桨PaddlePaddle】公众号
获取更多技术内容~