MMOCR: OpenMMLab 全流程的文字检测识别理解工具箱

号外号外,继 港中文-商汤OpenMMLab开源全景图!之后,OpenMMLab 又有新成员加入咯~

      01      

MMOCR 特点

  • 全流程:支持文字检测、文字识别以及其下游任务,比如关键信息提取等。

  • 多模型:我们实现了 10 余种优秀算法。文字检测算法包括单阶段检测算法和双阶段检测算法;文字识别包含规则文字识别和非规则文字识别算法;关键信息提取包含基于图模型的关键信息提取算法。

  • 模块设计:我们使用统一框架和模块化设计实现了各个算法模块。一方面可以尽量实现代码复用,另外一方面,方便大家基于此框架实现新的算法。我们把文字检测,基于分割的文字识别以及关键信息识别网络结构,抽象成 backbone,neck,head 以及 loss 模块,把 seq2seq 文字识别网络抽象成 backbone,encoder,decoder 以及 loss 模块。

  • 公平对比:现有文字检测识别方法,往往使用不同的训练数据,预训练模型,数据增强方法,网络 backbone,优化器以及学习率策略。比如文字检测常见的数据增强方式有随机缩放,随机旋转变换,以及随机 crop,不同的方法使用不同的数据增强方法的实现,组合以及参数配置,导致分析关键作用模块较为困难。统一的代码框架,模块化的设计,使得不同的模块可以轻松进行组合,实现公平的对比。

  • 快速入门:我们统一了常见的学术数据集合的标注文件格式,并提供了已经处理好的标注文件。同时我们提供了丰富的预训练模型,benchmark 和详细的文档,帮助大家快速上手。

值得强调的是,现在的 MMOCR 不仅仅是研究导向的框架,还是一个可以用于入门,教学,以及工业实际生产的框架。我们逐步会加入更多的算法以及多语言模型,我们也欢迎大家贡献代码以及模型。

MMOCR 代码库已经上线,欢迎大家 STAR、WATCH、FORK、提 issue:

  • 项目链接:https://github.com/open-mmlab/mmocr

接下来,将详细介绍 MMOCR 的一些具体特性。

      02      

MMOCR 应用

“语言使人类别于禽兽,文字使文明别于野蛮,教育使先进别于落后”【1】。文字的发明是人类文明史上的重要进步,它改变了人类知识的存储方式和传播方式。文字于日常生活中无处不在,比如马路上的标志牌,商店的招聘,商品的包装盒等。办公自动化、工业自动化等应用场景迫切需要一套直接从图像中检测,识别并理解文字的工具。

现在我们在 OpenMMLab 项目中开源了 MMOCR。这是一个专注于文字检测,识别以及下游任务如关键信息提取的工具箱,它目前包含了10多种常见的算法。在具体的应用场景中,文字检测、文字识别以及关键信息提取往往联合使用,因此我们将它们整理到一个统一的框架下,方便大家使用。

『1 文字检测』

文字检测是文字识别理解的第一步。MMOCR 实现了最新的优秀的文字检测算法,同时支持多方向文字和任意形状文字的检测。它们包括:

单阶段文字检测算法双阶段文字检测算法
PANet【3】PSENet【4】DBNet【5】TextSnake【6】MaskRCNN【2】


『2 文字识别』

文字识别是文字识别理解的第二步。它负责把裁剪好的二维的图片信号转化成一维的字符串。

MMOCR 不但实现了经典的 CRNN 【7】算法,也实现了最近的基于 encoder-decoder 和 2d attention的 SAR 【8】算法,增加位置增强模块的 RobustScanner 【9】, 基于 Transformer 的算法 【10】,以及实现了基于分割网络的文字识别基准算法。

基于 CTC loss 的 CRNN,支持规则文字的识别, 速度快, 广泛应用于工业界。基于 Transformer 或者分割网络的识别模型,以及基于注意力机制的 SAR 和 RobustScanner, 在非规则文字识别方向具有显著优势。


『3 关键信息提取』

关键信息提取是图像文字识别一个常见和重要的下游任务。文字识别只能给出一个文字框对应的识别字符串,然而实际应用场景往往需要结构化的文字输出。比如针对小票图片,我们需要提取消费的地点,时间,店名,商品明细,以及消费金额等。

传统的关键信息提取算法,基于模板匹配算法,具有不鲁棒、每种版式需要定制研发的缺点。MMOCR 实现了最近提出的基于图神经网络的通用关键信息提取算法SDMG-R 【11】。它利用了文字框空间位置关系,图片视觉信息,文字的语义信息,通过深度学习网络,端到端地实现了关键信息提取任务。


      03      

结语

MMOCR 作为 OpenMMLab 的一员,会逐渐地完善并不断修复 issues,持续添加新功能。欢迎大家一起参与完善 MMOCR!

小铃铛:后续会有更多重磅项目推出,希望大家持续关注我们的 OpenMMLab~

重复一遍,我们非常欢迎对 OpenMMLab 项目有兴趣的同学以全职/实习的身份加入我们,简历可以发至 kuangzhanghui@sensetime.com

原文地址:https://zhuanlan.zhihu.com/p/362998190

参考文献 

【1】edu.people.com.cn/n1/20

【2】Kaiming He, Georgia Gkioxari, Piotr Dollár, Ross B. Girshick: Mask R-CNN. ICCV 2017: 2980-2988

【3】Wenhai Wang, Enze Xie, Xiaoge Song, Yuhang Zang, Wenjia Wang, Tong Lu, Gang Yu, Chunhua Shen: Efficient and Accurate Arbitrary-Shaped Text Detection With Pixel Aggregation Network. ICCV 2019: 8439-8448

【4】Wenhai Wang, Enze Xie, Xiang Li, Wenbo Hou, Tong Lu, Gang Yu, Shuai Shao: Shape Robust Text Detection With Progressive Scale Expansion Network. CVPR 2019: 9336-9345

【5】Minghui Liao, Zhaoyi Wan, Cong Yao, Kai Chen, Xiang Bai: Real-Time Scene Text Detection with Differentiable Binarization. AAAI 2020: 11474-11481

【6】Shangbang Long, Jiaqiang Ruan, Wenjie Zhang, Xin He, Wenhao Wu, Cong Yao:TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes. ECCV (2) 2018: 19-35

【7】Baoguang Shi, Xiang Bai, Cong Yao: An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition. In TPAMI, volume 39, pages2298–2304. 2017.

【8】Hui Li, Peng Wang, Chunhua Shen, Guyu Zhang: Show, Attend and Read: A Simple and Strong Baseline for Irregular Text Recognition. AAAI 2019: 8610-8617.

【9】Xiaoyu Yue, Zhanghui Kuang, Chenhao Lin, Hongbin Sun, Wayne Zhang: RobustScanner: Dynamically Enhancing Positional Clues for Robust Text Recognition. ECCV 2020: 135-151

【10】Sheng, Fenfen and Chen, Zhineng and Xu, Bo, NRTR: A No-Recurrence Sequence-to-Sequence Model For Scene Text Recognition. IEEE2019: 781-786

【11】Hongbin Sun, Zhanghui Kuang, Xiaoyu Yue, Chenhao Lin, Wayne Zhang: Spatial Dual-Modality Graph Reasoning for Key Information Extraction.

备注:ocr

OCR交流群

文本检测、识别、编辑等更多最新技术,若已为CV君其他账号好友请直接私信。

在看,让更多人看到  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值