文章目录

  • 总结
  • 0.摘要
  • 1.介绍
    • 1.1主要贡献
  • 2.相关工作
    • 2.1文字识别
    • 2.2文字矫正 Text Rectification
    • 2.32.3 Text Detection and End-to-End Recognition
  • 3.模型
    • 3.1Rectification Network(纠正网络)
      • 31.1Localization Network
    • 3.1.2 Grid Generator
    • 3.1.3采样
    • 3.1.4STN和RARE的比较
    • 3.2识别网络
      • 3.2.1解码器:卷积循环网络
    • 3.2.2解码器:基于注意力的seqtoseq模型
      • 3.2.3双向解码器
    • 3.3 Training
    • 4.1实验设置
      • 4.1.1数据集
      • 4.1.2 Text Rectification Network
      • 4.1.2Text Recognition Network
      • 4.1.4优化
      • 4.1.5部署
    • 4.2矫正实验
      • 4.2.1Effect of Rectification
      • 4.2.2 Sensitivity to Weight Initialization
    • 4.3 Experiments on Text Recognition
      • 4.3.1 Analysis on Attention
      • 4.3.2Bidirectional Decoder
      • 4.3.3 Accuracy Versus Word Length
    • 4.4Comparison to State of the Art
  • 5 END-TO-END RECOGNITION
  • 6.其他资料

总结

主要解决了不规则,扭曲,变形的文本的识别问题

  • 对扭曲图片进行纠正->识别,网络包括两个部分,实现了目前最好的文本识别效果
  • 扭曲纠正网络(STN),实际是对原始图片进行仿射变换,让扭曲图片变得好识别。关键在于找到这个仿射变换的方程,仿射变换的方程是通过找原始图片矫正后图片的对应点实现的,所以问题的核心变成了预测控制点的位置,也就是原始图片上某些点在新的图片上的位置。
  • 找位置的过程是无监督的,因为矫正的不好,识别的就不好,所以他们之间有一种隐形的连接关系,最后的loss在表面上只和识别有关系,实际上矫正结果影响识别结果。
  • 找位置的参数初始化很重要,随机的参数找的位置都是随机的,矫正网络就无法收敛,所以通过使得全连接层weights = 0,bias = 特殊值,让一开始找的位置就是原始图片上对应点的位置,也就是初始化的矫正后的图片 = 原始图片,最开始网络是没有矫正功能的,
  • 矫正网络最后没有使用tanh激活函数,输出任意大小矫正预测值,需要同时对于超出原始图像范围的矫正点要进行限制。
  • 通过预测矫正图像上20个控制点的位置,与原始图像上20个点的位置进行映射 ,STN的基本原理是利用点之间的映射关系进行仿射变换,通过采样生成矫正后的图片。
  • 整个过程是端到端训练的,很神奇,效果不错。

0.摘要

场景文本识别的一个具有挑战性的方面是处理具有扭曲或不规则布局的文本。特别是,透视文本和弯曲文本在自然场景中很常见,很难识别。本文介绍了一种端到端神经网络模型ASTER,它由校正网络和识别网络组成。校正网络自适应地将输入图像转换为新的图像,对其中的文本进行校正。它由一个灵活的Thin-Plate Spline transformation作为核心,该转换处理各种文本不规则性,并在没有人工注释的情况下进行训练。识别网络是一个注意序列到序列的模型,它直接从校正后的图像预测字符序列。整个模型从头到尾进行训练,只需要图像和它们的groundtruth文本。通过大量的实验,验证了校正的有效性,并证明了ASTER的最新识别性能。此外,我们还证明了ASTER在端到端识别系统中是一个强大的组件,因为它能够增强检测器。

Index Terms—Scene Text Recognition, Thin-Plate Spline, Image Transformation, Sequence-to-Sequence Learning

1.介绍

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

本文介绍了一种用于场景文本识别的ASTER,它是一种具有灵活性的注意力场景文本识别器。ASTER采用显式纠错机制处理不规则文本问题。如图2所示,模型包含两个部分:整流网络和识别网络。给定一个输入图像,校正网络对图像进行变换以校正其中的文本。

变换叫做TPS The transformation is parameterized Thin-Plate Spline
可以处理各种文本不规则性。

不规则文本举例

在推理过程中,校正网络首先从图像中预测TPS参数,然后将其应用于转换。基于[28]提出的空间变换网络(STN)框架,纠偏网络完全可以通过识别网络反向传播的梯度进行训练,不需要人工标注。

该识别网络从校正后的图像中预测出一个字符序列,并将其作为一个注意序列来处理。基于[3]、[13]中提出的注意机制,识别网络将字符检测、字符识别和语言建模有效地封装到一个模型中,实现了准确的认知。在此基础上,将传统的单向译码器扩展为双向译码器。该双向解码器由两个解码器组成,解码器具有相反的解调方向。它合并了两个解码器的输出,利用了两个方向上的依赖关系。

通过对大量标准数据集的大量实验,我们证明了ASTER在规则文本和不规则文本上的优越性能。此外,当与文本检测器一起使用时,ASTER显示了通过过滤和细化检测框来增强文本检测器的能力。特别是,ASTER使水平文本检测器能够检测定向文本。这些优点使得ASTER成为端到端纹理识别系统的强大组件。

1.1主要贡献

总之,本文的贡献有三方面。
首先

  • 采用显式纠偏机制解决了不规则文本识别问题,在不添加额外标注的情况下,显著提高了识别性能。
  • 其次,将attentional sequence-tosequence models引入场景文本识别问题,并利用双向解码器对其进行了扩展。
  • 第三,利用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]对字符进行定位,在这些方法中,局部区域被一个二元或多分类器(每个分类器是一个字母)密集分类,以获得字符的位置和分数。然后,执行基于图的推理,从检测到的字符中找到单词。

随着深度神经网络在各种计算机视觉任务[33]、[50]中的成功应用,许多人开始采用深度神经网络进行文本识别。一些方法是利用神经网络[33]、34来定位和识别字符[29],[62],[70]。[62]创建了两个ocnns分别对字符进行定位和识别。[29]采用了类似的方法,但是只使用了一个CNN来同时执行两个任务。其他方法整体地识别ext。例如,Jaderberg等人使用一个90k类别的分类器CNN执行文本识别,其中每个类对应一个英语单词。

文本识别也可以建模为结构学习问题。[25]提出了一种用于无约束文本识别的structuredoutputCNN结构。Su和lu[56]、[57]将文本识别建模为一个序列识别问题,并利用递归神经网络(RNNs)对其进行了研究。紧随其后的是[21]、[54],其中CNN和RNN被集成到文本识别中。Wang等人利用gated cnn扩展了这一工作。

我们的方法属于结构化学习的范畴。它基于注意序列到序列的学习模型[3],[13]。该模型从输入序列中学习预测输出序列,最初用于机器翻译和语音识别任务。本文的会议版[55]是第一个与[36]并行在场景文本识别任务中探索这类模型的。这项工作进一步扩展了双向解码器的[55]。

2.2文字矫正 Text Rectification

之前对文档文本图像[30]、[40]、[41]进行了不规则文本的校正研究。这些工作基于形态学分析或配准技术对文档图像进行校正(或压平),这些技术应用于包含多行文本的图像。另一方面,场景文本通常以单字的形式进行识别,这些方法不能很好地推广。

在场景文本方面,在[49]中研究了不规则文本问题,Phan等人提出了一种识别方法drobust来透视文本失真。最近,杨等等。[64]利用辅助字符检测模型和对齐损失来解决不规则文本问题,有助于精确的字符定位。Bartz等人使用集成的纠错识别网络[4]和[5]解决了这个问题。与[64]相比,我们的方法在概念上更简单,因为它不需要显式的字符检测。此外,与[64]和[11]相比,我们的方法不需要额外的字符标注。

2.32.3 Text Detection and End-to-End Recognition

TextBoxes 使用SSD作为文本检测器
EAST使用FCN作为文本检测器

一种常见的端到端识别系统,包括一个序列识别器和一个序列识别器。以前的方法如Weinman等[63]和Jaderberg等人的[27]首先生成文本建议,然后用一个独立的单词识别模型识别它们。近年来,在端到端神经网络中集成检测与识别的方法得到了广泛的应用。Deep TextSpotter[9]将基于anfcn的检测器和基于ctc的识别器结合到一个端到端的可训练框架中。同样,Li等人将文本建议网络和注意顺序认知网络整合在一起。虽然本文的重点是文本识别,但是我们展示了ASTER可以帮助实现最先进的端到端性能,即使没有最强的检测器。此外,我们还证明了ASTER可以通过整流机制增强探测器。这些特性使得ASTER在端到端识别系统中成为一个很有吸引力的识别器。

3.模型

3.1Rectification Network(纠正网络)

该校正网络利用二维变换对输入图像进行校正。我们采用Thin-Plate-Spline8作为变换。TPS在图像变换和匹配中得到了广泛的应用,如[6]。与其他简单的2D转换相比,它更加灵活。仿射投影。TPS对图像进行非刚性变形,处理各种变形。图3举例说明了一些典型的纠正。尤其是TPS既能矫正透视文本,又能矫正弯曲文本,是两种典型的不规则文本类型。

整流网络基于Spatial Transformer etwork28。STN的核心思想是将层模型空间变换作为一个可学习的网络层。图4描述了整流网络的结构。该网络首先通过其localization network预测一组控制点。

然后,从控制点计算TPS变换(一种非线性变化,相当于仿射变化),并将其传递到网格发生器和采样器,生成校正后的图像Ir。由于控制点是由I来预测的,校正网络除了输入图像外不需要额外的输入。

31.1Localization Network

我们首先演示TPS如何纠正图5中的文本。TPS变换是由两组大小相等的控制点决定的,用k表示。输出图像上的控制点沿图像的上下边框放置在固定位置,间距相等。因此,当输入图像上的控制点沿着上下文本边缘进行预测时,生成的TPS transformation将输出具有规则文本的校正图像。

因此,文本校正的问题归结为预测输入图像上的控制点,我们使用卷积神经网络对控制点进行预测。
III:输入图像 IrI_{r}Ir​纠正后的图像
假定在输入图像上和纠正后的图像上都有K个控制点,互相对应
控制点的坐标用C′C^{'}C′ 和CCC来表示,目前控制点的数目 K=20
其中C=[c1,c2,c3...ck]∈R2×KC = [c1,c2,c3...c_{k}]\in R^{2\times K}C=[c1,c2,c3...ck​]∈R2×K C′C^{'}C′与C是一样的
其中C中每一个点的坐标表示为ck=[xk,yk]Tc_{k} = [x_{k},y_{k}]^{T}ck​=[xk​,yk​]T
左上角坐标为(0,0)(0,0)(0,0),右下角为(1,1)(1,1)(1,1)

稍后我们将进一步说明,认证网络中的所有模块都是可微的。因此,在训练过程中,定位网络完全由反向传播梯度进行训练,不需要在控制点上进行人工标注。

3.1.2 Grid Generator

IdI_{d}Id​是III通过下采样得到的 , 定位网络从 IdI_{d}Id​中回归采样点C′C^{'}C′。网络由几个卷积层组成,在它们之间插入最大池化层,输出层为全连接层,输出尺寸为2K2K2K。网络输入会被reshape成2维坐标。

网格生成器计算一个变换并应用于Ir中的每个像素位置,在i上生成一个网格采样 p ={pi}。

一个二维TPS变换由一个2 (K + 3)矩阵表示:

上面这个公式当中,

U,V\in R^{1\times K }

给定一个二维的点p,通过线性投影变换,可以找到对应的点p0

其中® = r2 log®为径向基核,应用于p与控制点ck之间的欧氏距离。通过求解包含K个C与C0对应的线性系统,得到TPS的系数:

3.1.3采样

在校正网络输出端,采样器生成校正后的图像:
Ir=V(ρ,I)I_{r} = V(\rho ,I)Ir​=V(ρ,I)

采样器通过插值p′p^{'}p′的邻点像素来计算ppp的值。由于p′p^{'}p′可能落在图像外部,所以在采样之前会进行值裁剪,以限制图像边界内的采样点。该采样器是可微的,即它可以将红外上的梯度反向传播到IrI_{r}Ir​和 ρ\rhoρ 。这是通过可微图像采样方法实现的。更多细节请参考[28]。

3.1.4STN和RARE的比较

与我们之前的工作和原始的STN进行比较,这篇论文主要包含以下两点改进。

与STN[28]不同,我们使用不同大小的图像用于定位网络和采样网络。我们对III进行采样获取IdI_{d}Id​,localization net从更小的图片IdI_{d}Id​获取控制点,以减少预测所需的参数数量。同时,采样器对原始图像进行操作(或类似地,将原始图像调整到高分辨率)。由于纠正网络经常对输入图像进行裁剪,在高分辨率图像上采样避免了输出分辨率下降,从而保持了IrI_{r}Ir​的质量。此外,本文还阐述了TPS在STN中的应用。

与[55]不同的是,在最后一个全连接层中,我们没有使用tanh激活函数来限制C′C^{'}C′的值。在训练过程中,由于梯度在反向传播过程中被很好地保留了,因此丢弃非线性激活函数可能会导致更快的收敛。如果没有tanh,控制点可能会落在图像边界之外,所以我们在采样器中对得到的值进行了裁剪,以确保有效的采样。实验结果表明,该方法显著提高了权值初始化的性能和稳定性。

3.2识别网络

文本识别网络直接从校正后的图像中预测字符序列。
网络是端到端可训练的。
训练时网络的输入只有使用图像及其相应的label。

最近的工作[54]证明了将文本识别建模为序列识别问题的有效性。该模型的核心是连接主义时间分类(CTC)方法[17]。CTC提供了一个不受水平字符位置和间距影响的可微的损失函数,支持端到端可训练均衡识别。尽管CTC很有效,但它没有一种机制来对其输出字符之间的依赖关系建模。因此,[54]依赖于外部语言模型,例如词典,将语言的先验融入到识别中。

我们使用双向解码器扩展的seqtoseq模型来解决识别问题。由于seqtoseq模型的输出是由递归神经网络生成的,因此它捕获了字符依赖关系,从而将语言建模融入识别过程。此外,双向解码器可以在两个方向上捕获字符依赖关系,从而利用更丰富的上下文并提高性能。图7描述了单向版本的结构。根据经典的序列到序列模型,我们的模型由编码器和解码器组成。它们将在下面的两节中进行描述。

3.2.1解码器:卷积循环网络

丰富和有识别能力的特征是识别网络的关键。理想情况下,一个单词的字符排列在一条直线上,因此由一个描述从左到右排列的局部图像区域(或类似地,从右到左)的字符序列很好地表示出来。

如图7所示,编码器首先从卷积层上提取特征。特征图的高度为(hight)1,接下来,通过沿着行轴进行分割,将feature map转换为一个feature sequence。特征图的形状是hconv×wconv×dconvh_{conv}\times w_{conv}\times d_{conv}hconv​×wconv​×dconv​,分别代表了高度,宽度和深度。在分割后,将特征映射转为wconvw_{conv}wconv​的向量,每一个序列的大小是hconv×dconvh_{conv}\times d_{conv}hconv​×dconv​

卷积神经网络能够提取出很强的图像特征,特别是当它由许多具有残差连接[20]的卷积层组成时。但是,这些特征仍然受到它们接受域的限制,即它们所捕获的图像区域。为了扩大特征上下文,我们在特征序列上采用了多层双向stm (BLSTM)网络[18]。BLSTM网络双向分析特征序列,捕获两个方向的长期依赖关系。输出相同长度的新特征序列,记为H=[h1,h2....hn]H = [h_{1},h_{2}....h_{n}]H=[h1​,h2​....hn​],其中hconvh_{conv}hconv​。

3.2.2解码器:基于注意力的seqtoseq模型

序列到序列模型将特征序列转换为字符序列。它能够输入和输出任意长度的序列。这种模型的出现是由于它的简单性和强大的sequence modeling以及它捕获输出依赖关系的能力。

seqtoseq模型有多种形式,如[3]、[15]、[58]。我们建立我们的解码器基于注意序列到序列模型[3],[13],因为它有访问编码器输出的每一个解码步骤,并有一个直观和解释的行为,使调试和分析更容易。

注意序列对序列模型是一个单向递归网络。它对T步迭代工作,产生长度为T的符号序列,表示为(y1,...yt)(y_{1},...y_{t})(y1​,...yt​)。

在步骤t,译码器预测一个字符或一个停止符号(EOS),根据编码器的输出HHH,内部状态st−1s_{t-1}st−1​,和上一步的预测结果yt−1y_{t-1}yt−1​。在这一步中,解码器首先计算 attrntion weights,αt∈Rn\alpha_{t} \in R^{n}αt​∈Rn,通过其注意机制公式:

其中,w,W,Vw,W,Vw,W,V是可训练的权重

注意权值有效地表示编码器输出的每一项的重要性。解码器以权值为系数,将H的列向量线性组合成向量,称为一glimpse:
αt,i\alpha _{t,i}αt,i​随着step t的不同而不同,每一个step都是不同的

顾名思义,glimpse描述了h语言编码的整个上下文的一小部分,它被作为一个输入到解码器的循环单元中,这个循环单元产生一个输出向量和一个新的状态向量:

3.2.3双向解码器

虽然序列到序列解码器捕获输出,但它只捕获一个方向,而忽略了另一个方向。例如,一个解码器如果按照从左到右的顺序识别文本,可能很难在某些字体中决定大写的“I”和小写的“i”之间的第一个字母,因为它们在视觉上很难区分,而且解码器对过去解码的字母没有记忆。这样的单词可能更容易被按从左到右顺序工作的解码器识别,因为其余的字母提示第一个字母是基于前面的语言的。

正如这个例子所示,反向工作的解码器可能是互补的。为了充分利用两个方向上的依赖关系,我们提出了一种双向译码器,它由两个方向相反的译码器组成。如图8所示,训练一个解码器从左到右预测字符,另一个从右到左预测字符。运行这两个解码器后,将产生两个识别结果。为了合并结果,我们简单地选择识别得分最高的符号,即所有预测符号的log-softmax得分之和。

正向编码器预测一个结果"FLTNESS", 0.5

方向编码器预测一个结果"SSENTIF", 0.8

所以我们选方向解码器的结果作为最后的预测结果

3.3 Training

该模型在多任务设置下进行端到端训练,目标为

其中,y1,...,yt,..yTy_{1},...,y_{t},..y_{T}y1​,...,yt​,..yT​是真实的标签,
loss是从左到右和从右到左的平均损失,预测分布分别表示为p1tlandprtlp_{1tl} and p_{rtl}p1tl​andprtl​

除了localization network网络外,模型中各层的权值都是初始化的。由于TPS变换是由定位网络所指定的控制点计算得到的,一个随机初始化的定位网络会产生随机放置的控制点,这会扭曲Ir,在训练过程中造成不稳定。为了解决这个问题,我们初始化了最后一个全连接层(fc2),这样在训练开始时Ir就不会被扭曲。具体地说,我们将fc2的权值设置为零,并将其偏差进行特殊设置,使得为C′=CC_{'} = CC′​=C。

4.1实验设置

4.1.1数据集

本模型在两个合成数据集上进行训练,不需要对其他数据集进行微调。该模型在5个标准数据集上进行了测试,以评估其总体识别性能。此外,我们在两个不规则文本的特殊数据集上对模型进行了测试,验证了模型的校正能力。根据该标准,我们使用不区分大小写的单词准确度来评估识别性能。

Synth90k是[24]中提出的合成文本数据集。该数据集包含900万张由90k个常用英语单词生成的图像。文字通过随机变换和效果呈现在自然图像上。Synth90k中的每个图像都用一个ground truth单词进行注释。该数据集中的所有图像都是用于训练的。

SynthText是[19]中提出的合成文本数据集。生成过程与[24]类似。但与[24]不同,SynthText的目标是文本检测。因此,文字被渲染成完整的图像。我们使用ground truth单词包围框来裁剪单词。

IIIT5k- words (IIIT5k)[44]包含从web上收集的3000个测试图像。每个图像都与一个短的、50个单词的词汇表和一个长的、1000个单词的词汇表相关联。Alexicon由groun dtruth单词和其他随机单词组成。街景文本(SVT)[60]是从google街景中收集的。测试集包含647张croppedwords的图像。SVT中的许多图像都被噪声、模糊和低分辨率严重破坏。每个图像都与一个50个单词的词汇表相关联。

ICDAR 2003 (IC03)[42]包含860张经过过滤的裁剪文字图像。在[60]之后,我们丢弃包含非字母数字字符或少于三个字符的单词。每个图像都有一个在[60]中定义的50个单词的词典。

ICDAR 2013 (IC13)[32]继承了ic03的大部分图像,并使用新图像对其进行了扩展。通过删除包含非字母数字字符的单词来过滤数据集。数据集包含1015张图像。没有提供词典。

ICDAR 2015附带文本(IC15)是ICDAR 2015健壮阅读大赛[31]的挑战4。这一挑战的特点是附带的文本图像,这是采取了一副谷歌眼镜没有仔细定位和聚焦。因此,数据集包含大量的正则文本。测试图像是通过使用groundtruth单词包围框裁剪单词获得的。在[49]中提出了一种基于

SVTP (SVTP)的透视图(perspective - perspective, SVTP),用于评价透视图文本的识别性能。SVTP中的图片是从google街景的侧视图中选取的。它们中的许多都被非正面视角严重扭曲了。该数据集由639个用于测试的croppedimages组成,每个croppedimages都继承了来自SVT数据集的50个单词的词典。

CUTE80 (CUTE)是在[51]中提出的。数据集集中于弯曲文本。它包含了80张拍摄自然场景的高分辨率图像。CUTE80最初是用于检测任务的。我们裁剪带注释的单词并得到288张图片的测试集。没有提供词典(看样子词典就是标注的意思)。

4.1.2 Text Rectification Network

在进入整流网络之前,将图像大小调整到64x256。为了在校正采样前保留高分辨率,我们使用了较大的输入尺寸。采样器输出的图像大小为32x100,这也是识别网络的输入大小。本地化网络(localization network)对采样到32x64的输入图像进行处理。它由6个卷积层组成,内核大小为33。前5层的每一层后面都有一个22个最大池层。输出过滤器的数目分别为32、64、128、256、256和256。卷积层之后是两个完全连接的层。它们的输出单元数分别为512和2K,其中K为控制点数。在整个实验过程中,我们将k设为20。K的其他值也会导致类似的结果(可以改变K到类似的值)。

4.1.2Text Recognition Network

Table1给出了识别网络的结构。采用45层残差网络[20]作为卷积特征提取器。每个剩余单元由1x 1卷积和3x3卷积组成,最近的工作[23]表明了该方案的有效性。特征映射通过前两个剩余块中的2x2步卷积向下采样。步幅在第四和第五剩余块改为2x1。2 x1下采样步幅沿水平轴保留了更多的分辨率,以便区分相邻字符。

在剩余网络的后面是两层双向全向网络(BiLSTM)。每一层由一对包含256个隐藏单元的lstms组成。在进入下一层之前,lstm的输出被连接并线性投影到256维

译码器是注意的LSTMs。注意单元和隐藏单元的数量都是256。解码器可以识别94个字符类,包括数字、大小写字母和32个ASCII标点符号。

当评估协议对大小写不敏感且不考虑大小写时,我们将解码器输出规范化为小写,并删除所有预测的标点符号。

4.1.4优化

模型从零开始训练。我们采用adadelta[69]作为优化器。一个更简单的带有动量的SGD优化器也将成功地训练模型,但精度略低。该模型由64个样本批量训练,迭代100万次。每个批处理由来自synth90k的32个示例和来自SynthText的32个示例组成。以这种方式训练的模型明显优于仅使用Synth90k训练的模型(例如[54]、[55])。初始学习速率设置为1.0,在步骤0.6M和0.8 m时分别衰减为0.1和0.01。虽然ADADELTAis的学习率是自适应的,但我们发现经典的学习率计划有利于性能。

4.1.5部署

我们使用TensorFlow[1]实现了所提出的模型。该模型是训练在一个单一的NVIDIA泰坦Xp图形卡与12GB内存。训练速度约6.5 iteration/s,不到2天达到收敛。当测试批大小为1时,每幅图像的推理速度为20ms。这种速度可以通过更大的批处理大小来提高。

4.2矫正实验

本文从两个方面定量研究了文本校正的效果 定量和定性。研究了其对权值初始化的敏感性。

4.2.1Effect of Rectification

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

表2列出了这两种变体的结果。可以看到,校正后的模型在所有数据集上都优于没有校正的模型,尤其是在SVTP(+4.7%)和CUTE(+3.1%)上。由于这两个数据集都由非正则文本组成,因此校正显示了显著的效果。此外,我们还构造了一系列具有上升规则级的数据集。这是通过混合SVTP+可爱的和diiit5k(所有的例子都认为是规则的)与不同的比例来实现的。所有数据集都有933个例子。图9给出了校正改进(有Rect.和没有Rect.之间的精度差异)与部分不规则示例之间的关系。从图中可以看出,纠偏效果随着不规则程度的增加而单调增加,显示出对不规则文本的纠偏效果。

为了进行定性比较,表4从CUTE80和SVTPerspective对一些示例的纠正结果进行了可视化。即使没有对控制点位置的直接监控,纠偏网络也能学会将控制点放在文本上下边缘附近。这些点在平滑的曲线上对齐,间距均匀,在校正后的图像中几乎不会产生失真或伪影。

从表4可以看出,纠偏网络在透视文本上运行效果良好。即使是在透视失真严重的图像上(如“starbucks”和“storage”),认证网络也会将单词纠正为常规单词,大大降低了识别难度。纠错网络也可以纠错弯曲的文本。例如,在单词“罗纳尔多”、“最佳”和“格鲁夫”上,控制点被预测成弧形,文本被纠正成规则形状。虽然校正后的图像仍然存在失真,但识别网络能够正确识别。另一个有趣的现象是纠错倾向于扭曲文本。这种现象在表4中的“academy”、“entry”、“museum”、“storage”等很多例子中都有体现。我们推测的原因是,倾斜简化了学习,因为它导致相邻字符有重叠的间距,因此在垂直图像轴上引入了依赖关系。最后,我们观察到一些控制点被放置在它们的图像边界之外,例如“城市”和“灯光”中的控制点。与[55]不同,我们不强迫控制点位于图像边框内,因为这样做可能会干扰采样网格并导致图像失真。从表3中可以看出,虽然ASTER的校正偶尔会出现故障,但总的来说它产生的图像失真程度要比[55]小得多。这表明,简单的修改可以显著提高图像质量。、

4.2.2 Sensitivity to Weight Initialization

正确的权值初始化是训练认证网络顺利进行的必要条件。如3.3节所述,我们初始化了最后一个全连通层,该层的权值为零,偏差为特定值。我们将此初始化s标识命名为identity

为了演示权重初始化的效果,图10将identity与另一个名为random的初始化模式进行了比较,random中所有模型层都是随机初始化的。

identity稳定且快
同时,一个随机初始化的模型仍然可以通过更多的训练迭代成功地训练,并最终达到非常接近的精度。我们观察到,一个随机初始化的模型一开始会生成经过垃圾校正的图像,但经过数千次训练后会恢复正常

在[55]中,为了成功地训练模型,需要一些精心设计的权值初始化方案。而随机初始化训练完全失败。相比之下,本文的模型对8个初始化的灵敏度要低得多。它甚至可以在初始化过程中被成功地训练。

4.3 Experiments on Text Recognition

在本节中,我们研究了文本认知网络的几个关键方面,包括它的注意机制、双向解码器和每个单词长度的识别性能。

4.3.1 Analysis on Attention

注意机制在认知网络中起着核心作用。根据公式5,对局部特征进行加权组合来识别一个字符。这表明注意机制执行隐式特征检测。

为了了解解码器的行为,我们提取了注意权值。即将它们可视化到图11所示的几个例子中。在每个图像之上,一个注意权重矩阵在2Dmap中被可视化。映射的第t行对应于第t解码步骤的注意权重。除了非常短的单词,我们可以观察到注意力权重和字符之间的清晰对齐。这说明了该识别网络的隐含特征检测。

4.3.2Bidirectional Decoder

为了评估双向解码器的有效性,我们提出了三种模型变体,即L2R,它以从左到右的顺序识别ext;R2L,它识别文本从右到左的顺序;双向,bidirectionaldecoder。这些变体也使用4.1节中描述的相同训练设置从零开始进行训练。表5比较了它们的识别精度。

总的来说,L2R和R2L有相似的准确性。L2R优于IIIT5k、IC03和SVTP,而R2L优于其余部分。这表明这两种变体可能支持不同的数据分布。与此同时,bidirectionaloutbetter在所有数据集上都优于这两个变体,只有一个例外,即双向的变体更好。特别是在SVT上,双向译码器的性能分别比其他两种译码器高出2.8%和1.6%,验证了双向译码器的有效性。

4.3.3 Accuracy Versus Word Length

识别网络以固定大小的图像作为输入。尽管将图像调整到固定大小不可避免地会导致图像失真,但我们认为它对性能的影响很小。主要原因是变形对应变和测试数据的影响是一样的。因此,我们的模型被训练来处理拉长和压缩的例子。

图12显示了识别精度与单词长度之间的关系。从图中可以看出,对于长度等于或小于11的单词,其识别精度相当均匀。超过这个长度,精确度就会下降。然而,这在一定程度上是因为,在衡量整个单词的准确性时,长单词本来就更难准确预测。我们还尝试通过比例调整大小和填充来替换固定大小的调整,但是在大多数情况下,这会导致性能下降。

4.4Comparison to State of the Art

最后,我们比较了我们的模型与其他最先进的模型的性能。一些数据集提供了用于约束识别输出的词汇。当给定一个词时,我们只需在编辑距离的度量下,用最近的词替换预测的词。

表6比较了多种方法的识别精度。我们的方法在12种方法中取得了9种最好的结果。特别是在IIIT5k和SVT上,我们的方法与以前的方法相比,识别误差几乎减半。与[11]和[26]相比,我们的模型只差几个结果。但是,需要注意的是,1)[11]使用额外的字符级注释,而ASTER不使用;2)[26]是一个约束输出识别器。它只能在它的90k字典中识别,而ASTER是无限制的。考虑到测试数据集涵盖了广泛的现实场景,并且所有结果都是由一个模型产生的,很明显,我们的方法在总体上是有效的。表6还列出了ASTER的两个变体,即astera和ASTER- b。它们仅在对流网络结构和训练数据上有所不同。ASTER-A在所有数据集和指标下都优于[55],只有IIIT5k上有一个例外,它只包含常规文本。这进一步验证了本文引入的扩展的有效性。[64],同样使用VGG,在某些数据集上性能优于ASTER-A。然而,[64]使用带有字符级注释的私有训练数据集。实验结果表明,该方法具有良好的纠偏效果和双向纠偏效果。通过使用整流和双向解码器,ASTER在所有测试数据集中都优于表2中的With rect和双向inTable 5中的两个变体。由此可见,整流和双向解码器带来的性能增益是相加的。

5 END-TO-END RECOGNITION

文本识别器通常与文本检测器一起用于构建端到端识别系统。通常,检测器首先定位单词边界框。然后,therecognizer可以识别由框裁剪的图像。由于松散的箱形边界导致作物不完全,难以识别,因此识别性能往往受到检测箱质量的影响。ASTER对端到端识别系统的吸引力不仅在于其鲁棒的识别性能,还在于其增强检测能力的能力。首先,利用ASTER生成的识别分数对检测盒进行过滤。其次,ASTER可以通过其整流网络对检测盒进行整流。如前所述,ASTER倾向于预测沿着上下文本边缘的控制点。从控制点,我们可以估计一个新的,有方向的包围框,以取代原来的检测框。因此,ASTER可以将水平探测器转换为定向探测器。

6.其他资料

aster论文解读
https://www.cnblogs.com/lillylin/p/9315180.html
文本检测 git汇总:
http://www.360doc.com/content/19/0410/01/32196507_827587015.shtml
配置aster实战
https://blog.csdn.net/xuanbi8560/article/details/81905692
文本检测论文集合
https://www.cnblogs.com/lillylin/
文本检测Git集合
https://github.com/luoqingyu/awesome-deep-text-detection-recognition
attention
https://blog.csdn.net/malefactor/article/details/50550211

ASTER: An Attentional Scene Text Recognizer相关推荐

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

    论文翻译-ASTER: An Attentional Scene Text Recognizer with Flexible Rectification 原文地址: https://ieeexplor ...

  2. 转:【PAMI2018】ASTER_An Attentional Scene Text Recognizer with Flexible Rectification

    XiangBai--[PAMI2018]ASTER_An Attentional Scene Text Recognizer with Flexible Rectification 作者和论文 论文 ...

  3. 论文翻译-SAFL A Self-Attention Scene Text Recognizer with Focal Loss

    论文翻译-SAFL A Self-Attention Scene Text Recognizer with Focal Loss 原文地址:https://ieeexplore.ieee.org/do ...

  4. UnrealText: Synthesizing Realistic Scene Text Images from the Unreal World(译)

    UnrealText:合成来自虚幻世界的真实场景文本图像 仅供参考,如翻译不到的请指出,侵权删 来源: CVPR2020,旷视 code 链接: https://jyouhou.github.io/U ...

  5. 论文翻译-Hamming OCR A Locality Sensitive Hashing Neural Network for Scene Text Recognition

    论文翻译-Hamming OCR A Locality Sensitive Hashing Neural Network for Scene Text Recognition 原文地址:https:/ ...

  6. 【论文阅读】Scene Text Image Super-Resolution in the Wild

    [论文阅读]Scene Text Image Super-Resolution in the Wild 摘要 引言 相关工作 TextZoom数据集 方法 pipeline SRB 中央对齐模块 梯度 ...

  7. 【文本图像超分辨】Scene Text Image Super-Resolution in the Wild

    引言 这是一篇最新发出来的论文,看样子要投NIPS2020,这个论文可以看作我以前介绍过的TextSR的升级版,两个作者都是同一个人.这篇论文的主要想法就是提出一个专门用来进行文本超分辨的数据集,并且 ...

  8. 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)...

    Xiang Bai--[arXiv2016]Scene Text Detection via Holistic, Multi-Channel Prediction 目录 作者和相关链接 方法概括 创新 ...

  9. robust scene text recognition with automatic rectification

    Shi B, Wang X, Lv P, et al. Robust Scene Text Recognition with Automatic Rectification[J]. arXiv pre ...

最新文章

  1. 在word、excel中如果运用VBA进行编程?
  2. 利用XGboost简单粗暴zillow竞赛25%
  3. Java中的同步集合与并发集合有什么区别?
  4. 函数式编程语言天生就慢吗?
  5. Python 卸载python
  6. mybatis 配置详解
  7. 用计算机解决问题听课笔记,《计算机解决问题的过程》的教学设计
  8. vue 调用c++_electron-vue跨平台桌面应用开发实战教程(七)——ffi调用C++(macOS平台)...
  9. kotlin枚举_Kotlin枚举班
  10. 我喜欢用计算机400字,我喜欢电脑画画作文400字
  11. 手机12306买卧铺下铺技巧_手机12306怎么买下铺(微信买火车票指定下铺)
  12. HTTP 405 错误 – 方法不被允许 (Method not allowed)
  13. 日志追踪-类加载器-自定义类加载器
  14. ServU 教程11.1.0.7使用教程
  15. Yolov5部署训练及代码解读
  16. CGB2103-day01
  17. OJB框架下的自增主键管理
  18. 一个感人的故事 夹娃娃
  19. 雅思英语作文计算机和历史,雅思大作文范文:电脑与现代教育
  20. 【复杂网络】关于复杂网络中的动力学系统重构的文献资料整理

热门文章

  1. 新增字段不为空默认值,然后关更新数据
  2. deg怎么读_deg是什么意思_deg怎么读_deg翻译_用法_发音_词组_同反义词_degree(s) 度-新东方在线英语词典...
  3. Matlab: 多项式表示及其基本运算
  4. 求助大佬,python类的问题
  5. 基于Java的项目人力资源管理系统【附:源码课件】
  6. dash dock安装 to_手动安装 Dash to Dock Gnome 扩展
  7. win10滑动关机代码bat_win10滑动关机代码bat_win10设置自动关机和取消自动关机的bat命令...
  8. android用来管理通知,Android 中通知的基本使用
  9. 弘辽科技:淘宝销量数据从哪查?销量怎么提升?
  10. 目标检测 IoU、GloU、DloU、CloU详解