OCR方向的工程师,肯定有在关注PaddleOCR这个我的项目,其次要举荐的PP-OCR算法更是被国内外企业开发者广泛应用。短短几年工夫,PP-OCR累计Star数量已超过32.2k,频频登上GitHub Trending和Paperswithcode日榜月榜第一,称它为OCR方向目前最火的repo相对不为过。

PaddleOCR主打的PP-OCR系列模型,在去年五月份推出了v3。最近,飞桨AI套件团队针对PP-OCRv3进行了全方位的改良,重磅推出了PP-OCRv4!

从成果上看,速度可比状况下,v4相比v3在多种场景下的精度均有大幅晋升:

  • 中文场景,绝对于PP-OCRv3中文模型晋升超4%。
  • 英文数字场景,相比于PP-OCRv3英文模型晋升6%。
  • 多语言场景,优化80个语种辨认成果,均匀准确率晋升超8%。

PP-OCRv4模型目前已随PaddleOCR 2.7版本正式公布,欢送大家继续关注PaddleOCR~~~

GitHub我的项目地址

https://github.com/PaddlePaddle/PaddleOCR

PP-OCRv4成果速览
让咱们拿后果谈话,多图预警!!!

PP-OCRv4成果速览

英文场景

多语言场景

上面上定量评测后果!

PP-OCRv4在速度可比状况下,中文场景端到端Hmean指标相比于PP-OCRv3晋升4.25%,成果大幅晋升。具体指标如下表所示:

测试环境:CPU型号为Intel Gold 6148,CPU预测时应用OpenVINO。

除了更新中文模型,本次降级也优化了英文数字模型,在自有评估集上文本辨认准确率晋升6%,如下表所示:

同时,也对已反对的80余种语言辨认模型进行了降级更新,在有评估集的四种语系辨认准确率均匀晋升5%以上,如下表所示:

在飞桨AI套件中应用PP-OCRv4

为了不便大家在线体验成果,并且疾速上手PP-OCRv4模型的训练调优和部署,PP-OCRv4目前已上线飞桨AI套件PaddleX!

在线体验推理成果

https://aistudio.baidu.com/projectdetail/6611435

创立本人的PP-OCRv4

https://aistudio.baidu.com/modelsdetail?modelId=286

PaddleX是一站式、全流程、高效率的飞桨AI套件,具备飞桨生态优质模型和产业计划。PaddleX的使命是助力AI技术疾速落地,愿景是使人人成为AI Developer。

PaddleX反对10+工作能力,包含图像分类、指标检测、图像宰割、3D、OCR和时序预测等;内置36 种飞桨生态特色模型,包含PP-ChatOCR、PP-OCRv4、RT-DETR、PP-YOLOE、PP-ShiTu、PP-LiteSeg、PP-TS等。

PaddleX提供“工具箱”和“开发者”两种开发模式,同时反对云端和本地端。工具箱模式能够无代码调优要害超参,开发者模式能够低代码进行单模型训压推和多模型串联推理。

PaddleX将来还将反对联创开发,收益共享!欢送宽广集体开发者和企业开发者参加进来,共创凋敝的AI技术生态!

目前PaddleX正在疾速迭代,欢送大家试用和斧正!

PP-OCRv4十大关键技术点深刻解读

PP-OCRv4整体的框架图放弃了与PP-OCRv3雷同的pipeline,针对检测模型和辨认模型进行了数据、网络结构、训练策略等多个模块的优化。PP-OCRv4零碎框图如下所示:

从算法改良思路上看,别离针对检测和辨认模型,进行了共10个方面的改良:

检测模块

  • PP-LCNetV3:精度更高的骨干网络
  • PFHead:并行head分支交融构造
  • DSR: 训练中动静减少shrink ratio
  • CML:增加Student和Teacher网络输入的KL div loss

辨认模块

  • SVTR_LCNetV3:精度更高的骨干网络
  • Lite-Neck:精简的Neck构造
  • GTC-NRTR:稳固的Attention领导分支
  • Multi-Scale:多尺度训练策略
  • DF: 数据挖掘计划
  • DKD :DKD蒸馏策略

敲黑板了,上面让咱们对这10个技术点进行一一解读。

检测优化

PP-OCRv4检测模型在PP-OCRv3检测模型的根底上,在网络结构,训练策略,蒸馏策略三个方面做了优化。首先,PP-OCRv4检测模型应用PP-LCNetV3替换MobileNetv3,并提出并行分支交融的PFhead构造;其次,训练时动静调整shrink ratio的比例;最初,PP-OCRv4对CML的蒸馏loss进行优化,进一步晋升文字检测成果。

融化试验如下:

测试环境:Intel Gold 6148 CPU,预测引擎应用OpenVINO。

PFhead:多分支交融Head构造

PFhead构造如下图所示,PFHead在通过第一个转置卷积后,别离进行上采样和转置卷积,上采样的输入通过3x3卷积失去输入后果,而后和转置卷积的分支的后果级联并通过1x1卷积层,最初1x1卷积的后果和转置卷积的后果相加失去最初输入的概率图。PP-OCRv4学生检测模型应用PFhead,Hmean从76.22%减少到76.97%。

DSR:膨胀比例动静调整策略

动静shrink ratio(dynamic shrink ratio): 在训练中,shrink ratio由固定值调整为动态变化,随着训练epoch的减少,shrink ratio从0.4线性减少到0.6。该策略在PP-OCRv4学生检测模型上,Hmean从76.97%晋升到78.24%。

PP-LCNetV3:精度更高的骨干网络

PP-LCNetV3系列模型是PP-LCNet系列模型的连续,笼罩了更大的精度范畴,可能适应不同上游工作的须要。PP-LCNetV3系列模型从多个方面进行了优化,提出了可学习仿射变换模块,对重参数化策略、激活函数进行了改良,同时调整了网络深度与宽度。最终,PP-LCNetV3系列模型可能在性能与效率之间达到最佳的均衡,在不同精度范畴内获得极致的推理速度。应用PP-LCNetV3替换MobileNetv3 backbone,PP-OCRv4学生检测模型hmean从78.24%晋升到79.08%。

CML:交融KD的互学习策略

PP-OCRv4检测模型对PP-OCRv3中的CML(Collaborative Mutual Learning) 协同互学习文本检测蒸馏策略进行了优化。如下图所示,在计算Student Model和Teacher Model的distill Loss时,额定增加KL div loss,让两者输入的response maps散布靠近,由此进一步晋升Student网络的精度,检测Hmean从79.08%减少到79.56%,端到端指标从61.31%减少到61.87%。

辨认优化

PP-OCRv3的辨认模块是基于文本辨认算法SVTR优化。SVTR不再采纳RNN构造,通过引入Transformers构造更加无效地开掘文本行图像的上下文信息,从而晋升文本辨认能力。间接将PP-OCRv2的辨认模型,替换成SVTR_Tiny,辨认准确率从74.8%晋升到80.1%(+5.3%),然而预测速度慢了将近11倍,CPU上预测一条文本行,将近100ms。因而,如下图所示,PP-OCRv3采纳如下6个优化策略进行辨认模型减速。

基于上述策略,PP-OCRv4辨认模型相比PP-OCRv3,在速度可比的状况下,精度进一步晋升4%。具体融化试验如下所示:

注:测试速度时,输出图片尺寸均为(3,48,320)。在理论预测时,图像为变长输出,速度会有所变动。测试环境:Intel Gold 6148 CPU,预测时应用OpenVINO预测引擎。

DF:数据挖掘计划

DF(Data Filter) 是一种简略无效的数据挖掘计划。核心思想是利用已有模型预测训练数据,通过置信度和预测后果等信息,对全量数据进行筛选。具体的:首先应用大量数据疾速训练失去一个低精度模型,应用该低精度模型对千万级的数据进行预测,去除置信度大于0.95的样本,该局部被认为是对晋升模型精度有效的冗余数据。其次应用PP-OCRv3作为高精度模型,对残余数据进行预测,去除置信度小于0.15的样本,该局部被认为是难以辨认或品质很差的样本。应用该策略,千万级别训练数据被精简至百万级,显著晋升模型训练效率,模型训练工夫从2周缩小到5天,同时精度晋升至72.7%(+1.2%)。

PP-LCNetV3:精度更优的骨干网络

PP-LCNetV3系列模型是PP-LCNet系列模型的连续,笼罩了更大的精度范畴,可能适应不同上游工作的须要。PP-LCNetV3系列模型从多个方面进行了优化,提出了可学习仿射变换模块,对重参数化策略、激活函数进行了改良,同时调整了网络深度与宽度。最终,PP-LCNetV3系列模型可能在性能与效率之间达到最佳的均衡,在不同精度范畴内获得极致的推理速度。

Lite-Neck:精简参数的Neck构造

Lite-Neck整体构造沿用PP-OCRv3版本,在参数上稍作精简,辨认模型整体的模型大小可从12M升高到8.5M,而精度不变;在CTCHead中,将Neck输入特色的维度从64晋升到120,此时模型大小从8.5M晋升到9.6M,精度晋升0.5%。

GTC-NRTR:Attention领导CTC训练策略

GTC(Guided Training of CTC),是在PP-OCRv3中应用过的策略,交融多种文本特色的表白,可无效晋升文本辨认精度。在PP-OCRv4中应用训练更稳固的Transformer模型NRTR作为领导,相比SAR基于循环神经网络的构造,NRTR基于Transformer实现解码过程泛化能力更强,能无效领导CTC分支学习。解决简略场景下疾速过拟合的问题。模型大小不变,辨认精度晋升至73.21%(+0.5%)。

Multi-Scale:多尺度训练策略

动静尺度训练策略,是在训练过程中随机resize输出图片的高度,以增大模型的鲁棒性。在训练过程中随机抉择(32,48,64)三种高度进行resize,试验证实在测试集上评估精度不掉,在端到端串联推理时,指标能够晋升0.5%。

DKD:蒸馏策略

辨认模型的蒸馏蕴含两个局部,NRTRhead蒸馏和CTCHead蒸馏;

对于NRTR head,应用了DKD loss蒸馏,使学生模型NRTR head输入的logits与老师NRTR head靠近。最终NRTR head的loss是学生与老师间的DKD loss和与ground truth的cross entropy loss的加权和,用于监督学生模型的backbone训练。通过试验,咱们发现退出DKD loss后,计算与ground truth的cross entropy loss时去除label smoothing能够进一步提高精度,因而咱们在这里应用的是不带label smoothing的cross entropy loss。

对于CTCHead,因为CTC的输入中存在Blank位,即便老师模型和学生模型的预测后果一样,二者输入的logits散布也会存在差别,影响老师模型向学生模型的常识传递。PP-OCRv4辨认模型蒸馏策略中,将CTC输入logits沿着文本长度维度计算均值,将多字符识别问题转换为多字符分类问题,用于监督CTC Head的训练。应用该策略交融NRTRhead DKD蒸馏策略,指标从0.7377晋升到0.7545。

在AI Studio在线体验PP-OCRv4的推理成果

https://aistudio.baidu.com/projectdetail/6611435

飞桨AI套件PaddleX中的PP-OCRv4

https://aistudio.baidu.com/modelsdetail?modelId=286

PaddleOCR我的项目地址

https://github.com/PaddlePaddle/PaddleOCR