Mask TextSpotter
读该论文的目的,之前读了MaskTextSpotterV3论文,然后又读了MaskRCNN论文,所以想阅读下这篇论文,想看看如何把MaskRCNN网络应用到文字识别检测这个方向的。
文章目录
- Mask TextSpotter
- make decision
- step1:读摘要
- step2:读Introduction
- step3:读 Conclusion
- step4:读 Related works
- step5:Methodology
- step6: Experiments
- step7:回答问题
-
- 7.1 本文讨论的主要问题/创新点是什么?主要问题和创新点从何而来?
- 7.2 本文中使用的方法是什么?它们是否适合这些问题?
- 7. 3 本工作的意义在于什么?
- 7.4 为什么要做这个工作?
- 7.5. 这些创新点应用上有什么好处?
- 7.6. 还能从另一个角度去探讨吗?
- 7.7. 这篇论文的主要论据是什么?
- 7.8. 这篇论文最主要的缺点或者局限是什么?
- 7.9. 这篇论文的哪些部分(点子)值得参考?
- 7.10. 对自己的研究,有哪些指导意义和启示
- 7.11. 为什么要设计具体这套实验?
- 7.12. 这套实验和别的实验哪个更好?好在哪里?
- 7.13 maskRCNN是如何应用到MaskTextSpotter上面的
- 参考
再增加几个问题:
该内容采用: 摘录重点部分+提出问题的方式,来阅读该篇论文。 后面会逐一的解答提出来的的问题。
make decision
-
论文名称::Mask TextSpotter:an end-to-end trainable neural network for spotting text with arbitrary shape
一种端到端可训练神经网络,用于任意形状的文本检测 -
作者:Pengyuan Lyu,Minghui Liao,Cong Yao,Wenhao Wu,Xiang Bai
-
机构:华中科技大学,Face++
-
年份: 2018 ECCV
-
是否精读:是
-
做出决定日期:2021-5-24
step1:读摘要
近年来,基于深度神经网络的模型已经主导了场景文本检测和识别领域。该篇文章研究的是场景文本定位问题,其作用就是再自然场景中同时进行文本检测和识别。提出了一种用于场景文本识别的端到端可训练神经网络模型,称为Mask TextSpotter。它是灵感来自于MaskRCNN,Mask TestSpotter利用简单平滑的端到端学习过程,其中能够通过语义分割来获取精确的文本检测和识别。且在当时,在ICDAR2013、ICDAR2015和Total-Text 数据库上的实验表明,该方法在场景文本检测和端到端文本识别任务中均取得了良好的效果。
step2:读Introduction
近年来,尤其是在神经网络的兴起和图像数据集的增长之后,场景文本检测和识别在计算机视觉领域受到了越来越多的关注。场景文本检测和识别提供了一种自动、快速的方法来获取自然场景中包含的文本信息,有利于我们生活当中各种应用的实现,比如说地理定位、即时翻译和盲人辅助。
在先前的大多数场景文本检测和识别方向的论文中,文本检测和识别是分开进行的。首先由训练好的检测器将文本区域从原始图像中搜索出来,然后输入识别模块。这两个模块看起来简单自然,但是可能会导致检测和识别局部最优(sub-optimal)性能,因为这两个任务是高度相关和互补的。一方面,检测的质量很大程度上决定了识别的准确性;另一方面,识别的结果可以提供反馈,帮助在检测阶段拒绝假阳性。
最近,已经提出了两种方法,Deep TextSpotter和End-to-end with CRNN,他们设计了用于场景文本定位的端到端可训练模型。得益于检测和识别的互补性,这些统一的模型明显优于以前的模型。然后,在这了两篇论文中有两个主要的缺点。第一,两者不能完全以端到端的当时训练。Deep TextSpotter在训练期间应用了课程学习案例(a curriculum learning paradigm),其中用于文本识别的子网络在早期迭代时被锁定,并且每个期间的训练数据被仔细选择。第二,自然场景中文本实例的形状可能会有很大的不同,从水平到定向,再到弯曲。
这里作者就引出了自己提出的网络模型Mask TextSpotter,它可以检测和识别出任意形状的文本实例。受Mask RCNN的启发,Mask RCNN可以生成对象的形状遮罩,作者的模型通过分割实例文本区域来检测文本。所以作者的检测器能够检测任意形状的文本。此外不同于以前基于一维序列的识别方法,该检测器通过二维空间在中的语义分割来识别文本,以解决阅读不规则文本实例的问题。另一个优点是它不需要精确的位置来识别。因此,检测任务和识别任务可以完全端到端训练,并受益于特征共享和联合优化。
作者主要的贡献有四个方面
- 提出了一种端到端的文本识别训练模型,该模型具有简单、平滑的训练方案
- 提出的方法可以检测和识别各种形状的文本,包括水平的、定向的和弯曲的文本
- 与以往的方法相比,本文提出的方法通过语义分割来实现精确文本检测和识别
- 作者的方法在各种基准上实现了文本检测和文本定位的最新性能,达到SOTA水平
step3:读 Conclusion
在这篇论文中,作者提出了一种文本检测器,他可以在一个统一的网络中检测和识别场景文本,并且可以进行完整的端到端训练。与以前的方法相比,作者提出的网络非常容易训练,并具有检测和识别不规则文本如(弯曲文本)的能力。在包含水平文本、定向文本和弯曲文本的所有数据集上令人印象深刻的性能证明了我们的方法对于端到端的文本检测和识别具有有效性和鲁棒性。
step4:读 Related works
4.1 Scene Text Detection
场景文本检测
首先对前人做的工作进行了一个总结。然后提到现有的工作很少有关注任意形状的文本实例。近年来,由于现实场景中的应用需要,对任意形状文本的检测逐渐引起了研究者的关注。作者提出通过实例分割来检测场景文本,这种方法可以检测任意形状的文本。
4.2 Scene Text Recognition
场景文本识别
旨在将检测到的或剪切的图像区域解码成字符序列。先前的场景文本识别方法可以大致分为三个分支:基于字符的方法、基于单词的方法和基于序列的方法。基于字符的识别方法主要是首先定位单个字符,然后识别它们并将其分组为单词。基于单词的识别方法就是将文本识别作为一个常见的英语词(90k)分类问题。基于序列的方法将文本识别作为一个序列标注问题来解决。
该片论文提出的文本识别组件可以被分为基于字符的方法。然而,与以前基于字符的方法相反,作者使用的是FCN来同时定位和分类字符。此外,与为一维序列设计的基于序列的方法相比,作者的方法更合适处理不规则文本(多方向文本、弯曲文本等)
4.3 Scene Text Spotting
大多数以前的文本识别方法将识别过程分为两个阶段。他们首先使用场景文本检测器来定位文本实例,然后使用文本识别器来获得识别的文本。还有一种方法就是在一个网络中定位和识别文本端到端的方法(Deep TextSpotter和End-to-end with CRNN),但是需要相对复杂的训练过程。与这些方法相比,作者提出的text spotter不仅可以进行完整的端到端训练,而且能够检测和识别任意形状(水平、定向和弯曲)的场景文本。
4.4 General Object Detection and Semantic Segmentation
通用对象检测和语义分割
随着深度学习的兴起,通用对象检测和语义分割得到了很大的发展。大量的目标检测和分割方法都被提了出来。得益于这些方法,场景文本检测和识别在过去几年取得了明显的进展。作者的方法也是受这些方法的启发。具体来说,作者的方法是从一个通用的对象实例分割模型MaskRCNN改编而来的,而作者的mask分支和maskRCNN有关键的区别。作者的mask分支不仅可以分割文本区域,还可以预测字符概率图,这意味着作者的方法可以用于识别字符概率图中的实例序列,而不仅仅是预测对象掩码
step5:Methodology
所提出的方法是一个端到端的可训练文本观察器(spotter),它可以处理各种形状的文本。它是基于实例分割的文本检测器和基于字符分割的文本识别器组成。
5.1 Framework
作者提出的方法如图上所示。在功能上,该框架由四个部分组成:作为主干的特征金字塔网络(FPN),用于生成文本建议的区域建议网络(RPN),用于边界框回归的fast-RCNN网络,用于文本实例分割和字符分割的掩码分支。
在训练阶段,首先由RPN生成大量文本建议框,然后将建议的RoI特征输入到Fast-RCNN分支和Mask分支,以生成准确的文本候选框、文本实例分割图和字符分割图
backbone
自然图像的文本大小不一。为了在所有尺度上构建高级语义特征图,作者将深度为50层的ResNet作为特征金字塔结构主干。FPN使用自上而下的体系结构融合了来自单个尺度输入的不同分辨率的特征,提高了边际成本的精度。
RPN
RPN用于为后续的Fast-RCNN和掩码分支生成文本建议框。作者在不同阶段分配不同大小的锚(anchor),锚的面积在五个阶段{P2、P3、P4、P5、P6}分别设置为{ 3 2 2 , 6 4 2 , 12 8 2 , 25 6 2 , 51 2 2 32^2,64^2,128^2,256^2,512^2 322,642,1282,2562,5122}像素。每个阶段都有不同的长宽比{0.5,1,2}。这样RPN能够处理各种大小和纵横比的文本。RoI Align适用于提取proposal的区域特征,ROI Align保留了更准确的位置信息,这对于mask分支中的分割任务非常有效。这里没有针对极端纵横比的文本进行特殊处理。
Fast RCNN
Fast RCNN分支包括分类任务和回归任务。这个分支的主要功能是为检测提供更精确的bounding boxes。Fast RCNN的输入是7*7分辨率的特征图,它是由RoI Align从PRN的proposal中产生的。
Mask Branch
掩码分支中有两个任务,包括全局文本实例分割和字符分割任务。如图三所示,给定固定大小为1664的输入RoI特征,通过四个卷积层和一个反卷积层,掩码分支预测出38个映射(大小为32128),包含一个全局文本实例映射、36个字符映射和一个字符背景映射。无论文本实例的形状如何,全局文本实例映射都可以提供文本区域的准确定位。字符映射是36个字符的映射,包括26个字母和10个阿拉伯数字。后处理还需要字符的背景映射,背景映射不包括字符区域。
5.2 Label Generation
对于具有输入图像I和相应的真实标签值,我们为RPN,FastRCNN和Mask branch生成目标。一般来说,基本的标签包括 P = { p 1 , p 2 … p m } P=\{ p_1,p_2\ldots p_m \} P