ECCV 2022 | MGP-STR:一种基于视觉Transformer的多粒度文字识别方法(已开源)

2022-11-05 12:27 680 阅读 ID:475
将门
将门

本文简要介绍ECCV2022录用论文“Multi-Granularity Prediction for Scene Text Recognition”。论文提出了一种简洁高效的文字识别方法MGP-STR,该方法直接使用Vision Transformer (ViT)进行特征提取,专门为文字识别任务设计了自适应寻址聚合模块A³进行解码,并利用多粒度预测来隐式引入语言信息,不需要搭建额外语言模型。实验结果表明,MGP-STR的识别精度在常见的场景文字识别数据集上取得SOTA性能,且推理效率高。目前代码已经开源。

论文地址:

https://arxiv.org/abs/2209.03592

代码链接:

https://github.com/AlibabaResearch/AdvancedLiterateMachinery/tree/main/OCR/MGP-STR

一、研究背景

从自然图像中读取文字内容是构建智能化系统的重要能力之一。Scene Text Recognition (STR) 场景文字识别任务旨在将已经裁切好的文字图像区域进行解码,从中获取文本信息以供后续高级知识理解任务使用,如机器翻译、智能问答、信息抽取等。早期的STR方法使用卷积网络CNN进行特征提取然后进行解码,如CRNN[1]。近年来,语言模型常被显式引入STR模型中来提高视觉信息损坏时的模型识别能力,如SRN[2]和ABINet[3]。这类方法虽取得了不错的效果,但是模型需要进行迭代矫正,模型设计和推理也相对复杂。此外,Vision Transformer (ViT)在常见的图像识别、检测、分割等视觉任务中表现突出。ViTSTR[4] 直接使用ViT作为模型Backbone提取特征来完成STR任务。该方法设计简单,但没有针对STR任务的特性进行具体设计,导致模型性能一般。

为了解决上述问题,作者提出了MGP-STR方法,该方法使用ViT进行特征提取,并根据STR任务设计了自适应寻址聚合 (Adaptive Addressing and Aggregation, A³) 模块进行特定字符特征的寻址和聚合。同时,为了隐式地学习单词中的语言信息,作者提出了多粒度预测模块直接输出三种粒度预测结果(Character, Subword, Word)并进行有效融合输出。因此,MGP-STR方法没有显式的语言模型,推理时也不需要进行迭代矫正,整体模型框架简洁高效。该方法与之前研究工作在Pipeline上的对比如图1所示。

                                                         图1. 不同文字识别方法的Pipeline

二、方法简述

2.1 整体框架

MGP-STR方法整体框架如图2所示,主要由视觉特征提取模块、自适应寻址聚合 (A³) 模块和结果融合模块构成。

                                                          图2. MGP-STR方法的整体结构

2.2 视觉特征提取模块

MGP-STR使用ViT作为特征提取器。相较于传统ViT使用的224 x 224图像和16 x 16的Patch。MGP-STR使用 32 x 128尺寸的文本图像作为输入。这与常见的STR方法保持一致,也符合文本图像的独有特性。同时将Patch大小缩小至4 x 4。最终经过12层的Transformer后得到 8*32+1=257个Token特征。

2.3 Adaptive Addressing and Aggregation (A³) 模块

传统ViT模型通过添加一个可学习的Xclass Token聚合各个Token的信息来完成全局图像的分类。然而,STR任务需要产出整个文字序列的识别结果,且每个字符仅对应图像中的局部Patch。ViTSTR[4]直接使用Transformer最后一层输出的前T个Token作为T个字符的特征。导致了其他token的信息损失。

为了充分地利用所有Token的信息,作者提出了自适应寻址聚合(A³)模块在所有Token特征中对各个位置的字符进行自适应地寻址并进行特征聚合,从而得到T个字符的特征,实现过程如图3所示。

                                                                 图3. A³模块的网络结构

这里展示了三种不同的A³模块的结构细节,该过程均是通过在空间域上的Attention实现的,具体公式如下:

2.4 多粒度预测

通过显式的语言模型来提高视觉信息损坏时的模型识别能力是目前的常见方法。相对于机器翻译中的大型语言模型,在文字识别任务中的语言模型仅需要学习常见的单词如The, One, Text等,或者子词(Subword)结构如Tion, Ter, Tor, Mer等N-gram片段。作者使用自然语言处理中的Subword Tokenization方法将不常见的单词拆分为有意义的Subword,并且保留常见的单词。最终,作者使用了两种切分方式BPE和WordPiece进行相互补充。

部分切分例子如图4所示。Character可进行简单的字符级的切分,BPE倾向于产出细粒度的Subword结果,而WordPiece则最大程度的保留了整个单词的完整性。通过这三种切分,单词中的语言信息已经隐式地被嵌入了。同时,上述提出的A³模块不仅能对单个字符进行寻址和特征聚合,同样也能对Subword甚至整个Word进行寻址聚合。因此,作者设计了三种A³模块来自适应地聚合产出Char,BPE和WP相对应的识别特征。

                                         图4. 不同Tokenization对于单词的不同切分结果

2.5 结果融合

由于MGP-STR会产出三种输出结果,他们的输出长度可能不同。因此,作者在决策层进行结果融合。在推理过程中,每个Character或者Subword都会产出识别置信度,将这些置信度进行累乘作为该单词在这个分支的置信度,取Char,BPE和WP分支置信度最大者的结果作为模型的最终输出。

三、主要实验结果

表1给出了图像尺寸、Patch尺寸以及A³模块对模型的影响,其中MGP-STRP=16和MGP-STRP=4没有使用A³模块,直接使用前T个Token进行输出类似于ViTSTR[4],但是图像尺寸和Patch大小不同。对比发现小尺寸且小Patch对于STR任务有明显提升。MGP-STRvision使用了Char A³模块,模型精度有较大提升,证明了A³模块对于STR任务的有效性。同时,相较于纯视觉CNN的STR方法,MGP-STRvision也有显著优势。

                                           表1. 图像尺寸、Patch尺寸以及A³模块对模型的影响

表2对比了不同Tokenization对于模型的影响。无论使用何种切分方式的组合进行训练,最终经过结果融合后,性能均能超过只有Char分支的纯视觉方法MGP-STRvision。

                                                           表2. 不同Tokenization对于模型的影响

表3对比了显式语言模型BCN和隐式语言嵌入MGP。MGP-STRFuse方法隐式引入语言信息的效果优于MGP-STRvision显式地与ABINet中的语言模块(BCN)相结合的效果。实验说明多粒度预测方法使用语言信息的能力要优于显式的语言建模。

                                                                      表3. 与显式语言模型比较

MGP-STR方法使用DeiT模型权重进行初始化,作者测试了不同大小DeiT模型下方法的性能。如表4所示,在任何模型大小下,多粒度预测都能带来显著的性能提升。同时,Small模型下MGP-STRvision已经能超过SOTA的纯视觉CNN方法。

                                                                 表4. 不同DeiT版本下的性能

与SOTA方法的对比如表5所示。MGP-STRFuse方法有显著提升,取得了最优性能。

                                                                       表5. 对比SOTA方法

模型多粒度预测的细节如表6所示。前三幅图由于不规则字体、运动模糊、弯曲字体、遮挡等问题,导致单词个别字符识别错误。因此,Char分支置信度较低,而BPE, WP分支识别正确,且置信度较高,融合后识别正确。后三幅图中,Char和BPE分支的输出和图像视觉内容高度相关。而WP分支会更偏向语义信息,预测为常见单词“Today” 和“Guide”。由此可见,三个分支输出特性各异且能够优势互补。

                                                                    表6. 模型多粒度预测结果

三种A³模块的可视化结果如图5所示。即使相同长度的单词但形状、位置不同,Char A³也可以非常精确的定位到各个字符位置,如单词“Bar” 和“Day”。对于弯曲、长单词、手写体等文本图像,单个字符定位也非常准确。BPE和WP分支的可视化效果一般,但也呈现出部分的分词效果。

                                                                         图5. 可视化结果

表7分析了MGP-STR方法的推理时间和模型大小。MGP-STR使用并行解码,同时不需要进行迭代矫正,推理速度优势明显。但模型由于使用了较大分类数目的分类头来进行Subword的预测,导致模型略大。在模型大小受限的场景下,可仅使用MGP-STRvision方法,它的性能也超越了目前SOTA的STR方法。

                                                              表7.模型推理时间和模型大小

四、总结

本文提出了一种简洁高效的文字识别方法MGP-STR。该方法使用ViT进行特征提取,并通过多粒度预测引入语言信息,无需显式地构建语言模型。实验结果表明MGP-STR方法的识别精度超越了CNN-based和ViT-based的SOTA方法,且推理效率高。在Transformer时代,该方法为文字识别任务搭建了一个非常简洁高效的ViT-based Baseline,希望能带来更加深远的影响。

参考

[1] Shi, Baoguang, et al. An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition. TPAMI 2016[2] Yu, Deli, et al. Towards accurate scene text recognition with semantic reasoning networks. CVPR2020[3] Fang, Shancheng, et al. Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition. CVPR2021[4] Atienza, Rowel. Vision Transformer for Fast and Efficient Scene Text Recognition. ICDAR 2021

作者:达铖

文章来源:公众号【 CSIG文档图像分析与识别专委会】

llustration by nanoagency from IconScout

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn