一文带你了解两种 Transformer 文字识别方法
摘要:受 Transformer 模型的启发,目前一些学者将该结构应用到文本行识别中,以替代 RNN,取得了良好的效果,如在 HGA-STR 和 SRN。
当前的文本行识别器为拥有更强的序列语义能力,模型多采用 CNN + RNN 的结构,如目前使用十分广泛的两个识别器 CRNN 和 Aster,这些模型取得了非常好的效果。然而由于 RNN 只能采用串行计算,在目前大量采用并行计算设备的前提下,RNN 面临着明显的速度瓶颈。若弃用 RNN 只使用 CNN,性能往往不尽如人意。在 NLP 领域,Ashish Vaswan[1]等人提出的 Transformer 模型在语言理解相关任务上十分成功,并优于 CNN 和 RNN 效果,展现出 Transformer 强大的序列建模能力。Transformer 模型基于 Attention 实现,该操作可并行实现,因此该模型具有良好的并行性。
受 Transformer 模型的启发,目前一些学者将该结构应用到文本行识别中,以替代 RNN,取得了良好的效果,如在 HGA-STR[2]和 SRN[3]。下面对两种方法进行介绍,总体上,HGA-STR 更接近原有的 Transformer 的结构,使用了和 Transformer 类似的解码结构,而 SRN 则是使用了 Transformer unit 进行特征提取,并采用该文作者提出的并行解码器,整个模型拥有更好的可并行性。为较好理解下面两篇文章,请参阅相关资料以了解 Transformer 的原理。
HGA-STR 简介
对于不规则文本,文本分布在二维空间上,将其转换成一维有一定难度,同时基于 RNN 的编码解码器无法做到并行,本文直接将 2D 的特征输入到 attention-based 1D 序列解码器,解码器采用 Transformer 中的解码器同样的结构。同时,在编码器部分,提取一个全局语义向量,与解码器的输入 embedding 向量合并,为解码器提供全局语义信息。该模型结构如图 1 所示。
图 1. 模型的基本结构
编码器介绍:该模型使用 CNN 进行特征提取,并保持输出的特征为二维。并使用池化操作得到一维向量,作为全局信息表示。
解码器介绍:编码器主要组件有:masked self-attention 用来建模预测结果的依赖性;2D-attention 用来连接编码器和解码器;以及一个前馈层。具体实现和 Transformer 文中的结构相同。同时为了更好的性能作者使用两个方向进行解码,结构如图 2 所示。
图 2.该方法使用双向解码器
该方法在多个英文基准数据集取得了较好的结果,具体结果可参见论文。在速度上作者和两种基于 attention 的方法进行对比有一定的优势,如表 1 所示。
表 1. 速度对比
在作者进行的对比试验中,一个比较有意思的现象是,在编码器里面添加 Self-attention 模块并不能提升模型性能,在解码器中添加才会对结果有提升,如表 2 所示。这表明原本的 Transformer 结构直接应用到文字识别任务上是不可行的,需要做相应的调整。
表 2. Self-attention 性能对比
SRN 简介
与上一方法不同的是,SRN 采用完全不同的解码方式,并引入全局语义推理模块。就获取语义信息的方式而言,主流的 Attention-based 方法基于 RNN 来实现,是一种采用单向串行方式进行建模的方法,如图 3.(a)所示。这种方式有明显的不足:
1)仅仅感知了历史时刻的语义信息,而无法获取未来时刻的语义信息;
2)如果较早时刻解码出的错误字符,会为余下时刻的解码传递错误的语义信息,导致误差积累效应;
3)串行的解码模式是相对低效的,特别是在模型预测的环节。
图 3. 两种不同的传递语义信息的方法
如图 4 所示,SRN 由四部分组成:基础网络 Backbone、并行的视觉特诊提取模块(PVAM)、全局语义推理模块(GSRM) 和视觉语义融合的解码器(VSFD)。给定一张输入的文本图像,基于 ResNet50 + Transformer unit 的 Backbone 从中提取出视觉 2D feature map V;之后 PVAM 会针对每个目标字符获取其相应的视觉特征 G;GSRM 会基于视觉特征 G 获取全局语义信息,并转化为每个目标字符的语义特征 S;最后 VSFD 融合对齐的视觉特征和语义特征,预测出相应字符。在训练阶段和推断阶段,每个序列中各个字符之间是并行。
图 4. 方法的总体结构图
PVAM 模块介绍:在 Backbone 输出了 2D 的视觉特征图之后,PVAM 会针对文本行中的每个字符,计算出相应 attention map, 通过将其与 feature map 按像素加权求和,可得到每个目标字符对应的的视觉特征。另外,PVAM 也用字符的阅读顺序取代上一时刻隐变量来引导计算当前时刻的 attention map,实现了并行提取视觉特征的目的。
GSRM 模块介绍:GSRM 会基于全局语义信息进行推理。具体过程为,首先将视觉过程转换成语义特征,使用交叉熵损失进行监督,并对其概率分布取 argmax 得到初始的分类结果,同时通过分类结果获取每个字符的 embedding 向量,通过多层 Transformer unit 后,得到经语义推理模块修正的预测结果,同样使用交叉熵损失进行监督。
VSFD 模块介绍:对 PVAM 输出的对齐的视觉特征和 GSRM 输出的全局语义特征进行融合,最后基于融合后的特征进行预测输出。
该方法在多个英文基准数据集上取得了 SOTA 的结果。对于中文长文本的识别,SRN 相对于其他识别方法也有明显优势,如表 3 所示。
表 3.中文数据集结果(TRW-L 为长文本)
速度上,得益于整个模型的并行设计,SRN 拥有较小的推理时延,如表 4 所示。
表 4.推理速度介绍
Reference
[1] https://arxiv.org/pdf/1706.03762.pdf
[2] https://arxiv.org/abs/1904.01375
[3] https://arxiv.org/pdf/2003.12294.pdf
本文分享自华为云社区《技术综述六:文字识别中基于 Transformer 识别方法汇总简介》,原文作者:谷雨润一麦 。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/af272b0c75d7765eee4823b9e】。文章转载请联系作者。
评论