论文翻译-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification

论文翻译-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification

ASTER:一个具有灵活矫正功能的注意型场景文本识别器

摘要

场景文本识别的一个挑战性方面是处理有扭曲或不规则布局的文本。特别是,透视文字和弯曲的文字在自然场景中很常见,很难识别。在这项工作中,我们引入了ASTER,这是一个端到端的神经网络模型,包括一个矫正网络和一个识别网络。矫正网络自适应地将输入的图像转换成新的图像,矫正其中的文字。它由一个灵活的薄板花键转换提供动力,可以处理各种文本的不规则性,并且在没有人类注释的情况下进行训练。识别网络是一个注意序列到序列的模型,它直接从矫正后的图像中预测出一个字符序列。整个模型的训练是自始至终的,只需要图像和它们的真实文本。通过广泛的实验,我们验证了整顿的有效性,并证明了ASTER的最先进的识别性能。此外,我们证明了ASTER在端到端识别系统中是一个强大的组件,因为它能够增强检测器的能力。
Index Terms–场景文本识别,薄板样条,图像转换,序列对序列学习

1 简介

场景文本识别由于其在广泛的应用中的重要性,近年来引起了学术界和工业界的极大兴趣。尽管专门用于文档文本的光学字符识别(OCR)系统已经很成熟,但场景文本识别仍然是一个具有挑战性的问题。背景、外观和布局的巨大变化带来了巨大的挑战,传统的OCR方法无法有效地处理这些问题。
场景文本识别的最新进展是由基于深度学习的识别模型的成功推动的。其中有使用卷积神经网络(CNN)识别文字的方法,使用CNN对单词进行分类的方法[24],[26],以及使用CNN和循环神经网络(RNN)组合识别字符序列的方法[54]。尽管这些方法取得了成功,但它们并没有明确解决不规则文本的问题,即不是水平和正面的文本,有弯曲的布局,等等。不规则文本的实例经常出现在自然场景中。如图1所示,典型的情况包括定向文本、透视文本[49]和弧形文本。在设计上没有对这种不规则性的不变性,以前的方法在识别这种文本实例时经常会遇到困难。
在这里插入图片描述

图1.不规则文本的例子。

这项工作介绍了ASTER,它代表了具有灵活矫正功能的注意型场景文本识别器,用于场景文本识别。ASTER通过一个明确的矫正机制来解决不规则文本的问题。如图2所示,该模型由两部分组成:整顿网络和识别网络。给定一个输入图像,整流网络对该图像进行变换,以矫正其中的文字。该变换是参数化的薄板样条[8](TPS),这是一个非常灵活的变换,可以处理各种文字的不规则性。
在推理过程中,整顿网络首先从图像中预测TPS参数,然后将其应用于变换。基于[28]提出的空间变换器网络(STN)框架,整顿网络可以纯粹由识别网络反向传播的梯度来训练,因此不需要人工注释。
识别网络以注意序列对序列的方式从整顿后的图像中预测出一个字符序列。在[3]、[13]中提出的注意力机制的基础上,识别网络有效地将字符检测、字符识别和语言建模封装在一个模型中,实现了准确的识别。此外,我们将传统的单向解码器扩展为双向的。双向解码器由两个解码方向相反的解码器组成。它合并了两个解码器的输出,利用了两个方向上的依赖关系。
通过在一些标准数据集上的大量实验,我们证明了ASTER在规则和不规则文本上的卓越表现。此外,当与文本检测器一起使用时,ASTER显示了通过过滤和细化其检测框来增强文本检测器的能力。特别是,ASTER使一个水平文本检测器能够检测出有方向性的文本。这些优点使ASTER成为端到端文本识别系统的强大组件。
在这里插入图片描述

图2.拟议模型的概述。虚线表示梯度的流动。

综上所述,本文的贡献有三个方面。首先,我们用一个明确的矫正机制来解决不规则文本的识别问题,该机制在没有额外注释的情况下显著提高了识别性能。第二,我们为场景文本识别问题引入了注意力序列-序列模型,并以双向解码器对其进行了扩展。第三,我们提出了一种利用ASTER在文本整顿和识别方面的能力来增强文本检测器的方法。
本文通过三个主要的扩展超越了其会议版本[55]。1)我们通过修改整流网络结构在整流性能上取得了突破。首先,不同分辨率的图像被用于控制点的预测和采样,避免了原始STN框架中分辨率下降的问题。其次,我们放弃了定位网络中的非线性激活,保留了反向传播梯度,从而加快了训练期间的收敛。因此,我们观察到在准确性、矫正图像质量和对初始化的敏感性方面都有明显的改善;2)我们将原来的识别解码器扩展为双向的,以便利用两个方向的依赖关系;3)我们探索ASTER在端到端文本识别中的应用,并展示其优势。通过这些扩展,ASTER在很大程度上超过了[55],并显示出更广泛的适用性和优势。

2 相关的工作

2.1 文本识别

近年来发表了大量关于场景文本识别的文献。全面的调查可以在[68], [72]中找到。
早期的工作主要是针对文档文本。由于文档通常有干净的背景,所以经常采用二值化方法[10]来分割字符。然而,当应用于场景文本时,这些方法无法处理文本外观的巨大变化和自然图像中的噪声。
近几十年来,一种普遍的方法是对单个字符进行定位,并将其归入单词。在这一线工作中,许多人选择过滤多余的字符建议集,并用分类器来识别它们。有代表性的提议提取方法包括最大稳定极值区域(MSER)[43], [46], 极值区域(ER)[47], 以及笔画宽度变换(SWT)[14], [65], [66]。这些方法利用了文本在纹理或形状方面的特点。它们能有效地在有适度噪声的图像中定位字符。
还有一些人采取了基于学习的方法,使用滑动窗口技术对字符进行定位[35], [44], [45], [60], [61]。在这些方法中,局部区域被二进制或多类别(每个类别是一个字母)分类器密集地分类,以获得字符的位置和分数。然后,进行基于图形的推理,从检测到的字符中找到单词。
随着深度神经网络在各种计算机视觉任务中的成功[33], [50],许多人开始采用深度神经网络进行文字识别。一些方法使用卷积神经网络[33], [34](CNNs)来定位和识别字符[29], [62], [70]。[62]创建了两个CNN来分别定位和识别字符。[29]采用了类似的方法,但只用了一个CNN来同时执行这两项任务。其他方法则是整体性地识别文本。例如,Jaderberg等人[24],[29]用一个90k级的CNN进行文本识别,其中每个类别对应一个英文单词。
文本识别也可以被建模为一个结构化学习问题。[25]提出构建一个结构化输出的CNN用于无约束的文本识别。Su和Lu[56], [57]将文本识别建模为一个序列识别问题,并用循环神经网络(RNNs)来解决这个问题。在他们的努力下,[21], [54]将CNN和RNN整合起来用于文本识别。Wang等人[59]通过利用门控递归神经网络扩展了这一工作思路。
我们的方法属于结构化学习的范畴。它是基于注意力序列到序列的学习模型[3], [13]。这样的模型学习从输入序列预测输出序列,最初被提出用于机器翻译和语音识别任务。本文的会议版本[55]是第一个与[36]并行的,在场景文本识别任务中探索此类模型的文章。这项工作通过双向解码器进一步扩展了[55]。

2.2 文本纠正

不规则文本的整顿以前曾针对文档文本图像进行过研究[30], [40], [41]。这些工作基于形态学分析或注册技术对文档图像进行矫正(或扁平化),这些方法适用于包含多行文字的图像。另一方面,场景文本通常以单个单词的形式被识别,这些方法并不能很好地概括。
在场景文本方面,[49]对不规则文本问题进行了研究,Phan等人提出了一种对透视文本失真的鲁棒性识别方法。最近,Yang等人[64]用一个辅助的字符检测模型和对齐损失来解决不规则文本问题,这有助于精确的字符定位。Bartz等人[4], [5]用一个集成的矫正识别网络来解决这个问题。与[64]相比,我们的方法在概念上更简单,因为它不需要明确的字符检测。此外,与[64]和[11]相比,我们的方法不需要额外的字符级注释。

2.3 文本检测和端到端识别

文本检测和端到端识别的问题都在非常活跃的研究中。许多最近的文本检测器是基于现代物体检测或分割方法的。例如,TextBoxes[38]将SSD检测器[39]适应于文本检测。EAST[71]使用FCN[53]进行文本分割。这两种方法都实现了快速和准确的文本检测。
一个常见的端到端识别系统包括一个检测器和一个识别器,以一种连续的方式。以前的方法如Weinman等人[63]和Jaderberg等人[27]首先生成文本建议,然后用独立的单词识别模型识别它们。最近,一些方法试图在一个端到端的神经网络中整合检测和识别。Deep TextSpotter[9]将一个基于FCN的检测器和一个基于CTC的识别器结合到一个端到端的可训练框架中。同样地,Li等人[37]整合了一个文本提议网络和一个注意力序列识别网络。
虽然本文的重点是文本识别,但我们表明ASTER有助于实现最先进的端到端性能,即使没有最强的检测器。另外,我们还证明了ASTER可以通过其矫正机制加强检测器。这些特性使ASTER成为端到端识别系统中一个有吸引力的识别器。

3 模型

建议的模型由两部分组成,即文本矫正网络和文本识别网络。在下面的章节中,我们首先在第3.1节和第3.2节中分别描述这两部分。然后,我们在第3.3节中描述训练策略。

3.1 整流网络

整理网络用预测的二维变换来校正输入图像。我们采用Thin-Plate-Spline[8](TPS)作为变换。TPS在图像变换和匹配方面有广泛的应用,例如[6]。与其他较简单的二维变换相比,它更加灵活,例如仿射和投影。TPS在图像上执行非刚性变形,处理各种变形。图3举例说明了一些典型的整顿。特别是,TPS可以矫正透视和弯曲的文本,这是两种典型的不规则文本类型。
整理网络是基于空间变换器网络[28](STN)。STN的中心思想是将空间转换建模为一个可学习的网络层。图4描述了整顿网络的结构。该网络首先通过其定位网络预测出一组控制点。然后,从控制点计算出一个TPS变换,并传递给网格生成器和采样器以生成整流图像Ir。由于控制点是从I中预测出来的,所以除了输入图像外,整流网络不需要额外的输入。
在这里插入图片描述

图3.TPS变换可以纠正各种类型的不规则文本,包括但不限于松散的边界a)、定向或透视变形(b)©和弯曲的文本(d)。

在这里插入图片描述

图4.整流网络的结构。

3.1.1 本地化网络

我们首先在图5中说明TPS是如何整顿文字的。一个TPS变换是由两组大小相同的控制点决定的,用K表示。输出图像上的控制点被放置在沿图像上下边界的固定位置,间距相等。因此,当输入图像上的控制点沿上下文本边缘预测时,所产生的TPS变换会输出一个具有规则文本的整流图像。
因此,文字矫正的问题可以归结为预测输入图像上的控制点。预测是由卷积神经网络进行的。假设I和Ir上有K个控制点,它们的坐标分别表示为 C’和C,分别表示。这里。 C =[c_1,…,c_K]∈R^(2×K)是K个控制点的串联,其中 c_k=〖[x_k,y_k]〗^T是第k个点的x,y坐标。同理。 C’=[c_1’,…,c_k^'].
在这里插入图片描述

图5.使用TPS转换的文本整顿。交叉点是控制点。黄色箭头代表变换T,连接一个点pi和其对应的点 p_i^'.

定位网络的回归 C’直接从Id进行回归,而Id是从I下采样的。该网络由几个卷积层组成,在它们之间插入了最大集合层。输出层是一个全连接的层,其输出大小为2K。它的输出向量被重塑为 C∈R^(2×K). C’和C的值是标准化的图像坐标,其中(0,0)是左上角,(1,1)是右下角。
我们将在后面进一步说明,整流网络中的所有模块都是可分的。因此,在训练过程中,定位网络完全由反向传播梯度来训练,不需要对控制点进行人工注释。

3.1.2 网格生成器

网格生成器计算出一个变换,并将其应用于Ir中的每个像素位置,在I上生成一个采样网格P = {pi }。二维TPS变换的参数是一个2×(K+3)矩阵。
在这里插入图片描述

其中 u,v∈R^(1×K).给定一个二维点p = [xp, yp ]T,TPS通过线性投影p的提升矢量找到其对应的点p’。
在这里插入图片描述

其中 ϕ® = r^2 log®是应用于p和控制点cK之间的欧几里得距离的径向基核。TPS的系数是通过解决一个涉及C和C’之间的K个对应关系的线性系统来找到的:
在这里插入图片描述

受制于以下边界条件(Cx和Cy分别为C的x和y坐标)。
在这里插入图片描述

以矩阵形式组合起来,线性系统表示为
在这里插入图片描述

其中 C ̂∈R^(K×K)是一个方形矩阵,包括 (c_(i,j) ) ̂=ϕ(‖c_i-c_j ‖).
从方程2中,T有一个闭合形式的解。
在这里插入图片描述

注意,C是输出图像上预定的控制点,因此是一个常数。根据公式2, C ̂和 ∆C都是纯粹从C派生出来的。因此,它们也是常数,只需要计算一次。
在这里插入图片描述

图 6. 网格生成器的构造。 concat 和 matmul 分别是矩阵连接和乘法运算符。

TPS的求解和转换过程可以很容易地被建模为一个神经网络模块。图6显示了这个模块的结构。它将预测的控制点 C’和矫正后图像上的每个像素点p作为输入和输出 p’.模块中使用的所有运算符都是可微分的,可以在大多数主流的深度学习库中找到。此外,给定一个具有一定分辨率的图像,像素的位置是固定的。因此,图6中从p到p ̂的计算可以被缓存起来并重复用于相同分辨率的图像。

3.1.3 采样器

在整流网络的输出端,采样器生成整流后的图像。
在这里插入图片描述

采样器通过插值计算出p的值,即通过插值计算出p的邻居像素为 p’.由于 p’可能会落在图像之外,所以在采样之前要进行数值剪裁,以限制图像边界内的采样点。采样器是可微调的,也就是说,它可以将I上的梯度反向传播到P。r这是通过可微分图像采样方法实现的。我们请读者参考[28]以了解更多细节。

3.1.4 与STN[28]和RARE[55]的比较

与我们以前的工作[55]和最初的STN论文[28]相比,本文引入了两项改进。
与STN[28]不同,我们为定位网络和采样器使用不同大小的图像。定位网络在较小的图像上运行,Id是I的降采样版本,以减少预测所需的参数数量。同时,采样器在原始图像(或者类似地,原始图像调整为高分辨率)上操作。由于整流网络经常对其输入的图像进行裁剪,在高分辨率的图像上采样可以避免输出分辨率的降低,因此可以保留Ir的图像质量。此外,本文还阐述了TPS在STN中的应用。
与[55]不同的是,我们没有限制 C’的值,在最后一个全连接层使用 tanh 激活函数。放弃非线性激活函数可能会导致训练期间更快的收敛,因为梯度在反向传播期间得到了很好的保留。如果没有tanh,控制点可能会落在图像边界之外,因此在采样器中进行了数值剪裁,以确保有效采样。我们根据经验发现,这个技巧大大改善了性能和对权重初始化的稳定性。

3.2 识别网络

文本识别网络直接从矫正后的图像中预测出一个字符序列。该网络是可以进行端到端训练的。它只用图像和它们的真实文本注释来训练。
最近的工作[54]证明了将文本识别建模为一个序列识别问题的有效性。该模型的核心是连接主义时间分类(CTC)方法[17]。CTC提供了一个对水平字符位置和间距不敏感的可区分的损失函数,从而实现了端到端的可训练的序列识别。尽管CTC很有效,但它没有一个机制来模拟其输出字符之间的依赖关系。因此,[54]依靠一个外部语言模型,如词典,将语言先验因素纳入其识别中。
我们使用一个由双向解码器扩展的序列-序列模型来解决识别问题。由于序列到序列模型的输出是由一个递归神经网络产生的,它捕捉到了字符的依赖性,从而将语言建模纳入了识别过程。此外,双向解码器在两个方向上都捕捉到了字符的依赖性,利用了更丰富的上下文并提高了性能。图7描述了单向版本的结构。按照经典的序列到序列模型,我们的模型由一个编码器和一个解码器组成。它们将在以下两节中描述。
在这里插入图片描述

图7.基本文本识别网络的结构。

3.2.1 编码器:卷积-递归神经网络

丰富的、有鉴别力的特征对于一个识别模型是非常重要的。理想情况下,一个单词的字符是排成一行的,因此可以用描述从左到右(或者同样地,从右到左)排列的局部图像区域的特征序列来很好地表示。
如图7所示,编码器首先通过卷积层的堆叠从输入图像中提取一个特征图。卷积层(“ConvNet”)的设计使特征图的高度为1。接下来,特征图被沿其行轴分割成一个特征序列。特征图的形状为hconv×wconv×dconv,分别为其高度、宽度和深度。分割后,特征图被转换为wconv向量序列,每个向量都有hconvdconv尺寸。
ConvNet可以提取强大的图像特征,特别是当它由许多具有剩余连接的卷积层组成时[20]。但是,这种特征仍然受到它们的感受野的限制,即它们所捕捉的图像区域。为了扩大特征背景,我们在特征序列上采用了一个多层双向LSTM(BLSTM)网络[18]。BLSTM网络对特征序列进行双向分析,在两个方向上捕捉长距离的依赖关系。它输出一个相同长度的新特征序列,用H = [h1 , … , hn]表示,其中n = wconv。

3.2.2 解码器:注意力的序列到序列模型

序列到序列的模型将特征序列翻译成字符序列。它能够输入和输出任意长度的序列。这样的模型因其在序列建模中的简单性和强大的功能以及捕捉输出依赖性的能力而具有吸引力。
序列到序列模型有多种形式,如[3]、[15]、[58]。我们基于注意力序列到序列模型[3], [13]建立我们的解码器,因为它在每个解码步骤中都可以访问编码器的输出,并且有一个直观的、可解释的行为,可以更容易地进行调试和分析。
注意力序列到序列模型是一个单向的递归网络。它迭代工作了T个步骤,产生一个长度为T的符号序列,用(y1, …, yT)表示。
在步骤t,解码器根据编码器输出H、内部状态st-1和上一步预测的符号yt-1,预测一个字符或一个序列结束符号(EOS)。在这一步中,解码器开始计算一个注意力权重的向量。 α_t∈R^n,通过其注意力机制。
在这里插入图片描述

其中w、W、V是可训练的权重。
注意力权重有效地表明了编码器输出的每一项的重要性。以权重为系数,解码器将H的列线性地组合成一个向量,这就是所谓的glimpse。
在这里插入图片描述
顾名思义,一瞥描述了H编码的整个上下文的一小部分。它被作为输入到解码器的递归单元,产生一个输出向量和一个新的状态向量。

在这里插入图片描述

其中(gt, f (yt-1 ))是gt和yt-1的单热嵌入的连接。rnn代表任何循环单元(例如LSTM[22],GRU[12])的步骤函数,其输出和新状态分别用xt和st来表示。最后,xt被用来预测当前步骤的符号。
在这里插入图片描述

由于yt-1被纳入计算中,解码器学会了捕捉其输出字符之间的依赖关系。这就像一个隐含的语言模型,用它学到的语言先验来协助识别。
在推理过程中,我们可以采用贪婪的解码方案,即采取具有最高softmax得分的符号,或者采用波束搜索的方法,在每一步都保持具有最高累积得分的k个候选者。在实践中,我们使用k=5的波束搜索。与贪婪解码相比,波束搜索产生了轻微但持续的准确性改进。

3.2.3 双向解码器

尽管一个序列到序列的解码器能捕捉到输出的依赖性,但它只捕捉到一个方向,而错过了另一个方向。例如,以从左到右的顺序识别文字的解码器可能难以决定某些字体中大写字母 "I "和小写字母 "l "之间的第一个字母,因为它们在视觉上很难区分,而且解码器对过去解码的字母没有记忆。这样的单词可能更容易被按从右到左的顺序工作的解码器识别,因为其余的字母会根据语言的先验情况暗示第一个字母。
在这里插入图片描述

图8.双向解码器。"0.5 "和 "0.8 "是识别分数。

正如这个例子所表明的,在相反方向工作的解码器有可能是互补的。为了利用两个方向的依赖性,我们提出了一个双向解码器,它由两个方向相反的解码器组成。如图8所示,一个解码器被训练成从左到右预测字符,另一个从右到左。在运行两个解码器后,会产生两个识别结果。为了合并这些结果,我们只需挑选识别分数最高的一个,即所有预测符号的对数最高分数之和。

3.3 训练

该模型在多任务设置下进行端到端的训练,其目标是
在这里插入图片描述

其中 y_1 ,…,y_t ,…,y_T是由一个字符序列表示的真实文本。目标是从左到右的解码器和从右到左的解码器损失的平均值,它们的预测分布分别用pltr和prtl表示。
我们模型中所有层的权重都是随机初始化的,除了定位网络。由于TPS变换是由定位网络预测的控制点计算出来的,随机初始化的定位网络导致控制点的随机放置,这将扭曲Ir并导致训练过程中的不稳定性。为了解决这个问题,我们初始化最后一个全连接层(fc2),使Ir在训练开始时不被扭曲。具体地说,我们将fc2的权重设置为零,并将其偏差设置为C’与C相同的值。我们发现,这种初始化方案产生了一个更稳定的训练过程。

4 实验

我们进行了广泛的实验来验证我们模型的每一部分的有效性,并将其性能与其他最先进的方法进行比较。在本节中,我们首先在第4.1节中明确了实验设置。然后,我们在第4.2节和第4.3节中进行了一些消融研究,每项研究都针对一个模型部分,以证明其有效性并分析其行为。最后,在第4.4节中,我们在公共数据集上对ASTER进行评估,并将其与其他最先进的方法进行比较。

4.1 实验设置

4.1.1 数据集

所提出的模型是在两个合成数据集上训练的,没有在其他数据集上进行微调。该模型在5个标准数据集上进行了测试,以评估其一般识别性能。此外,我们在2个不规则文本的特殊数据集上测试该模型,以证明其纠正能力。按照标准,我们用不区分大小写的单词准确性来评估识别性能。
Synth90k是[24]中提出的合成文本数据集。该数据集包含900万张由一组90k常见英语单词生成的图像。字词被呈现在自然图像上,并带有随机的变换和效果。Synth90k中的每张图片都被注释了一个真实的单词。这个数据集中的所有图像都是用来训练的。
SynthText是[19]中提出的合成文本数据集。其生成过程与[24]的过程相似。但与[24]不同的是,SynthText是针对文本检测的。因此,文字被渲染成完整的图像。我们使用真实的单词边界框来裁剪单词。
IIIT5k-Words(IIIT5k)[44]包含3000张从网上收集的测试图像。每张图片都与一个短的、50个词的词库和一个长的、1000个词的词库有关。一个词库由基础真理词和其他随机词组成。
街景文本(SVT)[60]是从谷歌街景中收集的。测试集包含647张裁剪过的文字图片。SVT中的许多图像都被噪声、模糊和低分辨率严重破坏。每张图片都与一个50个词的词库相关联。
ICDAR 2003(IC03)[42]包含860张过滤后的剪裁词图像。按照[60],我们放弃了包含非字母数字字符或少于三个字符的词。每幅图像都有一个在[60]中定义的50个词的词库。
ICDAR 2013(IC13)[32]继承了IC03的大部分图像,并以新的图像对其进行扩展。该数据集通过删除包含非字母数字字符的单词进行过滤。该数据集包含1015张图像。没有提供词汇表。
ICDAR 2015附带文本(IC15)是ICDAR 2015鲁棒阅读竞赛的挑战4[31]。这项挑战的特点是偶然的文本图像,这些图像是由一副谷歌眼镜拍摄的,没有经过仔细的定位和聚焦。因此,该数据集包含了大量不规则的文本。测试图像是通过使用地面真实的单词边界框来裁剪单词而获得的。
SVT-Perspective(SVTP)是在[49]中提出的,用于评估识别透视文字的性能。SVTP中的图像是从谷歌街景中的侧视图像中挑选出来的。其中许多图像因非正面视角而严重失真。该数据集由639张裁剪过的图片组成,用于测试,每张图片都有一个从SVT数据集继承的50个词的词库。
CUTE80(CUTE)是在[51]中提出的。该数据集专注于弯曲的文本。它包含80张在自然场景中拍摄的高分辨率图像。CUTE80最初是为检测任务提出的。我们对注释的文字进行裁剪,得到288张图像的测试集。没有提供词库。

4.1.2 文字整顿网络

在进入整流网络之前,图像被调整为64×256大小。我们使用大的输入尺寸,以便在整流采样前保留高分辨率。采样器输出的图像大小为32×100,这也是识别网络的输入大小。

表1 文本识别网络的配置。每个区块是一个残差网络区块。s "代表一个块中第一个卷积层的跨度。'*'表示动态输出长度。"Out Size "是卷积层的特征图大小(高度×宽度)和递归层的序列长度。"Att.LSTM "代表注意型LSTM解码器。两个解码器被实例化并并行工作。
在这里插入图片描述

定位网络对输入图像进行了降频处理,达到32×64。它由6个卷积层组成,核大小为3×3,前5层中的每一层后面都有一个2×2的最大集合层。输出滤波器的数量分别为32、64、128、256、256和256。卷积层之后是两个全连接层。它们的输出单元的数量分别为512和2K,其中K是控制点的数量。在整个实验中,我们将K设置为20。其他的K值也会导致类似的结果。

4.1.3 文本识别网络

识别网络的配置列于表1。我们使用一个45层的残差网络[20]作为卷积特征提取器。每个残差单元包括一个1×1卷积,然后是3×3卷积,因为最近的工作[23]表明了这个方案的效率。特征图在前两个残差块中通过2×2步长卷积进行下采样。在第四和第五个残余块中,步长被改为2×1。2×1的下采样步长在水平轴上保留了更多的分辨率,以便于区分相邻的字符。
残差网络之后是两层双向LSTM(BiLSTM)。每层由一对具有256个隐藏单元的LSTM组成。在进入下一层之前,LSTM的输出被串联并线性投影到256维。
解码器是注意型LSTM。注意单元和隐藏单元的数量都是256。解码器可识别94个字符类别,包括数字、大写和小写字母以及32个ASCII标点符号。当评估协议对大小写不敏感并且不考虑标点符号时,我们将解码器的输出规范化为小写字母,并删除所有预测的标点符号。

4.1.4 优化

该模型是从头开始训练的。我们采用ADADELTA[69]作为优化器。一个更简单的SGD优化器的动量也能成功地训练模型,但准确率略低。该模型由64个例子组成的批次进行训练,并进行一百万次迭代。每个批次由32个来自Synth90k的例子和另外32个来自SynthText的例子构成。以这种方式训练的模型明显优于仅在Synth90k上训练的模型(例如[54],[55])。学习率最初设定为1.0,在0.6M和0.8M的步骤中分别衰减为0.1和0.01。尽管ADADELTA的学习率是自适应的,但我们发现经典的学习率计划对性能是有益的。

4.1.5 实施

我们使用TensorFlow[1]实现所提出的模型。该模型在一块拥有12GB内存的NVIDIA TITAN Xp显卡上训练。训练速度约为6.5迭代/秒,需要不到2天的时间来达到收敛。当测试批次大小为1时,推理速度为每幅图像20ms。这个速度可以通过更大的批次大小来提高。

4.2 关于文本整顿的实验

我们研究了文本整顿网络的两个方面。首先,我们从定量和定性两方面研究文本整顿的效果。第二,对于定位网络,我们研究其对权重初始化的敏感性。

4.2.1 矫正的效果

为了分析整顿的效果,我们研究了所提模型的两个变体。第一个变体只包括识别网络,不进行整流。为了避免其他模型部分的影响,我们还将双向解码器改为单方向的。第二个变体是第一个变体加上整顿网络。这两个变体都是从头开始训练的,使用第4.1节中描述的相同训练设置。它们的性能是在六个测试数据集上评估的,即IIIT5k、SVT、IC03、IC13、SVTP和CUTE。

表2 有无整顿的识别准确率。
在这里插入图片描述

表2列出了这两个变体的结果。可以看出,在所有的数据集上,有矫正功能的模型都优于无矫正功能的模型,特别是在SVTP(+4.7%)和CUTE(+3.1%)上。由于这两个数据集都是由不规则的文本组成的,所以整顿显示了显著的效果。此外,我们构建了一系列不规则程度递增的数据集。这是通过将SVTP+CUTE和IIIT5k(所有的例子都被认为是有规律的)以不同的比例混合来实现的。所有的数据集都有933个例子。图9显示了整顿效果(有整顿和无整顿之间的准确度差异)与不规则例子的比例。可以看出,整顿效果随着不规则程度的增加而单调地增加,显示了对不规则文本的整顿效果。
在这里插入图片描述

图9.整理改进与不规则文本部分的关系

表3 通过[55]和ASTER进行的校正图像和识别结果。识别错误用红色字符标记。
在这里插入图片描述

为了进行定性比较,表4直观地显示了CUTE80和SVTPerspective的一些例子的整顿结果。即使没有对控制点位置的直接监督,整顿网络也会学习将控制点放在文本的上下边缘附近。这些点以均匀的间距排列在一条平滑的曲线上,在整顿后的图像中几乎没有失真或人工痕迹。
从表4可以看出,矫正网络在透视文字上的工作很有效。即使在有严重透视变形的图像上(如 "starbucks "和 “storage”),整顿网络也能将文字整顿成规则的文字,大大缓解了识别难度。整理网络还能纠正弯曲的文字。例如,在 “ronaldo”、"optimal "和 "grove "这些词上,控制点被预测为弧形,而文字被矫正为规则的形状。虽然矫正后的图像仍有扭曲,但识别网络能够正确识别它们。
另一个有趣的现象是,整改后的文字往往会出现倾斜。这种现象在很多例子中都可以观察到,比如表4中的 “academy”、“entrance”、"museum "和 “storage”。我们推测其原因是倾斜简化了学习,因为它导致相邻的字符有重叠的间隔,因此沿垂直图像轴引入了依赖性。
最后,我们观察到一些控制点被置于其图像边界之外,例如 "city "和 "lights "中的控制点。与[55]不同的是,我们没有强制控制点在图像边界内,因为这样做可能会干扰采样网格并导致图像失真。从表3可以看出,虽然ASTER的整顿偶尔会失败,但一般来说,它产生的图像的失真要比[55]的少得多。这表明,简单的修改就能使图像质量得到明显的改善。

4.2.2 对权重初始化的敏感性

适当的权重初始化对于顺利地训练整顿网络是必要的。如第3.3节所述,我们用零权重和一定的偏置值来初始化最后一个全连接层。我们将这个初始化方案命名为identity。
为了证明权重初始化的效果,图10比较了identity和另一种称为随机的初始化方案,其中所有模型层都是随机初始化的。可以看出,identity导致了更快的收敛和更稳定的训练过程。同时,随机初始化的模型仍然可以通过更多的训练迭代来成功训练,并且最终达到与identity非常接近的精度。我们观察到,一个随机初始化的模型一开始会产生垃圾的矫正图像,但在几千次的训练迭代后就会恢复正常。
在[55]中,一些精心设计的权重初始化方案是成功训练模型的必要条件。而在随机初始化的情况下,训练完全失败。相比之下,本文中的模型对权重初始化的敏感性要低得多。即使在随机初始化的情况下,它也能成功训练。

表4 SVT-Perspective和CUTE80的部分结果。对于每两行,第一行包含输入图像(顶部),预测的控制点(可视化为绿色十字),以及矫正后的图像(底部)。第二行包含识别结果。
在这里插入图片描述

4.3 文本识别的实验

在本节中,我们研究了文本识别网络的几个关键方面,包括其注意力机制、双向解码器以及识别性能与字长的关系。

4.3.1 对注意力的分析

注意力机制在识别网络中起着核心作用。根据公式5,局部特征被加权组合来识别一个字符。这表明注意力机制进行了隐性的字符检测。
在这里插入图片描述

图10.不同模型初始化方案下的单词准确率(左)和训练损失(右)。
在这里插入图片描述

图11.注意力权重的可视化。

为了理解解码器的行为,我们提取了注意力权重,即公式5中的αt,i,并在图11所示的几个例子上将其可视化。在每幅图像的上方,一个注意力权重的矩阵被可视化为一个二维地图。地图的第t行对应的是第t个解码步骤的注意力权重。除了非常短的单词,我们可以观察到注意力权重和字符之间的清晰排列。这证明了识别网络所进行的隐性字符检测。

4.3.2 双向解码器

为了评估双向解码器的有效性,我们创建了三个模型变体,即L2R,以从左到右的顺序识别文本;R2L,以从右到左的顺序识别文本;Bidirectional,双向解码器。这些变体也是使用第4.1节中描述的相同训练设置从头开始训练的。表5比较了它们的识别准确率。

表5 不同解码器的识别准确率。L2R和R2L分别代表从左到右和从右到左。
在这里插入图片描述

总的来说,L2R和R2L有相似的准确性。L2R在IIIT5k、IC03和SVTP上表现较好,而R2L在其他方面表现较好。这表明,这两个变体可能有利于不同的数据分布。同时,Bidirectional在所有的数据集上都优于这两个变体,只有一个例外,Bidirectional等于更好的变体。特别是在SVT上,Bidirectional比其他两个变体分别多出2.8%和1.6%,验证了双向解码器的有效性。

4.3.3 准确度与字长的关系

识别网络将固定尺寸的图像作为输入。尽管将图像调整为固定尺寸不可避免地会导致图像失真,但我们认为它对性能的影响是很小的。主要原因是失真同样影响到训练和测试数据。因此,我们的模型被训练来处理拉长和压缩的例子。
图12显示了识别准确率与单词长度之间的关系。可以看出,在长度等于或小于11的单词上,识别准确率相当平均。超过这个长度,准确率就会下降。然而,这部分是由于长的单词本身就很难在全词准确性的衡量下预测正确。我们也尝试过用比例调整和填充来代替固定大小的调整,但在大多数情况下,它的性能更差。
在这里插入图片描述

图12.识别准确率与字长的关系(在IIIT5k上测试)

4.4 与技术现状的比较

最后,我们将我们的模型的性能与其他最先进的模型进行比较。一些数据集提供了用于约束识别输出的词库。当给定一个词库时,我们只需将预测的词替换为编辑距离指标下最接近的词库词。
表6比较了一些方法的识别准确率。我们的方法在12种方法中取得了9种最佳结果。特别是在IIIT5k和SVT上,我们的方法与之前的最佳结果相比,识别误差几乎减半。与[11]和[26]相比,我们的模型只在少数结果上有所不足。然而,需要注意的是:1)[11]使用了额外的字符级注释,而ASTER没有;2)[26]是一个受限输出的识别器。它只在其90k字典中识别,而ASTER是无约束的。考虑到所测试的数据集涵盖了广泛的真实世界的场景,并且所有的结果都是由一个模型产生的,很明显我们的方法在一般情况下工作能力很强。
表6还列出了ASTER的两个变体,即ASTER-A和ASTER-B。它们与ASTER的区别仅在于ConvNet结构和训练数据。ASTER-A在所有的数据集和指标上都优于[55],只有在IIIT5k上例外,该数据集只包括普通文本。这进一步验证了本文所介绍的扩展的有效性。[64],同样使用VGG,在一些数据集上优于ASTER-A。然而,[64]使用的是具有字符级注释的私有训练数据集。
我们已经证明了整顿和双向的有效性。在整流和双向解码的情况下,ASTER在所有测试的数据集上都优于表2中的With Rect.和表5中的Bidirectional这两种变体。因此,我们可以看到,整流和双向解码器所带来的性能提升是相加的。

5 端对端识别

文本识别器通常与文本检测器一起使用,以构建一个端到端的识别系统。通常情况下,检测器首先定位单词的边界框。然后,识别器识别被方框裁剪的图像。识别性能通常受到检测到的框的质量的影响,因为松散的框会导致不完美的裁剪,这就很难识别。
ASTER对于端到端识别系统的吸引力不仅在于其强大的识别性能,还在于其加强检测的能力,这有两方面的原因。首先,ASTER产生的识别分数可以用来过滤检测框。第二,ASTER可以通过它的矫正网络来矫正检测盒。正如我们已经证明的那样,ASTER倾向于预测沿上下文本边缘的控制点。从控制点中,我们可以估计出一个新的、有方向性的边界盒来替代原来的检测盒。因此,ASTER可以将一个水平的检测器变成一个定向的检测器。
在这里插入图片描述

图13.检测盒整改过程。

图13说明了检测盒的整顿过程。假设文字是由一个水平检测器检测出来的。给出预测的控制点,我们使用线性最小二乘回归方法,分别从前半部分和后半部分的点估计两条直线。对于每条直线,通过控制点投射到直线上的最小和最大X坐标找到两个端点。这四个端点构建了一个四边形,这就是整顿后的检测。同样地,我们可以根据任务的需要,估计一个轴对齐的矩形或一个定向的矩形。
我们首先评估ASTER的端到端识别性能。我们使用TextBoxes[38]和ASTER构建了一个端到端的识别系统。虽然TextBoxes在撰写本文时并不是最强的文本检测器,但我们强调的是,即使没有强大的文本检测器,ASTER也能取得优异的端到端准确率。源代码和模型都是从GitHub仓库1获得的。我们在IC15上对原始模型进行了微调,IC15是一个定向的文本检测数据集。具体来说,我们使用学习率为10-4的SGD优化器对模型进行1500步的微调;批次大小设置为16;其余设置与[38]相同。
表8总结了这些结果。我们的系统在所有指标下都取得了最先进的结果。请注意,与Deep TextSpotter[9]相比,我们的系统有一个较弱的检测器,因为TextBoxes是水平的,而[9]是定向的。但是,我们的端到端性能仍然比[9]要好很多。

表6 识别结果比较。“50”, “1k”, "Full "是词库。"0 "表示没有词库。*本文的会议版本。"90k "和 "ST "分别为Synth90k和SynthText数据集。"ST+"指包括字符级注释。"Private "指私人训练数据。
在这里插入图片描述

表7 不同系统的检测准确率。
在这里插入图片描述

此外,我们展示了ASTER是如何加强检测器的。表7比较了原始TextBoxes[9]、由ASTER加强的TextBoxes(没有整顿)和由ASTER加强的TextBoxes的检测准确率。在没有整顿的情况下,ASTER仍然大大加强了TextBoxes,用它的识别分数重新给检测框打分。矫正带来了进一步的改善,这来自于更好的重新打分和检测矫正。
图14显示了端到端和探测整顿的结果。对于TextBoxes产生的每一个水平框,ASTER都会生成一个四边形作为整顿后的检测结果。四边形更紧密地束缚了文本,因此提高了检测精度。

6 结论

表8 端到端结果比较。"端到端 "和 "找词 "是两个不同的衡量标准。“强”、"弱 "和 "通用 "表示不同的词库。
在这里插入图片描述

本文通过一个基于STN框架和TPS变换的显式矫正机制来解决不规则文本识别问题。由此产生的文本识别器,称为ASTER,在裁剪后的文本识别和端到端识别任务中显示出卓越的性能。此外,由于其矫正机制,ASTER在加强文本检测器方面显示出额外的优点,甚至能够对为水平文本设计的检测器进行定向文本检测。
在这项工作中,端到端的文本识别是以两阶段的方式解决的,这意味着检测是在另一个网络中使用单独的特征进行的。正如我们所展示的,ASTER可以进行隐性文本检测。但是这种检测能力仅限于目标文本附近的一个小范围。将这一范围扩大到整个图像将产生一个单阶段、端到端的识别系统,这是一个值得进一步研究的方向。

鸣谢

参考文献

在这里插入图片描述

图14.IC15上的端到端识别结果。红色方框是由TextBoxes检测到的。绿色的多边形是矫正后的检测结果。

创作不易,喜欢的话加个关注点个赞,❤谢谢谢谢❤

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值