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

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

SAFL: 一个具有焦点损失的自我注意的场景文本识别器

摘要

在过去的几十年里,场景文本识别由于其在广泛的应用中的重要性,已经得到了学术界和实际用户的普遍注意。尽管在光学字符识别方面取得了一些成就,但由于扭曲或不规则布局等固有的问题,场景文本识别仍然具有挑战性。大多数现有的方法主要利用递归或卷积的神经网络。然而,递归神经网络(RNNs)通常由于顺序计算而遭受缓慢的训练速度,并遇到梯度消失或瓶颈等问题,而CNN则在复杂性和性能之间进行了权衡。在本文中,我们介绍了SAFL,一种基于自我注意的神经网络模型,它具有焦点损失,用于场景文本识别,以克服现有方法的局限性。使用焦点损失而不是负对数似然,有助于模型更专注于低频样本训练。此外,为了处理失真和不规则的文本,我们利用空间Transformer网络(STN)在传递到识别网络之前对文本进行修正。我们进行了实验,用七个基准来比较所提出的模型的性能。数值结果表明,我们的模型取得了最好的性能。
索引词 - 场景文本识别,自我注意,焦点损失

I.简介

近年来,由于文本识别在各个领域的应用,如混合现实中的翻译、自动驾驶或盲人的辅助技术,它已经吸引了学术界和实际用户的注意。文本识别可分为两大类:扫描文件识别和场景文本识别。虽然前者已经取得了重大进展,但由于场景文本的固有特性,如文本的失真和不规则形状,后者仍然具有挑战性。最近的场景文本识别方法受到了基于深度学习的识别模型的成功启发。一般来说,这些方法可以分为两种方式:基于递归神经网络(RNN)和基于卷积神经网络(CNN)。基于RNN的模型已经显示出其有效性,这要归功于捕获上下文信息和不同斑块之间的依赖关系。然而,RNN通常与输入和输出序列的符号位置一起计算,这不能以并行方式进行,因此导致了高训练时间。此外,RNN还遇到了梯度消失[1]或瓶颈[2]等问题。基于CNN的方法,允许并行计算隐藏表示,已经被提出来以加快训练过程。然而,为了捕捉长输入序列中遥远斑块之间的依赖关系,CNN模型需要堆叠更多的卷积层,这大大增加了网络的复杂性。因此,基于CNN的方法在复杂性和准确性之间进行了权衡。为了弥补这些局限性,在自然语言处理(NLP)领域,人们提出了一种基于自我注意的机制,名为Transformer[3]。在Transformer中,不同的输入和输出位置之间的依赖关系是使用自我注意机制而不是RNN的顺序程序来捕获的。这种机制允许更多的计算并行化和更高的性能。在计算机视觉领域,一些研究已经利用了Transformer的结构,并显示了一些问题的有效性 [4] [5] 。
受Transformer网络的启发,本文提出了一种基于自我注意的场景文本识别器,即SAFL。此外,为了处理不规则形状的场景文本,我们还利用了一个名为空间Transformer网络(STN)的文本整顿,以提高文本在进入识别网络前的质量。SAFL,如图1所示,包含三个部分:整顿、特征提取和识别。首先,给定一个输入图像,基于空间Transformer网络(STN)[6]建立的整顿网络对图像进行变换以整顿其文字。然后,使用卷积神经网络提取整顿后的图像的特征。最后,应用一个基于自我注意的识别网络来预测输出的字符序列。具体来说,识别网络是一个编码器-解码器模型,其中编码器利用多头自我注意将输入序列转化为隐藏特征表示,然后解码器应用另一个多头自我注意来输出字符序列。为了平衡训练数据以提高预测精度,我们利用焦点损失而不是像最近的大多数作品[7][8]那样利用负对数似然。
在这里插入图片描述

图1.SAFL的概述

为了评估我们提出的模型的性能,我们用两个合成数据集训练SAFL。Synth90k[9]和SynthText[10],并将其准确性与标准基准进行比较,在规则和不规则数据集上都是如此。实验结果表明,我们的方法在所有数据集上都优于最先进的方法。此外,我们还进行了实验来研究焦点损失的有效性。数值结果显示,在所有数据集上,焦点损失比负对数可能性损失更有优势。
本文的其余部分组织如下。第二节介绍了相关工作。我们在第三节中描述了拟议模型的细节,并在第四节中介绍了评估结果。最后,我们在第五节中总结了本文并讨论了未来的工作。

II.相关的工作

在过去的几年里,场景文本识别引起了极大的兴趣。关于场景文本识别的全面调查可以在[11] [12] [13]中找到。按照以前的工作[8][14][15]的分类,场景文本可以分为两类:规则文本和不规则文本。规则文本通常有一个近乎水平的形状,而不规则文本有一个任意的形状,可能是扭曲的。

A.规则文本识别

早期的工作主要集中在普通文本上,并使用自下而上的方案,首先使用滑动窗口检测单个字符,然后使用动态编程或词库搜索识别字符[16] [17] [18]。然而,这些方法有一个固有的局限性,那就是忽略了字符之间的上下文依赖关系。Shi等人[19]和He等人[20]通常将文本识别视为一个序列到序列的问题。输入图像和输出文本通常分别表示为补丁序列和字符序列。这种技术允许利用RNN或CNN等深度学习技术来捕捉字符之间的上下文依赖关系[7] [19] [20],导致在标准基准上的准确性有明显的改善。因此,最近的工作将重点转移到不规则文本,这是一个更具挑战性的场景文本识别问题。

B.不规则文本识别

不规则文本是近年来场景文本识别的一个挑战性问题,它指的是具有透视变形和任意形状的文本。早期的工作通过使用手工制作的特征来纠正透视失真。然而,由于超参数种类繁多,这些方法需要通过专家知识进行正确的调整才能达到最佳效果。最近,Yang等人[21]提出了一个辅助密集字符检测模型和一个对齐损失,以有效解决不规则文本问题。Liu等人[22]引入了一个感知字符的神经网络(Char-Net)来检测和纠正单个字符。Shi等人[7][8]用一个基于空间Transformer网络(STN)的整顿网络来解决不规则文本问题,该网络对输入图像进行变换以获得更好的识别。Zhan等人[23]提出了一个整流网络,该网络采用了新颖的线拟合变换和迭代整流管道来修正不规则文本的透视和曲率失真。

III.提议的模式

图1显示了SAFL的结构,它由三个主要部分组成:整顿、特征提取和识别。整理模块是一个空间Transformer网络(STN)[6],它接收原始图像并对文本进行整顿以提高质量。特征提取模块是一个卷积神经网络,它提取整顿后图像的信息并将其表示为一个向量序列。最后一个模块,即识别,是基于自我注意机制和Transformer网络结构[3],从特征序列中预测字符序列。在下文中,我们首先分别在III-A、III-B和III-C节中介绍了这三个部分的细节。然后,我们在第三节D中描述了使用焦点损失的训练策略。

A.矫正

在这个模块中,我们利用薄板样条(TPS)变换[8],即STN的一个变种,来构建一个整流网络。考虑到输入图像I的任意尺寸,矫正模块首先将I的尺寸调整为预定的固定尺寸。然后,该模块沿文本边界的顶部和底部检测几个控制点。最后,TPS在一组控制点之间应用平滑的花键插值来整顿预测的区域,以获得一个固定尺寸的图像。

B.特征提取

我们利用卷积神经网络(CNN)将整顿后的图像(从整顿网络中获得)的特征提取为一连串的向量。具体来说,输入图像通过卷积层(ConvNet)来产生一个特征图。然后,该模型按行将特征图分离出来。分离特征图后收到的输出是按序列排列的特征向量。这样,场景文本识别问题就变成了一个序列到序列的问题,其输入是一串特征向量,其输出是一串预测的字符。基于[3]中的建议,我们通过使用位置编码来进一步改善输入图像中的文字位置信息。每个位置pos由一个向量表示,其第i维的值,即PE(pos,i),被定义为
在这里插入图片描述

其中dmodel为向量大小。位置信息被添加到编码向量中。

C.基于自我注意的识别网络

识别网络的结构遵循编码器-解码器模型。编码器块和解码器块都是基于自我注意机制建立的。在描述每个网络的细节之前,我们将简要地回顾一下这个机制。

1)自我注意机制。

自我注意是一种机制,它提取单个序列的不同位置之间的相关性来计算该序列的表示。在本文中,我们利用了[3]中提出的缩放点积注意力。这个机制包括查询和维度为dk的键,以及维度为dv的值。每个查询执行所有键的点积,以获得它们的相关性。然后,我们通过使用softmax函数获得数值的权重。在实践中,键、值和查询也被打包成矩阵K、V和Q,输出的矩阵计算如下。
在这里插入图片描述

点积的比例为 1/√(d_k )以减轻小的softmax值导致大的dk值下的极小梯度。[3].

2) 编码器。

编码器是一个Ne块的堆栈。每个块由两个主要层组成。第一层是多头注意层,第二层是全连接的前馈层。多头注意层是尺度点积注意的多个输出的组合。每个标点积注意力返回一个代表特征序列的矩阵,这被称为头部注意力。多头注意的组合使我们的模型能够学习更多的特征序列表征,从而增加提取信息的多样性,进而提高性能。多头注意可以表述为:
在这里插入图片描述

其中headi = Attention(QW_iQ,KW_iK,VW_i^V),h是头的数量。 W_iQ∈R(d_model×d_k ), W_iK∈R(d_model×d_k ), W_iV∈R(d_model×d_v ), WO∈R(hd_v×d_model )。dk, dv和dmodel被设置为相同的值。在每个主层(即多头注意层和全连接层)中加入层归一化[24]和残差连接[25]以提高训练效果。具体来说,剩余连接有助于减少反向传播过程中的信息损失,而归一化使训练过程更加稳定。因此,每个主层的输出与输入x可以表示为LayerNorm(x + Layer(x)),其中Layer(x)是该层本身实现的函数,LayerNorm()表示规范化操作。编码器的各个块是按顺序堆叠的,即前一个块的输出是后一个块的输入。
在这里插入图片描述

图2.训练词库中的字符频度

3)解码器。

解码过程从左到右预测一个句子中的单词,从标签开始,直到遇到 〈start〉标签开始,直到遇到 〈end〉标签。解码器是由Nd个解码器块组成的。每个块也都是基于多头注意力和全连接层建立的。解码器中的多头注意并不考虑那些没有被预测的词,因为这些位置的权重为-∞。此外,解码器使用额外的多头注意力,从编码器接收键和值,从解码器接收查询。最后,解码器的输出通过线性变换和softmax函数被转换成概率分布。

D.训练

图2显示,训练数据集的词库存在着样本分布不平衡的问题。这种不平衡可能导致高频样本的严重过拟合和低频样本的不拟合。为此,我们建议使用焦点损失[26],而不是像最近的大多数方法[7][8]那样使用负对数似然。通过利用焦点损失,该模型将不会遇到忽略训练低频样本的现象。众所周知,焦点损失是解决数据集不平衡的有效损失函数。通过重塑标准交叉熵损失,焦点损失减少了高频样本的影响,从而将训练重点放在低频样本上[26]。焦点损失的定义如下。
在这里插入图片描述

其中,pt是预测值的概率,用softmax函数计算,α和γ是可调整的超参数,用于平衡损失。直观地说,焦点损失是由交叉熵乘以αt (1 - pt )γ得到的。请注意,权重αt (1 - pt )γ与pt成反比,因此焦点损失有助于减少高频样本(其pt值通常很高)的影响,而更多地注意低频样本(其pt值通常很低)。
基于焦点损失,我们将我们的训练目标定义如下。
在这里插入图片描述

其中yt是预测的字符,T是预测序列的长度,I是输入图像。

IV.绩效评估

在这一节中,我们进行了实验,以证明我们提出的模型的有效性。我们首先简要介绍用于训练和测试的数据集,然后描述我们的实施细节。接下来,我们分析了焦点损失对我们模型的影响。最后,我们在七个公共基准数据集上将我们的模型与最先进的技术进行了比较,包括规则和不规则文本。

A.数据集

训练数据集包含两个数据集。Synth90k和SynthText。Synth90k是在[9]中介绍的一个合成数据集。该数据集包含900万张图片,由90.000个常见的英语单词和随机变化及效果组合而成。SynthText是在[10]中引入的一个合成数据集,它包含700万个样本,其生成过程与Synth90k[9]相同。然而,SynthText是针对文本检测的,因此一个图像可能包含几个单词。所有的实验都在七个著名的公共基准上进行评估,这些基准可以分为两类:规则文本和不规则文本。规则文本数据集包括IIIT5K、SVT、ICDAR03、ICDAR13。

  • IIIT5K[27]包含3000张从谷歌图片搜索中收集的测试图片。
  • ICDAR03[28]包含860张经过裁剪的字词盒图像。
  • ICDAR13[29]包含1015张经过裁剪的字词盒图像。
  • SVT包含647个从谷歌街景中收集的测试词箱。不规则文本数据集包括ICDAR15、SVT-P、CUTE。
  • ICDAR15[30]包含了1811张从谷歌眼镜上收集的、没有经过仔细定位和对焦的测试词箱裁剪图像。
  • SVT-P[31]包含了645张从谷歌街景中收集的测试词箱裁剪的图片。他们中的大多数都因非正面视角而严重失真。
  • CUTE[32]包含288个字框剪裁的图像,这些图像是弯曲的文本图像。

B.配置

1) 实施细节。

我们通过Pytorch库和Python编程语言实现了拟议的模型。该模型在具有12GB内存的NDIVIA RTX 2080 Ti GPU上进行训练和测试。我们使用亚当优化器从头开始训练模型,学习率为0.00002。为了评估训练后的模型,我们使用数据集III5K。预训练的模型和代码可在[33]中找到。

2)整顿网络。

在应用整流网络之前,所有的输入图像都被调整为64×256大小。整理网络由三个部分组成:一个定位网络、一个薄板花键(TPS)变换和一个采样器。定位网络由6个卷积层组成,核大小为3×3,还有两个全连接(FCN)层。每个FCN后面都有一个2×2的最大集合层。输出过滤器的数量为32、64、128、256和256。FCN的输出单元的数量分别为512和2K,其中K是控制点的数量。在所有的实验中,我们将K设置为20,正如[8]所建议的。采样器生成的整流图像的大小为32×100。整理后的图像的大小也是特征提取模块的输入大小。

3)特征提取。

我们基于Resnet架构[25]构建特征提取模块。表I中列出了特征提取网络的配置。我们的特征提取网络包含5块共45个残差层。每个残差单元包括一个1×1卷积层,然后是一个3×3卷积层。在前两个区块中,我们使用2×2的stride来减少特征图的维度。在接下来的区块中,我们使用2×1跨度来降低特征图的采样量。2×1的步长也使我们能够在水平方向上保留更多的信息,以有效区分相邻的字符。

4) 识别。

编码器和解码器中的块数都设置为4。在编码器和解码器的每个块中,前馈向量和输出向量的尺寸分别设置为2048和512。头部注意层的数量被设置为8。解码器可识别94个不同的字符,包括数字、字母字符、大写、小写以及ASCII中的32个标点符号。

表一
特征提取网络配置.每个块是一个残余网络块。"s "代表一个区块中第一个卷积层的跨度。
在这里插入图片描述

C.结果和讨论

1) 焦点损失的影响。

为了分析焦点损失的影响,我们研究了拟议模型的两个变体。第一个变体使用负对数似然,第二个变体则利用焦点损失。
如表二所示,在所有的数据集上,带焦点损失的模型都优于带对数可能性的模型。值得注意的是,与对数可能性相比,焦点损失平均提高了2.3%的准确性。对于最好的情况,即CUTE,两个变体之间的性能差距为4.8 %。

2)整顿网络的影响。

在这一节中,我们通过比较SAFL和不包括矫正模块的变体,来研究文本矫正的效果。
表二
负对数可能性和焦点损失的识别精度
在这里插入图片描述

表三描述了两个模型在七个数据集上的识别准确率。可以看出,整流模块明显提高了准确率。具体来说,SAFL和没有整顿模块的模型之间的性能差距平均为4.1%。在最好的情况下,与其他数据集SVT-P和CUTE相比,SAFL分别提高了10.1%和7%的精度。原因是SVT-P和CUTE都包含许多不规则的文本,如透视文本或弯曲的文本。

表三
有无整改的识别精度
在这里插入图片描述

3)与最先进技术的比较。

在本节中,我们将SAFL的性能与场景文本识别的最新方法进行比较。评估结果如表四所示。在每一列中,最佳值被加粗。"平均值 "一列是所有数据集的加权平均值。关于不规则文本,可以看出,SAFL在3个数据集上取得了最佳性能。特别是,SAFL比目前最先进的ESIR[23]平均高出1.2%,尤其是在CUTE(+2.1%)和SVT-P(+2.1%)上。关于规则数据集,SAFL在IIIT5K和ICDAR03两个数据集上的表现超过了其他方法。此外,SAFL还在所有规则文本数据集上显示了最高的平均准确率。总而言之,SAFL在7个数据集中的5个上取得了最好的性能,在不规则文本和规则文本上都取得了最高的平均准确率。

V.结论

在本文中,我们提出了SAFL,一个用于场景文本识别的深度学习模型,它利用了自我注意机制和焦点损失。实验结果显示,SAFL在规则数据集和不规则数据集上都取得了最高的平均准确率。此外,SAFL在CUTE数据集上以2.1%的幅度超过了最先进的技术。综上所述,SAFL在7个基准中的5个上表现出优异的性能,包括IIIT5k、ICDAR2003、ICDAR2015、SVT-P和CUTE。

表四
在七个公共基准测试数据集上的场景文本准确率(%)。
在这里插入图片描述

鸣谢

参考文献

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值