当前位置:网站首页>ACM MM 2022 Oral | DIG: 自监督文字识别的新框架,刷新11个公开场景文字数据集的识别性能,平均提升5%...
ACM MM 2022 Oral | DIG: 自监督文字识别的新框架,刷新11个公开场景文字数据集的识别性能,平均提升5%...
2022-07-23 17:36:00 【我爱计算机视觉】
关注公众号,发现CV技术之美
本文介绍了一种由华科与华为联合提出的全新自监督文字识别框架 DiG。该模型统一了对比式与生成式自监督方法,并在下游的文字识别任务中,刷新了11个公开场景文字数据集的识别性能,平均提升5%。论文『Reading and Writing: Discriminative and Generative Modeling for Self-Supervised Text Recognition』, 由华科大&华为云联合提出一种融合生成式与对比式的自监督文字识别方法。
详细信息如下:

作者:杨明锟,廖明辉,卢普,王晶,朱声高,罗华霖,田奇,白翔
单位:华中科技大学、华为云
论文链接:https://arxiv.org/abs/2207.00193
01
前言
现有的文本识别方法通常需要大规模的训练数据。由于缺乏带标注的真实文本图像,这些方法大都采用计算机合成的图像进行训练。但是,合成数据和真实数据之间存在较大的领域差距,这限制了文本识别模型在真实应用场景中的性能。
近年来,有研究人员通过基于对比学习的自监督学习来利用无标注的真实文本图像。受到人类识别文本的过程是同时通过“读”和“写”的启发,本文提出将对比学习和掩码式图像建模融合到一个自监督框架,以同时学习图像的区分性特征和上下文信息。
具体来说,对比学习分支用于学习文本图像的区分性特征,模仿人类的阅读行为。而掩码式图像建模首次被用于文字识别,用于学习文本图像的上下文生成,模仿人类的写作行为。
实验结果表明,本文的方法优于之前的自监督文本识别方法。并且相对于最先进的文本识别方法,本文的方法在11个数据集上得到了整体5.3%的性能提升。本文也验证了预训练得到的模型可以直接被应用到文本相关的其他下游任务,比如文本分割和超分辨率等等,并且得到明显的性能增益。
1.1 主要动机
本文观察到人类通过“读”和“写”来学习认识文本图像。“读”是指通过区分不同文字或者不同视角的外观来学习其区分性区域。“写”是指基于部分文字块,能够联想出整个文字。“读”和“写”的结合,才能帮助人类更好地学会认识文字。基于这种观察,本文提出将类比人类“读”行为的对比学习和类比人类“写”行为的掩码式图像建模统一到一个框架当中,以获得更好的图像特征表示。
1.2 主要贡献
本文首次将生成式自监督模型引入到文字识别领域。
本文提出的DiG集成了对比学习和掩码图像建模。得益于区分性特征学习和上下文建模的互补性,在特征质量评估的实验中,DiG相对于对比学习和生成式建模而言,分别得到4.1%和11.8%的性能增益。
本文提出的DiG能够显著提升各类文本相关的下游任务,包括文字识别、文本分割和超分辨率。相对于之前的自监督文字识别方法,本文的方法在不规则文字数据集上能够取得10.2%~20.2%的性能提升。相对于最先进的文本识别方法,本文的方法在近似参数量的前提下,在11个数据集上得到了整体5.3%的性能提升。
02
方法
本方法的流程如图1所示,原始的输入图片通过预处理分别得到一个加了掩码的图像和一个数据扩增的图像。接着被送入ViT特征提取器,分别得到掩码图像特征和扩增图像特征。在掩码图像建模的分支,掩码重建模块用于恢复掩码区域的像素值。
在对比学习分支,掩码图像特征和扩增图像特征依次通过在线分支和动量分支的分块模块、映射模块和预测模块。最后将得到的所有特征向量用于计算对比学习。下面将详细解释对比学习分支和掩码建模分支的网络细节:

2.1 对比学习
DiG的对比学习分支主要是基于MoCo v3, 一些区别如下:
数据扩增:对于对比学习而言,有效的数据扩增至关重要。除了SeqCLR提到的数据扩增之外,本文还增加了颜色抖动、灰度化、轻微旋转等来增强预训练模型的特征表达能力。
编码器:本文采用ViT作为特征编码器。具体来说,输入图像首先被分为不重叠的4x4块,然后通过线性映射编码和位置编码,输入到随后的Transformer层。
分块模块:大多数对比学习方法都是针对一般图像而言。通常来说,图像特征被直接投影到单个向量中,并作为对比损失函数中的计算对象。然而,文本图像是一个文本序列,其特征图通常表示一串字符的特征。所以本文和SeqCLR一样,将文本图像按照水平方向分成多个图像块,并将每一个图像块作为对比损失函数的计算对象。
映射模块:该模块由一个3层的线性层构成,每一层由一个全连接层和一个Layer Norm组成。除最后一层外,每一层后面还有GELU。中间层的全连接层维度是4096,输出层的全连接维度是256。
预测模块:该模块和映射模块结构一样,但该模块只有两层线性层。
动量分支:该分支由分块模块、映射模块和预测模块组成,采用EMA对其参数进行更新。
2.2 掩码图像建模
DiG的掩码图像建模主要是基于SimMIM,由以下模块组成:
掩码策略:ViT的输入是一系列不重叠的图像块,本分支随机对其中的某些块打上掩码,实验发现对60%的图像块进行掩码效果最佳。
编码器:该分支和对比学习共享同一个ViT编码器。
预测模块:和SimMIM一样,在得到编码特征之后,接了一个轻量级的线性层对掩码区域的像素值进行预测。
2.3 优化目标
对比学习分支采用InfoNCR损失函数,掩码图像建模采用L2损失函数进行掩码恢复。
使用无标注真实数据对上述模型进行预训练之后,得到的编码器可以被应用到各个文本相关的下游任务中去,只需要接上各任务相应的预测网络即可,比如文字识别的序列解码器、文字分割和超分辨的像素级预测网络。
03
实验结果
文字识别的自监督任务是为了利用无标注的真实场景图像,来缩小有标签合成数据与真实应用场景之间的域间差距,因此本文收集了大量的无标注真实图像用于预训练。
3.1 自监督性能评估(消融实验)
首先,图2可视化了掩码图像建模分支的恢复效果,尽管有些图片有遮挡或模糊,本文依然可以获得令人满意的恢复效果,这表明DiG能够学得较好的上下文特征表示。

其次,为了评估自监督学习获得的特征质量,本文定量和定性地对其进行了分析。具体来说,在微调阶段,固定编码器参数,只训练解码器。由下图的可视化结果可以看出,DiG-ViT-Small对于曲形、背景干扰、透视失真、模糊、遮挡和艺术字等困难场景更加鲁棒。
从下表也可以观察到,得益于区分性学习和生成式学习的优势互补,DiG-ViT-Small在所有数据集上均取得最好的表现,并分别超过Gen-ViT-Small和Dis-ViT-Small 11.8%和4.1%。此外,也可以发现,对比学习虽然在大部分数据集上都优于生成式学习,但是在遮挡数据集上,生成式表现略微好些。


最后,评估微调整个下游识别网络参数的性能。在使用100%有标注真实数据的情况下,Gen-ViT-Small、Dis-ViT-Small和DiG-ViT-Small分别超过未预训练的Scratch-ViT-Small 6.8%,6.5%和7.3%。
而且随着有标注数据量的减少,DiG-ViT-Small的优势更加明显,在1%和10%标注的情况下,性能超过未预训练模型的57.7%和21.2%。
实验结果表明,无论是对比学习还是掩码图像建模的自监督方法都可以大大提升文字识别的准确率,并且也显示了两者结合(所提出的DiG)可以获得更好的性能。

3.2 文字识别下游任务性能对比
首先,本文和现有的自监督文字识别方法进行了对比,结果如下表所示。本实验对目前文字识别的主流解码器都进行了讨论。可以看到,DiG的性能可以一致超过SeqCLR和PerSec。

然后,本文将微调后的文字识别模型和最近的sota文字识别方法进行了对比。下图显示了模型参数量和文字识别准确率之间的关系。可以看到,得益于自监督预训练,DiG能够达到在模型大小和准确率上得到更好的均衡。其中,DiG-ViT-Tiny虽然有着最少的参数量,但已经能够超过目前最好的文字识别方法了。更多实验结果对比如下表所示。


3.3 文字分割下游任务性能对比
本文也首次在文本图像块上进行文字分割,以验证自监督对其他相关任务的有效性。在分割的IoU评价指标下,DiG-ViT-Small比Scratch-ViT-Small高出了5%。从下图的一些可视化结果可以看出,预训练可以增强分割模型在背景噪声、透视失真和低分辨率等复杂场景的鲁棒性。

3.4 文字超分辨率下游任务性能对比
近年来,文字超分辨任务得到了广泛的关注。从下表可以看出,相对于未预训练的模型而言,DiG可以大大提高其性能。此外,未经复杂的模型设计,经过DiG预训练的模型也可以达到和SOTA方法可比的性能。

04
结论
在本文中,作者研究了基于自监督的文字识别方法。所提出的DiG同时兼顾了对比学习中的区分性特征学习能力和掩码图像建模中的生成式表示。本文也验证了DiG在文字识别、文字分割和超分辨率上的有效性,在各个任务上都得到了巨大的性能提升。

END
欢迎加入「文本识别」交流群备注:OCR

边栏推荐
- 去中心化存储面临的挑战
- Testing scheme of granite dielectric constant by network
- Tree learning summary
- Time2Vec 的理解与简单实现
- FPGA实现IIC协议(二)之IIC总线的FPGA实现(单次读写驱动)
- SQL statement exercise
- C language small project - address book (static version + dynamic version + file version)
- (CVPR-2022)BiCnet
- 多线程&高并发(全网最新:面试题+导图+笔记)面试手稳心不慌
- moxa串口服务器型号,moxa串口服务器产品配置说明
猜你喜欢

What is the difference between preamplifier and power amplifier?

【leetcode天梯】链表 · 206 反转链表

正则化不同导致的tuple错误

Access intranet rds+mysql through SSH

去中心化存储面临的挑战

Four principles of interface design

Leetcode daily question (1514. path with maximum probability)

【机器学习】吴恩达:终生学习

Weights & Biases (一)

How can zero foundation self-study software testing? Ten year test Laoniao's strongest software test learning Roadmap
随机推荐
FPGA flash reading and writing based on SPI
Terminal command (all)
【论文阅读】GETNext: Trajectory Flow Map Enhanced Transformer for Next POI Recommendation
[machine learning] Wu Enda: lifelong learning
Conception de l'interface UART basée sur la FPGA
树莓派3b串口登录前准备工作
Rapid establishment of devstack cloud computing platform
【机器学习】吴恩达:终生学习
Emgucv common function function description "suggestions collection"
How can mysqldump export content without comments?
What content does the software test plan include and how to write it. Share test plan template
Elk notes 25 - experience APM quickly
C # split usage, split split split string
You must execute multiple requests and catch errors. Using try catch is not elegant
树莓派ssh登录
FPGA实现IIC协议(二)之IIC总线的FPGA实现(单次读写驱动)
not all arguments converted during string formatting
Why are there Chinese materials and web pages for foreign chips?
图学习总结
使用 frp 实现内网穿透