0. 引言
近年来,在场景文本识别方面有了大量的工作。现有的研究主要集中在学习一个通用的模型,用大量的合成文本图像来识别无约束的场景文本,并取得了实质性的进展。然而,这些方法在许多实际场景中并不十分适用:1)需要较高的识别精度;2)缺少标记样本。
Domain adaptation.(域适应)。域自适应是利用目标域数据将模型从源域推广到目标域。当目标数据有限但被标记时,监督域自适应(SDA)性能良好。近年来,有几部著作展示了对抗学习在领域适应中的能力。
只有一项研究STR的视觉适应(“Sequence-To-Sequence Domain Adaptation Network for Robust Text Image
Recognition,” in CVPR, 2019,)。但是,本次博客介绍的工作至少在两个方面有所不同:1)我们的方法利用文本注释中包含的隐含字符注释信息,不仅对齐了源域和目标域的分布,而且促进了类的语义对齐。2)
我们的方法利用了对抗学习的优势,这种学习已经被证明在领域适应中是有效的。
1. 摘要
场景文本识别(STR)由于其广泛的应用,一直是计算机视觉领域的研究热点。现有的研究主要集中在学习一个通用的模型,用大量的合成文本图像来识别无约束的场景文本,并取得了实质性的进展。然而,这些方法在许多实际场景中并不十分适用:1)需要较高的识别精度;2)缺少标记样本。为了解决这一挑战性问题,本文提出了一种少样本对抗性序列域自适应(FASDA)方法, 在合成源域(具有多个合成标记样本)和一个特定目标域(只有一些或几个真实标记样本)之间建立序列自适应。
这是通过一种注意机制同时学习每个字符的特征表示,并通过对抗性学习建立相应的字符级潜在子空间。我们的方法可以最大限度地减少源域和目标域之间的字符级混淆,从而在目标域中即使只有少量的标记样本也能实现序列级的自适应。在各种数据集上的大量实验表明,我们的方法明显优于精细调整方案,并且获得了与最新STR方法相当的性能。
2. 动机
-
在计算机视觉领域,场景文本识别(STR)因其在生产线上的批次号识别、智能交通系统中的车牌识别、工业港口集装箱编号识别等多种应用而成为研究热点,现有方法主要用于使用合成数据集(例如800万个合成数据[6])训练通用模型,并在一些公共基准测试中取得了良好的性能。然而,当直接应用于许多真实的STR应用时,它们实际上并不能很好地工作。这是由于1)缺少标记样本和2)对非常高的识别精度的要求(例如90+,甚至更高)
-
解决训练样本不足问题有三种可能的方法:
① 重新使用一些经过大量合成数据集预先训练过的模型(这里也称为源域),然后根据考虑中的特定应用程序的某些数据对模型进行微调(这里成为目标域)。即使微调方法很简单,但在目标域的标记样本非常有限的情况下,很容易产生过拟合。
② 使用生成性对抗性网络技术(如CycleGAN)扩充样本。虽然样本生成器可以增加相似样本,在一定程度上缓解了样本不足的问题,但样本生成的风格仍然是不可控的。事实上,我们已经经验地发现,这种方法对于训练一个一般的模型更有用,就像大多数现有的工作一样。
③ 如图1所示,从有大量标记样本的源域到标签样本相对较少的目标域进行监督域自适应。
-
现有的一些有监督的少样本域自适应技术,特别是基于对抗性的自适应技术,已经证明了它们在处理分类任务中的有效性。然而,只有一项工作采用了领域适应来解决STR问题。现有的序列级域自适应方法面临的挑战:(a)类别空间爆炸,即可能的类别数随序列长度呈指数增长;(b)长尾现象,即大多数单词(有意义的字符序列)很少出现。
.
3. 贡献
为了解决这两个问题,一种思想是将每个文本序列分解为一个字符序列,从而将序列域自适应问题转化为字符域自适应问题。然而,显式地分割文本序列需要字符级的注释,这在实际应用中会耗费大量的金钱和时间。理想的方法是隐式分割文本序列,而不依赖字符级几何信息(例如,具有文本“ABC”的图像按顺序注释为序列“A”-“B”-“C”,但没有位置信息)。
基于这一思想,我们在这里开发了few-shot adversarial sequence domain adaptation(简称FASDA)方法来实现序列级域混乱。
首先,我们用精心设计的注意机制将每个字符表示为高级特征表示(而不是显式地将文本拆分为字符序列)。因此,我们得到了源样本和目标样本对的两组字符特征。
然后,我们开发了一种抽样策略,从上述两组代表字符中生成四种类型的可训练对抗对
最后,我们将对抗学习应用于所得到的对抗对,以达到领域混淆的目的。另外,注意漂移问题[2]得到了适当的解决,避免了关键字符特征的丢失。
在这里,FASDA被提出作为一种对抗性序列学习策略来保证序列级域的混乱。综上所述,我们的方法将一个基于注意的字符特征提取机制和少样本的对抗性序列学习策略组合成一个可训练的端到端框架。我们的主要贡献如下:
1)提出了一种基于序列级对抗性学习策略的序列域自适应方法,通过将一个设计良好的注意机制与序列级对抗学习策略相结合来实现序列级域的混淆。
2)我们实现了该框架,以填补一般STR模型与特定STR应用程序之间的性能差距,并表明该框架可以用更少的序列级注释进行端到端的训练。
3)我们进行了大量的实验,以证明我们的方法明显优于传统的基于学习的方案,如微调,并与最先进的STR方法相竞争。
4. 方法
图3显示了我们的FASDA方法的框架,它包括两个主要步骤:1)在解决注意漂移问题时,使用注意力机制对字符级特征进行弱监督表示,2)使用专门设计的采样策略进行少量的少样本学习。
4.1 弱监督字符特征表示
特征提取模块由一个CNN-LSTM网络和一个注意力模型组成,该模型将图像编码成字符的特征。字符的特征表示可以通过只使用序列级注释训练的注意路机制学习。给定我表示为长度为M的特征向量序列
(
x
1
,
…
,
x
M
)
(x_1,…,x_M)
(x1,…,xM)的文本图像,参与机制负责递归地分配标量值作为
x
j
x_j
xj的权重。具体地说,第t个字符的参与权重计算如下:
利用学习的参与权值
α
α
α,第
t
t
t个字符的特征表示
C
R
t
CR_t
CRt可以直接表示为:
由于字符之间存在词汇依赖,最好将这种依赖编码到
C
R
t
CR_t
CRt中。这可以通过使用
C
R
t
CR_t
CRt和最后一个字符
y
t
−
1
y_{t−1}
yt−1之间的关系来实现。因此,我们得到
C
R
t
+
CR^+_t
CRt+如下:
包容性注意力过程。很难将上述特征直接应用到后续的对抗学习中。这是因为1)注意漂移问题[2]导致关键字符特征丢失;2)注意区域太窄,无法捕捉整个字符区域的特征。具体地说,在基于注意的字符解码过程中,注意漂移问题或尖锐注意区域现象是常见的,这可能导致次优字符特征的丢失。例如,在图4(a)中,只关注蓝色条,而其余字符特征区域丢失。这些问题会影响对抗性学习。
为了解决这个问题,我们设计了一个包容性的注意力过程,通过扩展学习的注意区域,如下所示:
其中,
λ
∈
[
0
,
1
]
λ∈[0,1]
λ∈[0,1]是一个可调参数,它控制当前注意力权值的衰减程度。具体而言,
λ
=
1
λ=1
λ=1表示不存在扩展操作。
η
∈
Z
+
η∈Z+
η∈Z+控制扩展范围。在注意机制中,虽然字符特征是输入特征的加权和,但实际上只有少数输入特征能影响输出。包容性注意力过程通过重新加权注意权重来处理这个问题。
α
t
,
j
‘
α^`_{t,j}
αt,j‘不仅受先前权重
α
t
,
j
α_{t,j}
αt,j的影响,还受相邻权重的影响。这样,参与区域将更宽,更可能覆盖图像中预期的文本。图4(b)示出了扩展操作的效果。
然后,我们通过弱监督的方法训练注意模型,只使用序列级的注释来捕获相应的字符特征。也就是说,每个代表预测为目标标签此外,网络需要处理可变长度的文本。一个特殊的句子结束(EOS)标记被添加到目标集合中,以便解码器在EOS时完成字符的生成。注意模型的损失函数为:
4.2 少样本对抗性学习
通过上述参与机制,任何文本图像都可以被编码为一个集合,其中 L L L是字符数。现在,我们要在源域 D S D_S DS和目标域 D T D_T DT之间构建域适配。与对抗学习一样,我们交替学习鉴别器和字符特征生成器:
4.2.1 Discriminator learning
在给定一个表示的源图像和一个目标图像的情况下,FASDA首先在源字符集和它的目标字符集之间定义了4类字符对
(
G
i
,
i
∈
1
,
2
,
3
,
4
)
(G_i,i∈{1,2,3,4})
(Gi,i∈1,2,3,4),用于对抗训练。具体来说,每个字符对分为以下四类:1)类别1:表示的两个字符具有相同的类标签,并从源字符集中采样;2)类别2:表示的两个字符具有相同的类标签,但分别从源集和目标集进行采样;3) 类别3:表示的两个字符具有不同的类标签,但都是从源集中采样的;4)类别4:表示的两个字符具有不同的类标签,分别从源集和目标集进行采样。
然后,我们学习一个多类鉴别器(用MCD表示)来实现源域和目标域的语义对齐。也就是说,MCD根据标准交叉熵损失进行优化,如下所示:
与现有的从全局(图像级)类别中采样示例的采样方法不同,这里我们从字符级类别中采样对,即两个编码的唯一字符集。用于生成这些对的字符级采样策略如图5所示,并在算法1中详细说明。
4.2.2 Generator learning
在这个阶段,我们更新注意力网络来混淆MCD,这样它就不能再区分g1和g2或g3和g4:
这个损失函数使注意力网络将目标样本嵌入到一个空间中,MCD无法区分源和目标,这大大促进了领域混淆和类语义对齐的过程。
4.2.3 Training Process
在大多数对抗性学习中,我们交替训练来更新注意力网络和MCD。首先通过对标记的源数据进行优化,对注意力网络进行预训练,然后使用所提出的采样算法(Alg)进行分组,预训练MCD。在鉴别器学习阶段,我们冻结注意网络的参数以优化MCD;在生成器学习阶段,我们冻结MCD的参数以优化注意网络。
5. 实验
5.1 数据集
为了充分评估我们方法的域适应性能,我们还收集了几个具体的数据集,包括一个车牌数据集(用“A”表示)、一个集装箱编号数据集(用“B”表示)、一个批次号数据集(用“C”表示),以及从装配线收集的一个数据集(用“D”表示)。
5.2 公共基准域适应
为了评估我们的方法,我们从合成数据集中随机选择2万张图像作为源域,并从每个公共基准(如IC03)中随机选择150幅图像作为目标域。公平地说,我们提供了三个设置作为基线:设置1:使用在源数据集上训练的模型测试基准,表示为“仅源”;设置2:仅使用150个选定的目标样本进行微调然后进行测试,表示为“FT w/T”;设置3:对所有源样本和可用的目标样本进行微调(每个批次的源/目标比率为20),表示为“FT w/S+T”。
表二总结了结果。我们可以看到,1)我们的方法在所有基准上都明显优于所有基线,这验证了FASDA方法的有效性。2) 基于上下文特征表示(CR+)的序列域自适应可以获得更好的性能。3) IA致力于扩大/平滑治疗范围,FASDA-IA-CR+的出色表现体现了IA的效果。
5.3 特定数据集上的域适应
们可以看到,在所有的设置中,FASDA总是比FT-w/S+T取得更好的结果,这表明我们的方法可以很好地应用于实际场景。当然,我们也看到1)随着目标域数据集大小的增加,FASDA与FT w/S+T之间的差距逐渐减小。
5.4 IA的影响
这里我们把注意力模型产生的特征作为相应的特征来处理,但是由于注意漂移问题,这可能是不正确的[2]。因此,我们设计了IA流程来处理这个问题。这里,我们通过计算字符生成精度(简称CharAcc)来评估IA的有效性,如下所示:
从某种意义上说,当一个字符被识别时,主要是因为注意力模型集中在正确的位置上。因此,如果IA有效,charac的值应该很大。结果见下表。