太长不看系列
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 的一些具体特性。
MMOCR
“语言使人类别于禽兽,文字使文明别于野蛮,教育使先进别于落后”【1】。文字的发明是人类文明史上的重要进步,它改变了人类知识的存储方式和传播方式。文字于日常生活中无处不在,比如马路上的标志牌,商店的招聘,商品的包装盒等。办公自动化、工业自动化等应用场景迫切需要一套直接从图像中检测,识别并理解文字的工具。
现在我们在 OpenMMLab 项目中开源了 MMOCR。这是一个专注于文字检测,识别以及下游任务如关键信息提取的工具箱,它目前包含了10多种常见的算法。在具体的应用场景中,文字检测、文字识别以及关键信息提取往往联合使用,因此我们将它们整理到一个统一的框架下,方便大家使用。
1 文字检测
文字检测是文字识别理解的第一步。MMOCR 实现了最新的优秀的文字检测算法,同时支持多方向文字和任意形状文字的检测。它们包括:
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】。它利用了文字框空间位置关系,图片视觉信息,文字的语义信息,通过深度学习网络,端到端地实现了关键信息提取任务。
4 结语
MMOCR 作为 OpenMMLab 的一员,会逐渐地完善并不断修复 issues,持续添加新功能。欢迎大家一起参与完善 MMOCR!
https://github.com/open-mmlab/mmocr
小铃铛:后续会有更多重磅项目推出,希望大家持续关注我们的 OpenMMLab~
重复一遍,我们非常欢迎对 OpenMMLab 项目有兴趣的同学以全职/实习的身份加入我们,简历可以发至 kuangzhanghui@sensetime.com
参考文献:
【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.
MMOCR代码下载和使用教程
后台回复:MMOCR,即可下载上述项目代码
后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF
CVer-OCR交流群成立
扫码添加CVer助手,可申请加入CVer-OCR 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向 地点 学校/公司 昵称(如OCR 上海 上交 卡卡),根据格式备注,可更快被通过且邀请进群