专栏名称: FightingCV
一个专注于分享计算机视觉、多模态机器学习方向前沿论文,解答常见科研问题,分享好用科研工具的公众号。努力努力再努力,瑞思拜!
目录
相关文章推荐
51好读  ›  专栏  ›  FightingCV

释放CLIP以实现高效灵活的场景文本检索

FightingCV  · 公众号  ·  · 2025-02-05 11:18

正文

摘要。

场景文本检索旨在从图像库中查找包含查询文本的所有图像。 当前的工作倾向于采用光学字符识别 (OCR) 管道,这需要复杂的文本检测和/或识别过程,导致检索效率低且不够灵活。 与它们不同的是,在这项工作中,我们建议探索对比语言图像预训练 (CLIP) 在无OCR场景文本检索中的内在潜力。 通过实证分析,我们观察到CLIP作为文本检索器面临的主要挑战是:1)有限的文本感知范围,以及2)视觉语义概念的纠缠。 为此,开发了一种名为FDP(聚焦、区分和提示)的新型模型。 FDP首先通过将注意力转移到文本区域并探测隐藏的文本知识来关注场景文本,然后将查询文本分为内容词和功能词进行处理,其中利用了语义感知提示方案和分散查询辅助模块。 广泛的实验表明,与现有方法相比,FDP显着提高了推理速度,同时实现了更好或具有竞争力的检索精度。 值得注意的是,在IIIT-STR基准测试中,FDP超越了最先进的模型4.37%,速度提高了4倍。 此外,在短语级和属性感知场景文本检索设置下的附加实验验证了FDP在处理各种形式的查询文本方面的特殊优势。 源代码将公开发布在https://github.com/Gyann-z/FDP。


图1. IIIT-STR基准测试上检索精度(mAP分数)和推理速度(FPS)之间权衡的图示。 我们提出的FDP方法比以前的方法实现了更好的平衡。

ACM参考文献格式:

曾刚燕,张远,魏瑾,杨东宝,张鹏,高逸文,秦旭功,周宇。2024。聚焦、区分和提示:释放CLIP以实现高效灵活的场景文本检索。在 第32届ACM国际多媒体会议论文集 (MM ’24),2024年10月28日至11月1日,澳大利亚墨尔本。 ACM,美国纽约,10页。 https://doi.org/10.1145/3664647.3680877

1. 引言

由于文本在自然场景中无处不在并传达丰富的语义信息,几十年来场景文本理解一直受到广泛关注 (Rong et al., 2022; Zeng et al., 2023b; Wei et al., 2022) 。 与常见的场景文本理解任务(如文本检测 (Qin et al., 2021; Wang et al., 2022; Shu et al., 2023; Qin et al., 2023) 、文本识别 (Qiao et al., 2020; Du et al., 2022; Qiao et al., 2021; Zheng et al., 2024) 和端到端文本定位 (Liu et al., 2020; Liao et al., 2020; Huang et al., 2022; Wang et al., 2021b) )不同,场景文本检索 (STR) 这是一个新兴课题,它只关注感兴趣的文本, 从图像库中搜索包含给定查询文本的图像。 因此,STR 有利于许多应用,例如产品图像搜索、程序推荐和电子书档案管理 (Yang et al., 2017; Ghosh et al., 2015; Ghosh and Valveny, 2015)

借助光学字符识别 (OCR) 技术,STR 在近年来取得了显著进展 (He et al., 2018; Jaderberg et al., 2016; Wang et al., 2021a) 。 然而,现有方法仍然存在两个关键限制。 首先,如图 1 所示,如何平衡检索精度(mAP 分数)和推理速度(FPS)是一个难题。 具体来说,大多数 STR 模型遵循两阶段流水线,首先检测文本区域,然后将这些区域与查询文本进行比较以进行检索。 在这个流水线中,需要精确的文本检测或识别过程,这会显著降低推理速度。 相比之下,Gomez et al. (Gómez et al., 2018) 使用单次 CNN 架构实现了快速的文本检索,但其检索精度相对较低。 其次,在现实生活中,人们期望检索的查询文本往往形式多样。 然而,当前的研究依赖于将单词实例作为查询单元的局部检索机制,这导致在短语级或属性感知场景文本检索方面存在固有的不灵活性(见图 2 )。

最近,对比语言图像预训练 (CLIP) (Radford et al., 2021) 已成为学习跨模态表示和实现零样本迁移到下游任务的有力基础模型 (Fang et al., 2023; Lin et al., 2022; Liang et al., 2023) 。 更值得注意的是,一些研究 (Lin et al., 2023; Shi and Yang, 2023) 表明,通过在大规模图像文本对上进行预训练,CLIP 也隐含地具备了 OCR 功能。 这给了我们一个新的见解:我们能否探索 CLIP 在高效灵活的场景文本检索 (STR) 中的内在潜力? 为此,我们通过实证研究调查了 CLIP 在 STR 任务中的优势和不足。 一个令人惊讶的发现是,仅仅应用冻结的 CLIP 甚至可以达到比一些专用 STR 模型更高的准确率。 此外,由于 CLIP 的网络设计简单,检索速度也更快。 尽管取得了这些令人印象深刻的结果,但仍有两个挑战阻碍了 CLIP 成为理想的检索引擎:1) 文本感知范围有限。 由于输入到 CLIP 的图像分辨率非常有限( 例如 ,224 × 224),并且场景文本通常只占据场景图像的一小部分,因此 CLIP 可能会忽略或误识别大量文本。 2) 视觉语义概念纠缠。 由于自然图像中文本的普遍存在,CLIP 的认知中存在视觉文本和语义概念之间的混淆 (Materzyńska et al., 2022) 。 其对 STR 的具体影响是,基于 CLIP 的检索模型在内容词( 例如 ,“ coffee ”,“ hotel ”)上的表现远好于在功能词( 例如 ,“ and ”,“ with ”)上的表现,因为只有内容词代表精确的语义。 此外,该模型可能难以区分相似的单词( 例如 ,“ advice ”和“ advise ”),因为它们的语义在嵌入空间中很接近。

在本文中,我们提出了一种名为 FDP(聚焦、区分和提示)的模型来解决上述挑战。 具体来说,对于图库中的每张图像,我们首先强制 CLIP 关注 场景文本,方法是:1)应用粗略的文本定位结果来细化模型对图像的注意力;2)利用 CLIP 良好对齐的视觉-语言表示来推断文本知识。 然后,给定一个查询文本,我们通过无监督聚类 区分 它是内容词还是功能词,并据此确定检索方案。 最后,开发了一种语义感知的 提示 方案,该方案将查询文本转换为可学习的提示,并通过计算其与每张图像的相似度分数来对图像进行排序。 此外,在训练过程中还加入了干扰查询辅助策略,以抵制相似词的负面影响。 在三个基准数据集上的大量实验表明,与现有模型相比,FDP 可以获得更好或具有竞争力的精度,并且推理速度更快。 为了进一步评估 STR 方法在任意长度查询文本上的有效性,我们引入了一个新的短语级场景文本检索 (PSTR) 基准。 同时,进行了关于属性感知场景文本检索的定性实验。 这些实验结果证明了 FDP 的泛化性和灵活性。

图 2. (a) 短语级和 (b) 属性感知设置下的场景文本检索图示。 与依赖局部检索机制的传统 STR 模型不同,FDP 在处理各种形式的查询文本方面更灵活。

总的来说,这项工作的主要贡献有三方面:

1) 据我们所知,这是第一篇直接扩展 CLIP 用于场景文本检索的工作。 我们总结了 CLIP 在处理 STR 任务中的优势和不足,并提出了一种新的 FDP (Focus, Distinguish, and Prompt) 方法。

2) 与以前的工作相比,FDP 利用 CLIP 的先验知识并消除了复杂的文本检测/识别过程,从而在检索精度和推理速度之间取得了更好的平衡。 值得注意的是,在 IIIT-STR 基准测试中,FDP 的性能比最先进的方法 (Wen et al., 2023) 提高了 4.37% 的 mAP 分数,速度提高了 4 倍。

3) 我们在短语级和属性感知场景文本检索设置中评估现有的 STR 方法,进一步验证了 FDP 在处理各种形式的查询文本方面的优越性。

图 3. 提出的 FDP 模型概述。 它包含三个主要部分:1) 聚焦:提出了动态注意力转移和文本知识探测两个主要模块来突出场景文本信息。 2) 区分:通过无监督聚类将查询文本分类为内容词和功能词。 3) 提示:检索过程最终通过语义感知提示方案实现,同时在训练过程中生成分散的查询以帮助识别相似的词语。

2. 相关工作

2.1. 场景文本检索

大多数早期的 STR 方法倾向于遵循 OCR 管道 (Sudholt and Fink, 2016; Yin et al., 2013; Aldavert et al., 2013) 。 它们首先分别进行文本检测和识别两个步骤以提取每幅图像中的单词,然后将这些单词与查询词进行匹配以进行检索。 例如,Mishra 等人 (Mishra et al., 2013) 首次研究了 STR 任务,提出根据局部字符的顺序和位置对所有图像进行排序。 Jaderberg 等人 (Jaderberg et al., 2016) 使用 CNN 网络进行文本定位,并评估查询词在定位词中的出现次数。 然而,这些简单的尝试无法获得令人满意的性能,而且效率也不高。 为了解决这个问题,Gomez 等人 (Gómez et al., 2018) 利用名为字符金字塔直方图 (PHOC) 的紧凑表示 (Almazán et al., 2014) ,并提出了一种单次拍摄的 CNN 架构,该架构同时预测文本建议和相应的 PHOC。 通过这种方式,STR 任务可以通过简单的最近邻搜索来完成。 考虑到当前的手工表示(包括 PHOC)仍然无法很好地反映文本和图像模态之间的距离,最近的方法致力于挖掘更好的相似性度量。 TDSL (Wang等人,2021a) 建立了一个端到端网络,该网络联合优化文本检测和跨模态相似性学习。 为了减轻不同模态之间的差距,Wen 等人 (Wen等人,2023) 提议将场景文本识别 (STR) 视为一个图像到图像的匹配问题。 虽然获得了更好的检索精度,但这是以推理速度为代价的。

2.2. 探讨CLIP的OCR能力

在网络规模数据上预训练的视觉语言模型已被证明具有一定的OCR能力 (Liu等人,2023; Lv等人,2023; Ye等人,2023; Zhang等人,2024; Hu等人,2024) 。 正如 (Radford等人,2021) 中所报道的,CLIP模型在渲染文本图像中显示出良好的OCR性能。 为了进一步挖掘潜在的原理, (Lin等人,2023) 彻底检查了不同版本的CLIP。 这项工作揭示了CLIP存在严重的文本定位偏差,因为CLIP训练数据集中的许多标题倾向于鹦鹉学舌地重复图像中嵌入的视觉文本。 通过将学习到的表示空间正交投影到“学会拼写”和“忘记拼写”部分, (Materzyńska等人,2022) 在一定程度上解开了这种偏差。 此外,LoGoPrompt (Shi和Yang,2023) 发现合成文本图像是视觉语言模型良好的视觉提示,可用于提高图像分类性能。

受这些观察结果的启发,一些工作旨在通过从CLIP迁移知识来增强OCR任务。 在场景文本识别领域,CLIP4STR (Zhao等人,2023) 设计了一个双分支框架,其中识别结果由视觉分支预测,然后由跨模态分支细化。 CLIP-OCR (Wang等人,2023) 利用知识蒸馏技术,并利用来自CLIP的视觉和语言知识来指导识别。 在场景文本检测领域,TCM (Yu等人,2023) 将CLIP与现有的文本检测器集成,在领域自适应和少样本能力方面带来了明显的性能提升。 然而,在这些工作中,CLIP仅仅充当辅助模块。 是否有可能直接将CLIP转化为场景文本阅读器(定位器或检索器)仍然是一个未探索的问题。

3. FDP方法

所提出的FDP框架概述如图 3 所示。 给定一个查询文本( Q = house ”),FDP通过“聚焦、区分和提示”管道来完成STR任务。

3.1. 聚焦

考虑到CLIP是在传统的图像-文本对上进行预训练的,因此缺乏对视觉文本信息的细粒度感知,FDP的第一步是引导CLIP关注场景文本。 具体来说,对于图库中的每一幅图像,我们首先将其转换为正方形以获得输入图像 I i n p u t L × L L 是图像长度), ,执行零填充以使较短的一侧与较长的一侧匹配。 目的是避免在CLIP的预处理过程中中心裁剪操作造成的图像内容丢失。 然后,采用冻结的基于ResNet的CLIP视觉编码器来提取 I i n p u t 的全局特征 f g l o b a l C × H × W ,其中 C H W 分别代表通道、高度和宽度维度。 基于此全局特征,提出了动态注意力转移和文本知识探测两个模块,以突出场景文本信息并解决有限的文本感知尺度问题。

图4. 动态注意力转移模块的细节。

动态注意力转移。 输入分辨率的限制是预训练的视觉语言模型遇到的一个棘手问题。 它极大地损害了场景文本理解性能,因为文本通常只占据图像的一小部分。 现有的方法通过将图像细分为图像块 (Li et al., 2024) 、重新训练视觉编码器 (Bai et al., 2023) 或在频域进行处理 (Feng et al., 2023) 来解决这个问题,这些方法效率不高。 相反,在这项工作中,我们发现让模型大致了解文本聚集的区域就足够了。 为此,我们采用文本检测监督来训练一个轻量级的文本定位网络,然后利用归一化概率图来重新加权平均池化层中的特征。 具体来说,由于CLIP的视觉编码器中的多头注意力层丢失了二维图像信息,我们首先根据 (Zhou et al., 2022a) 引入一个重新构造的头来恢复二维卷积图像特征 f c o n v E × H × W ,其中 E 是CLIP中的嵌入维度。 然后,通过一个可学习的卷积层获得定位概率图 I l o c H × W 。 我们通过一个类平衡交叉熵损失来训练文本定位网络,该损失由下式给出:

其中 Y 是由文本检测标注生成的真实定位图, β 是定义为:

此后,预测的定位概率图被用作一个新的注意力掩码,以动态地细化应用于全局特征的注意力。 动态注意力转移模块的细节如图 4 所示。 CLIP使用Transformer风格的多头注意力进行平均池化,其中二维全局特征首先被展平为一维序列,然后生成键值对与全局平均池化特征(查询)交互。 因此,定位概率图也被展平为一维序列,然后对每个空间位置的全局特征进行加权。 派生的注意力特征 f a t t n E 可以将模型注意力转移到场景文本区域。

文本知识探测。 根据经验,我们发现当我们用“ house ”这个词查询CLIP时,它可能会返回对应的物体(房屋图像),而不是场景文本(显示“ house ”的图像)。 这是因为CLIP的视觉编码器中的神经元倾向于激活整个图像,而不是特定的文本信息。 因此,我们考虑是否可以设计一个简单的策略来探测CLIP中隐藏的与文本相关的知识。 从先前使用预定义模板“ a photo of [CLS] ”进行零样本图像分类的工作 (Radford et al., 2021) 中获得灵感,我们建议使用纯文本“ scene text ”作为探针,并获得其语言嵌入作为探针特征 f p r o b e E ,然后与 f a t t n 进行交互。 由于视觉和语言的表示在CLIP的嵌入空间中很好地对齐,因此这个探针将自然地将CLIP转变为一个对场景文本更敏感的模型。 随后,交互特征与注意力特征 f a t t n 融合作为图像特征 f i m g ,以全面编码用于检索的图像。 文本知识探测过程被表述为:

其中 MHCA 表示多头交叉注意力机制。

3.2. 区分

图5。 视觉语义纠缠造成的影响图示。 (a) 高频场景文本的CLIP语言嵌入的t-SNE可视化结果。 (b) 三个冻结CLIP模型在内容词和功能词上的检索精度比较。

一些研究 (Lin et al., 2023; Cao et al., 2023) 表明,CLIP模型表现出对视觉文本的内在偏见, 例如 ,一张“狗”的图片,通过放置写着“猫”的文字,可能会被识别为“猫”。 原因是CLIP预训练所使用的标题通常是图像中嵌入文本的简单重复。 在这项工作中,我们进一步观察到这种偏见本质上是视觉和语义概念之间的纠缠。 具体来说,我们从MLT (Nayef et al., 2019) 训练集中选择500个频率最高的单词,然后通过K-Means将其CLIP语言嵌入分组为两个集群。 t-SNE可视化结果如图 5 (a)所示。 可以看出,这些单词自然地分为两类,即内容词和功能词。 其中,内容词具有明确的语义,通常出现在它们所代表的事物旁边,因此它们表现出很强的视觉语义纠缠。 相反,功能词通常在标题中充当连词,并不对应于具体的概念。 为探究这种对短文本检索 (STR) 的影响,我们分别应用冻结的 CLIP 模型在 SVT (Wang et al., 2011) 数据集上评估了内容词和功能词的检索精度,如图 5 (b) 所示。 很明显,对于三种不同容量的 CLIP 模型,功能词的 mAP 分数明显低于内容词。 这启发我们应该对这两类词采用不同的检索方案。 因此,在每次检索过程之前,我们预先区分给定查询是内容词还是功能词。 无需专门的工具,这可以通过无监督聚类轻松实现,即预测查询文本属于哪个 K 均值聚类。

3.3. 提示

提示调优是一种很有前景的范式,旨在将预训练模型的知识适应到目标领域 (Liu et al., 2021; Zeng et al., 2023a; Rao et al., 2022) 。 借鉴提示调优在自然语言处理和跨模态学习中的成功经验,我们利用它来促进 CLIP 进行高效的文本检索。

语义感知提示。 为了提高对内容词和功能词的检索性能,我们开发了一种语义感知提示方案。 受 CoOp (Zhou et al., 2022b) 的启发,我们引入了两组可学习的上下文向量,分别用于内容词和功能词的检索。 正式地,提供给冻结的 CLIP 语言编码器的文本提示组织如下:

其中 P c P f 分别表示内容词和功能词的提示。 M N 是可学习上下文向量的长度, Q 表示查询文本。

然后,CLIP 语言编码器输出提示特征 f p r o m p t 。 我们计算 f i m g f p r o m p t 之间的余弦相似度,以衡量输入图像和查询文本之间的成对相似度分数, S ( I , Q ) 。 对一批数据应用对称交叉熵损失 a l i g n 以对比地对齐匹配的 ( I , Q ) 对。

干扰查询辅助。 由于输入分辨率有限以及视觉语义纠缠,CLIP可以在一定程度上感知文本,但它确实缺乏细粒度字符识别的能力。 为了解决这个问题,提出了一种干扰查询辅助模块,该模块在训练过程中教会FDP模型更好地识别文本。 特别地,对于一个查询文本 Q ,我们利用字典生成 K (设置为5)个干扰查询 Q 1 , Q 2 , Q K ,这些干扰查询与 Q 的编辑距离最小。 这些干扰查询被作为难负样本,也转换为文本提示并馈送到CLIP语言编码器中,预测相似度分数 S ( I , Q k ) , k = 1 , , K 。 同时,计算每个干扰查询与真实查询 D ( Q , Q k ) 的编辑距离。 随后,我们将这些 K 组相似度分数和编辑距离转换为概率分布,并计算它们之间的KL散度作为训练损失 d i s t r a c t 。 目标是最大化接近真实值的干扰查询的相似度分数,同时最小化远离真实值的干扰查询的相似度分数。

表1。 FDP模型的设置。
Model Base model Original input size Expanded input size E
FDP-S CLIP-RN50 224 640 1024
FDP-B CLIP-RN50x4 288 720 640
FDP-L CLIP-RN50x16 384 960 768
表2。 在IIIT-STR、SVT和TotalText基准测试中与现有方法的比较。 *表示具有细分增强的结果。 粗体 表示最佳性能, 下划线 表示次佳性能。
Method mAP FPS
IIIT-STR SVT TotalText
Mishra et al. (Mishra et al., 2013) 42.70 56.24 - 0.10
He et al. (He et al., 2018) 46.34 57.61 - 2.35
Jaderberg et al. (Jaderberg et al., 2016) 66.50 86.30 - 0.30
ABCNet (Liu et al., 2020) 67.25 82.43 69.30 17.50
Gomez et al. (Gómez et al., 2018) 69.83 83.74 - 43.50
Mafla et al. (Mafla et al., 2021) 71.67 85.74 - 42.20
Mask TextSpotter v3 (Liao et al., 2020) 74.48 84.54 72.42 2.40
TDSL (Wang et al., 2021a) 77.09 89.38 74.75 12.00
Wen et al. (Wen et al., 2023) 77.40 90.95 80.09 11.00
CLIP-RN50 52.93 65.07 38.46 76.32
CLIP-RN50x4 52.60 70.54 41.65 57.91
CLIP-RN50x16 53.03 76.55 43.51 29.02
FDP-S (Ours) 81.77 82.56 65.26 45.11
FDP-B (Ours) 86.65 86.64 73.63 31.43
FDP-L (Ours) 89.46 89.63 79.18 11.82
FDP-L* (Ours) 91.49 91.18 82.02 3.04

3.4. 优化

提出的 FDP 使用以下损失函数进行训练:

其中 λ 1 λ 2 λ 3 用于平衡这些损失,在我们的实现中都设置为 1。

在推理过程中,分散查询辅助模块将被移除。 给定一个查询文本 Q ,图库中的图像将根据预测的相似度得分 S ( I , Q ) 进行排序。 当将我们的 FDP 模型扩展到短语级或属性感知场景文本检索设置时, Q 将直接分配相应的查询形式,推理过程保持不变。

4. 实验

4.1. 数据集

IIIT 场景文本检索 (IIIT-STR) (Mishra et al., 2013) 是一个流行的基准数据集,包含 10000 张图像和 50 个预定义查询。 这些图像是使用 Google 图片搜索收集的,因此该数据集在文本字体、样式和视角方面具有很大的可变性。

街景文本 (SVT) 数据集 (Wang et al., 2011) 是自然街景的集合。 它包含 100 张训练图像和 249 张测试图像。 测试集中所有标注的单词 (427 个单词) 都用作查询文本。

TotalText (Ch’ng and Chan, 2017) 是一个场景文本数据集,包含 1255 张训练图像和 300 张测试图像。 选择测试集中出现频率最高的 60 个单词作为查询。

多语言场景文本 (MLT)-Eng 是 MLT (Nayef et al., 2019) 的英文子集,其中包括大约 5000 张自然场景图像。

在我们的实验中,MLT-Eng 仅用于训练提出的模型。 IIIT-STR、SVT和TotalText是测试数据集。 需要注意的是,随着CLIP潜力的充分挖掘, (Wang et al., 2021a; Wen et al., 2023) 中使用的90万张合成训练图像可以在FDP中节省。

现有数据集中的查询词都是单个单词。 为了验证STR模型能否推广到任意长度的查询文本,我们引入了一个新的 短语级场景文本检索 (PSTR) 数据集。 为了构建它,我们选择了36个在生活中频繁出现的短语作为查询,每个短语包含2到4个单词, 例如 ,“ 校车 ”,“ 轻拿轻放 ”。 对于每个查询,我们分别从TextOCR数据集 (Singh et al., 2021) 和Google图像搜索中收集15张图像。 总之,PSTR包含1080张图像和36个查询文本。

表3。 在IIIT-STR和SVT数据集上的消融实验。
# Focus Distinguish Prompt IIIT-STR SVT
Dynamic Attention Shift Text Knowledge Probing Semantic-aware Prompting Distracted Queries Assistance
1 75.74 79.97
2 78.38 80.21
3 78.93 80.27
4






请到「今天看啥」查看全文