OCR 方向的工程师,一定需要知道这个 OCR 开源项目:PaddleOCR。短短几个月,累计 Star 数量已超过 7.2K,频频登上 Github Trending 日榜月榜,称它为 OCR 方向目前最火的 repo 绝对不为过。
12 月,它又带来四大新发布与升级,核心内容先睹为快:
- 全新发布数据合成工具 Style-Text:可以批量合成大量与目标场景类似的图像,在多个场景验证,效果均提升 15% 以上。
- 全新发布半自动数据标注工具 PPOCRLabel:有了它数据标注工作事半功倍,相比 labelimg 标注效率提升 60% 以上,社区小规模测试,好评如潮。
- 多语言识别模型效果升级:中文、英文、韩语、法语、德语、日文识别效果均优于 EasyO
R。
- PP-OCR 开发体验再升级:支持动态图开发(训练调试更方便),静态图部署(预测效率更高),鱼与熊掌可以兼得。
PaddleOCR 历史表现回顾
先看下 PaddleOCR 自今年开源以来,短短几个月在 GitHub 上的表现:
- 6 月,8.6M 超轻量模型发布,GitHub Trending 全球趋势榜日榜第一。
- 8 月,开源 CVPR2020 顶会 SOTA 算法,再上 GitHub 趋势榜单!
- 10 月,发布 PP-OCR 算法,开源 3.5M 超超轻量模型,再下 Paperswithcode 趋势榜第一
这个含金量,广大的 GitHub 开发者们自然懂,3.5M 超超轻量模型的效果图大家直接看,绝对杠杠的。
火车票、表格、金属铭牌、翻转图片、外语都是妥妥的,3.5M 的模型能达到这个识别精度,绝对是良心之作了!
传送门:https://github.com/PaddlePaddle/PaddleOCR
那么最近的 12 月份更新,又给大家带来哪些惊喜呢?
全新发布 OCR 数据合成工具:Style-Text
相比于传统的数据合成算法,Style-Text 可以实现特殊背景下的图片风格迁移,只需要少许目标场景图像,就可以合成大量数据,效果展示如下:
1、相同背景批量数据合成
2、相同文字批量数据合成
3、图片分离前景背景
除了拉风的效果,采用这样的合成数据和真实数据一起训练,可以显著提升特殊场景的性能指标,分别以两个场景为例:
怎么样,绝对是黑科技了吧。这项能力核心算法是基于百度自研的文本编辑算法《Editing Text in the Wild》。
论文地址:https://arxiv.org/abs/1908.03047
不同于常用的基于 GAN 的数据合成工具,Style-Text 主要框架包括 ①文本前景风格迁移模块 ②背景抽取模块 ③融合模块。经过这样三步,就可以迅速实现图片文字风格迁移啦。
超强 OCR 数据标注工具:PPOCRLabel
除了数据合成,数据标注也一直是深度学习开发者关注的重点,无论是从成本还是时间上面,提高标注效率,降低标注成本太重要了。PPOCRLabel 通过内置高质量的 PPOCR 中英文超轻量预训练模型,可以实现 OCR 数据的高效标注。CPU 机器运行也是完全没问题的。话不多说,直接看 PPOCRLabel 效果演示:
用法也是非常的简单,标注效率提升 60%-80% 是妥妥的。只能说,真的太香了。
最好的多语言模型效果
简单对比一下目前主流 OCR 方向开源 repo 的核心能力:
中英文模型性能及功能对比
其中,多语言识别模型准确率对比(仅 EasyOCR 提供)
测试数据及环境说明:
- 中英文场景:针对 OCR 实际应用场景,包括合同,车牌,铭牌,火车票,化验单,表格,证书,街景文字,名片,数码显示屏等,收集的 300 张图像,每张图平均有 17 个文本框,PaddleOCR 的 F1-Score 超过 0.5,这个性能已经很不错了。
- 多语言场景:PaddleOCR 选择了开源数据 ICDAR2017 – MLT(多语言文本识别测试集),并抽取其中的法语、德语、日语、韩语数据作为评测集合。其中测试图片大多来自于自然场景,例如广告牌、路标、海报等。
PP-OCR 开发体验再升级
动态图和静态图是深度学习框架常用的两种模式。在动态图模式下,代码编写运行方式符合 Python 程序员的习惯,易于调试,但在性能方面, Python 执行开销较大,与 C++ 有一定差距。
相比动态图,静态图在部署方面更具有性能的优势。静态图程序在编译执行时,预先搭建好的神经网络可以脱离 Python 依赖,在 C++ 端被重新解析执行,而且拥有整体网络结构也能进行一些网络结构的优化。
飞桨动态图中新增了动态图转静态图的功能,支持用户使用动态图编写组网代码。预测部署时,飞桨会对用户代码进行分析,自动转换为静态图网络结构,兼顾了动态图易用性和静态图部署性能两方面优势。
良心出品的中英文文档教程
别的不需要多说了,大家访问 GitHub 点过 star 之后自己体验吧:
https://github.com/PaddlePaddle/PaddleOCR