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君其他账号好友请直接私信。
在看,让更多人看到
MMOCR: OpenMMLab 全流程的文字检测识别理解工具箱相关推荐
- 藏文文字检测识别存在的问题有哪些?
藏文文字检测识别存在以下一些问题: 多样性:藏文有多种字体和书写风格,这会导致一些识别算法在处理不同的字体和书写风格时出现困难. 识别误差:由于藏文字母之间的形态相似,很容易发生识别错误.而且一些藏文 ...
- OCR大突破:Facebook推出大规模图像文字检测识别系统——Rosetta
作者 | Fedor Borisyuk,Albert Gordo,Viswanath Sivakumar 译者 | 林椿眄 编辑 | 非主流 出品 | AI科技大本营 [导读]OCR(Optical ...
- 基于Python深度学习的文字检测识别系统
摘要 文字是人类交流信息的重要工具,在科技和网络不断发展的今天,文本的方式或者说载体发生了很大的变化,文字不再只停留在书面,更以标识牌,横幅,广告牌等等方式出现我们的生活中,或者说,它们是一张张图片中 ...
- 文字检测识别引擎罗塞塔(Roseta)
论文:Large Scale System for Text Detection and Recognition in Images Facebook的OCR引擎.OCR部分包括检测和识别2部分.是分 ...
- 文字检测识别技术的未来发展趋势和面临的选择
未来发展趋势和面临的挑战 1文本检测与识别技术的未来发展趋势 场景文本检测与识别的研究发展趋势.场景文本检测识别目前来讲大概分为场景文本检测.场景文本识别.以及端到端文本检测和识别三个主要的方向.其中 ...
- 深度学习自学(三十六):ABCNet实时自适应贝塞尔曲线场景文字检测识别网络
整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取,Re-ID等学习过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/Th ...
- 金连文:“文字检测与识别:现状及展望” | CAAI AIDL 演讲实录
点击我爱计算机视觉标星,更快获取CVML新技术 CAAI原创 丨 作者金连文 转自中国人工智能学会,52CV获得金老师授权转载,严禁二次转载. 8月31日-9月1日,由中国人工智能学会主办,华中科技大 ...
- python检测吸烟的算法_yolov3+tensorflow+keras实现吸烟的训练全流程及识别检测
yolov3+tensorflow+keras实现吸烟的训练全流程及识别检测 弈休丶 2019-12-30 23:29:54 1591 收藏 19 分类专栏: 基于yolov3+tensorflow+ ...
- 【项目实践】中英文文字检测与识别项目(CTPN+CRNN+CTC Loss原理讲解)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 OCR--简介 文字识别也是图像领域一 ...
最新文章
- 用C语言编写万年历6,C语言编写万年历
- 测试中如何管理外包质量_如何从测试自动化中实现价值
- [Unity UGUI]点击和长按组件
- 汇编语言的Hello World
- Data Mining Tools
- linux 下ab压力测试
- 【k8s】kuboard获取token命令
- 最激动人心的视觉系统其实是最枯燥乏味的
- vfp程序转换为c语言程序软件,c语言程序设计及vfp程序设计试题.doc
- CCNA笔记之第二十节:RIP协议(大实验4)
- PAT1057. 数零壹
- 巧用BroadcastReceiver实现开机“自”启动
- 程序员被公司辞退12天,前领导要求回公司讲清楚代码,结果懵了
- HR别掉坑里了,送你最精确的计薪算法!
- 核定征收的个体户,年营业额不超过120万,还需要缴纳个税吗?
- Go使用gos7实现西门子PLC通讯
- 倪衡:大数据时代小微企业质量管理创新
- 用Matlab的.m脚本文件处理实验室数据
- 趣味选择题.html
- SAP Marketing Cloud 功能概述(三)
热门文章
- Python--给数字前固定位数加零
- OpenCV-数字图像处理之拉普拉斯算子
- 在visualc++可以运行的程序在linux下怎么不能,Linux环境下C++只允许单个程序运行...
- hsweb提取页面查询参数_zabbix-基础系列(七)-zabbix用户参数
- php3级分类,关于php非递归三级分类输出json数据
- anaconda创建新环境_【创建社会主义新农村】怀城街道:转变整治理念 农村人居环境换新颜...
- 为什么json转化有斜杠_json中大量反斜杠问题
- 名称不存在或不是目录_如何编制一份用户友好型证据目录:格式篇
- nginx 判断手机端跳转_Nginx系列:配置跳转的常用方式
- nginx哪个版本性能好_骁龙750g和天玑1000+哪个好-参数性能对比