点击上方
“
小白学视觉
”,选择加"
星标
"或“
置顶
”
重磅干货,第一时间送达
Turning a CLIP Model Into a Scene Text Spotter
题目:将CLIP模型转化为场景文本识别器
作者:Wenwen Yu; Yuliang Liu; Xingkui Zhu; Haoyu Cao; Xing Sun; Xiang Bai
源码:https://github.com/wenwenyu/TCM
摘要
我们利用大规模对比语言-图像预训练(CLIP)模型的潜力,增强场景文本检测和识别任务,将其转化为一个强大的骨干网络,FastTCM-CR50。这个骨干网络利用视觉提示学习和CLIP中的交叉注意力来提取图像和基于文本的先验知识。通过预定义和可学习的提示,FastTCM-CR50引入了一个实例-语言匹配过程,以增强图像和文本嵌入之间的协同作用,从而细化文本区域。我们的双模态相似性匹配(BSM)模块促进了动态语言提示的生成,实现了离线计算并提高了性能。FastTCM-CR50提供了几个优势:1)它可以增强现有的文本检测器和识别器,分别将性能提高了平均1.6%和1.5%。2)它超越了以前的TCM-CR50骨干网络,在文本检测和识别任务中平均提高了0.2%和0.55%的性能,同时推理速度提高了47.1%。3)它展示了强大的少样本训练能力。仅使用10%的监督数据,FastTCM-CR50在文本检测和识别任务中平均提高了26.5%和4.7%的性能。4)它在分布外的文本检测和识别数据集上持续提高了性能,特别是在ICDAR2019-ArT的NightTime-ArT子集和面向对象检测的DOTA数据集上。
关键字
CLIP
少样本
泛化
旋转对象
场景文本检测
场景文本识别
I. 引言
场景文本识别,旨在定位和识别自然图像中的文本实例,由于其多样化的实际应用,包括在线教育、办公自动化、自动驾驶和即时翻译,一直处于前沿。全监督深度学习技术的演进在场景文本识别中取得了显著进展。然而,这些监督方法严重依赖于详细和广泛的注释。如何在稀疏注释数据或在不同领域间转移的情况下提高文本识别技术的性能——通常称为少样本训练和泛化能力——越来越受到关注。
在过去的十年中,使用ImageNet和MSCOCO中的VGG16和ResNet-50等骨干网络来获取更好的初始化和泛化能力,是场景文本检测和识别的常见设置。最近,通过大规模对比语言-图像预训练(CLIP)模型利用预训练的视觉和语言知识,在一系列下游任务中显示出了有希望的结果。这些包括但不限于图像分类、目标检测和语义分割。在文本识别领域,场景文本通常提供丰富的视觉和字符信息,CLIP模型的潜力尤为明显。如何挖掘视觉、语义和文本知识中的跨模态信息以增强文本检测和识别模型的性能,越来越受到关注。例如,Song等人提出了一种细粒度的跨模态交互方法,灵感来自CLIP,通过预训练的文本任务预训练来对齐单模态嵌入并改善表示学习。Wan等人提出了一种基于自注意力的文本知识挖掘技术,通过图像级文本识别预训练任务来增强骨干网络。同时,Xue等人引入了一种弱监督的预训练方法,旨在共同学习和对齐视觉和部分文本信息。目标是培养适用于场景文本检测和识别的有效视觉文本表示。
与图2中说明的现有方法相反,我们的目标是将CLIP模型直接转化为文本检测和识别的基础,消除了预训练任务的需求。然而,这并不是一项简单的任务,因为我们通过实验观察到,仅仅使用CLIP模型只能带来最小的提升,甚至在航空目标检测中得到更差的结果,如第IV-I节所示。主要挑战在于找到一种有效的方法来利用针对每张图像的视觉和语义先验信息。
为此,我们引入了一个专门为场景文本检测和识别任务设计的新型骨干网络,称为FastTCM-CR50。该模型可以方便地集成到现有的场景文本检测和识别框架中,以提高它们的性能。我们的方法的核心是通过视觉提示学习建立的跨模态交互机制。该机制通过交叉注意力实现,从CLIP图像编码器中恢复局部特征,从而捕获细粒度信息,这对于响应粗略的文本区域特别有用。此外,为了利用文本编码器的先验知识来处理不同的输入图像,我们使用了一个改进的语言提示单元,该单元在可学习的查询和双模态相似性匹配的基础上构建,以获得全局图像信息。此外,我们还设计了一种实例-语言匹配方法,以对齐图像和文本嵌入,这有助于图像编码器根据跨模态视觉-语言先验细化文本区域。然后,FastTCM-CR50模型可以直接微调用于文本检测和识别任务,而无需预训练任务,如图2(c)详细说明。与我们的会议版本TCM-CR50相比,FastTCM-CR50引入了双模态相似性匹配(BSM)模块以及作为隐式图像条件的可学习参数,这使得CLIP文本编码器能够在推理期间执行离线计算,从而实现更好的结果并减少推理时间,如图1所示。
我们的方法的优点总结如下:
我们的提出的FastTCM-CR50骨干网络本质上增强了当前的场景文本检测器和识别器,与众多基线方法相比,分别在场景文本检测和识别任务中平均提高了1.6%和1.5%的性能。
此外,FastTCM-CR50在文本检测和识别任务中超越了以前的文本检测和识别骨干TCM-CR50,分别在文本检测和识别任务中平均提高了0.2%和0.55%的性能,同时推理速度显著提高了47.1%。
展示出强大的少样本训练能力,我们的新骨干网络在只用10%的监督数据训练时,分别在文本检测和识别任务中表现出平均26.5%和4.7%的显著性能提升。
在泛化能力方面,我们的方法显著超越了基线方法,在文本检测和识别的领域适应任务中平均提高了12.4%和14.8%。特别值得注意的是,在ICDAR2019-ArT的NightTime-ArT子集和面向对象检测数据集DOTA-v1.0上取得的显著改进,展示了其在不同任务领域中的稳健泛化能力。
III. 方法
我们的方法概述如图3所示。本质上,我们将CLIP模型重新用作骨干,利用FastTCM作为CLIP骨干和检测/识别头部之间的桥梁。
A. 先决条件:CLIP模型
CLIP模型在学习和迁移知识以及开放集视觉概念方面展示了巨大的潜力,这得益于其在预训练阶段分析了4亿未标注的图像-文本对。先前的研究表明CLIP的单个神经元擅长以文字、象征性和概念性的方式捕捉概念,这使其成为一个天生对文本友好的模型,能够有效地映射图像和文本之间的空间。在训练阶段,CLIP通过对比损失学习两个模态的联合嵌入空间。给定一批图像-文本对,模型最大化与匹配文本的余弦相似度,并最小化与所有其他不匹配文本的相似度。相同的过程也适用于每段文本,这使得CLIP能够用于零样本图像识别。然而,利用这样一个模型产生的宝贵洞察力有两个先决条件。首先,需要一种有效的方法来获取CLIP模型中存储的先验知识。其次,虽然原始模型旨在测量完整图像与单个词或句子之间的相似性,但场景文本检测和识别通常涉及每张图像中的多个文本实例,所有这些都需要被等效地召回。
B. FastTCM
FastTCM旨在增强CLIP模型,作为增强现有场景文本检测器和识别器的坚实基础。它通过从CLIP的图像和文本编码器中提取图像和文本嵌入来实现这一点。第一步是设计一个跨模态交互机制。我们通过视觉提示学习来实现这一点,它从CLIP的图像编码器中恢复局部特征。增强的局部特征允许捕获细粒度数据,有效地响应更一般的文本区域,为后续文本实例与语言之间的匹配奠定了基础。接下来,为了更好地利用预训练知识,我们构建了一个语言提示单元。这个单元为每张图像产生一个上下文提示。为了有效地提取图像和文本编码器之间的交互,同时实现更快的推理,我们使用了一种称为双模态相似性匹配的方法。这种方法允许使用CLIP文本编码器进行离线推理计算,同时动态生成基于图像条件的语言提示。最后,我们采用了一种实例-语言匹配技术来对齐图像和文本嵌入。这鼓励图像编码器根据跨模态视觉-语言先验精心细化文本区域。
图像编码器:我们使用CLIP中预训练的ResNet50作为图像编码器,它为每个输入像素产生一个嵌入向量。给定输入图像
,图像编码器输出图像嵌入
,其中
,
,C是图像嵌入维度(C设置为1024),s是下采样比率(s经验设置为32),可以表示为:
文本编码器:文本编码器接收K个类别提示并将其嵌入到连续向量空间
中,产生文本嵌入
作为文本编码器的输出,其中
。具体来说,我们在整个过程中使用CLIP的冻结预训练文本编码器,因为文本编码器可以为文本检测和识别提供语言知识先验。K设置为1,因为在文本检测任务中只有一个文本类别。与使用模板如“a photo of a [CLS]”的原始模型不同,我们预定义离散语言提示为“Text”。然后,文本编码器输入
的一部分定义如下:
其中WordEmbedding(·)表示预定义提示“Text”类的词嵌入。D是词嵌入维度,设置为512。
受到CoOp的启发,我们还添加了可学习的提示
,以学习文本嵌入的鲁棒可转移性,以便于CLIP模型的零样本转移,其中n是可学习提示的数量,默认设置为4,且
。因此,文本编码器的输入
如下:
文本编码器以
为输入,生成文本嵌入
,并且
被简化表示为
。
语言提示单元:尽管预定义提示和可学习提示对于引导CLIP模型是有效的,但它们可能在有限的少样本或泛化能力方面受到限制,以应对测试文本实例与训练图像分布不同的开放场景。为此,我们提出了一个语言提示模块,为每张图像生成一个特征向量,称为条件提示(cc),如图5所示。然后,cc与文本编码器的输入
结合,如下式所示:
其中
是文本编码器的条件图像条件下的新提示输入,我们用
替换
进行后续步骤。
如图4所示,我们引入了元查询(MQ),后接两层前馈网络,生成隐式条件提示(cc),使得文本编码器在推理过程中可以脱钩。此外,我们还设计了双模态相似性匹配(BSM)模块作为门控,控制应补偿文本模态嵌入的视觉模态信息量。这种文本嵌入与视觉信息的动态丰富有助于模型的整体性能。
元查询:具体来说,FastTCM首先结合了元查询(MQ),它是用可学习参数初始化的,代表了
的形状。元查询作为隐式图像条件,用于指导后续语言提示的生成,引导文本编码器中的预训练知识。这种操作受到DETR的启发,其中使用了变换器编码器和解码器来寻找特定数量的对象查询(潜在的对象检测)。这种替代允许我们生成隐式条件提示cc,公式如下:
双模态相似性匹配:给定文本编码器的输出
和全局图像级特征
,我们首先计算文本嵌入和全局图像之间的余弦相似度,如下式定义:
其中sim作为输出门控的相关阈值,用于控制用于补偿文本模态嵌入的视觉模态信息量。接下来,使用相关阈值sim,我们应用
和
之间的加权和,如下:
其中
是文本编码器的新输出,它在隐式图像特征上动态后条件化。我们用
替换后续过程中的
,包括视觉提示生成器(9)和实例-语言匹配(11)。
视觉提示生成器:我们设计了一个视觉提示生成器,以自适应地将文本特征中的细粒度语义信息传播到视觉特征中,如图5所示。形式上,我们使用变换器中的交叉注意力机制来模拟图像嵌入(Q)和文本嵌入(K, V)之间的交互。然后学习视觉提示
,用于将信息先验从图像级转移到文本实例级,定义如下:
其中TDec表示变换器解码器。在实践中,它由6个双向变换器解码器层组成,有4个头,足以在图像嵌入和文本嵌入之间进行充分的交互;变换器宽度为256,前馈隐藏维度设置为1024。
基于条件视觉提示,原始图像嵌入I配备了
,以产生用于实例-语言匹配(11)和下游检测和识别头部的提示文本感知局部嵌入
:
实例-语言匹配:给定文本编码器和图像编码器的输出,我们在文本感知局部图像嵌入
和文本嵌入
上执行文本实例-语言匹配对齐,通过点积后跟sigmoid激活得到二值分数图。生成的条件细粒度嵌入
和视觉嵌入I的混合可以允许视觉特征中存在的文本实例更好地与预训练的语言知识匹配协作。匹配机制如下式所示:
其中
是文本嵌入,因为在文本检测场景中只有一个文本类别,τ是温度系数,默认经验设置为0.07。P是二值文本分割图。分割图使用真实标签作为辅助损失进行监督,并与提示嵌入
连接,用于下游文本检测和识别头部,以明确地将语言先验纳入检测。在训练期间,我们通过最小化分割图P和真实标签之间的二元交叉熵损失来进行优化,定义如下:
其中
和
分别是像素
属于文本实例的标签和预测概率。
C. 优化