现有的文本识别方法通常需要大规模的训练数据。由于缺乏带注释的真实图像,它们中的大多数依赖于合成训练数据。然而,合成数据和真实数据之间存在领域差距,这限制了文本识别模型的性能。最近的自监督文本识别方法 试图通过 引入对比学习 来利用未标记的真实图像,对比学习主要学习文本图像的辨别。受人类 通过阅读和写作 学习识别文本的观察的启发,本文建议,通过在本文的自监督方法中 集成 对比学习 和 掩码图像建模 来学习辨别和生成。

采用 对比学习分支 来学习文本图像的判别模仿人类的阅读行为。同时,首先将 掩码图像建模 用于文本识别,以学习文本图像的上下文生成,这类似于书写行为

实验结果表明,本文的方法在不规则场景文本识别数据集上优于以前的自监督文本识别方法 10.2%-20.2%。此外,本文提出的文本识别器在 11 个基准上平均超过了以前最先进的文本识别方法 5.3%,具有相似的模型大小。还证明了本文的预训练模型可以很容易地应用于其他与文本相关的任务,并具有明显的性能提升。


从图像中读取文本 [23, 30] 是一个连接视觉和语言的长期且有价值的话题,主要包括文本检测 [31, 32] 和文本识别 [44, 45]。由于大多数现有的文本识别方法都需要大量数据,而带注释的真实图像价格昂贵,因此它们通常依赖于大规模的合成训练数据。然而,合成数据和真实数据之间的领域差距限制了文本识别模型的性能。因此,探索未标记的真实图像的使用是有意义的,这可以进一步激发文本识别模型的潜力。

 采用自监督学习 进行文本识别 以充分利用真实图像 是很自然的。以前的工作试图 通过 引入对比学习 来利用未标记的真实图像。SeqCLR [1] 提出了一种用于文本识别的 序列到序列 对比学习框架。 PerSec [34] 介绍了一种用于文本识别的 分层对比学习方法。它们都是基于对比学习,主要侧重于学习文本图像的辨别,如图1a所示。

本文观察到 人类通过阅读和写作来学习识别文本图像

  • 阅读 是指 从不同的外观或不同的角度观察文本,这有助于我们学习辨别力
  • 写作是一种更深入地识别文本图像的生成方式

阅读和写作的结合有助于人类更好地识别文本。受这一观察的启发,本文提出了一种用于文本识别的判别式和生成式自监督方法(DiG)

如图 1b 所示,本文提出的 DiG 将对比学习和掩码图像建模集成到一个统一的模型中,以充分享受判别模型和生成模型的优越性。具体来说,将输入图像的两个视图(称为 掩码视图 和 增强视图)输入编码器,以执行对比学习。同时,掩码视图还用于 掩码图像建模。这样,DiG 可以同时学习文本图像的判别和生成,从而为文本图像 生成更鲁棒的特征表示。

在本文提出的 DiG 的帮助下,我们可以 预训练 文本识别的基础模型,以及其他一些与文本相关的任务,例如 文本分割 和 文本图像超分辨。


        Contributions:

  1. 本文提出了一种判别式和生成式自监督模型,这是第一个引入生成式自监督学习进行文本识别的模型;
  2. 本文提出的 DiG 将对比学习和 掩码图像建模集成到一个统一的模型中,同时利用了判别和生成的学习。特征表示的评估实验表明,DiG 分别比生成模型和判别模型平均高出 11.8% 和 4.1%
  3. 本文的 DiG 可以显著提高各种文本相关任务的准确性,包括文本识别、文本分割 和 文本图像超分辨率。具体来说,本文的文本识别模型 不仅在不规则场景文本识别数据集上超过以前的自监督文本识别方法 10.2%-20.2%,而且在 11 个基准测试中平均超过以前最先进的文本识别方法 5.3%,具有相似的模型尺寸。


最近的视觉自监督学习方法大致可以分为两类:对比学习 掩码图像建模,分别是判别方法和生成方法的代表技术。

 对比学习

对比学习方法 [15, 18] 通过正对和负对学习视觉表示。MoCo [20] 构建了一个带有 队列和 移动平均编码器的动态字典,它将对比学习视为字典查找。 SimCLR [5] 通过 删除专门的架构或 内存库 来简化对比学习算法。 MoCo v2 [7] 通过 采用SimCLR 中的两种有效的设计 来扩展 MoCo,这进一步证明了 MoCo 的优越性。 SimCLRv2 [6] 提出了一个新的三步流程,包括无监督或自监督预训练、监督微调 和 使用未标记数据的蒸馏。与以前主要关注 CNN 的方法不同,MoCo v3 [8] 通过 缓解不稳定性问题 研究了 将对比学习应用于vision transformers。

掩码图像建模

掩码图像建模 [4, 12] 最近发展迅速,与自然语言处理中掩码语言建模 [11] 的发展并行。MAE [19] 和 SimMIM [60] 提出了用于 vision transformers 的 掩码图像建模算法。他们遮盖了输入图像的随机patches 并重建了丢失的像素。 MaskFeat [58] 研究了重建目标,并用 HoG [10] 特征替换像素进行重建。与对比学习方法相比,掩码图像建模为自监督学习提供了另一种视角,简单而有效


最近的文本识别方法 包括 序列到序列sequence-to-sequence[44,45,63] 和 基于分段的[33]方法,前者更灵活、更方便地 从端到端的方式中获利。

现有的基于 sequence-to-sequence 模型的文本识别方法根据解码器可以分为三种类型:CTC解码器、注意力解码器和Transformer解码器。 CRNN [44] 是一种具有代表性的基于 CTC 的文本识别方法。它由一个 CNN 特征提取器、一个 RNN 序列编码器和一个 CTC 解码器组成。大多数基于 CTC 的文本识别方法 [21, 47] 采用了类似的流程。注意力解码器在之前的文本识别方法中也很流行。例如,施等人[45] 设计了一个带有 注意力解码器 和 空间变换网络的文本识别模型,用于不规则文本识别。 Yang 等人 [64] 和 Wojna 等人[59]进一步采用了空间注意解码器。最近,由于 Transforms 的迅速崛起,一些文本识别方法 [28, 37] 将 Transformer 解码器应用于文本识别模型。


 序列到序列模型近年来在文本识别领域占据主导地位,因为它们不需要字符级注释。因此,现有的自监督文本识别方法是基于序列到序列模型的。 SeqCLR [1] 提出了一种用于文本识别的 序列到序列 对比学习框架。它将对比学习应用于序列的各个元素,同时保留它们的顺序信息。所提出的框架对 CTC 解码器 和 注意力解码器都是有效的。 PerSec [34] 还介绍了文本识别的对比学习。它提出了分层对比学习,在高和低层次上驱动特征的每个元素。PerSec 使用 1 亿张未标记图像进行了预训练,并使用合成数据进行了微调以证明其有效性。

与这些仅将对比学习应用于文本识别的方法相比,本文将对比学习和掩码图像建模整合到一个统一的模型中,充分发挥了判别学习和生成学习的优势。


本文遵循自监督学习的通用流程,包括自监督预训练和特定任务微调。在特定任务微调阶段,该模型由一个 从自监督预训练阶段 训练的编码器一个特定任务解码器 组成。我们首先在 Sec. 3.1中介绍了本文提出的方法 DiG 的架构。然后,对比学习模块和掩码图像建模模块在Sec 3.2 和Sec 3.3中分别描述。之后,优化的细节在Sec 3.4中描述。 最后,本文提出了三个下游任务,包括文本识别(第 3.5 节)、文本图像超分辨率(第 3.7 节)和文本分割(第 3.6 节)。


本文提出的 DiG 的架构如图 2 所示。输入图像首先被调整为H*W,其中H=32,W=128是输入图像的高度和宽度。然后,输入图像的两个视图,包括 掩码视图xm 和增强视图 xa,被送入 ViT [14] 编码器F(·),生成掩码特征fm 和 增强特征 fa。在 掩码图像建模分支中,将 重构头 应用于 fm 以重建 掩码图像建模 的目标。在对比学习分支中,fm 和fa 由patch头 P(·) 、 投影头K(·) 和预测头Q(·) 处理 来生成相应的query qm 和 qa。此外,由组成的动量分支用来生成key 。最后,收集 query 和 key(包括来自其他图像的负样本,图 2 中未显示)以计算对比损失。


本文的对比学习算法继承自 MoCo v3 [8],并做了一些小的修改。

  • 遵循[34] ,除了 SeqCLR 中使用的增强操作外,还采用了更多的图像增强,包括颜色抖动和灰度,以提高预训练模型的表示质量。
  • 使用 ViT [14] 作为特征编码器。具体来说,输入图像首先被分割成大小为 4 × 4 的非重叠块,然后通过 添加了位置嵌入 的线性映射层 嵌入。使用一堆 Transformer 块 处理生成的patches 。
  • 大多数现有的对比学习方法都是为一般的对象图像设计的。通常,编码的特征图被投影到单个向量中,然后将其用作对比损失中的原子元素。然而,文本图像是一个类似序列的对象,其特征图表示一系列字符。遵循 SeqCLR [1],编码的特征图 根据经验 水平分成四个块,每个块被认为是对比学习的原子输入元素。

掩码图像建模模块 遵循 SimMIM [60],它由以下四个主要组件组成。

  • 掩码策略 本文采用patch对齐的 随机掩码策略。patch大小设置为 4 × 4。根据经验,掩码比率设置为 0.6。每个掩码patch都被替换为可学习的掩码标记向量。
  • 编码器:与对比学习分支共享 ViT [14] 编码器。
  • Prediction Head :遵循 SimMIM ,本文使用 线性层 作为预测头,非常轻量级。
  • 重建目标:采用原始像素的RGB值作为重建目标。

本文提出的 DiG 的损失函数 L 表示为:

其中 Lc 和 Lm 分别表示 对比学习的损失函数 和 掩码图像建模的损失函数。 α是一个比例因子,根据经验设置为 0.1。

本文对 Lc 应用 InfoNCR [49] 损失。假设来自 掩码视图 和 增强视图 的两个查询是 qm 和 qa, 并且它们来自动量分支的对应键是 ,对比损失 Lc 可以表述为:

这里 表示从同一批次的其他输入图像中获得的负样本。表示温度,设置为 0.2。

L2 损失函数用于 Lm:

其中 是 掩码像素 i 的预测值和 RGB 目标; N 是被掩码的像素数。


本文的下游任务之一 文本识别模型 由 ViT 编码器 和 文本识别解码器 组成,其中编码器继承自 DiG,解码器将 2D 特征转换为字符序列。文本识别解码器 可以是 CTC 解码器 [44]、注意力解码器 [45] 或 Transformer 解码器 [28, 50]。 Transformer 解码器由 6 个相同层的堆栈组成,与最近的基于 ViT 的文本识别方法 SATRN [28] 相同。由于 CTC 解码器是在 1维特征序列上进行的,因此编码的特征图在被馈送到后续解码器之前会被垂直平均池化。文本识别的工作流程如图 3 所示。


本文的下游任务之一 文本分割模型 由继承自 DiG 的 ViT 编码器 和 轻量级文本分割解码器 组成。文本分割解码器由  3 个多头注意力层 和 一个线性预测头 组成,其中头数设置为 2,嵌入维度为 384。对文本分割模型应用 L1 损失


本文的下游任务之一  文本图像超分辨率模型 包含来自 DiG 的 ViT 编码器 和 轻量级超分辨率解码器。超分辨率解码器类似于文本分割解码器。我们为此任务采用 L2 损失


自监督的预训练 本文使用普通的 ViT 作为特征编码器。为了与具有不同模型大小的各种最先进的文本识别器进行比较,本文采用了 3 种 ViT 变体,即 ViT-Tiny、ViT-Small 和 ViT-Base。这些变体之间的唯一区别是嵌入大小,分别使用了 192、384 和 512。


掩码图像建模的一些重建结果在图 4 中可视化。从可视化中,我们可以看出即使原始图像被遮挡或模糊,重建也可以产生令人信服的文本重建。这表明该模型学习了出色的生成特征表示

本文通过 固定编码器的权重 并 使用带注释的真实数据 训练文本识别解码器 来评估不同设计的特征表示的质量。如图 5 所示的定性比较,“DiG-ViT-Small”在各种情况下都表现出稳健的结果,包括弯曲文本、受背景干扰的文本、透视失真的文本、模糊的文本、遮挡的文本和艺术字,而“Gen-ViT-Small”和“Dis-ViT-Small”可能会对这些复杂的情况 做出错误预测。标准场景文本基准的定量结果列于表2。受益于 判别学习 和 生成学习 的集成, “DiG-ViT-Small”在所有基准测试中均取得最佳成绩,分别超过“Gen-ViT-Small”和“Dis-ViT-Small”11.8% 和 4.1%。对于判别模型和生成模型的比较,“Dis-ViT-Small” 在大多数基准上 获得了更高的准确度,而“Gen-ViT-Small” 在两个被遮挡的数据集上表现更好,由于遮挡图像和掩码图像的相似外观。

实验结果表明,对比学习和 掩码图像建模 都可以提高文本识别的准确性,并且它们的集成达到了最佳效果,这证明了本文提出的 DiG 的有效性


将提出的文本识别模型与 Tab 4 中现有的自监督文本识别器进行比较。本文提出的 DiG 在不同的基准上显着超过了 SeqCLR 和 PerSec,包括常规/不规则场景文本基准和手写文本基准。在具有挑战性的基准测试(例如 IC15、SVTP 和 CUTE)上,这些改进尤其明显。 如果在本文的模型中采用 ViT-base,差距分别增长到 13.9%、11.1% 和 20.0%。请注意,“PerSec-ViT + UTI-100M”使用 100M 私有未标记图像进行预训练,而 DiG 仅使用 15.77M 未标记图像。此外,DiG 可以通过使用 Transformer 解码器进一步改进,这是其他实验中的默认设置。

合成文本数据 (STD) 与带注释的真实数据 (ARD)

本文在 Tab 5. 中比较了不同的带注释训练数据。 STD(17M)由于规模大而提供更多的语义信息,而ARD(2.78M)在外观上包含更多变化。有两个观察结果如下:

(1) 对于从头训练的模型,小型模型(“Scratch-ViT-Tiny”和“Scratch-ViT-Small”)使用 STD 获得更高的准确度,而大型模型(例如“Scratch-ViT-Base”)使用ARD 获得更好的结果。原因可能是小型模型仅限于外观表示,因此这些模型更多地受益于 STD 中丰富的语义信息。当模型变大时,更强的外观表示有助于模型使用 ARD 获得更高的结果。

(2) 对于使用 DiG 预训练的模型,使用 ARD 微调的模型始终比使用 STD 微调的模型取得更好的结果,这与从头训练的小型模型不同。这表明 DiG 预训练缓解了有限外观表示的问题

第一个观察在一定程度上告诉我们,以前的场景文本识别方法大多是用 STD 训练而不是带注释的真实数据的原因。使用 DiG,即使 ARD 的规模小于 STD,使用 ARD 也可以始终获得更高的结果。因此,DiG 不仅可以充分利用未标记的图像,还可以激发带注释的真实数据在文本识别方面的潜力


场景文本识别:图 6 中 ,DiG 在模型大小和准确性之间实现了更好的权衡。在DiG 的帮助下,我们的文本识别模型显着超越了以前的状态在 11 个场景文本识别基准上使用最先进的文本识别方法。带注释的真实数据可以通过从 DiG 学习到的强特征表示获得更好的结果,因此,我们还在表6 中列出了使用 ARD 数据微调的结果,进一步刷新了大多数场景文本识别基准的最新结果。


文本分割:本文是第一个在 TextSeg 数据集上 进行patch级别的文本分割实验的。因此,我们将我们的文本分割模型与自监督预训练与从头开始训练的基线进行比较。如表中所示。如图 7 所示,“DiG-ViT-Small”的 IoU 指标比“Scratch-ViT-Small”高 5%。一些可视化的文本分割结果如图 7a 所示。可以观察到“DiG-ViT-Small”在文本图像存在背景噪声、透视失真或低分辨率的复杂情况下,其分割效果优于“Scratch-ViT-Small”。

文本图像超分辨:本文的模型无需任何特定设计,即可获得比现有先进方法更好的结果。


掩码图像建模是为基于 ViT 的模型设计的,尚未在 CNN 上得到验证。因此,我们提出的 DiG 可能不适合 CNN 主干。然而,这不是一个大问题,因为大多数现有的文本识别器都是序列到序列的模型,它们与 ViT 或 Transformer 的结构完全匹配。


Conclusion

在本文中,研究了用于文本识别的自监督学习。所提出的 DiG 是对比学习和掩码图像建模的集成,它获得了判别表示和生成表示的优越性。本文在文本识别 和 其他文本相关任务(如文本图像超分辨率和文本分割)上验证 DiG。通过 DiG 预训练的基础模型,可以显着提高特定任务模型的性能。未来,我们将探索结合 文本识别 和 自然语言处理的自监督学习。

自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn相关推荐

  1. 自监督论文阅读笔记 Urban feature analysis from aerial remote sensing imagery using self-supervised and semi-s

    "Urban feature analysis from aerial remote sensing imagery using self-supervised and semi-super ...

  2. 自监督论文阅读笔记DisCo: Remedy Self-supervised Learning on Lightweight Models with Distilled Contrastive

    "DisCo: Remedy Self-supervised Learning on Lightweight Models with Distilled Contrastive Learni ...

  3. 【自监督论文阅读笔记】Contrastive Self-Supervised Learning With Smoothed Representation for Remote Sensing

    在遥感中,随着时间的推移不断积累大量未标记的图像,很难对所有数据进行标注.因此,一种可以使用未标记数据提高识别率的自监督学习技术将对遥感有用.这封信介绍了 基于 SimCLR 框架的 遥感平滑表示的 ...

  4. 自监督论文阅读笔记 Self-Supervised Pretraining for RGB-D Salient Object Detection

    现有的基于 CNN 的 RGB-D 显著对象检测 (SOD) 网络都需要在 ImageNet 上进行预训练,以学习有助于提供良好初始化的层次特征.然而,大规模数据集的收集和注释既耗时又昂贵.在本文中, ...

  5. 【自监督论文阅读笔记】Efficient Visual Pretraining with Contrastive Detection

    摘要 自监督预训练已被证明可以为迁移学习产生强大的表征.然而,这些性能提升是以巨大的计算成本为代价的,最先进的方法需要比监督预训练多一个数量级的计算量.我们通过引入一个新的自监督目标.对比检测来解决这 ...

  6. 【自监督论文阅读笔记】Integrally Pre-Trained Transformer Pyramid Networks (2022)

    Abstract 在本文中,我们提出了一个基于掩码图像建模 (MIM) 的整体预训练框架.我们提倡 联合预训练 backbone 和 neck,使 MIM 和下游识别任务之间的迁移差距最小.我们做出了 ...

  7. 自监督论文阅读笔记SELF-SUPERVISED SPECTRAL MATCHING NETWORK FOR HYPERSPECTRAL TARGET DETECTION

    高光谱目标检测是一个像素级的识别问题.给定几个目标样本,它旨在从整个高光谱图像中识别特定的目标像素,例如飞机.车辆.船舶.一般来说,背景像素占图像的大部分并且分布复杂.结果,数据集的注释很弱并且非常不 ...

  8. 自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning

    船舶自动检测 为用于 安全 或 经济监测目的 的海事领域感知 提供了必要的功能.这项工作提出了一种用很少的标记示例,在 Sentinel2 多光谱图像中 训练深度学习舰船检测器 的方法. 本文设计了一 ...

  9. 【自监督论文阅读笔记】Instance Localization for Self-supervised Detection Pretraining

    (2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)) 先前关于自监督学习的研究已经在 图像分类 方面 ...

最新文章

  1. Python统计字符串中的中英文字符、数字空格,特殊字符
  2. golang的WaitGroup
  3. 很现实、很暴力的面试法则 —— 来自招聘官的自述
  4. CloudStack 配置高级网络简明手册
  5. 修改linux的文件权限命令 chmod
  6. 你确定懂?彻底搞懂 控制反转(IoC Inversion of Control )与依赖注入(DI Dependency Inversion Principle )
  7. android ndk makefile,用Android NDK打造自己的toolchain(使用C/C++默认的Makefile)
  8. 计算机丢失KTcontroller,无法识别Dell Perc H310 RAID控制器上的RAID驱动器
  9. 运动控制——运动曲线分析
  10. CHECK约束在表继承中的使用
  11. TMS320F28335与10位数模转换器TLC5615的SPI通讯问题1(DAC数模转换原理篇)
  12. 南天收藏库为什么大不了_参加技术会议:有什么大不了的?
  13. 【redis】SpringBoot整合+geo地理位置应用
  14. 思维导图(XMind ZEN)安装教程
  15. 趣店季报图解:营收3.8亿同比降47% 股价重回1美元以上
  16. Bucket、Hash Chain List
  17. MySQL 运维 日志 -- 错误日志、二进制日志、查询日志、慢查询日志
  18. 【关键词排名提升工具】快排宝快速提升网站排名
  19. dtu tcp java_SpringBoot 2 整合 Netty 实现基于 DTU 的 TCP 服务器 之 客户端
  20. php jquery实现弹窗,jquery+video实现点击播弹窗放视频功能

热门文章

  1. CLH Lock 原理
  2. 【Fuzzy】模糊专家系统(1)
  3. 苹果计算机使用方法,不知道这10个Mac使用技巧,别说你会用苹果电脑
  4. 学python编程从入门到实践方法-python自学Day07(自学书籍python编程从入门到实践)...
  5. 义隆循环左移c语言,义隆单片机EM78PXXX的乘除的运算法
  6. JMeter 远程启动报错:java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
  7. 程序员增加收入的几种方法
  8. python中fabs函数_Python3 fabs() 函数
  9. 回归中的相关度和决定系数
  10. alt+f2无法切换 linux,X 冻结: 无法通过 Ctrl + Alt + F2/F3 切换到虚拟终端(其实已经切过去了, 只是屏幕没有更新)...