【论文笔记】Read Like Humans: Autonomous,Bidirectional and Iterative Language Modeling ...(ABINet)

ABINet是一种用于场景文字识别的模型,它结合了自动、双向和迭代的语言建模,解决现有模型中语言模型能力未充分利用、无向特征表达和输入噪声等问题。模型包含视觉模型和语言模型,通过迭代校正提高识别准确性,尤其在低质量图像上表现优秀。此外,ABINet还能进行半监督自训练,通过筛选未标注数据进行模型优化。实验结果显示,ABINet在多个基准测试中达到SOTA水平。

Read Like Humans: Autonomous,Bidirectional and Iterative Language Modeling for Scene Text Recognition(ABINet)

基本信息

  • 论文链接:arxiv
  • 发表时间:2021 - CVPR
  • 应用场景:自然场景文字识别

摘要

存在什么问题解决了什么问题
1. 虽然当前自然场景文字识别模型用到了语言模型,但是语言模型的能力没有被完整的挖掘出来:1)隐式语言建模;2)无向的特征表达;3)输入给语言模型的时候其输入本身就带有一定噪声。1. 提出了一个具有自动的(Autonomous)、双向的(Bidirectional)、迭代特性(Iterative)的自然场景识别模型ABINet。着重解决了前面所述的三个对于语言模型应用上的缺陷。
2. ABINet可以实现在无标签数据下的办监督训练。
3. ABINet在低质图像上识别能力强,并且在一些benchmark上达到SOTA。

模型结构

image-20220602120136860

Vision Model

image-20220602141658360

两条路,一条路以图片作为输入,通过resnet+transformer抽取图像特征,得到 F b F_b Fb:作为Value。

image-20220602141845728

另一条路将reading orders的idx通过embedding矩阵映射成向量,shape=[max_len, d],作为Query。

再将 F b F_b Fb通过一个mini unet进一步提取视觉特征,作为Key。

对以上三个得到的值做cross attention,得到 F v F_v Fv,即为VM模块的输出,其shape=[max_len, d]。

image-20220602142618227

Language Model

提出BCN(Bidirectional cloze network)模块,其作用是根据上下文语义信息预测或修正当前识别字符。

image-20220602143911499

仍然是reading order embedding作为Q,此时K和V为Vision Model模块的softmax结果通过FC层映射回d(即图中的Probability Mapping),就可以做cross attention了。(SRN中用的argmax+character embedding)

注意作者提出的是双向语言模型,因此对于每一个位置上的字符,要通过其左、右侧的字符对自己进行预测,所以attention mask是一个对角阵,主对角线上的值为-inf即可,使其看不见自己,防止信息泄露。

image-20220602150913491

该模块的输出shape=[max_len, d]。

另外拿到Probability Mapping的输出后,会将其梯度截断,即后面LM的优化不会对VM模块造成影响。

iterative Correction

LM模块的输出可能带有噪声,那么此时面临着和SRN一样的问题,一旦视觉特征没有对齐,那么LM模块此时也会引入噪声,作者通过不断迭代LM过程来最大限度减轻这个问题。

假设迭代次数为M,只有第一次用的是VM模块的输出,后面M-1次迭代就不用了,转而使用Fusion模块的输出进行结果refine。

Fusion

和SRN保持一致,此时有VM以及LM模块的两个输出,来自不同的模态,因此用自适应学习权重会更好一些,所以和SRN一样引入门控机制:

image-20220602151344084

Supervised Training

和SRN几乎一样,三个CE Loss。不同的是ABINet的LM模块有迭代过程,每次迭代都可以算CELoss,因此是所有迭代过程Loss的平均值。

image-20220602151603411

Semi-supervised Ensemable Self-training

由于ABINet具备refine识别结果的能力,因此可以将其用来做半监督自训练。

前提条件:已经有一个在有标签数据下训练好的ABINet。

  • 筛选数据原则:用模型过一遍未标注数据,根据其预测结果最小置信度筛掉噪声比较大的数据(需要设一个阈值Q):

  • 每次迭代refine结果的时候,记录每个位置上的最大置信度,迭代完后将其对应的预测字符放到该位置上作为gt:

image-20220602153438070

自监督流程如下所示:

image-20220602153410452

实验

主流benchmark上均达到SOTA,用了半监督自训练的模型在一些数据集上能达到最高指标。

image-20220602153538358

其他消融实验结果请查阅论文细节。

总结

  1. 采取了通过Language Model对识别结果进行refine的思想,充分利用上下文语义信息使得模型在低质成像条件下具备更好的识别能力。
  2. LM模块和VM模块梯度解耦,使得VM和LM都可以通过预训练的方式进行模型优化。
  3. 改进了SRN中对于Language Model的使用方法,使其变为通过上下文来预测当前字符的refine结果。实验表明效果更好。
  4. 通过不断迭代LM Refine这一过程使识别结果更加准确,最大程度降低VM模型输出的特征没有对齐的问题。
  5. 由于LM模型具备修正识别结果的能力,因此可以通过半监督自训练的方式训练模型。
  6. 模型比较复杂、臃肿,而且还需要M次串行迭代修正识别结果,速度肯定很慢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值