【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代

原文地址:Scene Text Detection and Recognition: The Deep Learning Era

文章目录

  • 摘要
  • 1.引言
  • 2.深度学习时代之前的方法
    • 2.1概括
  • 3.深度学习时代的方法论
    • 3.1文本检测
      • 3.1.1管道简化
      • 3.1.2分解为子文本
      • 3.1.3具体目标
        • 3.1.3.1长文本:
        • 3.1.3.2多方向文本
        • 3.1.3.3不规则形状的文字
        • 3.1.3.4加速
        • 3.1.3.5实例细分
        • 3.1.3.6检索指定文本
        • 3.1.3.7克服复杂背景
    • 3.2文本识别
      • 3.2.1基于CTC的方法
      • 3.2.2基于注意力机制的方法
      • 3.2.3其他努力
    • 3.3端到端系统
    • 3.4辅助技术
      • 3.4.1合成数据
      • 3.4.2自举
      • 3.4.3文字去模糊
      • 3.4.4 上下文信息
  • 4基准数据集和评估协议
    • 4.1基准数据集
      • 4.1.1具有检测和识别任务的数据集
      • 4.1.2仅具有检测任务的数据集
      • 4.1.3仅具有识别任务的数据集
    • 4.2评估协议
      • 4.2.1文本检测
        • 4.2.1.1 ICDAR2003/2005
        • 4.2.1.2 ICDAR2011/2013
        • 4.2.1.3MSRA-TD500
      • 4.2.2文本识别和端到端系统
  • 5应用
  • 6结论与讨论
    • 6.1现状
    • 6.2挑战与未来趋势

摘要

随着深度学习的兴起和发展,计算机视觉已发生了巨大的变革和重塑。作为计算机视觉的重要研究领域,场景文本的检测和识别不可避免地受到了这一革命浪潮的影响,从而进入了深度学习的时代。近年来,社区见证了思维方式,方法论和绩效的巨大进步。这项调查旨在总结和分析深度学习时代场景文本检测和识别的重大变化和重大进展。通过本文,我们致力于:(1)介绍新的见解和想法; (2)重点介绍最新技术和基准; (3)展望未来趋势。具体来说,我们将强调深度学习带来的巨大差异,并且仍然存在巨大挑战。我们希望这篇评论文章可以作为该领域研究人员的参考书。相关资源也在我们的Github存储库中收集和编译:https://github.com/Jyouhou/SceneTextPapers。

关键字:场景文本,检测,识别,深度学习,调查

1.引言

毫无疑问,文字是人类最辉煌,最有影响力的创作之一。 作为人类语言的书面形式,文本使在时空上可靠,有效地传播或获取信息成为可能。 从这个意义上说,文本构成了人类文明的基石。
一方面,文本作为交流与协作的重要工具,在现代社会中比以往任何时候都起着越来越重要的作用。 另一方面,文本中包含的丰富,精确的高级语义可能有助于理解我们周围的世界。 例如,文本信息可用于各种现实应用中,例如图像搜索[127],[144],即时翻译[25],[113],机器人导航[23],[90], [91],[128]和工业自动化[18],[42],[51]。 因此,从自然环境中自动阅读文本(示意图如图1所示),也称为场景文本检测和识别[184]或PhotoOCR [10],已经成为计算机视觉中越来越流行和重要的研究课题。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第1张图片

图1:场景文本检测和识别示意图。 图像样本来自Total-Text [17]。

但是,尽管进行了多年的研究,但在野外检测和识别文本时仍可能会遇到一系列严峻挑战。 困难主要来自三个方面[184]:

  • 自然场景中文本的多样性和可变性
    与文档中的文本截然不同,自然场景中的文本表现出更高的多样性和可变性。 例如,场景文本的实例可以具有不同的语言,颜色,字体,大小,方向和形状。 此外,场景文本的纵横比和布局可能会发生很大变化。 所有这些变体对于为自然场景中的文本设计的检测和识别算法提出了挑战。
  • 背景的复杂性和干扰
    自然场景的背景几乎是不可预测的。 可能存在与文本极其相似的图案(例如,树叶,交通标志,砖块,窗户和栅栏),或由异物引起的遮挡,这可能会导致混乱和错误。
  • 成像条件不完善
    在不受控制的情况下,无法保证文本图像和视频的质量。 也就是说,在较差的成像条件下,文本实例可能由于不适当的拍摄距离或角度而具有较低的分辨率和严重的失真,或者由于无法聚焦或晃动而变得模糊,或者由于光线不足而产生噪点,或者由于高光或阴影。

在深度学习展现其在计算机视觉以及其他领域中的潜力之前的几年中,这些困难一直存在。 在AlexNet [72]赢得ILSVRC2012 [126]竞赛后,随着深度学习的兴起,研究人员转向用于自动特征学习的深度神经网络,并开始了更深入的研究。 社区现在正在致力于更具挑战性的目标。 近年来取得的进展可归纳如下:

  • 整合深度学习
    几乎所有最新方法都基于深度学习模型。 最重要的是,深度学习使研究人员摆脱了反复设计和测试手工制作功能的繁琐工作,从而催生了许多作品,这些作品进一步推波助澜。 具体而言,深度学习的使用大大简化了整个流程。 此外,这些算法在标准基准方面比以前的算法有显着改进。 基于梯度的训练例程也有助于端到端的可训练方法。
  • 面向目标的算法和数据集
    研究人员现在转向更具体的方面和目标。 面对现实中的困难,收集了具有独特和代表性特征的新发布的数据集。 例如,有些数据集分别具有长文本,模糊文本和弯曲文本。 在这些数据集的驱动下,近年来发布的几乎所有算法都旨在解决特定挑战。 例如,提出了一些检测定向文本的方法,而另一些则针对模糊和未聚焦的场景图像。 这些想法也被组合起来以形成更多通用的方法。
  • 辅助技术的进步
    除了专门用于主要任务的新数据集和模型之外,不能直接解决任务的辅助技术也可以在此领域中找到自己的位置,例如合成数据和引导程序。

在此调查中,我们概述了基于深度学习的文本检测和从静止场景图像识别的最新进展。 我们从不同的角度审视方法,并列出最新的数据集。 我们还分析了现状和未来的研究趋势。
已经有好几篇优秀的评论论文[146],[166],[172],[184],它们也组织和分析了与文本检测和识别相关的作品。 但是,这些论文是在深度学习在该领域引起关注之前发表的。 因此,他们主要关注于更传统的基于特征的方法。 我们还请读者阅读这些论文,以获取更全面的观点和历史知识。 本文将主要集中于从静止图像而不是视频中提取文本信息。 有关视频中场景文本的检测和识别,也请参考[65],[172]。
本文的其余部分安排如下:在第二部分中,我们简要回顾了深度学习时代之前的方法。 在第3节中,我们按层次结构列出并总结了基于深度学习的算法。 在第4节中,我们介绍了数据集和评估协议。 最后,我们介绍潜在的应用以及对当前状态和未来趋势的看法。

2.深度学习时代之前的方法

2.1概括

在本节中,我们将回顾一下深度学习时代之前的算法。 这些作品的更详细和全面的介绍可以在[146],[166],[172],[184]中找到。 对于文本检测和识别,功能设计一直是关注的焦点。
在这段时间内,大多数文本检测方法采用“连接组件分析”(CCA)[26],[57],[63],[110],[145],[168],[171]或基于分类的滑动窗口(SW )[19],[74],[152],[154]。 基于CCA的方法首先通过各种方式(例如颜色聚类或极端区域提取)提取候选成分,然后使用手动设计的规则或通过对手工特征进行自动训练的分类器过滤掉非文本成分(参见图2) 。 在滑动窗口分类方法中,不同大小的窗口在输入图像上滑动,其中每个窗口是否分类为文本段/区域。 那些被归类为正的词又通过形态运算[74],条件随机场(CRF)[152]和其他基于图的方法[19],[154]分为文本区域。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第2张图片

图2:具有手工特征的传统方法的说明:(1)假设每个字符的色度一致,则最大稳定的极值区域(MSER)[110]; (2)笔划宽度变换(SWT)[26],假设每个字符内的笔划宽度一致。

对于文本识别,一个分支采用了基于特征的方法。 Shi等。 [136]和姚等。 [165]基于姿势字符段的识别算法。 Ro driguez等。 [121],[122]和Gordo等人。 [38]和Al mazan等。 [4]利用标签嵌入来直接执行字符串和图像之间的匹配。 笔划[12]和字符要点[116]也被检测为分类特征。 另一个将识别过程分解为一系列子问题。 已经提出了各种方法来解决这些子问题,包括文本二值化[75],[105],[149],[179],文本行分割[167],字符分割[112],[125],[ 137],单个字符识别[14],[130]和单词校正[67],[106],[148],[156],[176]。

也有致力于集成(即今天我们称为端到端)系统[109],[152]。 在王等。 [152],字符被视为对象检测中的一种特殊情况,并由经过HOG特征训练的最近邻居分类器检测[21],然后通过基于图片结构(PS)的模型分组为单词[28]。 Neumann和Matas [109]提出了一种决策延迟方法,方法是将每个字符的多个分段保持到知道每个字符的上下文的最后阶段为止。 他们使用末端区域检测字符分割,并通过动态编程算法解码识别结果。

总而言之,深度学习时代之前的文本检测和识别方法主要提取低级或中级手工图像特征,这需要苛刻且重复的预处理和后处理步骤。 受限于手工制作功能的有限表示能力和流水线的复杂性,这些方法几乎无法处理复杂的情况,例如 ICDAR2015数据集中的图像模糊[68]。

3.深度学习时代的方法论

正如本节标题所隐含的那样,我们要应对方法学变化带来的最新进展而不是仅是新方法。 我们的结论基于以下段落中解释的观察。

近年来的方法具有以下两个区别:(1)大多数方法利用基于深度学习的模型; (2)大多数研究人员正在从多种角度解决这个问题。 深度学习驱动的方法具有以下优势:自动特征学习可以使我们免于设计和测试大量潜在的手工特征。 同时,来自不同观点的研究人员正在丰富和促进社区开展更深入的工作,针对不同的目标,例如:更快更简单的管道[180],宽高比不同的文本[131]和综合数据[41]。 正如我们在本节中还将看到的那样,深度学习的结合完全改变了研究人员处理任务的方式,并且到目前为止扩大了研究范围。 与以前的时代相比,这是最重大的变化。

简而言之,近年来见证了可细分趋势的研究蓬勃发展。 我们在图3中总结了这些变化和趋势,并在调查中遵循了该图。

在本节中,我们将现有方法分类为分层分类法,并以自顶向下的样式进行介绍。 首先,我们将它们分为四种系统:(1)文本检测,用于检测和定位自然图像中文本的存在; (2)识别系统,将检测到的文本区域的内容转录并转换成语言符号; (3)在一个单一管道中同时执行文本检测和识别的端到端系统; (4)旨在支持文本检测和识别的主要任务的辅助方法,例如 合成数据生成和图像去模糊。 在每个类别下,我们从不同角度回顾最近的方法。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第3张图片

图3:近期进展和主要趋势概述。

3.1文本检测

我们承认,场景文本检测可以归类为一般对象检测下的分类,该对象检测分为两阶段方法:一阶段方法和两阶段方法。 但是,场景文本的检测具有不同的特征和挑战,需要独特的方法和解决方案。 因此,更适合根据这些算法的特征对这些算法进行分类,而不是在一般目标检测中采用上述二分法。 但是,我们鼓励读者参考有关对象检测方法的最新调查[43],[85]。

文本检测领域存在三个主要趋势,我们将在以下小节中逐一介绍它们。 它们是:(1)简化管道; (2)预测单位的变化; (3)指定目标。

3.1.1管道简化

最重要的趋势之一是管道的简化,如图4所示。 深度学习时代之前的大多数方法,以及一些使用深度学习的早期方法,都具有多步骤流水线。 最近的方法大大简化了流程,缩短了流水线,这是减少错误传播和简化训练过程的关键。 在过去的几年中,联合训练的方法超越了单独训练的两阶段方法。 这些方法的主要组成部分是端到端的微分模块,这是一个杰出的特性。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第4张图片

图4:场景文本检测和识别的典型管道。 (a)[60]和(b)[164]是代表性的多步方法。 (c)和(d)是简化的管道。 (c)[180]仅包含检测分支,因此与单独的识别模型一起使用。 (d)[49],[92]共同训练了检测模型和识别模型。

多步方法:早期的基于深度学习的方法[164],[178] ,[45]将文本检测任务转换为多步过程。 在[164]中,使用卷积神经网络来预测输入图像中的每个像素(1)是否属于字符,(2)是否在文本区域内,以及(3)像素周围的文本方向。 关联的肯定响应被视为对字符或文本区域的检测。 对于属于同一文本区域的字符,应用Delaunay三角剖分[66],此后,图形分割算法根据预测的方向属性将字符分组为文本行。

同样,[178]首先预测表示文本行区域的分割图。 对于每个文本行区域,应用MSER [111]提取候选字符。 候选字符显示有关基础文本行的比例和方向的信息。 最后,最小边界框被提取为最终的文本行候选。

在[45]中,检测过程还包括几个步骤。 首先,提取文本块。 然后,模型裁剪并仅关注提取的文本块以提取文本中心线(TCL),该中心线定义为原始文本行的缩小版本。 每行文本代表一个文本实例的存在。 然后,将提取的TCL映射图分成几个TCL。 然后,将每个拆分的TCL连接到原始图像。 然后,语义分割模型会将每个像素分为与给定TCL属于同一文本实例的像素和不属于该像素实例的像素。

简化的流水线:最近的方法遵循两步流水线,包括一个端到端的可训练神经网络模型和一个后处理步骤,通常比以前的方法简单得多[48] 2,[64],[79] ],[80] 3,[93],[131] 4,[94] 5,[102] 6,[78],[83] 7,[20],[93],[177]。 这些方法主要从通用对象检测技术中获得启发[29],[33],[34],[46],[86],[119],并修改区域提议和边界框回归模块以直接定位文本实例 。 我们在这里简要介绍一些代表性的作品。

如图5(b)所示,文本框[80]通过将默认框定义为具有不同规格的四边形,使SSD适应文本的不同方向和纵横比。

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第5张图片

图5:现有锚/ ROIpooling基础的方法高电平例证:(a)至YOLO[117]类似的,在每个锚定位置预先dicting。代表性的方法包括旋转默认盒[93]。 (b)SSD的变体[86],包括文本框[80],可预测不同大小的特征图。 (c)边界框的直接回归[180],也可以预测每个锚点的位置。基于(d)区域提案方法,包括改变纵横比[64]的旋转的ROI[102]和的ROI。

基于标准锚点的默认框预测方法的一种变体是EAST [180] 8。在标准的SSD网络,有多个不同尺寸的特征图,其上检测到不同的感受野的默认盒。在EAST 中,所有特征图通过逐渐上采样集成在一起,或U-Net的[124]结构是具体的。最终特征图的大小是原始输入图像14,与c-通道。在每个像素仅属于一条文本行的假设下,最终特征图上的每个像素(即1×1×c特征张量)用于使基础文本行的矩形或四边形边界框回归。具体地,文本是否存在,即文本/非文本和几何形状,例如为四边形方向和大小的矩形,以及顶点坐标,进行预测。 EAST使得到文本检测其高度简化的管线和效率的场的差。由于EAST最出名的是它的速度,我们将在后面的部分重新引入EAST,重点是它的效率。

其他方法适用于R-CNN的两阶段目标检测框架[33],[34],[119],其中第二阶段根据感兴趣区域(ROI)合并获得的特征来校正定位结果。 旋转区域建议网络[102]生成旋转区域建议,以适合任意方向的文本,而不是与轴对齐的矩形。 同样,R2CNN [64]使用不同大小的区域建议。 在FEN [177]中,使用了具有不同大小的区域建议的加权总和。 最终预测是通过利用文本得分对4种不同大小的合并进行的。

前述方法简化了整个流水线并大大提高了效率。 但是,当遇到形状不规则的文本和长文本时,性能仍然受到限制。 因此,重新引入了基于深度学习的多阶段方法。 如下所述,这些方法使用神经网络预测局部属性,并使用后处理步骤重建文本实例。 与早期的多阶段方法相比,它们更多地依赖于神经网络,并且管道更短。

3.1.2分解为子文本

文本检测与常规对象检测之间的主要区别在于,文本在整体上是同质的,并且显示局部性,而常规对象检测则不是。 通过同质性和局部性,我们指的是文本实例的任何部分仍然是文本的属性。 人类不必看到整个文本实例就知道它属于某些文本。

这种属性为文本检测方法的新分支奠定了基石,该方法仅预测子文本组件,然后将其组合为文本实例。 在这一部分中,我们将以文本检测的粒度为视角。 预测粒度有两个主要级别,文本实例级别和子文本级别。

如上一节所述,文本实例级方法遵循常规对象检测的标准例程。 提案区域网络会为可能的文本实例的本地化产生初步猜测。 可选地,然后一些方法使用细化部分来过滤误报并纠正定位。

相反,子文本级别检测方法[101],[22] 9,[45],[159],[164],[48] 10,[44],[131],[178],[142] 11 ,[150],[183]仅预测合并为文本实例的部分。 这种子文本主要包括像素级和组件级。

像素级方法[22],[45],[48],[159],[164],[178]中,端到端全卷积神经网络学习生成密集的预测图,指示每个像素是否 原始图像中的“否”是否属于任何文本实例。 然后,后处理方法根据属于同一文本实例的像素将像素分组在一起。 由于文本可以出现在使预测像素相互连接的簇中,因此像素级方法的核心是将文本实例彼此分离。 PixelLink [22]通过向每个像素添加链接预测来学习预测两个相邻像素是否属于同一文本实例。 边界学习方法[159]假设边界可以很好地分隔文本实例,则将每个像素分为三类:文本,边界和背景。 在Holistic [164]中,像素预测图包括文本块级别和字符中心级别。 由于字符的中心不重叠,因此分隔很容易完成。

在这一部分中,我们仅打算介绍预测单位的概念。 我们将在“特定目标”部分中返回有关文本实例分离的详细信息。

组件级方法[44],[101],[131],[142],[150],[183]通常以中等粒度进行预测。 组件是指文本实例的本地区域,有时包含一个或多个字符。

如图6(a)所示,SegLink [131]修改了SSD [86]。 SegLink将默认框定义为仅具有一个纵横比,而不是代表整个对象的默认框。 每个默认框代表一个文本段。 此外,将预测默认框之间的链接以指示链接的段是否属于同一文本实例。

角点定位方法[101]建议检测每个文本实例的四个角点。 由于每个文本实例仅具有4个角,因此预测结果及其相对位置可以指示应将哪些角分组到同一文本实例中。

SegLink [131]和Corner本地化[101]特别针对长而多方向的文本而提出。 我们仅在此处介绍该想法,并在“特定目标”部分中讨论有关如何实现这些想法的更多详细信息。

在[150]中,像素根据其颜色一致性和边缘信息聚类。 融合的图像段称为超像素。 这些超像素还用于提取字符和预测文本实例。

组件级方法的另一个分支是连接主义者文本建议网(CTPN)[142],[158],[183]。 CTPN模型继承了锚定和递归神经网络用于序列标记的思想。 它们通常由基于CNN的图像分类网络组成,例如 VGG,并在其顶部堆叠RNN。 最终要素图中的每个位置代表相应锚点指定区域中的要素。 假设文本水平显示,要素的每一行将被送入RNN并标记为文本/非文本。 几何形状也是可以预测的。

一般而言,子文本级方法对不同文本实例的大小,长宽比和形状更健壮。 但是,后处理步骤的效率可能取决于实际的实现,并且在某些情况下会很慢。 缺少优化步骤也可能会损害性能。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第6张图片

图6:代表性的自下而上方法的图示:(a)SegLink [131]:以SSD为基础网络,预测每个锚点位置的词段,以及相邻锚点之间的连接。 (b)PixelLink [22]:对于每个像素,预测文本/非文本分类以及它是否与相邻像素属于同一文本。 (c)角点本地化[101]:预测每个文本的四个角点,并将属于相同文本实例的那些角点分组。 (d)TextSnake [97]:预测文本/非文本和局部几何形状,用于重建文本实例。

3.1.3具体目标

当前文本检测系统的另一个特征是,它们中的大多数是为特殊目的而设计的,试图解决检测场景文本中的特定困难。 我们将它们大致分为以下几个方面。

3.1.3.1长文本:

与一般的对象检测不同,文本通常具有不同的宽高比。 它们具有更大的宽高比,因此常规的对象检测框架将失败。 已经提出了几种检测长文本的方法[64],[101],[131]。

R2CNN [64]提供了一个直观的解决方案,其中使用了不同大小的ROI池。 遵循Faster R-CNN [119]的框架,对区域提案网络生成的每个框执行三个合并池大小分别为7×7、3×11和11×3的ROI池, 将合并的特征串联起来以获得文本得分。

另一个分支是学习检测与整个文本无关的本地子文本成分[22],[101],[131]。 SegLink [131]建议检测组件,即文本的正方形区域,以及这些组件如何相互链接。 PixelLink [22]预测哪些像素属于任何文本,相邻像素是否属于同一文本实例。 角点定位[101]检测文本角点。 所有这些方法都学会了检测局部成分,然后将它们组合在一起以进行最终检测。

张等。 [175]提议递归执行ROI和本地化分支,以修改文本实例的预测位置。 这是在边界框的边界处包含要素的好方法,这比RPN网络更好地定位文本。

虽然文本实例级别的方法可能会因接收字段有限而失败,但子文本方法可能会缺少端到端优化。 因此,长文本的挑战仍然没有解决。

3.1.3.2多方向文本

与常规文本检测的另一个区别是,文本检测对旋转是敏感的,歪斜的文本在现实世界中很常见,而使用传统的轴对齐预测框会包含嘈杂的背景,这会影响后续文本识别模块的性能。 已经提出了几种方法来适应它[64],[80],[83],[93],[102],[131],[180],[151] 。

从一般的基于锚的方法扩展,使用具有预测旋转偏移的旋转默认框[80],[93]。 类似地,生成具有6个不同方向的旋转区域建议[102]。 基于回归的方法[64],[131],[180]可以预测对方向不敏感的顶点的旋转和位置。 此外,在廖等。 [83],旋转滤波器[181]被并入以明确地模拟取向不变性。 3×3滤镜的外围权重围绕中心权重旋转,以捕获对旋转敏感的特征。

尽管上述方法可能需要进行额外的后处理,但Wang等人(2006年)却提出了一种新的方法。 [151]提出使用参数化实例转换网络(ITN)来学习预测适当的仿射转换,以对基础网络提取的最后一个特征层执行,以纠正定向文本实例。 使用ITN可以对他们的方法进行端到端的培训。

3.1.3.3不规则形状的文字

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第7张图片

图7:(a)-(c):将文本表示为水平矩形,定向矩形和四边形。 (d):TextSnake [97]中提出的滑盘表示法。
除了宽高比不同外,另一个区别是文本可以具有多种形状,例如 弯曲的文字。 弯曲的文本带来了新的挑战,因为规则的矩形边界框将包含很大比例的背景甚至其他文本实例,因此难以识别。

从四边形边界框扩展,很自然地使用边界“框”以及四个以上的顶点。 提出了具有多达14个顶点的边界多边形[94],然后是Bi-LSTM [53]层以细化预测顶点的坐标。 但是,在其框架中,第一步提取轴对齐的矩形作为中间结果,并在其上预测位置边界多边形。

同样,Lyu等。 [100]修改了Mask R-CNN [46]框架,以便对于每个感兴趣的区域(以轴对齐矩形的形式),仅针对每种类型的字母来预测字符掩码。 然后将这些预测字符对齐在一起以形成多边形作为检测结果。 值得注意的是,他们提出了他们的方法作为端到端系统。 我们将在以下部分中再次提及它。

Long等人从不同的角度来看问题。 [97]认为,文本可以表示为沿着文本中心线(TCL)的一系列滑动圆盘,这与文本实例的运行方向一致,如图7所示。如图6(d)所示,他们以新颖的表示形式提出了一个新模型TextSnake,该模型学会了预测局部属性,包括TCL / nonTCL,文本区域/非文本区域,半径和方向。 TCL像素和文本区域像素的交集给出了像素级TCL的最终预测。如图6(d)所示,然后使用局部几何形状以有序点列表的形式提取TCL。使用TCL和半径,可以重建文本行。它可以在多个弯曲文本数据集以及更广泛使用的数据集上实现最新的性能,例如ICDAR2015 [68]和MSRA-TD500 [145]。值得注意的是,Long等。提出跨不同数据集的交叉验证测试,其中仅对具有纯文本实例的数据集进行模型微调,然后对弯曲的数据集进行测试。在所有现有的弯曲数据集中,TextSnake与F1-Score中的其他基准相比,最多可提高20%。

边界回归的简单替代方法是多边形回归。 Wang等。 [155]建议使用附加到基于RPN的两阶段对象解码器编码的特征的RNN,以预测可变长度的边界多边形。 该方法不需要后期处理或复杂的中间步骤,并且在Total-Text上实现了更快的10.0 FPS速度。

与SegLink相似,Baek等人。 [6]建议学习字符中心和它们之间的联系。 组件和链接都以热图的形式进行预测。 但是,由于现实世界的数据集很少配备字符级标签,因此该方法需要反复进行弱监督。 此类迭代方法很可能是Knowledge Distillation [30],[52](KD)本身,因此不确定改进是来自方法本身还是迭代KD过程。

尽管通过这些方法获得了改进,但是除TextSnake之外,几乎没有其他方法考虑过泛化能力的问题。 由于弯曲文本主要出现在街道广告牌上,因此其他领域的弯曲文本数据集可能不那么可用。 因此,在这种情况下,泛化能力很重要。

3.1.3.4加速

当前的文本检测方法更加注重速度和效率,这对于在移动设备中的应用是必不可少的。

获得显著加速的第一项工作是EAST [180],它对先前的框架进行了一些修改。 EAST使用PVANet [71]代替VGG [139],作为其基础网络,这在ImageNet竞争中实现了效率和准确性之间的良好平衡。 此外,它简化了整个管线进入预测网络和非最大抑制步骤的过程。 预测网络是U形[124]全卷积网络,它将输入图像 I ∈ R H , W , C I \in R^{H, W, C} IRH,W,C映射到特征图 F ∈ R H / 4 , W / 4 , K F \in R^{H/4, W/4, K} FRH/4,W/4,K,其中每个位置 f = F i , j , : ∈ R 1 , 1 , K f=F_{i,j,:} \in R^{1,1,K} f=Fi,j,:R1,1,K是描述预测文本实例的特征向量。 即,对应于该特征位置 ( i , j ) (i,j) (i,j)的文本实例的顶点或边缘的位置,方向和中心的偏移。 对应于相同文本实例的特征向量与非最大抑制合并。 它以16.8的FPS达到了最先进的速度,并且在大多数数据集上均具有领先的性能。

3.1.3.5实例细分

近年来,见证了具有密集预测的方法,即像素水平预测[22],[45],[114],[159]。 这些方法生成将每个像素分类为文本或非文本的预测图。 但是,由于文本可能彼此靠近,因此不同文本实例的像素可能在预测图中相邻。 因此,分离像素变得重要。

因为中心线彼此远离,提出了像素级文本中心线[45]。 这些文本行不相邻,因此很容易分开。 为了产生对文本实例的预测,将文本实例的文本中心线的二进制图附加到原始输入图像上,并输入到分类网络中。 生成显着性掩码以指示检测到的文本。 但是,此方法包含不可微的步骤。 文本行生成步骤和最终预测步骤不能被端到端地训练,并且错误传播。

分离不同文本实例的另一种方法是使用边界学习的概念[114],[159],[161],其中每个像素都分为三类之一:文本,非文本和文本边界。 然后,文本边框会分隔属于不同实例的文本像素。 同样,在薛等人的工作中。 [161],文本被认为是由4个段括起来的,即一对长边边框(腹部和背部)和一对短边边框(头部和尾巴)。 薛等人的方法。 也是第一个使用DenseNet [56]作为其基础网络的公司,在所有评估的数据集上,F1评分的性能比ResNet [47]提升了2-4%。

继SegLink之后,PixelLink [22]学习链接属于同一文本实例的像素。 文本像素通过不交集算法有效地分为不同实例的组。 同样,刘等。 [96]建议用马尔可夫聚类[147]而不是神经网络来预测相邻像素的组成。 马尔可夫聚类算法应用于神经网络生成的输入图像的显着图,并指示每个像素是否属于任何文本实例。 然后,聚类结果给出了分割后的文本实例。

田等。 [143]建议添加一个损耗项,以使属于不同文本实例的像素嵌入矢量之间的欧几里德距离最大化,并使属于同一实例的像素嵌入矢量最小化,以更好地分离相邻文本。

基于分段的方法已被证明是成功的。 但是,缺乏端到端培训可能会限制其性能。 如何对这些方法实施端到端优化仍然是一个挑战。

3.1.3.6检索指定文本

与场景文本检测的经典设置不同,有时我们希望根据描述来检索某个文本实例。 荣等。 [123]提出了一种多编码器框架来检索指定的文本。 具体而言,根据自然语言查询的要求检索文本。 多编码器框架包括密集文本本地化网络(DTLN)和上下文推理文本检索(CRTR)。 DTLN使用LSTM将FCN网络中的功能解码为文本实例序列。 CRTR对查询和场景文本图像的特征进行编码,以对DTLN生成的候选文本区域进行排名。 就我们而言,这是根据查询检索文本的第一项工作。

3.1.3.7克服复杂背景

引入注意力机制来使复杂的背景保持沉默[48]。 干网络与标准SSD框架预测单词框的网络相似,不同之处在于它在级联特征图上应用了初始块,从而获得了所谓的聚合初始特征(AIF)。 添加了一个附加的文本注意模块,该模块同样基于初始块。 将注意力集中在所有AIF上,以抑制背景噪声的影响。

3.2文本识别

在本节中,我们介绍解决文本识别的方法。 这些方法的输入是包含一个单词或一条文本行的裁剪的文本实例图像。

在传统的文本识别方法中[10],[137],该任务分为3个步骤,即图像预处理,字符分割和字符识别。 由于复杂的背景和场景文本的不规则排列,字符分割被认为是最具挑战性的部分,并在很大程度上限制了整个识别系统的性能。 避免字符分割采用了两种主要技术,即连接主义的时间分类[39]和注意机制。 我们基于识别技术所采用的主要技术对其进行介绍。 主流框架如图8所示。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第8张图片

图8:文本识别模型的框架。 基本方法是首先将裁剪后的图像调整为固定的高度,然后提取特征并将其提供给RNN,从而为每列生成一个字符预测。 由于特征的列数不一定等于单词的长度,因此提出了CTC技术[39]作为后处理阶段。 (a)带有CNN的RNN [132]; (b)利用FCN进行序列预测[31]; (c)基于注意力的模型[16],[32],[73],[95],[133],[162],允许解码不同长度的文本; (d)Cheng等。 [15]建议对注意力模块进行监督; (e)为了在注意力集中固定长度解码的情况下改善先前方法中的不对准问题,提出了“编辑概率” [8]对预测的顺序分布进行重新排序。

3.2.1基于CTC的方法

CTC计算条件概率 P ( L ∣ Y ) P(L | Y) P(LY),其中 Y = y 1 , . . . , y T Y = y_1,...,y_T Y=y1...yT表示RNN的每帧预测,L是标记序列,因此仅使用序列级别标记即可训练网络 监督。 CTC在OCR域中的首次应用可以追溯到Graves等人的手写识别系统。 [40]。 现在,该技术已广泛应用于场景文本识别[140],[88],[132] 13,[31],[169]。

Shi等。 [132]提出了一个模型,该模型将CNN与RNN堆叠在一起以识别场景文本图像。 如图8(a)所示,CRNN由三部分组成:(1)卷积层,从输入图像中提取特征序列; (2)循环层,预测每个帧的标签分布; (3)转录层(CTC层),它将每帧的预测翻译成最终的标记序列。

Gao等人 [31]采用堆叠的卷积层来代替RNN。有效地捕获输入序列的上下文相关性,其特点是计算复杂度较低,并行计算更容易。 与其他框架的总体差异如图8(b)所示。

Yin等。 [169]通过使用字符模型滑动文本行图像来同时检测和识别字符,这些模型是在标记有文本记录的文本行图像上端对端学习的。

3.2.2基于注意力机制的方法

注意力机制首先在[7]中提出来提高神经机器翻译系统的性能,并在包括场景文本识别在内的许多机器学习应用领域得到发展。

Lee等。 [73]提出了一种具有注意力模型的递归递归神经网络,用于无词典场景文本识别。 该模型首先将输入图像传递给递归卷积层以提取编码的图像特征,然后通过具有隐式学习的字符级语言统计信息的递归神经网络将其解码以输出字符。 基于注意的机制可以对表单进行软功能选择,以更好地使用图像功能。

程等。 [15]观察现有的基于注意力的方法中的注意力漂移问题,并建议对注意力得分施加定位监督以减弱它,如图8(d)所示。

在[8]中,Bai等。 提出了一种编辑概率(EP)度量标准,以处理地面真相字符串与注意力的概率分布输出序列之间的不一致,如图8(e)所示。 与前面提到的通常采用逐帧最大似然损失的基于注意力的方法不同,EP尝试根据输入图像为条件的概率分布的输出序列来估计生成字符串的概率,同时考虑可能出现的遗漏或多余字符。

在[95]中,Liu等人。 提出了一种有效的基于注意力的编码器-解码器模型,其中在二进制约束下训练编码器部分以减少计算量。

在这些基于注意力的方法中,一些工作致力于准确识别不规则的(可能变形或弯曲的)文本。 Shi等。 [133],[134]提出了一种文本识别系统,该系统将空间变压器网络(STN)[61]和基于注意力的顺序识别网络相结合。 STN会预测Thin-Plate Spline转换,从而将输入的不规则文本图像校正为更规范的形式。

杨等。 [162]引入了辅助的密集字符检测任务,以鼓励学习有利于文本模式的视觉表示。 并且他们采用对齐损失来调整每个时间步的估计注意力。 此外,他们使用坐标图作为第二输入以增强空间意识。

在[16]中,Cheng等。 认为将文本图像编码为大多数方法中实现的一维特征序列是不够的。 它们将输入图像编码为四个方向的四个特征序列:水平,水平反转,垂直和垂直反转。 应用加权机制来组合四个特征序列。

刘等。 [87]提出了一种分层的注意机制(HAM),它由一个循环的RoI-Warp层和一个字符级的注意层组成。 他们采用局部变换对单个字符的变形进行建模,从而提高了效率,并且可以处理难以通过单个全局转换建模的不同类型的变形。

3.2.3其他努力

Jaderberg等。 [58],[59]在图像分类的框架下,通过将图像分类为预定义的词汇集来执行单词识别。 该模型由合成图像训练,并在仅包含英文单词的某些基准上达到了最新的性能。 但是此方法的应用非常有限,因为它不能应用于识别长序列(例如电话号码)。

廖等。 [82]将识别的任务转换为语义分割,并将每种字符类型都视为一类。 该方法对形状不敏感,因此对不规则文本有效,但是缺乏端到端训练和序列学习的能力,因此容易出现单字符错误,尤其是在图像质量较低时。 他们也是第一个通过填充和转换测试图像来评估其识别方法的鲁棒性的人。 另请注意,二维注意[160]也可以解决此类弯曲文本,已在[77]中进行了验证。

尽管到目前为止我们已经看到了进步,但是识别方法的评估却比较落后。 由于大多数检测方法都可以检测到定向的和不规则的文本,甚至可以纠正它们,因此识别此类文本似乎显得多余。 另一方面,当裁剪边界框略有不同时,识别的鲁棒性很少得到验证。 在现实情况下,这种鲁棒性可能更为重要。

3.3端到端系统

过去,文本检测和识别通常被转换为两个独立的子问题,将其组合在一起以执行从图像读取文本的操作。 最近,已经提出了许多端到端的文本检测和识别系统(也称为文本发现系统),这从设计可微计算图的想法中受益匪浅。 作为一种新趋势,建立这样的系统的努力获得了可观的动力。

早期的工作[152],[154]首先检测输入图像中的单个字符时,最近的系统通常会检测并识别单词级别或行级别的文本。这些系统中的一些系统首先使用文本检测模型生成文本提议,然后使用另一个文本识别模型来识别它们[41],[60],[80]。 Jaderberg等。 [60]结合使用边缘盒建议[185]和训练有素的集合信道特征检测器[24]来生成候选单词边界盒。提案框经过过滤和纠正后,再发送到[59]中提出的识别模型中。在[80]中,廖等人。结合使用基于SSD [86]的文本检测器和CRNN [132]在图像中发现文本。 Lyu等。 [100]提出了Mask R-CNN的一种修改形式,适用于产生场景文本的无形状识别,如图9(c)所示。对于每个感兴趣的区域,都会生成字符图,以指示单个字符的存在和位置。将这些字符链接在一起的后期处理将得出最终结果。

两步方法的一个主要缺点是检测模型和识别模型之间的错误传播会导致性能不令人满意。 最近,提出了更多的端到端可训练网络来解决该问题[9] 14,[13] 15,[49],[76],[92]。

Bartz等。 [9]提出了一种利用STN [61]来循环关注输入图像中的每个单词,然后分别识别它们的解决方案。以弱监督的方式训练联合网络,不使用任何单词边界框标签。 Li等。 [76]用基于编码器-解码器的文本识别模型替换Faster-RCNN [119]中的对象分类模块,并组成其文本点检系统。 Lui等。 [92],Busta等。 [13]和He等。 [49]开发了一个统一的文本检测和识别系统,该系统具有非常相似的总体架构,包括检测分支和识别分支。刘等。 [92]和Busta等。 [13]分别采用EAST [180]和YOLOv2 [118]作为它们的检测分支,并具有类似的文本识别分支,其中文本建议通过双线性采样映射到固定高度张量,然后通过基于CTC的文本转录为字符串识别模块。他等。 [49]也采用EAST [180]生成文本建议,并且他们在基于注意力的识别分支中引入了字符空间信息作为显式监督。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第9张图片

图9:主流端到端框架插图。 基本思想是连接两个分支。 (a):在SEE [9]中,检测结果表示为网格矩阵。 图像区域在被送入识别分支之前被裁剪和转换。 (b):与(a)相比,某些方法从特征映射中裁剪并将其馈送到识别分支[13],[49],[76],[92]。 (c):虽然(a)和(b)利用基于CTC和基于注意力的识别分支,但也可以将每个字符检索为通用对象并撰写文本[100]。

3.4辅助技术

最近的进展不仅限于旨在直接解决任务的检测和识别模型。 我们还应该赞扬起重要作用的辅助技术。 在这一部分中,我们简要介绍了这些有希望的方面:合成数据,自举,文本去模糊和上下文信息合并。

3.4.1合成数据

大多数深度学习模型都是数据渴求的。 仅当有足够的数据可用时,才能保证其性能。 因此,人工数据生成已成为流行的研究主题,例如,人为的。 生成对抗网络(GAN)[37]。 在文本检测和识别领域,此问题更为紧迫,因为大多数人类标记的数据集很小,通常仅包含大约1K K 2K数据实例。 幸运的是,已经有工作[41],[59],[81],[174]产生了相对高质量的数据,并且已被广泛用于预训练模型以提高性能。

Jaderberg等。 [59]建议生成用于文本识别的合成数据。 他们的方法是在将字体,边框/阴影,颜色和变形进行渲染之后,将文本与来自人类标签数据集的随机裁剪的自然图像融合在一起。 结果表明,仅对这些合成数据进行训练就可以达到最新的性能,并且合成数据可以充当所有数据集的补充数据源。

SynthText [41] 16首先提出将文本嵌入自然场景图像中以训练文本检测,而大多数以前的工作仅在裁剪区域上打印文本,而这些合成数据仅用于文本识别。 在整个自然图像上打印文本带来了新的挑战,因为它需要保持语义上的连贯性。 为了产生更真实的数据,SynthText利用深度预测[84]和语义分割[5]。 语义分割将像素分组为语义簇,并且每个文本实例都打印在一个语义表面上,而不与多个语义表面重叠。 密集深度图还用于确定文本实例的方向和变形。 仅在SynthText上训练的模型可以在许多文本检测数据集上达到最新水平。 后来也用于其他作品[131],[180]中,用于初始预训练。

此外,詹等。 [174]将文字合成与其他深度学习技术一起使用,以产生更逼真的样本。 他们引入了选择性语义分割,因此单词实例将仅出现在明智的对象上,例如 代替某人的脸的桌子或墙壁。 他们作品中的文本渲染适应了图像,因此适合艺术风格,并且不会显得笨拙。

廖等。 [81]建议使用著名的开源游戏引擎,虚幻引擎4(UE4)和UnrealCV [115]来合成图像。 文本与场景一起渲染,因此可以实现不同的光照条件,天气和自然遮挡。

尽管识别器的训练已大体上转移到了合成数据上,但是如何合成有助于训练强大检测器的图像仍然是一个挑战。

3.4.2自举

引导或弱和半监督也是一条重要的轨道[55],[78],[141]。 它主要用于单词[78]或字符[55],[141]级别的注释中。

引导词盒Rong等人。 [78]提出将基于FCN的文本检测网络与最大稳定极端区域(MSER)功能相结合,以生成在框级上注释的新训练实例。 首先,他们训练FCN,该FCN预测每个像素属于文本的概率。 然后,从文本置信度高的区域中提取MSER特征。 使用基于单链接标准(SLC)的算法[35],[138]进行最终预测。

字符框的引导程序字符级注释更准确,更好。 但是,大多数现有的数据集都不提供字符级注释。 由于字符较小且彼此接近,因此字符级别的注释更加昂贵且不便。 在半监督字符检测方面已有一些工作[55],[141]。 基本思想是初始化一个字符检测器,并应用规则或阈值来选择最可靠的预测候选。 这些可靠的候选者然后被用作附加的监督源,以完善字符检测器。 两者都旨在通过字符级注释来扩展
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第10张图片

图10:半监督和弱监督方法概述。 现有方法在如何进行过滤方面有所不同。 (a):WeText [141],主要是通过置信度阈值和单词级注释进行过滤。 (b)和(c):基于评分的方法,包括WordSup [55],该方法假定文本为直线,并使用基于特征值的度量来测量其直线度; 荣等。 [78]用MSR特征结合SLC算法评估每个预测的文本区域。

WordSup [55]首先通过在合成数据集上训练5K预热迭代来初始化字符检测器,如图10(b)所示。 对于每个图像,WordSup都会生成候选字符,然后使用单词框对其进行过滤。 对于每个单词框中的字符,将计算以下分数以选择最可能的字符列表: s = w ⋅ area ⁡ ( B chars ) area ⁡ ( B word ) + ( 1 − w ) ⋅ ( 1 − λ 2 λ 1 ) s=w \cdot \frac{\operatorname{area}\left(B_{\text {chars}}\right)}{\operatorname{area}\left(B_{\text {word}}\right)}+(1-w) \cdot\left(1-\frac{\lambda_{2}}{\lambda_{1}}\right) s=warea(Bword)area(Bchars)+(1w)(1λ1λ2)其中 B chars B_{\text {chars}} Bchars是所选字符框的并集; B word B_{\text {word}} Bword是封闭的单词边界框; λ 1 \lambda_{1} λ1 λ 2 \lambda_{2} λ2是协方差矩阵C的第一和第二大特征值,由选定字符框中心的坐标计算得出; w w w是重量标量。 直观地,第一项测量所选字符覆盖单词框的程度,而第二项测量所选字符是否位于直线上,这是大多数数据集中单词实例的主要特征。

WeText [141]从以字符级别注释的小型数据集开始。 它遵循两种引导方式:半监督学习和弱监督学习。 在半监督设置中,检测到的字符候选者将以高阈值进行过滤。 在弱监督的环境中,真实的单词框用于掩盖外部的误报。 以任何一种方式检测到的新实例将添加到初始小型数据集中并重新训练模型。

3.4.3文字去模糊

从本质上讲,文本检测和识别比常规对象检测对模糊更敏感。 已经提出了一些方法[54] 17,[70]用于文本去模糊。

Hradis等。 [54]提出了一种基于FCN的去模糊方法。 核心FCN映射模糊的输入图像并生成去模糊的图像。 他们收集了一组拍摄良好的文档图像,并使用旨在模仿握手和散焦的内核对其进行处理。

Khare等。 [70]提出了一个完全不同的框架。 给定模糊的图像g,它旨在通过最小化以下能量值来替代优化原始图像f和内核k:
E = ∫ ( k ( x , y ) ∗ f ( x , y ) − g ( x , y ) ) 2 d x d y + λ ∫ w R ( k ( x , y ) ) d x d y \begin{aligned} E &=\int(k(x, y) * f(x, y)-g(x, y))^{2} d x d y \\ &+\lambda \int w R(k(x, y)) d x d y \end{aligned} E=(k(x,y)f(x,y)g(x,y))2dxdy+λwR(k(x,y))dxdy

其中λ是正则化权重,其中算子R为高斯加权(w)L1范数。优化是通过交替优化内核k和原始图像f。

3.4.4 上下文信息

进行更准确的预测的另一种方法是考虑上下文信息。 凭直觉,我们知道文本仅出现在某些表面上,例如 广告牌,书籍等。文本不太可能出现在人或动物的脸上。 遵循这个想法,Zhu等人。 [182]提出将语义分割结果作为输入的一部分。 附加功能可在图案看起来像文本的地方过滤掉误报。

4基准数据集和评估协议

随着尖端算法在现有数据集上获得更好的性能,研究人员能够解决问题中更具挑战性的方面。 针对不同现实世界挑战的新数据集已经并且正在制作中,这将进一步促进检测和识别方法的发展。

在本节中,我们列出并简要介绍了现有数据集和相应的评估协议。 如果适用,我们还将在广泛使用的数据集上确定当前的最新技术。

4.1基准数据集

我们收集现有数据集并在表1中汇总其统计信息。 然后,我们在以下部分中讨论它们的特性。 我们还从一些数据集中选择了一些代表性的图像样本,如图11所示。 为了方便读者,我们在摘要中提到的Github存储库中也收集了这些数据集的链接。

4.1.1具有检测和识别任务的数据集

ICDAR数据集 :ICDAR健壮阅读比赛[68],[69],[98],[99],[129],[135]始于2003年,每两年举办一次,主题各异。 他们带来了一系列影响研究界的场景文本数据集。 在水平文本部分中,对ICDAR 2013进行了修改,并取代了ICDAR 2003/2005/2011,作为以后工作中的评估。 ICDAR 2013的特点是大而横的文字。 表2显示了ICDAR 2013的最新结果,表8显示了识别结果。
ICDAR 2015附带文字频道带来了新挑战。 这些图像是由Google眼镜拍摄的,并不影响图像质量。 图像中的很大一部分文本很小,模糊,被遮挡且面向多个方向。 最新的结果显示在表3中进行检测,并在表8中进行识别。
ICDAR 2017野外阅读中文比赛提出了中文文本数据集。 它由12张263张图像组成,是当时最大的数据集,也是第一个大型中文数据集。

“野外中文文本”(CTW)数据集 [173]包含32幅285张高分辨率街景图像,并在字符级别进行注释,包括其底层字符类型,边框和详细属性(例如是否使用艺术字)。 数据集是迄今为止最大的数据集,也是唯一包含详细注释的数据集。 但是,它仅提供中文文本注释,而忽略其他脚本,例如 英语。

Total-Text 具有较大比例的弯曲文本,而以前的数据集仅包含少量。 这些图像主要取自街道广告牌,并标注为顶点数量可变的多边形。 Tab.4中显示了Total-Text的最新结果,以进行检测和识别。

街景文字(SVT)数据集 [152],[153]是街景图像的集合,现在主要用于评估识别算法。

CUTE [120]专注于弯曲文本。 它仅包含80张图像,目前仅用于识别。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第11张图片

表1:现有数据集:*表示最近出版物中使用最广泛的数据集。 代表现实世界挑战的新出版的出版物以粗体标出。 EN代表英文,CN代表中文。

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第12张图片

表2:基于DetEval在ICDAR2013上的检测。 ∗表示多尺度。

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第13张图片

表3:在ICDAR2015上的检测 ∗表示多尺度。

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第14张图片

表4:对 Total-Text 的检测。

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第15张图片

表5: 对 CTW1500 的检测

4.1.2仅具有检测任务的数据集

MSRA-TD500 [145]表示长且多方向的文本,其长宽比比其他数据集大得多。 之后,以与MSRA-TD500相同的方式收集HUST-TR400 [163],以作为其他培训数据。

ICDAR2017-MLT [107]包含18K图像,其中包含9种语言的脚本,每种语言2K。 到目前为止,它具有最多数量的语言。 但是,研究人员很少注意多语言检测和识别。

CASIA-10K 是一个新发布的中文场景文本数据集。 由于中文字符没有用空格分割,因此提供了行级注释。

SCUT-CTW1500(CTW1500)是另一个具有弯曲文本的数据集。 CTW1500中的注释是具有14个均匀放置的顶点的多边形。 表5中显示了CTW1500的性能以进行检测。
【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第16张图片

表6:在MSRA-TD500上的检测。

4.1.3仅具有识别任务的数据集

IIIT 5K-Word [106]是最大的识别数据集,包含数字和自然场景图像。 它在字体,颜色,大小和其他噪音方面的差异使其成为迄今为止最具挑战性的产品。

SVT透视(SVTP) 在[116]中被提出,用于评估识别透视文本的性能。 SVTP中的图像是从Google街景视图中的侧视图图像中拾取的。 它们中的许多由于非正面视角而严重变形。

街景门牌号(SVHN)数据集 [108]包含自然场景中门牌号的裁剪图像。 这些图像是从Google View图像中收集的。 该数据集通常用于数字识别。

4.2评估协议

在这一部分中,我们简要概述了用于文本检测和识别的评估协议。

作为不同算法性能比较的指标,我们通常指的是它们的精度,召回率和F1得分。 要计算这些性能指标,首先应将预测文本实例的列表与地面真相标签匹配。 精度(表示为P)计算为可以与地面真相标签匹配的预测文本实例的比例。召回率,用R表示,是在预测列表中具有对应对象的地面真相标签的比例。 F1得分的计算公式: F 1 = 2 ∗ P ∗ R P + R F1 =\frac{2 * P * R} {P + R} F1=P+R2PR,同时考虑精度和召回率。 请注意,预测实例与基本事实实例之间的匹配首先出现。

4.2.1文本检测

主要有两种不同的文本检测协议,基于IOU的PASCAL Eval和基于重叠的DetEval。 它们在匹配预测的文本实例和基本事实实例的标准方面有所不同。 在下面的部分中,我们使用以下符号: S G T S_{GT} SGT是地面实况边界框的面积, S P S_P SP是预测边界框的面积, S I S_I SI是预测地面实边界框的交集的面积, S U S_U SU是单元区域。

  • DetEval:DetEval对精度(即 S I S P \frac{S_I}{S_P} SPSI)和召回率(即 S I S G T \frac{S_I}{S_{GT}} SGTSI)都施加了约束。 只有当两者都大于各自的阈值时,它们才会匹配在一起。

  • PASCAL [27]:基本思想是,如果交集联合值(即 S I S U \frac{S_I}{S_U} SUSI)大于指定的阈值,则将预测和地面真值框与gether进行匹配。

大多数数据集都遵循这两种评估协议中的任何一种,但都做了少量修改。 我们仅讨论与上述两种协议不同的协议。

4.2.1.1 ICDAR2003/2005

匹配得分m以类似于IOU的方式计算。 它定义为相交面积与包含两者的最小边界矩形边界框的面积之比。

4.2.1.2 ICDAR2011/2013

ICDAR2003 / 2005评估协议的一个主要缺点是它仅考虑一对一匹配。 它没有考虑一对多,多对多和多对一匹配,这低估了实际性能。 因此,ICDAR2011 / 2013遵循Wolf等人提出的方法。 [157],其中一对一匹配的得分为1,而其他两种类型的得分则小于1,通常设置为0.8。

4.2.1.3MSRA-TD500

姚等。 [145]提出了一种新的旋转边界框评估协议,其中预测边界框和地面真实边界框均围绕其中心水平旋转。 仅当标准IOU分数高于阈值并且原始边界框的旋转小于预定义值时才匹配它们(实际上是 p i 4 \frac{pi}{4} 4pi)。

4.2.2文本识别和端到端系统

文本识别是另一项任务,其中给出的裁剪图像恰好包含一个文本实例,我们需要以一种计算机程序可以直接理解的形式从图像中提取文本内容,例如 C ++中的字符串类型或Python中的str类型。 在此任务中不需要匹配。 将预测的文本字符串直接与基本事实进行比较。 性能评估是根据字符级别的识别率(即识别出多少个字符)或单词级别(预测的单词是否为100%正确)进行的。 ICDAR还引入了基于编辑距离的性能评估。 请注意,在端到端评估中,首先以类似于文本检测的方式执行匹配。 表8总结了最广泛使用的数据集的最新识别性能。

端到端系统的评估是检测和识别的结合。 给定要评估的输出(即文本位置和识别的内容),首先将预测的文本实例与地面真实实例匹配,然后比较文本内容。

端到端系统使用最广泛的数据集是ICDAR2013 [69]和ICDAR2015 [68]。 对这两个数据集的评估是在两个不同的设置[2],单词点设置和端到端设置下进行的。 在Word Spotting下,性能评估仅关注场景图像中出现在预先指定词汇中的文本实例,而其他文本实例将被忽略。 相反,出现在场景图像中的所有文本实例都包含在Endto-End下。 提供了三个不同的词汇表,用于候选转录。 它们包括“强上下文”,“弱上下文”和“泛型”。 表7总结了这三种列表。 请注意,在“端到端”下,这些词汇表仍可用作参考。 表9总结了最新的性能。

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第17张图片

表7:ICDAR 2013/2015中使用的三个词汇表的特征。 S代表强关联,W代表弱关联,G代表泛型

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第18张图片

表8:跨多个数据集的最新识别性能。 “ 50”,“ 1k”,“完整”是词典。 “ 0”表示没有词典。 “ 90k”和“ ST”分别是Synth90k和SynthText数据集。 “ ST +”表示包括字符级注释。 “私人”是指私人培训数据。

【论文翻译】Scene Text Detection and Recognition: The Deep Learning Era 场景文本检测和识别:深度学习时代_第19张图片

表9:ICDAR2015和ICDAR2013上的端到端和单词斑点性能。 ∗表示多尺度。

5应用

对文本(人类文明的视觉和物理载体)的检测和识别使视觉与对其内容的理解之间有了进一步的联系。 除了我们在本文开头提到的应用程序之外,在各个行业和我们的日常生活中还有许多特定的应用程序场景。 在这一部分中,我们列出并分析了对我们的生产力和生活质量产生重大影响或将产生重大影响的最杰出的因素。

自动数据输入 除了现有文档的电子存档之外,OCR还可以通过自动数据输入的形式提高我们的生产率。 一些行业涉及耗时的数据输入,例如 快递行业中客户编写的快速订单,以及金融和保险行业中手写的信息表。 应用OCR技术可以加快数据输入过程并保护客户隐私。 一些公司已经在使用这些技术,例如 顺丰速运18。 另一个潜在的应用是笔记记录,例如NEBO19,它是iPad等平板电脑上的笔记记录软件,可在用户写下笔记时立即进行转录。

身份验证 自动身份验证是OCR可以充分发挥的另一个领域。 在互联网金融和海关等领域,要求用户/乘客提供身份证(ID)信息,例如身份证和护照。 对提供的文档进行自动识别和分析将需要OCR读取和提取文本内容,并且可以自动执行并大大加快此类过程。 有些公司已经开始着手基于面部和身份证的身份识别工作,例如 MEGVII(Face ++)20。

增强的计算机视觉功能 由于文本是理解场景的重要元素,因此OCR可以在许多方面帮助计算机视觉。 在自动驾驶汽车的情况下,嵌入文本的面板会携带重要信息,例如 地理位置,当前交通状况,导航等。在自动驾驶车辆的文本检测和识别方面已有几项工作[103],[104]。 迄今为止,最大的数据集CTW [173]也特别重视交通标志。 另一个示例是即时翻译,其中OCR与翻译模型结合在一起。 当人们旅行或阅读用外语编写的文档时,这非常有用且省时。 Google的翻译应用程序21可以执行此类即时翻译。 一个类似的应用是配有OCR的即时文本转语音软件,它可以帮助有视觉障碍的人和不识字的人[3]。

智能内容分析 OCR还使业界可以执行更智能的分析,主要是针对视频共享网站和电子商务等平台。 可以从图像和字幕以及实时注释字幕(用户添加的一种浮动注释,例如Bilibili22和Niconico23中的浮动注释)中提取文本。 一方面,这种提取的文本可以在自动内容标记和推荐系统中使用。 它们还可以用于执行用户情感分析,例如 视频的哪一部分最吸引用户。 另一方面,网站管理员可以对不当和非法内容(例如,恐怖主义宣传)进行监督和过滤。

6结论与讨论

6.1现状

算法:过去几年见证了文本检测和识别算法的重大发展,这主要归功于深度学习的兴起。 深度学习模型已经取代了手动搜索和设计模式和功能。 随着模型能力的提高,研究方向已集中在诸如定向和弯曲文本检测之类的挑战上,并取得了长足的进步。

应用程序:除了努力寻求针对各种图像的通用解决方案外,还可以对这些算法进行训练并使其适应更具体的情况,例如 银行卡,身份证和驾照。 一些公司已经提供了这种特定于场景的API,包括百度公司,腾讯公司和MEGVII公司。快速有效的方法[119],[180]的最新发展也允许大规模系统的部署[11]。 ]。 包括Google Inc.和Amazon Inc.在内的公司也提供了文本提取API。

6.2挑战与未来趋势

我们通过历史看当前。 我们迈进了未来[89]。 我们列出并讨论了挑战,并分析了在场景文本检测和识别中接下来的有价值的研究方向。

语言 :世界上有1000多种语言[1]。但是,当前大多数算法和数据集主要集中在英语文本上。尽管英语的字母很小,但其他语言(例如中文和日语)却大得多,有成千上万个符号。基于RNN的识别器可能会遇到这种扩大的符号集。而且,某些语言的外观要复杂得多,因此它们对诸如图像质量之类的条件更加敏感。研究人员应该首先验证当前算法可以很好地推广到其他语言的文本,再到混合文本。多种语言的统一检测和识别系统具有重要的学术价值和应用前景。可行的解决方案可能是探索可以捕获不同语言的文本实例的通用模式的构图表示,并使用由文本合成引擎生成的不同语言的文本实例来训练检测和识别模型。

模型的鲁棒性:尽管事实证明,即使仅使用合成数据,当前的文本识别器也能够很好地推广到不同的场景文本数据集,但最近的工作[82]显示,针对缺陷检测的鲁棒性并不是一个可以忽略的问题。 实际上,对于文本检测模型也已经观察到这种预测的不稳定性。 这种现象背后的原因仍不清楚。 一个推测是,模型的鲁棒性与深度神经网络的内部运行机制有关。

泛化:除了TextSnake [97]之外,几乎没有检测算法考虑过跨数据集的泛化能力问题,即在一个数据集上进行训练,然后在另一个数据集上进行测试。 泛化能力很重要,因为某些应用场景需要适应变化的环境。 例如,自动驾驶汽车中的即时翻译和OCR应该能够在不同情况下稳定运行:具有大文本实例,远,小单词,模糊单词,不同语言和形状的放大图像。 将所有现有数据集简单地合并在一起是否足够,尤其是在目标域完全未知的情况下,仍是未知的。

合成数据:虽然在合成数据集上训练识别器已成为常规方法,并且效果极佳,但检测器仍然严重依赖真实数据集。 合成各种逼真的图像以训练探测器仍然是一个挑战。 合成数据的潜在优势尚未得到充分探索,例如泛化能力。 使用3D引擎和模型进行综合可以模拟不同的条件,例如光照和遮挡,因此是一种非常有前途的方法。

评估:现有的检测评估指标源于一般对象检测的评估指标。 基于IoU分数或像素级精度进行的匹配和召回忽略了以下事实:缺少的部分和多余的背景可能会损害后续识别过程的性能。 对于每个文本实例,像素级精度和召回率都是不错的指标。 但是,一旦将它们的分数与基本事实相匹配,就将它们的分数分配为1.0,因此不会反映在最终数据集级别的分数中。 一种现成的替代方法是在DetEval下简单地对实例级别的分数求和,而不是首先将其分配给1.0。

效率:基于深度学习的方法的另一个缺点在于它们的效率。 当前大多数系统在没有GPU或移动设备的计算机上部署时都无法实时运行。 除了已证明在其他任务中有效的模型压缩和轻量级模型之外,研究如何为文本相关任务创建自定义加速机制也很有价值。

更大更好的数据:大多数现有数据集的大小都比其他任务的数据集小得多(〜1k vs. >> 10k)。 研究从当前算法中获得的改进是否可以扩大规模还是仅仅是更好的正则化的偶然结果,将是值得研究的。 此外,大多数数据集仅用边界框和文本标记。 诸如艺术字和遮挡之类的不同属性的详细注释[173]可以指导研究人员具有针对性。 最后,以现实世界中的挑战为特征的数据集在推进研究进展方面也很重要,例如产品上的密集文本。

你可能感兴趣的:(OCR)