一、导读
OCR 方向的工程师,一定需要知道这个 OCR 开源项目:PaddleOCR
短短半年时间,累计 Star 数量已超过 11.5K,频频登上 Github Trending 和 Paperswithcode 日榜月榜第一,在《Github 2020数字洞察报告》中被评为中国 Github Top20 活跃项目。
称它为 OCR 方向目前最火的 repo 绝对不为过。
最近,它又带来两项全新发布:
- AAAI 2021 顶会论文开源:PGNet: Real-time Arbitrarily-Shaped Text Spotting with Point Gathering Network 提出了一种简单且有效的任意方向端到端文本识别模型,在精度可比的基础上,与先前的 SOTA 算法相比,经过飞桨预测引擎加速和后处理优化后,预测速度快了两倍。
- 多语言支持种类提升至80+种:基本覆盖国际主流语言种类,在开源测试集 MLT2017 评估,中文、韩文、日文、拉丁语系、阿拉伯语系,识别效果均显著优于 EasyOCR,开源 SOTA 效果。
二、PaddleOCR 历史表现回顾
先看下 PaddleOCR 自去年6月开源以来,短短几个月在 GitHub 上的表现:
- 2020年6月,8.6M 超轻量模型发布,GitHub Trending 全球趋势榜日榜第一。
- 2020年8月,开源 CVPR2020 顶会算法,再上 GitHub 趋势榜单!
- 2020年10月,发布 PP-OCR 算法,开源 3.5M 超超轻量模型,再登 Paperswithcode 趋势榜第一!
- 2021年1月,发布 Style-Text 文本合成算法,PPOCRLabel 数据标注工具,star 数量突破10000+,截至目前已经达到 11.5k,在《Github 2020数字洞察报告》中被评为中国 Github Top20 活跃项目。
这个含金量,广大的 GitHub 开发者们自然懂
- 超轻量模型的效果
火车票、表格、金属铭牌、翻转图片、外语都是妥妥的。
动态图和静态图是深度学习框架常用的两种模式。在动态图模式下,代码编写运行方式符合 Python 程序员的习惯,易于调试,但在性能方面, Python 执行开销较大,与 C++ 有一定差距。
相比动态图,静态图在部署方面更具有性能的优势。静态图程序在编译执行时,预先搭建好的神经网络可以脱离 Python 依赖,在 C++ 端被重新解析执行,而且拥有整体网络结构也能进行一些网络结构的优化。
飞桨动态图中新增了动态图转静态图的功能,支持用户使用动态图编写组网代码。预测部署时,飞桨会对用户代码进行分析,自动转换为静态图网络结构,兼顾了动态图易用性和静态图部署性能两方面优势。
- 文本合成工具 Style-Text 效果
相比于传统的数据合成算法,Style-Text 可以实现特殊背景下的图片风格迁移,只需要少许目标场景图像,就可以合成大量数据,效果展示如下:
- 半自动标注工具 PPOCRLabel:
通过内置高质量的 PPOCR 中英文超轻量预训练模型,可以实现 OCR 数据的高效标注。CPU 机器运行也是完全没问题的。效果演示如下:
用法也是非常的简单,标注效率提升60%-80%是妥妥的。
传送门:
Github:https://github.com/PaddlePaddle/PaddleOCR
那么最近的2021年4月份更新,又给大家带来哪些惊喜呢?
三、AAAI 2021 顶会论文:端到端 SOTA 算法 PGNet 开源:
直接先看指标评测表现:PGNet 算法在 Total-Text 数据集上的检测及端到端性能表现,在精度可比的基础上,与先前的 SOTA 算法相比,经过飞桨预测引擎加速和后处理优化后,预测速度翻倍。
▲ 图1:PGNet 模型的速度与精度性能对比
详细数据指标:
▲ 表1:ICDAR2015 数据集上的检测及端到端性能
PGNet 提出的方法框架如下图所示,输入的图象经过 Backbone 网络得到1/4下采样特征图,通过多任务学习,同时回归四个任务的内容,包括文本边缘偏移量预测(TBO),文本中心线预测(TCL),文本方向偏移量预测(TDO)以及文本字符分类图预测(TCC)。其中文本行的检测结果由 TBO 以及 TCL 经过后处理得到,文本行的识别结果由 TCL,TDO 以及 TCC 的输出得到。
▲ 图2 :网络流程框架
在 ICDAR2015 以及 Total-Text 数据集上可以看一下模型效果:
▲ 图3 Total-Text 及 ICDAR2015 数据集可视化效果图
PGNet 论文地址:
https://www.aaai.org/AAAI21Papers/AAAI-2885.WangP.pdf
【基于顶尖算法,开放拿来即用的成熟印章识别能力】同时,基于 PGNet 研发的印章识别能力已经在百度 AI 开放平台开放,可以有效检测并识别合同文件或常用票据中的印章,输出文字内容、印章位置信息以及相关置信度,已支持圆形章、椭圆形章、方形章等常见印章。提供标准化 API 接口,快速集成,同时支持私有化部署至本地,保障业务数据私密性。
开放能力地址:
https://ai.baidu.com/tech/ocr/seal
注:此处非模型直接开源,但可以申请免费试用。
四、丰富的多语言种类支持,目前已经支持全球80+ 语言模型
简单对比一下目前主流 OCR 方向开源 repo 的核心能力:
中英文模型性能及功能对比
其中,部分多语言模型性能及功能(F1-Score)对比(仅 EasyOCR 提供)
模型效果
值得一提的是,目前已经有全球开发者通过 PR 或者 issue 的方式为 PaddleOCR 提供多语言的字典和语料,在 PaddleOCR 上已经完成了全球80+ 主流语言的广泛覆盖:包括中文简体、中文繁体、英文、法文、德文、韩文、日文、意大利文、西班牙文、葡萄牙文、俄罗斯文、阿拉伯文、印地文、维吾尔文、波斯文、乌尔都文、塞尔维亚文(latin)、欧西坦文、马拉地文、尼泊尔文、塞尔维亚文、保加利亚文、乌克兰文、白俄罗斯文、泰卢固文、卡纳达文、泰米尔文,也欢迎更多开发者可以参与共建。
五、良心出品的中英文文档教程
别的不需要多说了,大家访问 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
PGNet 论文地址:
https://www.aaai.org/AAAI21Papers/AAAI-2885.WangP.pdf
印章识别开发能力:
https://ai.baidu.com/tech/ocr/seal
这个建议提github的issue,开发人员比较容易看到啊……
使用PPOCRLabel工具,标注日文图片。当选择日文模型,标注日文图形中的金额【¥】,没有识别出来。但选择中文的时候,可以识别出来。查了一下【japan_dict.txt】中,竟然没有金额的半角和全交符号!日文版的字典是不是还要再完善一下呢!
不过不知道会不会特别复杂……
其实HAPI可以考虑ocr……
加油,让识别更准确些。
印章识别这个真不简单
又更新啦