Press "Enter" to skip to content

ICCV 2021 | 中科大联合华为云提出VisionLAN识别框架,解决语言建模低效困扰

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

文字识别中语言建模问题是目前的热点问题,如何快速有效地实现语言信息的提取成为了准确进行文字识别的关键。从RNN到Transformer,实现了从串行到并行的语言建模,效率大大提升。但是,我们认为这种 引入额外语言模型建模语言信息的框架是导致识别效率低的根本原因 。本文从语言建模入手,重新思考了语言建模在文字识别中的实现方式,在不需要引入额外语言建模结构的前提下,直接在视觉空间进行语言建模,实现快速准确的文字识别,方法简称VisionLAN。

 

 

论文:

 

https://arxiv.org/abs/2108.09661

 

代码:

 

https://github.com/wangyuxin87/VisionLAN

 

一、 解决问题

 

1.1 问题定义

 

之前的文字识别方法(这里主要针对基于语言信息的识别)主要由两个部分构成:视觉模型和语言模型,但是这样分离的结构存在以下两个问题:

 

1. 语言模型额外的计算开销 。

 

基于RNN,CNN和Transformer的语言模型由于引入额外的结构,从而增加了计算负担。另外,这些语言建模的结构的计算量会随着文字长度的增加呈现线性(RNN/CNN)或指数(Transformer)增长(图1右上角)。

 

2. 很难实现视觉和语言信息的充分融合 。

 

由于视觉信息和语言信息在两个独立的模型中考虑(CNN视觉+RNN/CNN/Transformer语言),因此视觉和语言信息的充分融合是困难的(可以参考多模态信息融合的概念)。

 

本文将上述两个问题的原因归纳为: 视觉模型不具有语言感知能力,即视觉模型在训练和测试只关注文字的纹理信息 (e.g. 简单的特征提取操作)。

 

 

图1 VisionLAN和之前方法的区别,以及针对语言信息提取产生的额外计算开销对比

 

其实针对上述问题有个很简单的方式可以解决: 直接在视觉空间中实现语言建模过程 。为了实现这一想法,我们先来回顾一下语言建模的公式 :

 

因此可以得出,对第i个字符的推理过程需要用到除了第i个字符以外其他字符的信息。这里本文的motivation就很明确了: 在视觉空间中对第i个字符视觉信息准确地遮挡,然后再用词级别标签进行监督,让视觉模型在没有第i个字符视觉信息的前提下,实现完整的词级预测,即完成了在视觉空间语言建模的过程 。上述操作使得视觉模型能够使用语言信息辅助识别过程,且有两个好处:

 

1. 整个过程不需要引入额外的语言模型,因此语言信息提取的额外开销为0(图1右上角)。

 

2. 视觉信息和语言信息在视觉空间被统一地考虑,识别过程更鲁棒。

 

但是这样做同样也会引入一个问题, 如何实现在视觉空间准确的字符级遮挡呢?  因为文本识别数据都是弱标注的(词级识别结果标注),要人工获取准确的像素级字符分割标注是代价很大的。虽然合成数据集能够从一定程度上去解决这个问题,但是目前识别方法的落地往往需要在真实目标数据集上进行微调,所以标注问题还是没有得到解决。

 

1.2 本文方法

 

本文的方法(VisionLAN)受到人类认知过程的启发: 语言是能够通过学习获得的 。因 此,我们以视觉模型为基础框架,通过在训练过程中引入对视觉空间字符级信息的遮挡( 采用弱监督的方式生成遮挡图,通过词级标注学习像素级字符分割图 ), 指导视觉模型直接在视觉空间进行遮挡字符信息的推理,从而赋予视觉模型语言能力 。

 

在测试过程中,视觉模型即可自适应地使用语言信息对视觉特征进行增强,实现利用语言信息辅助文字识别的效果。在计算效率上,因为没有引入额外的语言模型,使得我们的识别方法能够实现更加快速的文字识别。由于语言信息的获取是伴随视觉特征提取的过程,VisionLAN的速度也不会受输入单词长度的影响(图1右上角)。额外地,因为视觉特征和语言特征在一个统一的模型中被考虑,因此能够实现更鲁棒的识别过程。

 

1.3 贡献

 

1. 一种新的识别框架, 结构简单更简单,速度更快 。

 

2. 遮挡语言模型(MLM,之后会讲)通过弱监督的方式,将字符级视觉信息定位问题转化成了词级识别问题, 有效地解决了像素级标注的困扰 。

 

3. 提出一个新的遮挡数据集。据我们了解,这是目前第一个针对遮挡文字提出的识别数据集。(之后会详细介绍)

 

4. 实验证明VisionLAN获得了state-of-the-art的性能。

 

二、方法实现

 

图 2 VisionLAN的流程图

 

2.1 流程介绍

 

首 先通过主干网络对视觉特征提取得到视觉特征V。然后通过 遮挡语言模型 (Mask Language-aware Module,简称MLM)学习对应位置P的像素字符遮挡图 ,用于遮挡V中的字符位置信息。最后,将遮挡后的特征图 输入 视觉推理模块 (Visual Reasoning Module,简称VRM),实现对遮挡字符的推理(e.g. 图2中的”b”)。测试过程中,我们去掉MLM,直接使用VSR进行识别,因此MLM不会引入额外的计算量。这里主干网络我们采用和之前方法相同的ResNet45,不做赘述。

 

2.2 MLM

 

为 了通过词级识别标注学习到像素级字符遮挡图,我们引入了 基于弱监督的互补学习策略 (Weakly-supervised Complementary Learning,简称WCL)。如图3所示,对WCL的第一个分支,我们将 和V相乘,指导其识别内容为对应位置P遮挡的字符内容(e.g. P=1,gt=“b”)。相对的,对第二个分支我们我们将1- 和V相乘,指导其识别内容为剩余其他字符内容(e.g. gt=“urns”)。由此可以看出,WCL中的”互补”有两层意思:

 

1. 两个分支使用的遮挡图相加为1;

 

2. 两个分支分别预测遮挡字符和剩余单词。

 

图 3 MLM结构图

 

在WCL中,我们共享了 Transformer Unit 和 Prediction layer 。另外,Prediction layer为并行预测层,实现过程如下:

 

其 中, 是输入Prediction layer的特征, 是注意力图,c=512是通道数,N=25是最大时间步。h和w表示高和宽, 是字符顺序的位置嵌入[4,2], 是学习的参数。

 

 

图4 Mask_c可视化

 

通 过上述操作,我们巧妙地将像素级字符分割任务转换成了词级单词识别任务,整个过程不需要引入额外的标注。我们将 生成效果可视化,如图4所示,MLM能够很好地根据位置信息P定位到曲形文本中的字符(P=1, “nothing”),以及重复出现的字符(P=6, “confabbing”)。

 

2.3 VRM

 

VRM的结构如图5所示,包含两个部分, 视觉语义推理层 (visual semantic reasoning layer,简称VSR layer)和 并行预测层 (parallel prediciton layer,简称PP layer)。

 

 

图5 VRM结构图

 

由于VRM的输入为遮挡了字符后的视觉特征图 ,通过词级 别监督,能够使得VRM获得语言能力,通过其余字符推理出被遮挡字符的内容。VSR layer由N个transformer unit构成,用于提取全局语义信息。PP layer和MLM中的Predion Layer结构相同。

 

为了更好地理解VisionLAN是如何工作的,我们在测试过程可视化了VSR layer后的特征图。如图6所示,通过MLM的指导,VisionLAN能够有效地补充被遮挡的字符视觉语义(“better”中的”R”)以及正确地增强具有区分能力的特征(“trans”中的”t”)。因此, VisionLAN准确地识别输入图片为”better”和”trans” 。

 

 

图6 VSR layer特征可视化,红色为错误预测字符(第一行:输入图片;第二行:模型不使用MLM以及对应预测结果;第三行:VisionLAN以及对应预测结果)

 

2.4 Loss函数

 

VisionLAN 的loss函数包含三个,VRM中的识别损失 ,以及MLM中的遮挡字符识别损失 和剩余字符识别损失 。其中 , 和 我们都采用交叉熵损失。

 

三、实验

 

遮挡数据集介绍 :  我们提出了一个新的遮挡场景文字数据集,简称OST。 由于划痕和 字迹消退现象在场景文字中经常出现,我们使用了最直接的方法模拟这一现象: 使用线条来遮挡字符的视觉信息。 如图7所示,OST数据集中的图像被两种程度遮挡: 轻度遮挡(一条线)以及重度遮挡(两条线),线的颜色取决于周围背景颜色。 OST数据集中的图像从IIIT5K,IC13,SVT,IC15,SVTP以及CUTE中随机采样得到。 OST数据集总共包含4832幅图像。

 

 

图7 OST数据集可视化(第一行:轻度遮挡;第二行:重度遮挡;左:原图;右:遮挡图)

 

3.1 消融实验

 

MLM中遮挡比例实验 : 我们对训练过程中一个batch遮挡的sample比例进行了消融实验,得到遮挡:不遮挡=1:1时效果最好。当遮挡比例增加到2:1时,我们发现和1:1相比性能有所下降,我们推测是较大的遮挡比例打破了完整视觉特征和遮挡视觉特征在训练过程中的平衡。

 

 

图8 遮挡比例实验

 

WCL的有效性实验 : 针对只引入WCL中的第一个分支(遮挡字符识别,简称Mas only)或者第二个分支(剩余字符识别,简称Rem only),WCL的效果都较好,体现了”互补”概念的有效性。

 

 

图9 WCL有效性实验

 

和其他简单遮挡方法对比 : 由语言建模的公式得出,对第i个字符的识别过程需要除第i个字符以外的字符信息,因此随机对视觉特征遮挡不具备语言建模的能力(cutout/dropout)。通过精巧的设计和优雅的WCL,MLM准确地定位了字符级的视觉信息,指导VRM的语言建模过程。

 

 

图10 和随机遮挡方法对比

 

VRM的语言建模能力实验 : 通过增加VSR layer中的Transformer Units,我们得到了更鲁棒的视觉语言建模模型。包含三个Transformer Unit的VSR layer具有更强的语言建模能力。

 

 

图11 VRM语言建模能力实验

 

3.2 和state-of-the-art方法对比

 

由于将视觉信息和语言信息在一个统一的结构中考虑, VisionLAN能够获得更好的识别精度 。并且在规则数据集上(IIIT5K,IC13,SVT)分别取得了1%,0.2%,0.2%的提升,针对不规则数据集(IC15,SVTP,CUTE),分别取得了1%,0.9%和0.7%的提升。针对失真图像,因为不需要对图像进行校正,因此 VisionLAN的精度不受控制点检测的影响,从而和Aster以及Esir相比能够在不规则数据集上取得更好的识别结果 。

 

 

图12 state-of-the-arts对比

 

速度和参数量对比 : 因为MLM只在训练过程中使用,VisionLAN的推理速度(Speed)以及额外引入语言模型参数量(EIPs)相比现有基于语言模型的方法(串行:RNN;并行:Transformer)都取得了优势。

 

 

图13 速度对比

 

3.3 遮挡数据集上语言建模的能力

 

我们在本文提出的OST遮挡数据集上进行了语言建模能力的实验对比。虽然RNN和Transformer的语言模型一定程度上能够提升识别模型在视觉信息丢失情况下的识别结果,但是通过将视觉和语言信息在统一的结构中考虑, VisionLAN能够展现更鲁棒的语言建模能力,同时提升baseline 7.3%的识别精度 。

 

 

图14 OST数据集识别效果对比

 

3.4 长非拉丁文识别性能

 

我们在TRW15数据集上验证我们 对长非拉丁文的识别效果 ,验证VisionLAN的泛化性。和CTC以及2D-Attention方法对比,VisionLAN取得了14.9%的提升。和目前最好的方法SRN[2]对比,VisionLAN提升了3.2%的精度。

 

 

图15 TRW15识别效果对比

 

3.5 VisionLAN的定性分析

 

我们对VisionLAN的识别结果进行了可视化。如图16所示,针对字形相似的案例(a),背景因素影响的案例(b)和模糊案例(c), VisionLAN都能取得不错的识别结果 。具体分析可以参考论文中的描述。

 

 

图16 VisionLAN定性分析,红色为错误预测字符(上:不引入MLM识别结果;下:VisionLAN识别结果)

 

四、 总结与展望

 

本文提出了一种简单有效的文字识别方法,简称VisionLAN。VisionLAN有效地将2-step(视觉模型+语言模型)的识别过程过渡到了1-ste p(from Two to One)。和现有的方法相比,我们能够在统一的模型中同时考虑视觉和语言信息进行识别,在实现准确识别的同时,保证较高的计算效率。之后我们会在VisionLAN的基础上进一步研究,在未来的研究中继续探索VisionLAN的潜能。

 

Illustrastion   by Oleg Shcherba from Icons8

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注