前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >20000+Star超轻量OCR系统PP-OCRv3效果再提升5% - 11%!

20000+Star超轻量OCR系统PP-OCRv3效果再提升5% - 11%!

作者头像
用户1386409
发布于 2022-08-31 09:04:31
发布于 2022-08-31 09:04:31
8730
举报
文章被收录于专栏:PaddlePaddlePaddlePaddle

OCR方向的工程师,之前一定听说过PaddleOCR这个项目。

  • 项目累计Star数量已超过20000+;
  • 频频登上GitHub Trending和Paperswithcode 日榜月榜第一;
  • 在Medium与Papers withCode 联合评选的《Top Trending Libraries of 2021》,从百万量级项目中脱颖而出,荣登Top10!
  • 在《2021中国开源年度报告》中被评为活跃度Top5!

PaddleOCR影响力动图

PP-OCRv3效果动图[1]

本次PaddleOCR最新发版,带来四大重磅升级,包括:

  • 发布超轻量OCR系统PP-OCRv3:中英文、纯英文以及多语言场景精度再提升5% - 11%!
  • 发布半自动标注工具PPOCRLabelv2:新增表格文字图像、图像关键信息抽取任务和不规则文字图像的标注功能。
  • 发布OCR产业落地工具集:打通22种训练部署软硬件环境与方式,覆盖企业90%的训练部署环境需求。
  • 发布业界首个交互式OCR开源电子书《动手学OCR》:覆盖OCR全栈技术的前沿理论与代码实践,并配套教学视频。

// PaddleOCR最新发版传送门 //

点击文末阅读原文一键GET!

https://github.com/PaddlePaddle/PaddleOCR

下面我们就对上述升级依次进行说明。

PP-OCRv3优化策略解读

PP-OCR是PaddleOCR团队自研的超轻量OCR系统,面向OCR产业应用,权衡精度与速度。近期,PaddleOCR团队针对PP-OCRv2的检测模块和识别模块,进行共计9个方面的升级,打造出一款全新的、效果更优的超轻量OCR系统:PP-OCRv3。

从效果上看,速度可比情况下,多种场景精度均有大幅提升

  • 中文场景,相比PP-OCRv2,中文模型提升超5%;
  • 英文数字场景,相比PP-OCRv2,英文数字模型提升11%;
  • 多语言场景,优化80+语种识别效果,平均准确率提升超5%。

全新升级的PP-OCRv3的整体框架图(粉色框中为PP-OCRv3新增策略)如下图。检测模块仍基于DB算法优化;而识别模块不再采用CRNN,更新为IJCAI 2022最新收录的文本识别算法SVTR (论文名称:SVTR: Scene Text Recognition with a SingleVisual Model),并对其进行产业适配。

具体的优化策略包括以下几点:

1.检测模块

  • LK-PAN:大感受野的PAN结构
  • DML:教师模型互学习策略
  • RSE-FPN:残差注意力机制的FPN结构

2.识别模块

  • SVTR_LCNet:轻量级文本识别网络
  • GTC:Attention指导CTC训练策略
  • TextConAug:挖掘文字上下文信息的数据增广策略
  • TextRotNet:自监督的预训练模型
  • UDML:联合互学习策略
  • UIM:无标注数据挖掘方案

优化策略具体解读见文末。

PPOCRLabelv2多项重磅更新

PPOCRLabel是首款开源的OCR半自动数据标注工具,大幅减少开发者标注OCR数据的时间。2021年,项目获得Wave Summit 2021优秀开源项目奖、启智社区优秀项目奖。经过一年的更新迭代,PPOCRLabel结合产业实际落地需求,正式发布PPOCRLabelv2,更新内容如下:

  • 新增标注类型:表格标注、关键信息标注、不规则文字图像的标注(印章、弯曲文本等)
  • 新增功能:锁定框、图像旋转、数据集划分、批量处理等
  • 易用性提升:新增whl包安装、以及优化多处标注体验

表格标注动图、KIE标注动图、不规则文字图像的标注动图、图像旋转、批处理、撤销

OCR产业落地工具集

考虑到真实产业应用面对的各种软硬件环境和不同的场景需求,基于飞桨训推一体的功能完备,本次升级发布OCR产业落地工具集,打通22种训练部署软硬件环境与方式,包括3种训练方式、6种训练环境、3种模型压缩策略、和10种推理部署方式,如下表所示:

其中特色能力如下:

1.分布式训练

飞桨分布式训练架构具备4D混合并行、端到端自适应分布式训练等多项特色技术。在PP-OCRv3识别模型训练中,4机加速比达到3.52倍,精度几乎无损。

2.模型压缩

飞桨模型压缩工具PaddleSlim功能完备,覆盖模型裁剪、量化、蒸馏和NAS。PP-OCR模型经过裁剪量化后,模型大小从8.1M压缩至3.5M,移动端平均预测耗时减少36%。

3.服务化部署

飞桨服务化部署引擎PaddleServing,提供性能优越、功能可靠的模型集服务能力。针对PP-OCR模型的服务化部署,采用全异步的Pipeline Serving,可将吞吐量提升2倍以上。

4.移动端/边缘端部署

飞桨轻量化推理引擎Paddle Lite适配了20+ AI 加速芯片,可以快速实现OCR模型在移动设备、嵌入式设备和IOT设备等高效设备的部署。

5.云上飞桨

面向飞桨框架及其模型套件的部署工具箱,支持Docker 化部署和 Kubernetes 集群部署两种方式,满足不同场景与环境下OCR模型的训练部署需求。

《动手学OCR》电子书

《动手学OCR》是PaddleOCR团队携手华中科技大学博导/教授,IAPR Fellow 白翔、复旦大学青年研究员陈智能、中国移动研究院视觉领域资深专家黄文辉、中国工商银行大数据人工智能实验室研究员等产学研同仁,以及OCR开发者共同打造的结合OCR前沿理论与代码实践的教材。主要特色如下:

  • 覆盖从文本检测识别到文档分析的OCR全栈技术
  • 紧密结合理论实践,跨越代码实现鸿沟,并配套教学视频
  • Notebook交互式学习,灵活修改代码,即刻获得结果

大家如果觉得不错,建议访问GitHub

点个star关注收藏~

https://github.com/PaddlePaddle/PaddleOCR

更多阅读

  • 官网地址:https://www.paddlepaddle.org.cn
  • PaddleOCR项目地址: GitHub: https://github.com/PaddlePaddle/PaddleOCR Gitee: https://gitee.com/paddlepaddle/PaddleOCR
  • 注:[1] 测试样例图片源于网络

PP-OCRv3优化策略具体解读

1.检测模块优化策略

PP-OCRv3检测模块对PP-OCRv2中的CML(CollaborativeMutual Learning) 协同互学习文本检测蒸馏策略进行了升级。如下图所示,CML的核心思想结合了传统的Teacher指导Student的标准蒸馏与Students网络之间的DML互学习,可以让Students网络互学习的同时,Teacher网络予以指导。PP-OCRv3分别针对教师模型和学生模型进行进一步效果优化。其中,在对教师模型优化时,提出了大感受野的PAN结构LK-PAN和引入了DML(Deep MutualLearning)蒸馏策略;在对学生模型优化时,提出了残差注意力机制的FPN结构RSE-FPN。消融实验如下表所示。

测试环境:Intel Gold 6148 CPU,预测时开启MKLDNN加速

(1)LK-PAN:大感受野的PAN结构

LK-PAN (Large Kernel PAN) 是一个具有更大感受野的轻量级PAN结构,核心是将PAN结构的path augmentation中卷积核从3*3改为9*9。通过增大卷积核,提升特征图每个位置覆盖的感受野,更容易检测大字体的文字以及极端长宽比的文字。使用LK-PAN结构,可以将教师模型的hmean从83.2%提升到85.0%。

(2)DML:教师模型互学习策略

DML 互学习蒸馏方法,通过两个结构相同的模型互相学习,可以有效提升文本检测模型的精度。教师模型采用DML策略, hmean从85%提升到86%。将PP-OCRv2中CML的教师模型更新为上述更高精度的教师模型,学生模型的hmean可以进一步从83.2%提升到84.3%。

(3)RSE-FPN:残差注意力机制的FPN结构

RSE-FPN(ResidualSqueeze-and-Excitation FPN)引入残差结构和通道注意力结构,将FPN中的卷积层更换为带有残差结构的通道注意力结构的RSEConv层,进一步提升特征图的表征能力。进一步将PP-OCRv2中CML的学生模型的FPN结构更新为RSE-FPN,学生模型的hmean可以进一步从84.3%提升到85.4%。

2.识别模块优化策略

PP-OCRv3的识别模块是基于文本识别算法SVTR优化。SVTR不再采用RNN结构,通过引入Transformers结构更加有效地挖掘文本行图像的上下文信息,从而提升文本识别能力。直接将PP-OCRv2的识别模型,替换成SVTR_Tiny,识别准确率从74.8%提升到80.1%(+5.3%),但是预测速度慢了将近11倍,CPU上预测一条文本行,将近100ms。因此,如下图所示,PP-OCRv3采用如下6个优化策略进行识别模型加速,消融实验如下表所示:

注:测试速度时,实验01-03输入图片尺寸均为(3,32,320),04-08输入图片尺寸均为(3,48,320)。在实际预测时,图像为变长输入,速度会有所变化。测试环境:Intel Gold 6148 CPU,预测时开启MKLDNN加速。

(1)SVTR_LCNet:轻量级文本识别网络

SVTR_LCNet是针对文本识别任务,将Transformer网络和轻量级CNN网络PP-LCNet 融合的一种轻量级文本识别网络。使用该网络,并且将输入图片规范化高度从32提升到48,预测速度可比情况下,识别准确率达到73.98%,接近PP-OCRv2采用蒸馏策略的识别模型效果。

(2)GTC:Attention指导CTC训练策略

GTC(Guided Training of CTC),利用Attention模块以及损失,指导CTC损失训练,融合多种文本特征的表达,是一种有效的提升文本识别的策略。使用该策略,识别模型的准确率进一步提升到75.8%(+1.82%)。

(3)TextConAug:挖掘文字上下文信息的数据增广策略

TextConAug是一种挖掘文字上下文信息的数据增广策略,可以丰富训练数据上下文信息,提升训练数据多样性。使用该策略,识别模型的准确率进一步提升到76.3%(+0.5%)。

(4)TextRotNet:自监督的预训练模型

TextRotNet是使用大量无标注的文本行数据,通过自监督方式训练的预训练模型。该模型可以初始化SVTR_LCNet的初始权重,从而帮助文本识别模型收敛到更佳位置。使用该策略,识别模型的准确率进一步提升到76.9%(+0.6%)。

(5)UDML:联合互学习策略

UDML(Unified-Deep Mutual Learning)联合互学习是PP-OCRv2中就采用的对于文本识别非常有效的提升模型效果的策略。在PP-OCRv3中,针对两个不同的SVTR_LCNet和Attention结构,对他们之间的PP-LCNet的特征图、SVTR模块的输出和Attention模块的输出同时进行监督训练。使用该策略,识别模型的准确率进一步提升到78.4%(+1.5%)。

(6)UIM:无标注数据挖掘方案

UIM(Unlabeled Images Mining)是一种非常简单的无标注数据挖掘方案。核心思想是利用高精度的文本识别大模型对无标注数据进行预测,获取伪标签,并且选择预测置信度高的样本作为训练数据,用于训练小模型。使用该策略,识别模型的准确率进一步提升到79.4%(+1%)。

经过上述文本检测和文本识别9个方面的优化,最终PP-OCRv3在速度可比情况下,在中文场景端到端Hmean指标相比于PP-OCRv2提升5%,效果大幅提升。具体指标如下表所示:

在英文数字场景,基于PP-OCRv3单独训练的英文数字模型,相比于PP-OCRv2的英文数字模型提升11%,如下表所示:

在多语言场景,基于PP-OCRv3训练的模型,在有评估集的四种语系,相比于PP-OCRv2,识别准确率平均提升5%以上,如下表所示。同时,PaddleOCR团队基于PP-OCRv3更新了已支持的80余种语言识别模型

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PaddlePaddle 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
建议去https://cloud.tencent.com/developer/ask提问,你发文章没有用。
建议去https://cloud.tencent.com/developer/ask提问,你发文章没有用。
回复回复点赞举报
推荐阅读
在macOS安装运行免费好用的AI绘图神器Fooocus
Fooocus是一个AI作图工具,特色是极简,好用,开源,免费,本文介绍如何在macOS笔记本安装Fooocus,实现随时随地离线作图。
zhaoolee
2024/02/18
1.3K0
在macOS安装运行免费好用的AI绘图神器Fooocus
为什么程序员下班后只关显示器从不关电脑?
崔庆才:看到这个话题,我不禁回想了下,我上次关电脑是什么时候?好像就是搬工位关过一次,公司停电被迫关了一次,其他时候好像就再也没关过了。
崔庆才
2020/07/10
1.1K0
如果你来设计运营商的流量计费系统
周末看了一天的直播课程,流量用超了,套餐外的流量又很贵,把账户余额也直接扣到负十几块,停机了。这期间,看到这系统有几个问题:
明月AI
2022/11/07
1.7K0
如果你来设计运营商的流量计费系统
视频播着播着就卡住了,为啥呢?教你如何查看视频帧信息
今天系统收到用户上传的一份视频,播着播着就卡住了,很是奇怪,大家可以播放感受下,卡顿发生在视频1分钟的时候。
bellchen
2020/10/28
11.9K0
视频播着播着就卡住了,为啥呢?教你如何查看视频帧信息
转发的,你给我站住
翻到末尾,你会看到,阅读数量10万+,点赞数量10万+,赞赏数量都超过了10000。
王树义
2018/08/22
4050
转发的,你给我站住
TRTC Android端开发接入学习之计费和套餐(十)
腾讯云计费方式分为基础计费、增值服务计费和免费试用。其中基础计费包括语音通话额直播、视频通话和直播,增值服务主要为云端录制,采用旁路直播推流的方式使用云直播的能力并提供全程录制功能,录制的文件可以存储到云点播平台。
腾讯云-hongyang
2020/09/25
1.8K0
区块链技术与应用01 北大肖臻
记录一下课程吧。。还是记录以下要好,否则看完了和没看似的。。。。尴尬。。。。。。Fighting!!!!!!
Daffy
2020/11/10
1.1K0
系统设计:设计一个API限流器
假设我们有一个接收大量请求的服务,但它每秒只能处理有限的请求。要处理这个问题,我们需要某种节流或速率限制机制,只允许一定数量的请求,这样我们的服务就可以响应所有请求。速率限制器在高级别上限制实体(用户、设备、IP等)在特定时间窗口中可以执行的事件数。例如:
小诚信驿站
2021/05/27
4.6K0
系统设计:设计一个API限流器
TKE集群pod内无法访问集群外cvm自建容器
使用tke产品的客户,经常会遇到GlobalRouter网络模式下tke集群内的pod无法访问集群外cvm自建docker容器服务,cvm节点也无法集群内pod服务,vpc-cni网络模式下集群是没有这个问题的。
聂伟星
2021/09/18
1.3K1
使用Curator在腾讯云Elasticsearch中自动删除过期数据(免费)
最近遇到一些小问题,就是我们的ES用户使用curator这个工具去自动管理集群索引的时候,因为云上的ES白金版存在安全认证,云函数需要添加认证参数才能实际安全执行,怎么解决呢?(curator理论就不多说,直接上实际操练)
南非骆驼说大数据
2020/05/14
3.5K1
谈谈如何构建自己的时间管理系统?
我们总说要学会利用碎片时间,可是要怎么利用呢?在此之前,我们先来讨论一个问题,当你有了碎片时间,你会干什么?
我被狗咬了
2020/03/05
1.1K0
开启CDN后怎么防止流量被恶意盗刷
好久不见,我想每个站长都会接触或者使用网站的CDN加速功能,我也是,我一直都在用CDN加速功能,从最初的百度CDN到目前在用的腾讯云CDN,感觉很实用,尤其是初期阶段服务器配置较低的情况下,CDN真的可以启用很大的作用,感兴趣的朋友可以看看之前写的文章《为什么要越来越多的网站选择CDN加速?CDN加速有什么作用?》,但是每个博客程序的配置方案不同,我也写过一篇《zblog怎么设置腾讯云的CDN缓存》的文章,当然今天这些都不是重点,重点是怎么防止被恶意盗刷,看图:
李洋博客
2022/04/14
3.7K0
开启CDN后怎么防止流量被恶意盗刷
微信电话本的价值并没有被高估
微信电话本推出之后,我第一时间的解读《微信电话本来了,又一次虎口夺食》(点击阅读原文查看)受到不少人的质疑,大都认为我高估了微信能量,有捧杀之嫌。尽管评论者看好还是不看好微信对其并无多大影响,但我还是想正面回应关于文章的一些质疑。 一、关于微信电话本的几个典型问题 1、微信电话本5月都已经内测到2.0版了,这一次并不是全新推出? 有人去挖出知乎上5月对“微信电话本”相关的回答,来说明微信电话本这一次根本不是全新推出。我在文中已经提到,过去的微信电话本就是一个通讯录管理软件,不支持语音通话,比搜狗号码通还
罗超频道
2018/04/28
9200
iOS音视频接入- TRTC计费及套餐介绍
实时音视频 TRTC 的服务项根据服务类型划分为基础服务和增值服务两大类。除了这两大类之外,从2019年10月11日起,首次在实时音视频控制台创建应用的腾讯账号,还可有10000分钟的免费试用,也就是第一次使用实时音视频这个产品就会有免费试用。有免费试用可以先试用,试用之后再看使用效果在决定是否续费套餐及购买活动的超值套餐。
小明同学接音视频
2020/10/19
3.5K0
iOS音视频接入- TRTC计费及套餐介绍
免费vps的用途,还有vps和独立服务器的区别
有很多小伙伴问免费vps是什么,有哪些用途,它和独立的服务器有哪些区别?一个网站,服务器是必备因素,同时也是非常重要的,网速的快慢与服务器是息息相关的。特别是新手,在选择服务器的时候,不知道vps和独立服务器的区别在于哪里,可能都会感觉是一样的,其实不是的。接下来和小编一起来看看免费vps和独立服务器的区别吧。
用户8739990
2021/07/12
34.3K0
免费vps的用途,还有vps和独立服务器的区别
100个 Linux 命令(8)-统计和查看系统状态
pstree命令以树的形式显示进程信息,默认树的分支是收拢的,也不显示pid,要显示这些信息需要指定对应的选项。
懒人的小脑
2019/01/16
2.6K0
100个 Linux 命令(8)-统计和查看系统状态
亿级流量架构之服务限流思路与方法
像我旁边有一个国家景区,平时可能根本没什么人前往,但是一到五一或者春节就人满为患,这时候景区管理人员就会实行一系列的政策来限制进入人流量,
iginkgo18
2021/12/01
6910
Serverless 应用实践及典型案例解析
为什么我们投入这么大时间和精力来做 Serverless 呢?因为我们坚信云计算的未来趋势之一就是 Serverless。因为 Serverless 让云服务的应用变得更加简单、高效。比如用云主机部署应用的时候,不仅要搭建和维护环境,同时也要评估业务的资源用量,尤其是对于运营类的活动,如果一旦评估的不准确,要么会造成资源的巨大浪费,要么服务可能会被打爆,甚至停服下线。
腾讯云serverless团队
2020/07/13
2.3K0
Flink 窗口之Window机制
数据分析场景见证了批处理到流处理的演变过程。尽管批处理可以作为流处理的一种特殊情况来处理,但分析永无止境的流数据通常需要转变一种思维方式,并使用它自己的专门术语,例如,窗口、At-Least-Once 或者 Exactly-Once 处理语义。
smartsi
2021/02/04
1.4K0
Flink 窗口之Window机制
算法系列-动态规划(1):初识动态规划
于是和面试官卖弄道:“这不是斐波那契数列吗?这个数列从第3项开始,每一项都等于前两项之和”。
huofo
2022/03/18
3350
算法系列-动态规划(1):初识动态规划
推荐阅读
相关推荐
在macOS安装运行免费好用的AI绘图神器Fooocus
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档