这是我参与11月更文挑战的第5天。
摘要
语言知识对场景文本识别大有裨益。然而,如何在端到端深度网络中有效地建模语言规则仍然是一个研究挑战。在本文中,我们认为语言模型的有限能力来自:1)隐式语言建模; 2) 单向特征表示;和 3) 带有噪声输入的语言模型。相应地,我们提出了一种用于场景文本识别的自主、双向和迭代的 ABINet。首先,自治建议阻止视觉和语言模型之间的梯度流,以明确执行语言建模。其次,提出了一种基于双向特征表示的新型双向完形填空网络(BCN)作为语言模型。第三,我们提出了一种语言模型迭代校正的执行方式,可以有效地减轻噪声输入的影响。此外,基于迭代预测的集合,我们提出了一种自训练方法,可以有效地从未标记的图像中学习。大量实验表明,ABINet 在低质量图像上具有优势,并在几个主流基准上取得了最先进的结果。此外,经过集成自训练训练的 ABINet 在实现人类级别的识别方面显示出有希望的改进。代码可在 github.com/FangShanche… 获得。
1、简介
拥有从场景图像中读取文本的能力对于人工智能来说是必不可少的 [24, 41]。 为此,早期的尝试将字符视为无意义的符号,并通过分类模型识别这些符号 [42, 15]。 但是,当遇到遮挡、模糊、噪声等具有挑战性的环境时,由于视觉辨别力,它会变得模糊。 幸运的是,由于文本带有丰富的语言信息,因此可以根据上下文推断字符。 因此,一堆方法 [16, 14, 29] 将注意力转向语言建模,并取得了毋庸置疑的改进 。
然而,如何有效地模拟人类阅读中的语言行为仍然是一个悬而未决的问题。从心理学的观察,我们可以对人类阅读做出三个假设,即语言建模是自主的、双向的和迭代的:1)由于聋哑人和盲人都可以分别拥有完全功能的视觉和语言,我们使用术语自主来解释视觉和语言之间学习的独立性。自主性还意味着视觉和语言之间的良好互动,独立学习的语言知识有助于视觉中字符的识别。 2)推理字符上下文的行为就像完形填空任务,因为难以辨认的字符可以被视为空白。因此,可以同时利用难辨字符的左右两侧的易辨认字符的线索进行预测,这对应于双向。 3)迭代描述了在具有挑战性的环境下,人类采用渐进式策略通过迭代校正识别结果来提高预测置信度。
首先,将自治原理应用于场景文本识别(STR)意味着识别模型应该解耦为视觉模型(VM)和语言模型(LM),子模型可以作为独立的功能单元单独学习。 最近基于注意力的方法通常设计基于 RNN 或 Transformer [39] 的 LM,其中语言规则是在耦合模型 [19、36、33] 中隐式学习的(图 1a)。 然而,LM是否以及如何学习角色关系是未知的。 此外,这种方法无法通过直接从大规模未标记文本中预训练 LM 来捕获丰富的先验知识。
其次,与单向 LMs [38] 相比,具有双向原理的 LMs 捕获的信息量是原来的两倍。 构建双向模型的一种直接方法是在概率级别 [44, 36] 或特征级别 [49] 中合并从左到右模型和从右到左模型 [28, 5](图 . 1e)。 然而,它们的功能实际上没有那么强大,因为它们的语言特征实际上是单向表示。 此外,集成模型意味着在计算和参数方面的成本是其两倍。 NLP 中最近的一项引人注目的工作是 BERT [5],它引入了通过屏蔽文本标记学习的深度双向表示。 将 BERT 直接应用于 STR 需要屏蔽文本实例中的所有字符,而这是非常昂贵的,因为每次只能屏蔽一个字符。
第三,以迭代原理执行的 LM 可以从视觉和语言线索中细化预测,这在当前的方法中没有探索。 执行 LM 的典型方法是自回归 [44, 3, 45](图 1d),其中错误识别被累积为噪声并作为后续预测的输入。 为了适应 Transformer 架构,[25, 49] 放弃了自回归并采用并行预测(图 1e)来提高效率。 然而,噪声输入仍然存在于并行预测中,其中来自 VM 输出的错误直接损害了 LM 精度。 此外,SRN [49] 中的并行预测存在未对齐长度问题,如果 VM 错误地预测文本长度,SRN 很难推断出正确的字符。
考虑到当前方法从内部交互、特征表示和执行方式等方面的不足,我们提出了以自主、双向和迭代原则为指导的 ABINet。首先,我们通过阻塞 VM 和 LM 之间的梯度流(BGF)来探索一种解耦方法(图 1b),它强制 LM 明确地学习语言规则。此外,VM 和 LM 都是自治单元,可以分别从图像和文本中进行预训练。其次,我们设计了一个新颖的双向完形填空网络(BCN)作为 LM,消除了结合两个单向模型的困境(图 1c)。 BCN 以左右上下文为条件,通过指定注意掩码来控制两侧字符的访问。此外,不允许跨步骤访问以防止信息泄露。第三,我们提出了一种 LM 迭代校正的执行方式(图 1b)。通过将 ABINet 的输出反复输入 LM,可以逐步改进预测,并且可以在一定程度上缓解未对齐的长度问题。此外,将迭代预测视为一个整体,探索了一种基于自我训练的半监督方法,该方法利用了人类级别识别的新解决方案。
本文的贡献主要包括:1)我们提出了自治、双向和迭代原则来指导 STR 中的 LM 设计。 在这些原则下,LM 是一个功能单元,需要它迭代地提取双向表示和正确预测。 2) 引入了一种新的 BCN,它使用双向表示估计完形填空任务等字符的概率分布。 3) 所提出的 ABINet 在主流基准上达到了最先进的 (SOTA) 性能,经过集成自训练训练的 ABINet 在实现人类级别的识别方面显示出有希望的改进。
2、相关工作
2.1、无语言方法
无语言方法通常利用视觉特征而不考虑字符之间的关系,例如基于 CTC 的 [7] 和基于分割的 [21] 方法。 基于 CTC 的方法使用 CNN 提取视觉特征,使用 RNN 对特征序列进行建模。 然后使用 CTC 损失对 CNN 和 RNN 进行端到端训练 [34、11、37、12]。 基于分割的方法应用 FCN 在像素级分割字符。 Liao 等人通过将分割的像素分组到文本区域来识别字符。Wan 等人 [40] 提出一个额外的顺序分割图,它以正确的顺序转录字符。 由于缺乏语言信息,无语言方法不能很好地解决低质量图像中的识别问题。
2.2、基于语言的方法
视觉和语言之间的内部交互。 在一些早期的工作中,N-gram 的文本字符串袋由 CNN 预测,该 CNN 充当显式 LM [14,16,13]。之后,基于注意力的方法变得流行,它使用更强大的 RNN [19, 36] 或 Transformer [43, 33] 隐式地对语言进行建模。基于注意力的方法遵循编码器-解码器架构,其中编码器处理图像,解码器通过关注来自一维图像特征 [19, 35, 36, 3, 4] 或二维图像特征 [48, 45, 23, 20]。例如,R2AM [19] 采用递归 CNN 作为特征提取器,采用 LSTM 作为学习的 LM 字符级隐式建模语言,避免使用 N-gram。此外,这种方法通常通过在将图像输入网络之前集成用于不规则图像的校正模块 [36,51,47] 来增强。与上述方法不同,我们的方法力求通过显式语言建模来构建更强大的 LM。在尝试改进语言表达时,一些作品引入了多重损失,其中额外的损失来自语义 [29, 25, 49, 6]。其中SEED[29]提出使用预训练的FastText模型来指导RNN的训练,带来额外的语义信息。我们偏离了这一点,因为我们的方法直接在未标记的文本中预训练 LM,这在实践中更可行。
语言特征的表示。 基于注意力的方法中的字符序列通常以从左到右的方式建模 [19, 35, 3, 40]。 例如,Textscanner [40] 继承了基于注意力的方法的单向模型。 不同的是,他们使用额外的位置分支来增强位置信息并减少无上下文场景中的错误识别。 为了利用双向信息,[8, 36, 44, 49] 等方法使用两个单向模型的集成模型。 具体来说,为了捕获全局语义上下文,SRN [49] 结合了从左到右和从右到左的 Transformers 的特征以进行进一步预测。 我们强调集成双向模型本质上是单向特征表示 。
语言模型的执行方式。 目前,LMs 的网络架构主要基于 RNN 和 Transformer [39]。 基于 RNN 的 LM 通常在自动回归中执行 [44, 3, 45],它将最后一个字符的预测作为输入。 DAN [44] 等典型工作首先使用提出的卷积对齐模块获得每个字符的视觉特征。 之后,GRU 通过将最后一个时间步的预测嵌入和当前时间步的字符特征作为输入来预测每个字符。 基于 Transformer 的方法在并行执行方面具有优势,其中每个时间步的输入要么是视觉特征 [25],要么是来自视觉特征预测的字符嵌入 [49]。 我们的方法属于并行执行,但我们试图减轻并行语言模型中存在的噪声输入问题。
3、建议方法
3.1、 视觉模型
视觉模型由骨干网络和位置注意模块组成(图 3)。 继之前的方法之后,ResNet1 [36, 44] 和 Transformer 单元 [49, 25] 被用作特征提取网络和序列建模网络。 对于图像 x,我们有:
其中 H,W 是 x 的大小,C 是特征维度。
位置注意力模块并行地将视觉特征转录为字符概率,其基于 关于查询范式 [39]:
具体来说, 是字符顺序的位置编码[39],T 是字符序列的长度。
,其中 由微型 U-Net2 [32] 实现。 ,其中 是恒等映射。
3.2、语言模型
3.2.1、自主策略
如图 2 所示,自治策略包括以下特点: 1) LM 被认为是一个独立的拼写校正模型,它以字符的概率向量为输入,输出期望字符的概率分布。 2)训练梯度的流动在输入向量处被阻塞(BGF)。 3) LM 可以与未标记的文本数据分开训练。
遵循自主的策略,ABINet 可以被划分为可解释的单元。 通过将概率作为输入,LM 可以是可替换的(即,直接替换为更强大的模型)和灵活的(例如,在第 3.2.3 节中迭代执行)。 此外,重要的一点是 BGF 不可避免地强制模型学习语言知识,这与隐式学习有根本区别。 建模,其中模型究竟学到了什么是不可知的。 此外,自主策略使我们能够直接分享 NLP 社区的先进进展。 例如,预训练 LM 可能是提高性能的有效方法。
3.2.2、双向表示
给定一个文本字符串 ,文本长度为 n,类别数为 c,双向和单向模型中 的条件概率为 和 分别。 从信息论的角度来看,双向表示的可用熵可以量化为 。 然而,对于单向表示,信息是 。 我们的见解是,以前的方法通常使用两个单向模型的集成模型,这本质上是单向表示。 单向表示基本上捕获了 信息,导致与双向表示相比,特征抽象能力有限。
受益于第 3.2.1 节中的自主设计,可以转移具有拼写校正能力的现成 NLP 模型。 一种可行的方法是利用 BERT [5] 中的掩码语言模型 (MLM),将 yi 替换为令牌 [MASK]。 但是,我们注意到这是不可接受的,因为 MLM 应该为每个文本实例单独调用 n 次,导致效率极低。 我们没有屏蔽输入字符,而是通过指定注意掩码来提出 BCN。
总的来说,BCN 是 L 层转换器解码器的变体。 BCN的每一层都是一系列多头注意力和前馈网络[39],然后是残差连接[10]和层归一化[1],如图4所示。 与vanilla Transformer不同的是,特征向量被馈送 进入多头注意力块而不是第一层网络。 此外,多头注意力中的注意力掩码旨在防止“看到自己”。 此外,在 BCN 中没有使用 self-attention 以避免泄漏 跨时间步长的信息。 多头区块内的注意力操作可以形式化为:
其中 是第一层中字符顺序的位置编码,否则为最后一层的输出。 由字符概率 得到, 为线性映射矩阵。 是防止关注当前字符的注意力掩码矩阵。 在将 BCN 层堆叠成深层架构后,确定了文本 y 的双向表示 。
通过以完形填空方式指定注意力掩码,BCN 能够优雅地学习比单向表示的集成更强大的双向表示。 此外,受益于类似 Transformer 的架构,BCN 可以独立并行地执行计算。 此外,它比集成模型更有效,因为只需要一半的计算和参数。
3.2.3、迭代修正
Transformer 的并行预测采用噪声输入,这些输入通常是视觉预测 [49] 或视觉特征 [25] 的近似值。 具体来说,如图2所示的双向表示的例子,P(“O”)的理想条件是“SH-WING”。 然而,由于环境模糊和遮挡,从VM获得的实际情况是“SH-VING”,其中“V”变成了噪声,损害了预测的可信度。 随着 VM 中错误预测的增加,它往往对 LM 更具敌意。
为了解决噪声输入的问题,我们提出了迭代 LM(如图 2 所示)。 LM 以不同的 y 分配重复执行 M 次。 对于第一次迭代,yi=1 是来自 VM 的概率预测。 对于后续迭代,yi≥2 是上次迭代中融合模型(第 3.3 节)的概率预测。 通过这种方式,LM 能够迭代地纠正视觉预测。
另一个观察结果是,基于 Transformer 的方法通常存在未对齐的长度问题 [49],这表明如果字符数与地面实况不一致,则 Transformer 很难纠正视觉预测。 未对齐长度问题是由填充掩码的不可避免的实现引起的,该掩码是固定的,用于过滤文本长度之外的上下文。 我们的迭代 LM 可以缓解这个问题,因为视觉特征和语言特征被多次融合,因此预测的文本长度也逐渐细化
3.3、融合
从概念上讲,在图像上训练的视觉模型和在文本上训练的语言模型来自不同的模态。 为了对齐视觉特征和语言特征,我们简单地使用门控机制 [49, 50] 进行最终决策:
其中 和 .
3.4、有监督训练
ABINet 使用以下多任务目标进行端到端训练:
其中 和 是 、 和 分别。 具体来说, 和 是第 次迭代的损失。 和 是平衡因子。
3.5、半监督集成自训练
为了进一步探索我们的迭代模型的优越性,我们提出了一种基于自我训练的半监督学习方法 [46] 和迭代预测的集合。 自训练的基本思想是首先由模型本身生成伪标签,然后使用额外的伪标签重新训练模型。 因此,关键问题在于构建高质量的伪标签。
为了过滤噪声伪标签,我们提出以下方法:1)选择文本实例中字符的最小置信度作为文本确定性。 2)每个字符的迭代预测被视为一个整体,以平滑噪声标签的影响。 因此,我们定义过滤函数如下:
其中 是文本实例的最小确定性, 是 -th 次迭代中 -th 个字符的概率分布 . 训练过程如算法 1 所示,其中 是阈值。 是来自标记和未标记数据的训练批次。 是最大训练步数, 是更新伪标签的步数。
4、实验
4.1、数据集和实验细节
为了公平比较,按照[49]的设置进行实验。 具体来说,训练数据集是两个合成数据集 MJSynth (MJ) [13, 15] 和 SynthText (ST) [9]。 六个标准基准包括 ICDAR 2013 (IC13) [18]、ICDAR 2015 (IC15) [17]、IIIT 5KWords (IIIT) [27]、街景文本 (SVT) [42]、街景文本透视 (SVTP) [ 30] 和 CUTE80 (CUTE) [31] 作为测试数据集。 这些数据集的详细信息可以在以前的作品中找到 [49]。 此外,Uber-Text [52] 去除标签被用作未标记的数据集来评估半监督方法。
模型尺寸 始终设置为 512。 BCN 有 4 层,每层有 8 个注意力头。 平衡因子 分别设置为 1,1。 图像通过几何变换(即旋转、仿射和透视)、图像质量恶化和颜色抖动等数据增强直接调整为 。 我们使用 4 个 NVIDIA 1080Ti GPU 来训练我们的批量大小的模型 384.采用ADAM优化器,初始学习率为1e-4,6个epoch后衰减为1e-5。
4.2、消融研究
4.2.1、视觉模型
首先,我们从特征提取和序列建模两个方面讨论VM的性能。 实验结果记录在表中。 1.并行注意力是一种流行的注意力方法[25, 49],并且提出的位置注意力具有更强大的键/值向量表示。 从统计数据我们可以得出结论:1)简单地升级VM将导致准确性的巨大提升,但以参数和速度为代价。 2)为了升级VM,我们可以在特征提取中使用位置注意力,在序列建模中使用更深的transformer。
4.2.2、语言模型
自主策略。 为了分析自治模型,我们分别采用 LV 和 BCN 作为 VM 和 LM。 从表中的结果来看。 2 我们可以观察到:1) 预训练 VM 很有用,平均提高了约 0.6%-0.7% 的准确率; 2)在训练数据集(即 MJ 和 ST)上预训练 LM 的好处可以忽略不计; 3)同时从额外的未标记数据集(例如 WikiText-103)预训练 LM 是有帮助的,即使基础模型具有高精度。 上述观察表明,STR 对 VM 和 LM 进行预训练是有用的。 在额外的未标记数据集上预训练 LM 比在训练数据集上更有效,因为有限的文本多样性和有偏见的数据分布无法促进性能良好的 LM 的学习。 此外,在未标记的数据集上预训练 LM 很便宜,因为额外的数据很容易获得。
此外,通过允许 VM 和 LM 之间的梯度流(AGF),性能平均下降 0.9%(表 2。我们还注意到 AGF 的训练损失急剧减少到较低的值。这表明过度拟合发生在 LM 作为 VM 有助于在训练中作弊,这也可能发生在隐式语言建模中。因此,强制 LM 通过 BGF 独立学习至关重要。我们注意到 SRN [49] 在 VM 之后使用 argmax 操作,这本质上是一个特殊的 BGF 的情况,因为 argmax 是不可微的。另一个优点是自治策略使模型具有更好的可解释性,因为我们可以深入了解 LM 的性能(例如,表 4),这在隐式语言建模中是不可行的。
双向表示。 由于 BCN 是 Transformer 的变体,我们将 BCN 与其对应的 SRN 进行比较。 基于 Transformer 的 SRN [49] 表现出优越的性能,它是单向表示的集合。 为了公平比较,实验在除网络之外的相同条件下进行。 我们使用 SV 和 LV 作为 VM 来验证不同精度下的有效性 水平。 如表3所示,虽然BCN具有与SRN(SRN-U)的单向版本相似的参数和推理速度,但它在不同VM下的准确性方面取得了竞争优势。 此外,与集成中的双向 SRN 相比,BCN 表现出更好的性能,尤其是在 IC15 和 CUTE 等具有挑战性的数据集上。 此外,配备 BCN 的 ABINet 比 SRN 快约 20%-25%,这对于大规模任务是实用的。
3.2.1 节认为 LM 可以被视为独立的单元来估计拼写纠正的概率分布,因此我们从这个角度进行实验。 训练集是来自 MJ 和 ST 的文本。 为了模拟拼写错误,测试集是随机选择的 20000 个项目,其中我们为 20% 的文本添加或删除一个字符,为 60% 的文本替换一个字符并保留 其余文本不变。 从表中的结果来看。 4,我们可以看到BCN在字符准确度和单词准确度上分别优于SRN 4.5%和14.3%,这表明BCN在字符级语言建模方面具有更强大的能力。
为了更好地理解 BCN 在 ABINet 中的工作原理,我们将图 5 中的 top-5 概率可视化,以“今天”为例。 一方面,由于“today”是一个带有语义信息的字符串,以“-oday”和“tod-y”为输入,BCN可以高置信度地预测“t”和“a”,并有助于最终的融合预测。 另一方面,由于错误字符“l”和“o”是其余预测的噪声,BCN 变得不那么自信并且对最终预测几乎没有影响。 此外,如果有多个错误字符,由于缺乏足够的上下文,BCN 很难恢复正确的文本。
迭代修正。 我们再次将 SV 和 LV 与 BCN 一起应用,以展示不同级别的迭代校正的性能。 实验结果见表5,其中在训练和测试中迭代次数设置为 1、2 和 3。 从结果可以看出,迭代3次BCN可以分别将准确率提高0.4%,平均提高0.3%。 具体来说,IIIT 是一个相对简单的数据集,具有清晰的字符外观,几乎没有收益。 然而,当涉及到其他更难的数据集,如 IC15、SVT 和 SVTP 时,迭代校正稳定地提高了准确度,并分别对 SV 和 LV 的 SVT 提高了 1.3% 和 1.0%。 还应注意,推理时间随迭代次数线性增加。
我们进一步探讨了训练和测试之间迭代的差异。 图 6 中平均精度的波动表明: 1) 在测试中直接应用迭代校正也效果良好; 2)在训练中迭代是有益的,因为它为LM提供了额外的训练样本; 3)模型迭代3次以上准确率达到饱和状态,因此不需要大的迭代次数。
为了对迭代校正有一个全面的认知,我们将图 7 中的中间预测可视化。通常,视觉预测可以修改为接近真实情况,但在某些情况下仍然存在错误。 经过多次迭代,最终可以对预测进行修正。 此外,我们还观察到迭代校正能够缓解未对齐长度问题,如图 7 的最后一列所示。
从消融研究中我们可以得出结论:1)双向 BCN 是一个强大的 LM,可以有效地提高准确性和速度的性能。 2)通过进一步为 BCN 配备迭代校正,可以减轻噪声输入问题,建议以增量计算为代价来处理低质量图像等具有挑战性的示例。
4.3、与最先进技术的比较
通常,直接使用报告的统计数据 [2] 与其他方法进行公平比较并不是一件容易的事,因为主干(即 CNN 结构和参数)、数据处理(即图像校正和数据增强)和训练技巧等。为了严格执行公平比较,我们重现了与 ABINet 共享相同实验配置的 SOTA 算法 SRN,如表 6 所示。两个重新实现的 SRN-SV 和 SRN-LV 与报告的模型略有不同,通过替换 VM、消除多尺度训练的副作用、应用衰减的学习率等。请注意,由于 SRN-SV 的表现略好于 SRN以上技巧。从比较中可以看出,我们的 ABINet-SV 在 IC13、SVT、IIIT、IC15、SVTP 和 CUTE 数据集上分别以 0.5%、2.3%、0.4%、1.4%、0.6%、1.4% 的性能优于 SRN-SV。此外,具有更强大 VM 的 ABINet-LV 在 IC13、SVT、IC15、SVTP 和 CUTE 基准上比其对应物提高了 0.6%、1.2%、1.8%、1.4%、1.0%。
与最近在 MJ 和 ST 上训练的 SOTA 作品相比,ABINet 也表现出令人印象深刻的表现(表 6)。 特别是 ABINet 在 SVT、SVTP 和 IC15 上具有突出的优势,因为这些数据集包含大量低质量的图像,如噪声和模糊图像,VM 无法自信地识别这些图像。 此外,我们还发现具有异常字体和不规则文本的图像可以被成功识别,因为语言信息是视觉特征的重要补充。 因此,即使没有图像校正,ABINet 也可以在 CUTE 上获得第二好的结果。
4.4、半监督训练
为了进一步推动准确阅读的边界,我们探索了一种半监督方法,该方法利用 MJ 和 ST 作为标记数据集,将 Uber-Text 作为未标记数据集。 3.5节的阈值Q设置为0.9,Bl和Bu的batch size分别为256和128。实验结果见表。图 6 表明,所提出的自训练方法 ABINet-LVst 可以轻松地在所有基准数据集上优于 ABINet-LV。此外,集成自训练 ABINet-LVest 通过提高数据利用效率显示出更稳定的性能。观察提升后的结果,我们发现字体稀少和外观模糊的硬样本也可以被频繁识别(图 8),这表明探索半无监督学习方法是场景文本识别的一个有前途的方向。
5、结论
st 可以轻松地在所有基准数据集上优于 ABINet-LV。此外,集成自训练 ABINet-LVest 通过提高数据利用效率显示出更稳定的性能。观察提升后的结果,我们发现字体稀少和外观模糊的硬样本也可以被频繁识别(图 8),这表明探索半无监督学习方法是场景文本识别的一个有前途的方向。
[外链图片转存中...(img-LAR5Vyad-1636846680444)]
5、结论
在本文中,我们提出了 ABINet,它探索了在场景文本识别中利用语言知识的有效方法。 ABINet 是 1)自治的,它通过明确地强制学习来提高语言模型的能力; 2)双向,通过联合调节双方的字符上下文来学习文本表示; 3) 迭代,逐步校正预测以减轻噪声输入的影响。基于 ABINet,我们进一步提出了一种用于半监督学习的集成自训练方法。标准基准的实验结果证明了 ABINet 的优越性,尤其是在低质量图像上。此外,我们还声称利用未标记的数据是可能的,并且有望实现人类级别的识别。