论文翻译 Text Recognition in the Wil
本文是一篇场景文本识别综述,主要总结了与场景文本识别相关的基本问题和最新的技术,介绍了新的insights和ideas,对公开的资源(算法和数据集)进行了全面的调研,指出未来工作的研究方向。Text Recognition in the Wild: A Survey原文地址
写在前面
本人刚接触场景文本识别这一块,可能会存在部分专业术语翻译(Google翻译+自己理解)不准确的地方,欢迎各位评论指正。
考虑到这是一篇很新的综述,故对全文内容进行翻译,后续学习过程中,会简要翻译摘要,背景,网络结构,结论等部分以做学习备份。
Abstract
文字的历史可以追溯到数千年前。在广泛的基于视觉的应用场景中,文本携带的丰富而精确的语义信息非常重要。因此,自然场景中的文本识别已经成为计算机视觉和模式识别的热门研究领域。近年来,随着深度学习的兴起和发展,许多方法在创新,实用性和效率方面都显示出了希望。本文旨在(1)总结与场景文本识别相关的基本问题和最新技术; (2)介绍新的见解和想法; (3)对公开资源进行全面调研; (4)指出今后的工作方向。总而言之,这篇文献综述试图展示场景文本识别领域的整体情况。它为进入该领域的人们提供了全面的参考,并可能有助于激发未来的研究。相关资源可在我们的Github存储库中找到:https://github.com/HCIILAB/Scene-Text-Recognition。
Index Terms—Scene Text Recognition, End-to-end Systems, Deep Learning.
1 INTRODUCTION
文本是用于记录,交流或继承文化的符号系统。作为人类最有影响力的发明之一,文本在人类生活中发挥了重要作用。具体来说,文本携带的丰富而精确的语义信息在基于视觉的广泛应用场景中都很重要,例如图像搜索[1],智能检查[2],工业自动化[3],机器人导航[4]和即时翻译[5]。因此,自然场景中的文本识别已引起研究人员和从业者的关注,最近的“ ICDAR健壮阅读比赛” [6],[7],[8],[9],[10],[ 11],[12]。
在自然场景中识别文本,也称为场景文本识别(STR),通常被认为是光学字符识别(OCR)的一种特殊形式,即基于相机的OCR。尽管扫描文档中的OCR已得到很好的开发[13],[14],但STR仍然具有挑战性,因为许多因素,例如复杂的背景,各种字体和不完善的成像条件。图1比较了扫描文档中STR和OCR的以下特征。
格式:扫描文档中的文本通常以单色打印,并具有常规字体,一致的尺寸和均匀的排列。在自然场景中,文本以多种颜色显示,具有不规则的字体,不同的大小和不同的方向。文本的多样性使STR在扫描文档中比OCR更加困难和挑战。
噪声:自然场景中的文本通常会因噪声干扰而失真,例如照明不均匀,分辨率低和运动模糊。成像条件不完善会导致STR故障。
Access(访问):扫描的文本通常是正面的,并占据图像的主要部分。但是,场景文本是随机捕获的,这会导致不规则变形(例如透视变形)。各种形状的文本增加了识别字符和预测文本字符串的难度。
由于其重要性和挑战,近年来在自然场景中识别文本引起了学术界和工业界的极大兴趣。
早期研究[15],[16],[17]主要依靠手工制作的特征。这些特征的低capabilities限制了识别性能。随着深度学习的发展,神经网络极大地提高了STR的性能。几个主要因素正在驱动基于深度学习的STR算法。
第一个因素是硬件系统的进步。高性能计算系统[18]可以训练大规模识别网络。此外,现代移动设备[19],[20]能够实时运行复杂算法。
第二个是基于深度学习的STR算法中的自动特征学习,它不仅使研究人员摆脱了设计和选择手工特征的繁琐工作,而且还大大提高了识别性能。
第三个是对STR应用的需求不断增长[21],[22],[23],[24],[25]。自然场景中的文本可以提供丰富而精确的信息,这有助于理解场景。在大数据时代,自然场景中文本的自动识别在经济上是可行的,这吸引了研究人员和从业人员。
本文试图全面回顾STR领域,并为算法的公平比较建立基线。通过总结基本问题和最新技术,介绍新见解和想法以及展望未来趋势,我们展示了STR的全部情况。因此,本白皮书旨在为研究人员提供参考,并为将来的工作提供帮助。此外,我们提供了对公共资源的全面审查,包括标准基准数据集和相关代码。
文献[26],[27],[28],[29],[30],[31]中有一些关于STR的综述。但是,大多数上述调查[26],[27],[28],[29],[30]已经过时。这些调查未包括许多最新进展,例如2018 2020年开发的算法。我们请读者参考这些论文,以进行更全面的历史文献回顾。此外,Zhu等[29]和Long等[31]审查了场景文本检测和识别的方法。 Yin等[30]调查了视频中文本检测,跟踪和识别的算法。与这些调查不同,我们的论文主要关注于STR,旨在提供对该领域的更详细和全面的概述。
本文的其余部分安排如下。
第2节介绍了与文本相关的背景,基本问题和特殊问题。
第3节介绍了近年来STR研究的新见解和想法。
第4节总结了标准基准数据集和评估协议,并比较了识别算法的性能。
最后,第5节总结了论文并确定了STR中未来工作的潜在方向。
2 BACKGROUND
为了全面理解STR领域,我们将描述与文本相关的基本问题和特殊问题。此外,本节将列出并分析STR的一些代表性应用。
2.1 Text in Images
文字在图像中的显示方式可能有所不同。图2显示了示例和典型分类。例如,如果按文本形式分类,则手写文本和印刷文本是两个基本类别。值得注意的是,分类方法可能会重叠。由于各种手写风格和字符连接(character-touching)问题,手写文本识别比印刷文本识别更具挑战性[32],[33]。根据脚本/语言的不同,图像中的文本可能包含不同的字符,例如拉丁语,中文或印地语。文字特征(例如文字类别和阅读顺序)在不同语言中差异很大。按照[28]中的定义,图像中的文本也可以分为“图形文本”和“场景文本”。前者是指以数字形式叠加在视频或图像上的文本。后者是指在其当地环境中捕获的对象文本。场景文本具有多种样式,并且可以显示在任何表面上,这使得很难将文本与复杂的背景区分开。通常,STR处理印刷的拉丁场景文本。本文总结的所有方法都使用这种类型的文本。 Figure 22.2 Fundamental Problems and Special Issues with Text
在许多基于视觉的应用场景中,文本携带的丰富而精确的信息非常重要。但是,从自然场景中提取文本并在另一个应用程序中使用它是一个复杂的过程。如图3所示,文献中在此任务的各个阶段定义了各种基本问题:文本定位,文本验证,文本检测,文本分割,文本识别和端到端系统。此外,由于文本的独特挑战,存在与文本相关的特殊问题。还简要介绍了文本增强,文本跟踪和自然语言处理(NLP)。对这些通用概念的清晰理解可以帮助研究人员分析不同任务之间的差异和联系。 Figure 32.2.1 Fundamental Problems
Text localization:文本定位[34]的目的是精确地定位文本组件,并将它们分为背景尽可能少的候选文本区域[28]。早期的文本定位方法基于低级特征,例如颜色[35],[36],梯度[37],[38],笔划宽度变换[39],[40],最大稳定的末梢区域(maximally stable extremal regions MSER) [41],[42],Canny检测器[43],[44]和连接的组件分析[45],[46]。当前大多数方法都基于深度神经网络[47],[48],[49]。
Text verification:文本验证[50]旨在将文本候选区域验证为文本还是非文本。通常在文本定位之后使用它来过滤候选区域,因为文本定位有时会引入误报。文本验证的方法包括先验知识[51],[37],[52],支持向量机(SVM)分类器[24]和条件随机场(CRFs)[50]。最近的工作[15],[53]使用卷积神经网络(CNN)来改善文本/非文本识别。
Text detection:文本检测[54]的功能是使用定位和验证程序确定文本是否存在[28]。作为端到端系统的基础,它提供了精确而紧凑的文本实例图像以进行文本识别。文本检测方法大致可分为基于回归的方法[55],[56],[57],[58],[59]和基于实例分割的方法[60],[61],[62],[63] 。
Text segmentation:文本分割已被确定为最具挑战性的问题之一[64]。它包括文本行分割[65],[52]和字符分割[66],[67]。前者是指将多个文本行的区域划分为单个文本行的多个子区域。后者是指将文本实例分成单个字符的多个区域。字符分割通常用于早期的文本识别方法[68],[69],[70]。
Text recognition: 文本识别[68]将裁剪的文本实例图像转换为目标字符串序列。它是端到端系统的重要组成部分,可提供可靠的识别结果。传统的文本识别方法依赖于手工制作的特征,例如定向梯度描述符的直方图(histogram of oriented gradients descriptors)[15],连接的组件[16]和笔划宽度变换[17]。最新研究使用深度学习编码器-解码器框架[71],[72],[73]。
End-to-end system:给定场景文本图像,端到端系统[68]可以直接将所有文本区域转换为目标字符串序列。它通常包括文本检测,文本识别和后处理。实时有效的端到端系统的构建[16],[70],[74]已成为近年来的新趋势。 一些研究人员[68],[15],[75]将文本检测和文本识别解释为两个独立的子问题,将它们组合起来构成一个端到端系统。 另一种方法[53],[76],[77],[78]是通过共享信息共同优化文本检测和文本识别。
2.2.2 Special Issues
Script identification:脚本识别[79]旨在预测给定文本图像的脚本。它在多语言系统中扮演着越来越重要的角色。由于文本识别取决于语言,因此检测脚本和语言有助于选择正确的语言模型[80]。脚本识别可以解释为图像分类问题,通常设计区别性表示,例如中级特征[81],[82],卷积特征[83],[84],[85]和笔触部分表示[86]。
Text enhancement:文本增强[87]可以恢复降级的文本,提高文本分辨率[88],消除文本的变形或消除背景[89],从而降低了文本识别的难度。已经研究了许多用于文本增强的算法,并获得了可喜的结果,例如反卷积[90],[91],基于学习的方法[87]和稀疏重构[92]。
Text tracking:文本跟踪[30],[93]的目的是保持文本位置的完整性,并在视频中相邻帧之间跟踪文本。与图像中的静态文本不同,用于移动文本的跟踪算法必须在像素级别或子像素级别标识精确的文本区域,因为错误的跟踪可能会将文本与其背景或噪声文本混合在一起。时空分析[94],[95]通常用于视频中的文本跟踪。最近的一项研究[96]也预测了跟踪人物的运动。
Natural language processing:自然语言处理(NLP)[97]探索了如何使用计算机来理解和操纵自然语言的文本或语音。 NLP是人机通信的桥梁。文本作为非结构化数据的最重要类型,是NLP的主要对象。NLP基于文本的应用程序非常广泛,包括机器翻译[98],[99],自动摘要[100],[101],问题解答[102],[103]和关系提取[104] ,[105]。
2.3 Applications
文本是沟通和感知世界的最重要载体,它丰富了我们的生活。文本识别在各个行业和我们日常生活中的许多应用包括文档理解[106],信息提取[107],[108],文本视觉问答(109),[110],图片分类[111],历史文档数字化[21],[112],自动地理编码系统[22],[113],多媒体检索[23],[24],水表号读取[25],文本语音转换设备[114]等。图4展示了一些代表性的应用程序。
Figure 43 METHODOLOGIES
在早期的研究中,手工制作的特征被用于文本识别,例如定向梯度描述符的直方图[196],连接的分量[141]和笔划宽度变换[218]。但是,这些方法的性能受到低容量特征的限制。随着深度学习的兴起和发展,社区见证了各种方法在创新,实用性和效率方面的重大进步。与传统方法相比,深度学习方法具有以下优点:
- 自动化:自动特征表示学习可以使研究人员免于凭经验设计手工制作的特征。
- 效率:出色的识别性能远远超过传统算法。
- 泛化:算法可以轻松地应用于类似的基于视觉的问题。在本节中,我们将介绍深度学习时代为STR和端到端系统提出的新见解和想法。回顾了每种方法的主要贡献。如果有多个贡献,我们将分别对其进行分析。
3.1 Cropped Scene Text Image Recognition
STR的目的是将裁剪的文本实例图像转换为目标字符串序列。自然界中有两种类型的场景文本,即规则的和不规则的。存在两种主要的STR类别:基于分割的方法和无分割的方法。对于无分割方法,它们可以大致分为基于CTC的[115]方法[116]和基于注意力的[98]方法[73],[72]。此外,本节还介绍了其他有希望的想法,例如标签嵌入[117],[118]。表1(见原文)列出了这些识别方法的完整列表和分类。
Table 13.1.1 Segmentation-Based Methods
一类基于分割[70],[15],[53]的STR方法,通常包括三个步骤:图像预处理,字符分割和字符识别。基于分割的方法尝试从输入文本实例图像中定位每个字符的位置,应用字符分类器识别每个字符,然后将字符分组为文本行以获得最终的识别结果。
Wang等人开发了一种基于深度学习的早期的成功的STR系统。[68],它使用了一个图形模型,该模型以字符的分数和位置作为输入来确定来自小词典的特定单词的最佳配置。所提出的识别算法优于领先的商用OCR引擎ABBYY FineReader,后者是STR的基准。后来,受深度卷积神经网络在视觉理解上的成功启发[119],Wang等人[15],Mishra等[120],刘等[121]结合了多层神经网络和无监督特征学习来训练一个高精度的字符识别器模块。对于后处理,使用字符间距的字符响应,波束搜索算法[122]或基于表达的加权有限状态转换器[123]被应用于识别已定义词典中的目标单词。为了进一步提高识别性能,研究人员探索了健壮的词图像表示,例如尺度不变特征变换(SIFT)描述符[124],Strokelets [125]和中层特征[126]。
所有上述方法都依靠词典来获得最终的识别结果。但是,查询时间线性地取决于词典的大小。在开放词典的情况下,由于搜索空间较大,因此这些策略不切实际。为了解决此问题,已对STR进行了无词典的尝试。一些研究者[69]通过采用大型词典作为高阶统计语言模型来克服了对受限词表的需求。其他人则利用大型数据[70]和更复杂的神经网络[53],[127],例如卷积Maxout网络[128],以无词典的方式解决了STR。最近,Wan等人129]建立了一个基于语义分割的识别系统,该系统可以预测具有两个独立分支的字符的类别和几何信息,并进一步提高识别性能。
尽管基于分割的STR方法已经取得了重大进展,但仍存在严重缺陷:
- 所有这些pipeline都需要准确检测单个字符,这已被认为是社区中最具挑战性的问题之一[64]。因此,字符检测器/分段器的质量通常会限制识别性能。
- 基于分割的识别器无法对超出单个字符的上下文信息进行建模,这可能会导致训练期间单词级别的结果不佳。
3.1.2 Segmentation-Free Methods
第二类是非分割的方法[131],[116],[71],[73],[72]。该方法是从整体上识别文本行,并专注于通过编码器-解码器框架直接将整个文本实例图像映射到目标字符串序列,从而避免字符分割。图5显示了一种典型的无分割方法,其中包含图像预处理,特征表示,序列建模和预测的四个阶段。
Image Preprocessing Stage
图像预处理旨在通过减轻来自不完善成像条件的干扰来改善图像质量,这可以改善特征表达和识别。
Background Removal.文本可能出现在背景复杂的各种场景中。背景的纹理特征在视觉上可能与文本相似,这会导致额外的识别困难。代替复杂的特征表示[147]和综合方法[171],[172],一种直观但鲜为人知的解决方案是将文本内容与复杂的背景分开。尽管传统的二值化方法[173]在文档图像上效果很好,但它们无法处理自然图像中文本外观和噪声的实质性变化。最近,Luo等人[89]使用生成对抗网络(GANs)[174]在保留文本内容的同时删除了背景,这减少了识别难度并大大提高了性能。
Text Image Super-Resolution (TextSR).场景文本通常会因各种噪声干扰(例如低分辨率)而失真。低分辨率可能会导致误认字符或单词。文本图像超分辨率(TextSR)[175]可以输出与给定的低分辨率图像一致的合理的高分辨率图像。这种方法可以帮助低分辨率图像中的文本识别。诸如双线性,双三次或设计的过滤之类的经典方法旨在重建自然图像的详细纹理,但不适用于模糊文本[167]。 Wang等人并没有将超分辨率简单地视为回归问题[176]。[167]首先结合了TextSR方法和识别任务,这大大提高了文本识别器的性能。
Rectification. 校正的功能是对输入的文本实例图像进行归一化,消除失真并减少不规则文本识别的难度。具体而言,不规则文本[137]指的是透视变形或任意弯曲形状的文本,通常会给识别带来额外的挑战。
空间转换器网络(STN)[177]被用作早期纠正模块,用于纠正整个文本图像[178],[135]或单个字符区域[141]。后来,Shi等人。[73]和Jeonghun等。 [158]采用Thin-Plate-Spline(TPS)[179]处理更复杂的失真。最近,(研究人员)提出了一些设计良好的整流网络。例如,开发了一个多对象校正网络[72],通过预测输入图像各部分的偏移量来校正不规则文本。Zhan等[48]设计了一种新颖的线拟合变换和基于TPS的迭代整流框架以获得最佳的场景文字校正。 Yang等人基于局部属性,例如中心线,尺度和方向。 [155]提出了一种对称约束整流网络。
为了处理各种畸变,需要复杂的修正模块,并成为新的趋势。但是,这些会影响识别算法的速度和内存消耗。从业者应根据他们在不同应用场景下的需求选择最佳的权衡。此外,随着不规则文本检测的发展,值得重新考虑STR系统是否需要纠正模块。
图像预处理包括但不限于上述类型。通过提高图像质量,可以大大减少识别的困难。可以组合使用多种方法。尽管存在许多识别算法,但这些辅助的文本预处理方法在社区中并不经常使用,特别是用于背景删除和TextSR。此外,大多数通用的现成算法都集中在单个对象的样式上,而场景文本图像通常包含多个字符。因此,针对STR精心设计的专用预处理算法在未来的工作中应引起研究人员的注意。
Feature Representation Stage特征表示阶段
特征表示将输入文本实例图像映射到反映与字符识别相关的属性的表示,同时抑制不相关的特征,例如字体,颜色,大小和背景。
Su等[180],[181],[68]的成功激发了人们的兴趣。 [131]在他们的STR系统中使用了定向梯度直方图(HOG)特征[182]来构造单词图像的顺序特征。后来,CNN [138],[140],[141],[143],[72]已广泛用于特征表示阶段,例如VGGNet [183],[116],[178],[133]。 ,[71],[137],[162]。为了获得更强大的特征表示,在STR算法中应用了一些复杂的神经网络,例如ResNet [184] [135],[145],[148],[73],[151],[166],[152], [154],[48],[155],[157],[158],[161],[163],[164]和DenseNet [185],[150],[160]。近来,已经进行了一些尝试以从不同的角度来改进特征表示模块。 Lee等人使用了递归CNN[134]为参数有效和有效的图像特征表示,它可以在相同的参数容量下增加传统CNN的深度,并产生更紧凑的特征响应。 Wang等人在图像分类中受递归卷积神经网络(RCNN)的启发[186]。[139]通过引入一个门来控制RCNN中的上下文调制,为特征序列表示设计了一个门控循环卷积层。Liu等[142]专注于实时STR,并提出了一种新颖的二进制卷积层。他们声称二进制表示形式显著加快了运行时推断并减少了内存使用。一些研究人员[150],[33],[159],[160],[165],[145]认为,由CNN直接处理源图像会引入额外的噪声。因此,他们将CNN与注意力机制结合在一起[98]来增强前景文本的表示并抑制背景噪音。
更深,更高级的特征提取器通常会产生更好的表示能力,这适合于改善背景复杂的STR。然而,性能的提高是以内存和计算消耗为代价的[158]。背景去除技术[187]与简单特征提取器的组合可能是未来研究的替代方案。
Sequence Modeling Stage
序列建模作为视觉特征和预测之间的桥梁,可以捕获字符序列中的上下文信息,以供下一阶段预测每个字符,这比独立对待每个符号更稳定和更有效。 [188]中引入了多重双向长期短期记忆(BiLSTM)模型,并在[131]中将其广泛使用,[116],[178],[135],[136],[139],[140],[141],[148],[150],[73],
[72],[151],[154],[48],[155],[157],[158],[162],[166]作为序列建模模块,因为它能够捕获远程依赖性。 Litman等[169]在网络层增加了中间监督,并成功地训练了一个更深的BiLSTM模型来改善上下文依赖的编码。但是,一些研究人员[138],[145],[152],[160],[161]认为BiLSTM并不是STR算法的必要组成部分。他们认为,尽管BiLSTM有效地模拟了上下文,但其结构在计算上非常耗时且费时。此外,它可能在训练过程中导致梯度消失/爆炸。因此,使用滑动窗口[138]或深一维CNN [145],[152],[160]代替BiLSTM。最近,Yu等[170]引入了全局语义推理模块,以通过多路并行传输捕获全局语义上下文。
上下文提示对于基于图像的序列识别是有益的。尽管基于循环神经网络(RNN)[189]的结构(例如BiLSTM或LSTM)可以对字符序列进行建模,但是存在一些固有的局限性。相比之下,CNN或转换器[190]不仅可以有效地处理长序列,而且可以有效地进行并行化。使用CNN或转换器结构对语言序列进行建模可能因其固有的优势而成为序列建模的新趋势。
Prediction Stage
预测阶段的目的是从输入文本实例图像的已识别特征中估计目标字符串序列。连接主义的时间分类(Connectionist temporal classification:CTC)[115]和attention mechanism注意力机制[98]是两种主要技术。此外,本节还介绍了有关预测阶段的其他潜在想法。
Connectionist Temporal Classification连接主义者的时间分类
CTC由Graves等人提出。 [115]用于训练RNN [191],[189]以直接标记未分段的序列。 CTC在许多领域都取得了重大进步,例如语音识别[192],[193]和在线手写文本识别[188],[194]CTC通常在STR中用作预测模块,即通过计算条件概率将CNN或RNN的输入特征转换为目标字符串序列的转录层。特别地,CTC可以通过有效地求和所有可能的输入-输出序列比对来最大化输出序列的可能性,并允许分类器在输入序列和目标序列之间没有任何事先比对的情况下进行训练。
条件概率的表述可以简述如下。输入特征由y =(y1,y2 ... yT)表示,其中T是序列长度。每个yt是L上的概率分布。具体地说,L表示所有标签的集合,包括所有字符和代表无效输出的额外空白符号。 CTC路径π是长度为T的序列,由空白符号和标签索引组成。由于有许多可能的方式可以将这些路径映射到转录1(?),因此定义了CTC映射功能B以从每个路径中删除重复的标签并删除空白符号。然后,通过将B映射到l的所有路径的概率求和来计算条件概率:
由于直接计算上述方程的计算量很大,因此大多数研究人员[135],[116],[138]改编了前向后向算法[188]以有效地计算它。
受CTC在语音处理中成功的启发,Su等人。 [131],He等。 [195]和Shi等。 [116]首先将其应用于STR。从那时起,许多基于CTC的预测算法[135],[136],[138],[139],[150],[160],[161]已经显示出有希望的转录性能。然而,Liu等[146]认为CTC倾向于产生高度尖峰和过度自信的分布,这是过度拟合的征兆。为了解决这个问题,他们提出了一种基于最大条件熵的正则化方法,以增强CTC的泛化和探索能力。冯等[196]通过融合focal loss来解决传统的CTC问题,以解决对极端不平衡样本的识别问题。最近,胡等人[168]通过在STR中使用图卷积网络(GCN)[197]提高了CTC的准确性和鲁棒性。
CTC具有出色的转录性能和稳定性。但是,它面临一些固有的局限性:
- CTC的基本方法很复杂,这导致长文本序列的计算成本很高。
- CTC遭受峰值分布问题[115],[198]的影响,对于重复模式,其性能通常会下降。
- CTC很难应用于二维(2D)预测问题,例如不规则场景文本识别,其中输入文本实例图像中的字符以空间结构分布。为了解决这个问题,Wan等[199]通过沿高度方向添加另一个尺寸来扩展普通的CTC。尽管识别性能得到了一定程度的提高,但所提出的2D-CTC模型尚未完全解决2D预测问题。因此,应用CTC解决二维预测问题可能是未来研究的潜在方向。
Attention Mechanism注意力机制
注意机制是由Bahdanau等人提出的。 [98]在神经机器翻译领域,它可以自动搜索与给定源句的各个部分相关的预测词。 基于注意力机制的许多方法在各个领域都取得了显着改进,例如image caption[210],文本识别[73]和遥感图像的场景文本分类[211]。 对于STR,注意力机制通常与RNN结构结合在一起作为预测模块。
特别地,注意力机制通过参考历史目标字符和编码的特征向量来学习输入实例图像和输出文本序列之间的对齐。 令输出预测序列表示为o =(o1,o2 ... oM),其中M表示最大解码步长。 在第t步,输出预测ot由下式给出:
受神经机器翻译系统开发的启发,大量基于注意力的方法
[134],[178],[137],[140],[73],[72],[154],[48],[33],[155],[158],[164]已经出现在STR领域。此外,已经从不同的角度进行了一些尝试来提高普通的注意力:
1. 应用于2D预测问题。对于不规则场景文本识别,各种字符放置会大大增加识别的难度。vanilla注意力[134]被应用于执行一维特征选择和解码。通过直接施加vanilla注意力,在2D文本分步和1D特征表示之间存在重大冲突。因此,Yang等[137Li等[154]和Huang等[159]提出了用于不规则文本识别的2D注意机制。
2. 改进隐式语言模型的构建。 Chen等[151]和Wang等[148]认为,生成的glimpse vector的功能不足以表示预测的字符。因此,Chen等[151]介绍了高阶字符语言模型的vanilla注意力,而Wang等[148]通过提供一部分已经生成的字符序列和所有参与的aligment历史,构建了一个记忆增强的注意力模型。 Shi等[73]指出,基于vanilla注意力的预测模块仅在一个方向上捕获了输出依存关系,而在另一个方向上未捕获。因此,他们提出了一种基于双向注意的解码器,其中两个解码器方向相反。
3. 提高并行化并降低复杂性。尽管基于RNN结构的vanilla注意力机制可以捕获远程依赖关系,但它在计算上很费时。最近关注的变体,即Transformer [190],在[163],[156],[149],[170]中被广泛采用,以改善STR的并行化并降低复杂性。
4. 解决注意力漂移问题。注意漂移现象意味着注意模型无法将每个特征向量与输入图像中的相应目标区域准确关联。一些研究人员通过将偏离的注意力重新集中到目标区域上来增加了解决该问题的额外的信息,例如定位监督[71]和编码坐标[162]。其他人[157],[159],[163]以级联方式提高了注意力的对齐精度。具体来说,王等[166]认为严重的对齐问题是由其重复对齐机制引起的。因此,他们将对齐操作与使用历史解码结果解耦。
近年来,基于注意力的预测方法已经成为STR领域的主流方法,并且由于其专注于信息领域的能力,在解码方面已经超过了CTC。而且,注意力方法可以容易地扩展到复杂的2D预测问题。但是,注意力机制有一些缺点:
- 由于该方法依赖于注意力模块进行标签对齐,因此需要更多的存储和计算[212]。
- 对于长文本序列,由于输入实例图像与输出文本序列[213]未对齐,即注意力漂移现象。因此很难从头训练注意力机制。
- 当前对注意力机制的研究主要集中在仅涉及少数字符类别(例如,英语,法语)的语言上。据我们所知,没有公开报告有效地使用注意力机制来处理诸如中文文本识别之类的大型类别文本识别任务。
Discussion
CTC和注意机制都有其长处和局限性。最近,一些研究者[168],[169]同时应用了CTC和注意力机制来实现准确的预测并保持快速的推理速度。Cong等[214]在大规模的真实世界场景文本句子识别任务上综合比较了这两种预测方法。基于广泛的实验,他们为研究人员和从业人员提供了实用的建议。例如,与基于CTC的方法相比,基于注意力的方法可以在孤立的单词识别任务上实现更高的识别精度,但在句子识别任务上却表现较差。因此,应根据不同的应用场景和约束条件选择正确的预测方法。此外,在未来的工作中探索替代的预测策略也很有价值。例如,设计了聚合交叉熵函数[215]来代替CTC和注意力机制。它以更快的实施速度,减少的存储需求和便利的使用实现了竞争性性能。
3.1.3 Other Potential Approaches
已经考虑并以不同的观点探讨了其他方法。 Goel等人的动机是“整体大于部分之和”。 [130]通过将场景和合成图像特征与加权动态时间弯曲(weighted dynamic time wraping wDTW)方法进行匹配来识别自然场景中的文本。后来,Almazan等[117]和Rodriguez等[118]将识别和检索的任务解释为最邻近问题。他们将单词图像和文本字符串都嵌入到一个公共的向量子空间或欧几里得空间中,将标签嵌入与属性学习结合在一起。具体地说,代表同一个单词的图像和字符串会靠近在一起。最近,Jaderberg等[132]将STR定义为多类分类问题。他们仅在合成数据上训练了一个深层的CNN分类器:从一个9万个单词的词典中提取了大约900万张图像。由于每个单词对应于一个输出神经元,因此提出的文本分类器无法识别字典外单词。此外,他们将CNN与CRF图形模型结合在一起,用于不受约束的文本识别[133]。
3.2 End-to-End Systems
给定具有复杂背景的文本图像作为输入,端到端系统旨在将所有文本区域直接转换为字符串序列。通常,它包括文本检测,文本识别和后处理。过去,文本检测和识别已被解释为两个独立的子问题,这些子问题结合起来可以从图像[68],[15],[53],[216],[217],[75],[132]中检索文本。 [200],[201]。
最近,实时,高效的端到端系统的构建已成为社区的新趋势。
表2比较了这些端到端方法的特性
几个因素促进了端到端系统的出现:
- 错误可能以文本检测和识别的级联方式累积,这可能导致很大一部分垃圾预测,而端到端系统可以避免错误在训练过程中积累。
- 在端到端系统中,文本检测和识别可以共享信息,并且可以共同优化以提高整体性能。
- 端到端系统更易于延续和适应新领域,而延续具有数据和模型相关性的级联pipline需要大量的工程工作。
- 端到端系统具有竞争优势,推理速度更快,存储需求更小。
最近的许多研究[76]显示了联合优化的端到端模型的有效性,该模型通常包括检测分支和识别分支。 Bartz等人[218]集成并共同学习了一个STN [177]以检测图像的文本区域。相应的图像区域被直接裁剪并馈入简单的神经网络以识别文本内容。然后,使用先进的检测和识别算法来构建联合的端到端系统。这两个分支都通过将检测分支的感兴趣区域(RoIs)特征裁剪功能桥接起来,并将其馈送到识别分支。典型的,RoIPool由Girshick [219]提出,可以将不同比例和纵横比的RoI转换为固定大小的特征图,以进行目标检测。但是,由于文本长度的较大差异,此方法可能会导致严重的失真。为了解决这个问题,李等人[74]提出了不同尺寸的RoIPool以适应原始的宽高比。由于RoIPool进行的量化会导致RoI和提取的特征之间出现失准,因此许多方法使用双线性插值法来提取文本实例特征,例如双线性采样[76],RoIRotate [203]和文本对齐层[77]。最近的端到端系统[202],[165],[206],[208],[209]专注于任意形状的弯曲文本。例如,Liao等[202]及其扩展工作[165]使用RoIAlign[220]来保存更准确的位置信息,将每个字符作为通用对象检索,并在最终文本中添加字符级注释。Feng等[206]生成密集的检测四边形,并使用提出的RoISlide将从每个四边形裁剪的特征转换为整流特征。然后将所有文本功能输入到基于CTC的识别器中,使框架摆脱字符级注释。 Wang等人没有将文本检测分支叙述为边界框提取或实例分割任务。 [208]在边界上定位了一组点,并采用TPS [179]变换来使每个文本的特征变平。Qiao等[209]提出了形状变换模块,该模块可反复生成潜在的基准点,并使用TPS将检测到的文本区域变换为规则的形态,而无需额外的参数。Liu等[78]引入参数化的贝塞尔曲线以自适应地拟合任意形状的文本,并设计了新颖的贝塞尔曲线层以精确计算弯曲形状的文本实例的卷积特征。前述双线性插值方法的目的是将不规则形状的特征校正为用于文本识别器的轴对齐特征,其中差异是生成采样网格的方式。然而,Qin等[207]认为,特征校正是推广到不规则形状文本的关键瓶颈。他们引入了RoI masking来过滤掉邻近的文本和背景,从而使识别器无需进行纠正。Xing等[205]直接对全部特征执行字符检测和识别,而无需任何RoI操作。
尽管当前的端到端系统在许多实际场景中都可以很好地工作,但是它们仍然存在局限性。应该考虑以下困难:
- 如何在文本检测和识别之间有效地桥接和共享信息?
- 如何在文本检测和识别之间学习难度和收敛速度的显着差异之间取得平衡?
- 如何改善联合优化? 而且,一个简单,紧凑且功能强大的端到端系统尚未开发出。
4 EVALUATIONS AND PROTOCOLS评估和协议
多样化的数据集和统一的评估协议分别给社区带来了新的挑战和公平的比较,但这两者对于推进STR领域都是必不可少的。在本节中,我们将检查标准基准数据集和评估协议。表4和表5比较了STR和端到端系统中当前高级算法的性能。
Table 4
Table 5
4.1 Datasets
有几个主要原因说明需要额外的数据集是合理的:
- 大多数深度学习方法都是数据驱动的。大规模数据集对于训练良好的文本识别器非常重要和至关重要。
- 先进的STR算法已在以前的数据集中过度使用,表明可以研究更具挑战性的方面。
- 新的数据集通常代表未来工作的潜在方向,例如无词典文本识别,不规则文本识别,无监督或弱监督文本识别以及大规模类别文本识别。
根据数据集集合的类型,我们将标准基准数据集分为两类:合成数据集和现实数据集。具体而言,现实数据集包括常规拉丁数据集,不规则拉丁数据集和多语言数据集。表3描述了这些数据集的全景图,图6 9(见原文)显示了代表性样本。
4.1.1 Synthetic Datasets合成数据集
大多数深度学习算法都依赖于足够的数据。但是,现有的现实数据集相对较小,无法用于训练高精度的场景文本识别器,因为它们仅包含数千个数据样本。此外,手动收集和注释大量的现实世界数据将涉及大量的工作和资源。因此,合成和人工数据生成已经成为流行的研究主题[221],[217],[143],[222]。
Synth90k. Synth90k数据集[221]包含来自一组90k常用英语单词的900万个合成文本实例图像。文字会通过随机的变换和效果(例如随机的字体,颜色,模糊和噪音。 Synth90k数据集可以模拟场景文本图像的分布,并且可以代替真实世界的数据来训练需要大量数据的深度学习算法。此外,每个图像都带有一个ground-truth的单词注释。
SynthText. SynthText数据集[217]包含80万张图像和600万个合成文本实例。与生成Synth90k数据集一样,使用随机选择的字体渲染文本样本,并根据局部表面方向进行转换。此外,每个图像都带有一个ground-truth的单词注释。
Verisimilar Synthesis. 相似综合数据集[143]包含500万个合成文本实例图像。在给定背景图像和源文本的情况下,首先确定语义图和显着图,然后将其组合以标识语义敏感和合适的位置以进行文本嵌入。进一步根据背景图像内嵌入位置周围的颜色,亮度和上下文结构来自适应确定源文本的颜色,亮度和方向。
UnrealText. UnrealText数据集[222]包含60万合成图像和1200万个裁剪后的文本实例。它是基于Unreal Engine 4和UnrealCV插件[234]开发的。文本实例被视为平面多边形网格,其中文本前景作为纹理加载。将这些网格放置在3D世界中的适当位置,并与整个场景一起渲染。来自Google Fonts3的相同字体集和相同的文本语料库,即新闻组20,与SynthText一样使用。
4.1.2Realistic Datasets现实数据集
当前大多数现实数据集仅包含数千个文本实例图像。因此,对于STR,通常使用真实的数据集来评估现实条件下的识别算法。随后,我们将列出并简要描述现有的现实数据集:常规拉丁数据集,不规则拉丁数据集和多语言数据集。
Regular Latin Datasets规则的拉丁数据集
对于规则的拉丁数据集,大多数文本实例是正面和水平的,而其中的一小部分会失真。
IIIT5K-Words (IIIT5K). IIIT5K数据集[69]包含5,000个文本实例图像:2,000个用于训练,3,000个用于测试。它包含街道场景和原始数字图像中的单词。每一个图像与一个50个单词的词典和一个1000个单词的词典相关联。具体来说,词典由一个实话单词和一些随机选择的单词组成。
Street View Text (SVT). SVT数据集[68],[180]包含350张图像:用于训练的100张图像和用于测试的250张图像。某些图像会因噪点,模糊和低分辨率而严重损坏。每个图像都与一个50字的词典相关联。
ICDAR 2003(IC03). IC03数据集[6]包含509张图像:258张用于训练而251张用于测试。具体来说,在丢弃包含非字母数字字符或少于三个字符的图像后,它包含867个裁剪的文本实例。每个图像与50字词词典和全字词词典相关联。此外,完整的词典将所有词典词组合在一起。
ICDAR 2011(IC11). IC11数据集[8]包含485张图像。这是用于ICDAR 2003文本定位比赛的数据集的扩展。
ICDAR 2013(IC13). IC13数据集[9]包含561张图像:用于训练的420张图像和用于测试的141张图像。它继承了IC03数据集的数据,并使用新图像对其进行了扩展。与IC03数据集类似,IC13数据集包含1,015个裁切后的文本实例图像删除带有非字母数字字符的单词。没有词典与IC13相关联。值得注意的是,在IC03训练数据集和IC13测试数据集之间存在215个重复的文本实例图像[158]。因此,在IC13测试数据上评估模型时,应注意重叠数据。
Street View House Number (SVHN). SVHN数据集[223]包含自然场景中600,000位数的房屋编号。它是结合自动算法和Amazon Mechanical Turk(AMT)框架从大量街景图像中获得的。 SVHN数据集通常用于场景数字识别。
Irregular Latin Datasets不规则的拉丁数据集
对于不规则的基准数据集,大多数文本实例是低分辨率的,透视失真的或弯曲的。各种字体和不规则文本的变形模式在STR中带来了额外的挑战。
StreetViewText-Perspective (SVT-P). SVT-P数据集[124]包含238个图像和639个裁剪的文本实例。它专门设计用于评估透视失真的文本识别。它是基于原始SVT数据集构建的,方法是选择Google街景视图上相同地址但具有不同视角的图像。因此,大多数文本实例会因非正面视角而严重变形。此外,每个图像都与一个50个单词的词典和一个完整单词的词典相关联。
CUTE80(CUTE). CUTE数据集[224]包含80个高分辨率图像和288个裁剪的文本实例。它着重于弯曲的文本识别。 CUTE中的大多数图像背景复杂,透视失真和分辨率差。没有词典与CUTE相关联。
ICDAR 2015(IC15).IC15数据集[10]包含1,500张图像:1,000张用于训练,500张用于测试。具体来说,它包含2,077个裁剪文本实例,包括200多个不规则文本样本。由于Google眼镜是在不保证图像质量的情况下拍摄文字图像的,因此大多数文字都非常小,模糊且面向多个方向。没有提供词典。
COCO-Text. COCO-Text数据集[225]包含63686个图像以及145859个裁剪的文本实例。它是自然图像中第一个大规模的文本数据集,也是第一个使用诸如可读性和文本类型等属性注释场景文本的数据集。但是,没有词典与COCO-Text相关联。
Total-Text. Total-Text [226]包含1,555个图像和11459个裁剪的文本实例图像。它着重于弯曲场景文本识别。 Total-Text中的图像具有三种以上不同的方向,包括水平,多方向和弯曲。没有词典与Total-Text相关联。
Multilingual Datasets
多语言文字可以在现代城市找到,代表多种文化的生活和交流。双语数据集是最简单的形式。随后,下面介绍了一些双语或多语种场景文本数据集。本文介绍的双语数据集主要由拉丁文和中文组成。
选择中文作为双语场景文本数据集的第二语言的原因有三点。首先,中文是世界上使用最广泛的语言之一。其次,尽管存在许多STR算法,但大多数算法都集中在拉丁字符上。中文场景文本的识别问题尚未解决。第三,中文文本与拉丁文本相比具有独特的特征:
- 中文是一种大型类别文本,其字符集比拉丁文本大得多。
- 由于更大的字符集,汉字的类不平衡问题更加明显。
- 中文中存在许多结构相似的令人困惑的字符,这使其难以区分。
因此,在野外阅读中文是一个重要且具有挑战性的问题。
Reading Chinese Text in the Wild (RCTW-17).RCTW-17数据集[227]包含12514个图像:11514个用于训练而1,000个用于测试。大多数是相机或手机收集的自然图像,而另一些则是数字出生的。文本实例带有标签,字体,语言等注释。
Multi-Type Web Images (MTWI). MTWI数据集[228]包含20000张图像。这是由中文和拉丁文网络文本构建的第一个数据集。 MTWI中的大多数图像具有相对较高的分辨率,并且涵盖了多种类型的Web文本,包括多方向文本,紧密堆叠的文本和复杂形状的文本。
Chinese Text in the Wild(CTW). CTW数据集[229]包含32285个具有1018402个字符实例的高分辨率街景图像。所有图像均具有字符级注释:基础字符,边框和其他六个属性。
SCUT-CTW1500. SCUT-CTW1500数据集[230]包含1500张图像:1000张用于训练,500张用于测试。特别是,它提供10751个裁剪的文本实例图像,包括3530个带有弯曲文本的图像。这些图像是从Internet,Google Open-Image [235]之类的图像库或电话相机中手动收集的。数据集包含许多水平和多向文本。
Large-scale Street view Text(LSVT). LSVT数据集[12],[231]包含20000个测试样本,30000个完全注释的训练样本以及400000个带有弱注释(即带有部分标签)的训练样本。捕获所有图像并反映出各种复杂的现实世界场景,例如店面和地标。
Arbitrary-Shaped Text (ArT). ArT数据集[232]包含10166幅图像:5603幅用于训练,而4563幅用于测试。 ArT是Total-Text,SCUT CTW1500和Baidu Curved Scene Text的组合,被收集来介绍任意形状的文本问题。此外,所有现有的文本形状(即水平,多向和弯曲)在ArT数据集中都有多次出现。
Reading Chinese Text on Signboard (ReCTS-25k). ReCTS-25k数据集[236]包含25000张图像:20000张用于训练,5000张用于测试。所有文本行和字符都带有位置和文字注释。所有图像均来自美团电商集团,由美团商户在不受控制的条件下使用手机摄像头采集。具体而言,ReCTS-25k数据集主要包含招牌上的中文文本图像。
Multi-lingual Text (MLT-2019). MLT-2019数据集[233]包含20000张图像:10000张用于训练(每种语言1000张)和10000张用于测试。数据集包括十种语言,代表七种不同的脚本:阿拉伯文,孟加拉文,中文,梵文,英语,法语,德语,意大利语,日语和韩语。每个脚本的图像数量相等。
4.2 Evaluation Protocols
在本节中,我们总结了拉丁文本和多语言文本的评估协议。
4.2.1 Evaluation Protocols for Latin Text拉丁文本评估协议
Recognition Protocols识别协议
单词识别准确度(word recognition accuracy: WRA)和单词错误率(word error rate: WER)是拉丁文字的两种广泛使用的识别评估协议。
End-to-End Protocols
在[9],[10]中定义了拉丁语端到端系统的广泛使用的评估协议,其中以两种方式评估识别算法:端到端识别和词点识别。特别是,场景文本图像中的所有单词都应在端到端识别下进行检测和识别。在单词发现下,仅应检测和识别词汇表中提供的单词。此外,还为候选转录提供了三种不同的词汇:强上下文,弱上下文和通用(分别简称为S,W和G)。
Strongly Contextualised (S). 每个图像的词汇表由100个单词组成,包括相应图像中的所有单词以及从其余训练/测试集中选择的干扰词,这些词遵循[68]的设置。
Weakly Contextualised (W). 词汇表包括训练/测试集中的所有单词。
Generic (G). 通用词汇表包含大约90K个单词,这些单词源自Jaderberg等人的数据集[132]。
4.2.2 Evaluation Protocols for Multilingual Text多语言文本的评估协议
在本节中,我们简要介绍最近竞赛中广泛使用的多语言文本的评估协议,例如RCTW [227],MTWI [228],LSVT [12],ART [232],ReCTS [236]和MLT [233]比赛。
Recognition Protocols识别协议
大多数比赛[228],[232],[236]通过传统的评估指标归一化编辑距离(NED)来衡量算法的识别性能:
End-to-End Protocols
在最近的比赛中使用了两个主要的端到端系统评估协议:
第一个协议在多个方面评估算法性能,包括精度,召回率和基于NED的F评分。根据预测和ground-truth边界框之间的匹配关系,预测文本和ground-truth文本的1-NED用作精度和召回得分。 F分数是精度和查全率的谐波平均值。这是同时评估检测和识别性能的主流指标。该协议被广泛用于[228],[12],[232],[236],[233]。
第二种协议通过平均NED(即AED)来衡量算法性能。特别是,计算了预测文本和相应的地面实况之间的NED。然后,将所有NED相加并除以测试图像的数量,结果称为AED。特别地,较低的AED意味着更好的性能。在[227]中引入了此协议评估,以提高长文本检测和识别的公平性,这对于实际系统非常实用。
这两种类型的评估协议从不同的角度评估算法。如表6所示,最近几场端到端比赛的获胜系统的性能表明,端到端识别的问题仍然没有解决。
4.3 Discussion
各种新的具有挑战性的数据集激发了促进该领域进步的新研究。然而,由于不同的数据集,先验,评估协议和测试环境的多样性,很难评估新提出的算法是否以及如何对现有技术进行改进。因此,将来的工作需要整体和公平的比较[158],[237]。
最近的数据集和竞赛表明,社区正朝着更具挑战性的文本识别任务(例如,从水平文本到不规则文本,从拉丁文本到多语言文本)发展。除了挑战之外,高质量注释对于良好的数据集也至关重要。此外,新的数据集和竞争可能会弥合学术界和行业之间的鸿沟。
5 DISCUSSION AND FUTURE DIRECTIONS
文本在人类生活中发挥了重要作用。在自然场景中自动阅读文本具有很大的实用价值。因此,场景文本识别已经成为计算机视觉和模式识别领域一个重要而活跃的研究领域。本文总结了与场景文本识别相关的基本问题和最新技术,介绍了新的见解和想法,并对公共资源进行了全面的综述。在过去的几十年中,识别方法的创新,实用性和效率有了长足的进步。但是,还有足够的空间供将来研究:
泛化能力. 泛化能力是指识别算法在各种输入和应用程序中有效的能力。大多数应用程序应适应各种输入,例如大小,形状和字体样式。此外,识别算法应该对环境干扰不敏感,并且能够处理现实世界中的复杂性。
评估协议. 近年来提出的许多方法声称已经突破了技术的边界。但是,数据集,先验条件和测试环境之间的不一致使得很难公平地比较所报告数字的票面价值。在社区中需要公平的比较。
数据问题. 大多数深度学习算法高度依赖于足够数量的高质量数据。一方面,合成现实数据可用于训练需要大量数据的算法,这在社区中具有潜力。另一方面,使用未标记的真实数据的方法在将来值得考虑。随着许多现实数据集的出现,我们应该重新考虑统一合成数据集是否是训练模型的唯一选择,然后再用现实数据集进行评估。 (这种策略已被当前大多数研究广泛采用。)
方案. 该研究旨在改善人类生活质量。但是,对于STR,研究和应用之间仍然存在差距(例如,背景更复杂,现实世界中的噪音更大)。因此,研究人员和从业人员不应局限于几个标准基准。实际应用中的挑战可能会在将来提供新的研究机会。
图像预处理. 为了提高算法的识别性能,日益复杂的识别器已成为社区的新趋势。
但是,这不是值得考虑的唯一观点。一些潜在的图像预处理问题值得研究人员关注,例如TextSR [175]和背景去除[89],它们可以从新的角度显着减少STR的难度并提高性能。
端到端系统. 构建实时,高效的端到端系统吸引了研究人员和从业人员的兴趣。但是,在扫描文档中,端到端系统的性能与OCR相比仍然远远落后。简单,紧凑但功能强大的端到端系统可能是一个新趋势。此外,值得考虑的是,工业应用是否需要端到端解决方案。
语言. 现代城市中的有代表性的多种文化生活和交流。多语言文本识别对于人类交流以及智慧城市发展至关重要。尽管存在许多识别算法,但大多数算法仅针对拉丁文本。非拉丁语的识别尚未得到广泛研究,例如中文场景文本,它是大型类别文本,与拉丁文本相比具有独特的特征。
安全性. 由于STR算法可以适应许多基于私有视觉的场景(例如银行卡,ID卡和驾驶执照),因此识别方法的安全性非常重要。尽管具有高性能,但大多数基于深度学习的文本识别器极易受到对抗示例的攻击。增强STR算法的安全性将是未来的潜在方向。
STR + NLP. NLP是人机通信的桥梁。同时,文本是世界上最重要的交流和感知载体。 NLP和STR的组合可能是各个领域的重要趋势,例如文本VQA [109],[238],文档理解[106]和信息提取[108],[107]。