[ACM MM 2021] PIMNet:一种用于场景文本识别的并行、迭代和模仿网络(有源码)
一、研究动机
在场景文本识别中,根据解码的策略,识别模型可以大致分为自回归模型和非自回归模型。大多数基于注意力机制的方法都是自回归模型。它往往从左到右解码文本,利用之前得到的结果预测下一个字符,多次循环该过程,循环的次数取决于文本的长度。
这种模型能够很好地建模语义信息,所以它的识别性能好,但推理速度相对较慢,尤其是在处理长文本的时候。相反,非自回归方法可以并行预测文本,典型的例子就是CTC解码器,它无需循环,一次性就能够解码出所有字符。这种并行推理显著提高了速度,但它的性能相对较差。因为它的独立性假设,忽略了字符之间的依赖关系,缺乏上下文信息。那,能否得到一个既快速又准确的识别模型呢?
为此,本文作者巧妙地结合了以上两种模型进行训练和推理,设计了PIMNet识别网络,使其兼具两者的优势。
二、方法原理简述
整体网络结构图如图2所示。首先输入图像经过主干网络,得到特征图。后面紧跟两个解码器,一个是并行解码器,它一次性能够预测若干个字符,通过多次迭代,预测得到完整的文本。蓝色实线箭头表示迭代解码的过程。这里的迭代次数是超参数,与文本的长度无关,文中设置为5次,这比大部分的文本长度小很多,因此可以达到快速解码的目的。根据前文所述,并行解码器的特征缺乏上下文语义信息,这会影响识别的准确性。所以,这里还采用了自回归解码器来指导并行解码器的特征学习。自回归解码器按照既定顺序一次预测一个字符,通过多次循环,解码出完整的文本。蓝色的虚线箭头表示循环解码的过程,文本长度有多长就要循环多少次。
自回归解码器的特征具有更丰富的语义和视觉信息,用它作为教师模型给并行解码器的特征提供监督信息,使得并行解码器能够学习到更好的特征,以提升识别的效果。
值得注意的是,在推理时,自回归解码器会被移除,只采用并行解码器,以此来保证较快的推理速度。
a)主干网络
这里的主干网络采用的是带有FPN结构的ResNet-50,输出第三阶段的特征图,大小为输入图像的1/8。主干网络之后堆叠了两层Transformer Units。最后输出一个通道数为512的特征图。
b)并行解码器
i. 解码策略
之前提到并行解码器需要迭代多次解码,这里介绍一下它采用的Easy First迭代解码策略[1]。这种策略是在每一次迭代中解码出k个字符,其中,k的计算方式是文本长度除以迭代次数,这能保证在迭代结束之后,所有位置都能得到预测结果。
这里引入了一个特殊的Token [Mask],用来表示在下一次迭代中该位置可以被预测。第一次迭代时,所有位置都需要被预测,所以所有位置都是[Mask] Token。第一次经过解码器,得到预测结果,保留置信度最高的前k个结果,这里保留了‘SHG’三个字符。然后这些保留下来的字符用来更新字符串。值得注意的是,该位置的字符不会被再次更新。在下一次迭代中,输入更新之后的字符串来获得预测结果,但只有[Mask]的位置会被更新,直至最后一次迭代结束,预测出完整的字符串。
与逐个解码的方式不同,该方法能够降低循环的次数;与从左到右解码的方式不同,该方法打破了顺序的限制,能够同时利用左边和右边的字符的信息来预测中间的字符;与CTC 解码器不同,这种迭代预测的方法能够学习到一些语义信息。
ii. 解码器结构
对于并行解码器,这里采用了基于Transformer的结构。它主要包含了三个部分,即Self-attention、Cross-attention和FFN。但解码的过程和传统的Transformer解码器不一样,这里采用了上述的迭代解码策略,迭代次数是事先确定的,往往比文本长度小,尤其是对于长文本,能够显著明加速推理过程。右图展示了一次迭代的解码过程,一次迭代预测出若干个字符。
c)自回归解码器
对于自回归解码器,这里采用的是传统的Transformer 解码器。无论是结构还是解码的策略,都和Transformer解码器一样。它是从左到右逐个解码,文本有多长,就要解码多少次。
d)模仿学习
那么,如何让自回归解码器来指导并行解码器学到更高质量的特征呢?这里采用了模仿学习,也就是自回归解码器作为教师网络,用自回归解码器的特征来监督并行解码器的特征学习。通过计算两者之间的余弦相似度来计算损失。
文中提到,在训练过程中,该损失只更新并行解码器,而不会更新自回归解码器,这样能使训练更加稳定。
e)损失函数
模仿学习的损失采用余弦损失,公式如下
其中,
整个网络是端到端的训练,一共三种损失,两种解码器在识别上的交叉熵损失,以及模仿学习的余弦损失。
三、和SOTA方法的比较
四、消融实验
a)并行解码器的迭代次数
在该方法中,迭代次数是一个重要的超参数,因此作者还分析了迭代次数的影响。
如表格所示,当并行模型只迭代一次时,识别效果不佳,这种只迭代一次的做法类似于CTC解码器,一次性识别出所有的结果,但完全没有用到上下文的语义信息。
本文提到,最大文本长度设置为30,所以迭代30次的解码过程类似于自回归解码,它的效果最好,但是推理速度较慢。从表中可以看出,当迭代次数增加时,性能显著提高。同时,推理时间也会相应增加。
其中迭代次数为5时,能够很好地平衡速度和精度,所以作者在其他实验中均采用5次迭代。
文中提到,该消融实验删除了自回归解码器分支,只有并行解码器。
b)模仿学习的分析
表 3 模仿学习的效果(截取自表 1 和SOTA方法的比较)
从表格中可以看出,具有模仿学习的结构在大部分测试集上获得了更好的准确率。
图 4输出特征的余弦相似性
为了进一步分析模仿学习的有效性,作者可视化了FFN输出的余弦相似度矩阵。从图中可以看出,模仿学习确实能够让并行解码器输出类似于自回归解码器的特征,这验证了模仿学习的有效性。同时,随着输出特征的辨识度的增加,预测结果确实得到了改善。
对于不同长度的文本,模仿学习也具有不同的效果。当文本长度小于6时,模仿学习的并不能带来明显的收益。然而,随着长度的增加,模仿学习能够显著提高识别精度。
c)推理速度的分析
表 5 不同解码策略的推理速度对比
为了进一步验证该方法在速度上的优势,作者将该方法与CTC解码器、Attention解码器进行了比较。如表所示,迭代5次的速度仍是Attention解码器的2倍。当迭代次数为1时,推理速度接近CTC解码器,因为它们都是完全并行解码,也就是一次性解码出所有字符。
d)后处理的分析
图 5 后处理策略
表 6 后处理策略的效果
五、定性分析
图 6 迭代解码的过程
六、总结及讨论
七、相关资源
代码开源地址:https://github.com/Pay20Y/PIMNet (TensorFlow版本)
参考文献
原文作者: Zhi Qiao, Yu Zhou, Jin Wei, Wei Wang, Yuan Zhang, Ning Jiang, Hongbin Wang, Weiping Wang
撰稿:廖倩颖
免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。
往期精彩内容回顾
[ACM MM 2021] | RecycleNet:一种重叠的文本实例的恢复方法
[ACM MM 2021] | RecycleNet:一种重叠的文本实例的恢复方法
[ICDAR 2021]RF-Learning:基于特征互助的自然场景文字识别方法
[竞赛冠军方法分享] | PRCV 2021表格识别技术挑战赛--分阶段表格识别方案
论文推荐|[AAAI 2022]文本Gestalt: 基于笔画感知的场景文本图像超分辨率重构
竞赛冠军方法分享 | 基于多模态GCN和句子排序的POI生成方案
论文推荐|[ICDAR 2021]基于局部和全局金字塔掩模对齐的复杂表格结构识别(有源码)
论文推荐|[NeurIPS2021] 一个大规模开放域视频文本数据集和基于transformer的端到端文本识别算法(有源码)
论文推荐|[ACM'MM 2021] MAYOR: 再思考基于Mask R-CNN的密集任意形状自然场景文本检测
论文推荐|[ICCV 2021] 面向表格结构识别的表格图重构网络(有源码)
欢迎加入中国图象图形学学会!(附入会攻略)
扫描二维码,关注我们: