0. 引言
基于注意力机制的场景文本识别已经非常普遍,并且也取得了很不错的效果。但是注意力机制会不会有一些负面效果?17年有一个工作来探讨了一下,存在了一个严重的注意力漂移问题。“Focusing Attention: Towards Accurate Text Recognition in Natural Images”。
图a所示就是一般的 attention-based 网络结构,图中有一些黄色的十字,这表示在识别每一位字符的时候注意力集中的位置,可以发现前面"8"和"3"的注意力机制还比较好,但到了后面"K"和"M"的时候,注意力已经偏掉了,所以导致最后识别出现错误。
仔细想想一些Nlp任务广泛应用,是因为上下文信息非常的重要,就是上下文的语义信息。然而对于ocr,很多图片上的文本都是无上下文相关的,很多都不是合理的单词,所以我们要对注意力中的上下文内容信息进行一些思考。这篇论文多目前注意力存在的一些问题进行思考并进行了相应的改进。
1. 摘要
基于注意力的编解码框架最近在场景文本识别方面取得了令人瞩目的成果,并且随着识别质量的提高,出现了许多变体。然而,它在无上下文文本(如随机字符序列)上的性能较差,这在大多数实际应用场景中是不可接受的。本文首先深入研究了译码器的解码过程。实验发现,典型的字符级序列译码器不仅利用了上下文信息,而且还利用了位置信息。现有的大量依赖上下文信息的方法导致了注意力漂移的问题。为了抑制注意力漂移带来的副作用,我们提出了一种新的位置增强分支,并将其输出与解码器注意模块的输出动态融合,用于场景文本识别。具体地说,它包含一个位置感知模块,用于使编码器输出编码其自身空间位置的特征向量,以及一个仅使用位置线索(即当前解码时间步长)来估计瞥见的注意模块。动态融合是通过一个单元级的门机制来实现的。从理论上讲,我们提出的RobustScanner方法可以根据上下文和位置线索之间的动态比率对单个字符进行解码,在上下文较少的情况下使用更多的位置字符,因此具有较强的鲁棒性和实用性。从经验上讲,它在流行的常规和不规则文本识别基准测试上取得了最新的成果,而在无上下文基准测试上性能没有太大下降,验证了它在上下文和无上下文应用场景中的健壮性。
2. 动机
- 在许多应用场景中,场景文本识别是视觉理解和推理的关键。尽管近年来取得了很大的进展,但由于文本形状和布局的不规则性和多样性,以及可以弯曲、定向或扭曲的布局,使得输出字符序列与二维输入之间出现错位。
- 如图1(a)所示,在预测模块中,瞥见向量最终被分类为一个字符类别或标记。尽管带注意的编解码器框架在学术基准测试中具有很好的效果,但它在无上下文文本序列图像上的性能较差,这阻碍了它在实际应用场景中的广泛应用。
- 为了证明这一点,我们合成了一个随机字符序列图像的基准,称为RandText,用基于注意力的方法来评估现有的编解码器。令人惊讶的是,官方发布的最先进的SAR方法模型获得了59.6%的低精度。图1(b)显示了一些故障样本,它们都没有背景杂波、低分辨率、不同照明或失真,因此被人类视为容易样本。
- 为了探索失败识别的深层次原因,本文采用基于注意力的方法对编解码器的解码过程进行了深入的研究。通过计算ICDAR 2013测试集上
I
t
h
I^{th}
Ith和
J
t
h
J^{th}
Jth时间步长的查询特征向量之间的平均余弦相似度,我们观察到同一时间步之间的高平均相似性,尽管它们的对应字符不同。观察表明,查询向量不仅编码上下文信息,而且编码位置信息。我们还观察到邻域时间步长的查询向量之间的平均相似度随着时间步长的增加而增加,这表明位置信息被包括上下文信息在内的其他信息淹没。它很容易导致对齐漂移和对无上下文序列的后一个字符的错误识别。
3. 贡献
为了减少上述错误识别,本文提出了一种基于RobustScanner的文本识别方法,该模型通过动态增强位置线索的解码器来解决问题。具体来说,除了传统的解码器外,它还包括一个位置增强分支和一个动态融合模块。前者是专门为提高传统解码器的位置编码能力而定制的,前者是专门为提高传统解码器的位置编码能力而定制的,仅通过估计具有位置线索(即当前解码时间步长)的glimpses;后者被设计为动态融合位置增强分支的glimpses,以及那些通过单元素门机制的传统解码器。这样,每个时间步的位置信息和上下文信息的融合率可以根据各自的重要性进行动态自适应调整。
我们的贡献可概括如下:
- 本文首次研究了基于注意框架的编解码器解码过程的内在机理。我们发现,LSTM的查询特征向量不仅编码上下文信息,还编码位置信息,而且在解码后的时间步中,上下文信息主导了查询,这可能导致对无上下文文本图像的错误识别。
- 通过引入一个新的位置增强分支和一个动态融合模块,我们提出了RobustScanner来缓解无上下文场景下的误识别问题。
- 我们广泛评估了我们提出的RobustScanner,它在流行的常规和不规则文本识别基准上实现了最新的性能,而在无上下文RandText上性能没有太大下降,验证了它在上下文和无上下文应用场景中的健壮性。
4. 方法
4.1 回顾解码器
一种典型的基于注意的场景文本识别方法由一个编码器和一个解码器组成。该解码器具有一个基于LSTM的序列模块、一个注意模块和一个预测模块。给定一幅输入图像,编码器提取一个特征映射
F
∈
R
H
×
W
×
C
F∈R^{H×W×C}
F∈RH×W×C,在解码过程中,基于LSTM的序列模型首先生成一个隐藏的特征向量
h
t
h_t
ht。
将
h
t
h_t
ht作为注意模块的查询特征向量,计算一个注意映射,如下所示:
其中
h
t
h_t
ht表示向量的转置,
f
i
,
j
f_{i,j}
fi,j表示
(
i
,
j
)
(i,j)
(i,j)处的特征向量。然后,通过卷积特征映射
F
F
F的加权聚合计算瞥见向量
g
t
g_t
gt,如下所示:
最后,将瞥见向量
g
t
g_t
gt分类为一个字符或标记。
4.2 解码器解析
在给定特征映射 F F F和学习网络参数的情况下,识别出的字符 y t y_t yt只依赖于查询向量 h t h_t ht。查询向量是什么信息,使其对应的注意权重 α t α_t αt能够突出显示,并且分类器能够正确识别输入图像上的字符。显然,查询向量包含上下文信息,因为它依赖于之前从等式(1)中预测的字符。
我们观察到查询向量 h 1 h_1 h1对于不同的文本序列保持不变,并且不编码任何上下文信息。但是,第一个字符仍然可以正确识别。这意味着查询向量 h t h_t ht(包括 h 1 h_1 h1)包含位置信息。
图2显示了 l = 5 和 l = 11 l=5和l=11 l=5和l=11时的平均相似度矩阵。我们有两个观察结果:
- 同一位置的查询向量之间的平均相似度明显高于不同位置的查询向量之间的相似度。
- 随着时间步长的增加,同一位置的查询向量与相邻位置的查询向量之间的平均相似度之间的对比度变小,第二个观察结果表明,位置信息被包括上下文信息在内的其他信息所淹没。
4.3 RobustScanner
4.3.0 Overview
基于注意框架的编解码器中的查询向量包含上下文和位置的混合信息。解码过程中,随着时间步长的增加,位置线索变弱,而上下文线索变强,这可能导致对齐偏移和误识别,尤其是在无上下文文本图像上。为了增强位置信息,我们提出了一个位置增强分支,并将其输出与传统解码器的输出动态融合。如上图所示,我们的RobustScanner由一个编码器和一个解码器组成。在编码器中,我们采用一个31层的ResNet作为主干。该译码器由一个混合分支、一个位置增强分支、一个动态融合模块和一个预测模块组成。
4.3.1 Hybrid Branch
混合分支由一个具有128个隐藏状态大小的两层LSTM和一个注意模块组成。LSTM将先前预测的字符及其隐藏变量作为输入,生成查询向量 h t h_t ht。然后,将查询向量输入注意模块,以估计用于解码期间的字符预测的瞥见向量 g t g_t gt。它同时利用上下文和位置信息。
4.3.2 Position Enhancement Branch
在解码的后一个时间步中,位置信息变弱,而上下文信息变强。这将导致对齐偏移和严重的误判,在无上下文的文本图像中,上下文不能用来可靠地预测字符。我们的位置提升分支旨在缓解这一问题。它由一个位置嵌入层、一个位置感知模块和一个注意模块组成。
位置嵌入层对解码时间步长进行编码。它为每个时间步t输入一个热向量并输出一个特定的嵌入向量qt。注意,每个时间步的嵌入向量在不同的解码序列中保持不变。
虽然位置嵌入层对字符索引进行了序列编码,但是在需要全局信息的编码器输出特征映射
F
F
F上精确定位到character仍然是一个挑战。为此,我们提出了一个位置感知模块来捕捉全局和高层信息,使编码器输出的特征映射具有位置感知性。图4(a)显示了提议的位置感知模块的详细架构。我们使用两层LSTM,每个特征映射F的每一行都有128个隐藏状态大小来捕获全局上下文。对于所有行,LSTMs共享参数,以克服过度拟合并减少参数量。然后我们使用两个3×3的卷积层,它们之间有一个ReLU。
我们将嵌入层的输出向量qt作为关键向量输入到注意模块中,以估计注意图,并用于计算公式最终瞥见向量g0。与传统方法不同,在计算注意映射时,我们使用位置感知特征mapbF代替F。注意,位置感知模块注入全局上下文,以便它能够输出位置感知特性。位置增强分支中的查询向量显式地编码字符顺序索引(位置)。端到端训练强制位置感知模块输出与位置相关的特征映射,使得分支中的注意模块能够以位置感知模块输出的特征映射和位置特定的查询向量为输入,正确输出每个解码步骤(位置)的特征瞥见(见图3)。
4.3.3 Dynamically-Fusing Module
动态融合模块。如图4(b)所示,我们建议在每个时间步
t
t
t动态地融合混合分支输出
g
t
g_t
gt和位置增强分支输出
g
t
0
g^0_t
gt0,我们设计了一个门机制来预测它们连接的每个维度的一个注意权重,用于增强或抑制它们对应的特征。
5. 实验
5.1 数据集
那些公开的数据集就不多说了,这里说一下RandText,它包含500个测试图像。我们通过在白色背景图像上粘贴黑色随机字符序列来合成它们。字符集包含小写和大写字母以及数字。图1(b)中提供了一些示例。我们将公开发布RandText,以促进未来的研究。
5.2 与最新方法的比较
我们将我们的方法与表1中以前最先进的方法进行了比较,我们观察到,RobustScanner在六项基准测试中有四项优于其竞争对手SAR。特别是在具有挑战性的不规则文本数据集cute80上,它的准确率达到92.4%。我们的方法在两个街景文本数据集上的性能比SAR[24]要差,我们将性能差距归因于SVT和SVTP是由上下文词组成的,并且在文本识别时上下文比位置更重要。
我们在RandText数据集上评估我们提出的RobustScanner。表2将其与具有代表性的基于注意的编解码器进行了比较。同样,我们提出的RobustScanner明显优于它的同类方法特别地,DAN[49]将历史解码字符与注意力估计解耦,以抑制对齐漂移问题。然而,它的性能仍然比我们的RobustScanner差4.8%。
5.3 消融实验
5.3.1 The effectiveness of each branch
5.3.2 The effectiveness of the position aware module
5.3.3 The effectiveness of the dynamically-fusing module.
5.3.4 Performance on license plate recognition.
5.4 可视化
总结
本文旨在解决基于注意框架的编码器对无上下文文本图像的误识别问题。我们研究了解码过程,发现在解码过程中,注意的查询向量包含位置和上下文信息,随着解码时间的增加,位置线索变弱,上下文线索变强。基于这一发现,我们提出了一种用于场景文本识别的RobustScanner,它包含一个混合分支和一个位置增强分支,并在解码过程中的每个时间步动态地融合这两个分支。另外,我们提出了一种新颖的位置感知模块,可以增强其位置感知能力。我们进行了消融研究,以验证每一个提议的组成部分的效果。我们已经在学术基准和我们合成的RandText上对我们提出的RobustScanner进行了广泛的评估。