文章目录
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。 |
模型结构

Vision Model

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

另一条路将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]。

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

仍然是reading order embedding作为Q,此时K和V为Vision Model模块的softmax结果通过FC层映射回d(即图中的Probability Mapping),就可以做cross attention了。(SRN中用的argmax+character embedding)
注意作者提出的是双向语言模型,因此对于每一个位置上的字符,要通过其左、右侧的字符对自己进行预测,所以attention mask是一个对角阵,主对角线上的值为-inf即可,使其看不见自己,防止信息泄露。

该模块的输出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一样引入门控机制:

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

Semi-supervised Ensemable Self-training
由于ABINet具备refine识别结果的能力,因此可以将其用来做半监督自训练。
前提条件:已经有一个在有标签数据下训练好的ABINet。
-
筛选数据原则:用模型过一遍未标注数据,根据其预测结果最小置信度筛掉噪声比较大的数据(需要设一个阈值Q):
-
每次迭代refine结果的时候,记录每个位置上的最大置信度,迭代完后将其对应的预测字符放到该位置上作为gt:

自监督流程如下所示:

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

其他消融实验结果请查阅论文细节。
总结
- 采取了通过Language Model对识别结果进行refine的思想,充分利用上下文语义信息使得模型在低质成像条件下具备更好的识别能力。
- LM模块和VM模块梯度解耦,使得VM和LM都可以通过预训练的方式进行模型优化。
- 改进了SRN中对于Language Model的使用方法,使其变为通过上下文来预测当前字符的refine结果。实验表明效果更好。
- 通过不断迭代LM Refine这一过程使识别结果更加准确,最大程度降低VM模型输出的特征没有对齐的问题。
- 由于LM模型具备修正识别结果的能力,因此可以通过半监督自训练的方式训练模型。
- 模型比较复杂、臃肿,而且还需要M次串行迭代修正识别结果,速度肯定很慢。
ABINet是一种用于场景文字识别的模型,它结合了自动、双向和迭代的语言建模,解决现有模型中语言模型能力未充分利用、无向特征表达和输入噪声等问题。模型包含视觉模型和语言模型,通过迭代校正提高识别准确性,尤其在低质量图像上表现优秀。此外,ABINet还能进行半监督自训练,通过筛选未标注数据进行模型优化。实验结果显示,ABINet在多个基准测试中达到SOTA水平。

3396

被折叠的 条评论
为什么被折叠?



