图文检索(1):Rethinking Benchmarks for Cross-modal Image-text Retrieval


发布时间(2023 sigir)


标题:重新思考 跨模态图像文本检索 的基准

摘要

图像文本检索作为信息检索的一个基础和重要分支,引起了广泛的研究关注。 该任务的主要挑战是跨模态语义理解和匹配。 最近的一些工作更多地关注细粒度的跨模态语义匹配。 随着大规模多模态预训练模型的普及,一些最先进的模型(例如X-VLM)在广泛使用的图像文本检索基准测试(即MSCOCO-Test-5K和Flickr30K-Test-1K)上取得了近乎完美的性能。 在本文中,我们回顾了这两个常见的基准测试,并发现它们不足以评估模型在细粒度跨模态语义匹配方面的真实能力。 原因是基准测试中的大量图像和文本都是粗粒度的。基于观察,我们对旧基准中的粗粒度图像和文本进行了改造,建立了改进的基准 MSCOCO-FG 和 Flickr30K-FG。具体而言,在图像方面,我们通过采用更多相似的图像来扩大原始图像池。在文本方面,我们提出了一种新颖的半自动改造方法,几乎​​不需要人工干预即可将粗粒度句子细化为细粒度句子。此外,我们在新基准上评估了具有代表性的图像文本检索模型,以证明我们方法的有效性。我们还通过大量实验分析了模型在细粒度语义理解方面的能力。结果表明,即使是最先进的模型在细粒度语义理解方面也有很大改进空间,特别是在区分图像中近距离物体的属性方面。我们的代码和改进的基准数据集都是公开的1,我们希望它们能够激发对跨模态检索的进一步深入研究。

1 引言

1、重心在细粒度
2、预训练模型性能已经接近完美
3、两种实验设置用于T2I检索(文本到图像的检索)
a)original setting
MSCOCO-Test-5K中随机选择100 image-text pairs
b)similar setting
MSCOCO-Test-5K+辅助源 ==》挑99张与 a)image相似的

4)现在数据集的两个问题
a)image coarse-grained:给的检索库太小,没有与positive接近的图片,所以检索很简单
b)text coarse-grained:一个text可以有多个positive的image和它对应

5)针对这两个问题
a)辅助源+原始池 ==》与目标图像相似的图片,组成新的图片池
b)半自动细化文本:vision-language 预训练模型检测出 coarse-grained text,然后通过prompt 来丰富它,最后手动纠正这些文本

图文检索作为跨模态研究的基本课题之一,在搜索引擎、推荐系统、问答系统等现实场景中有着广泛的应用。它要求机器根据文本查询检索图像或根据图像查询找到匹配的描述。图文检索的关键挑战是学习不同模态之间的语义对应关系。为了实现更好的跨模态检索,当前主流的图文检索工作倾向于更侧重于细粒度的跨模态语义理解,其中采用了各种精心设计的对齐和推理模块,包括注意机制[18, 24, 39–41]、基于图的网络[4, 20, 25]和场景图[36, 38]等。

近年来,大规模多模态预训练模型 [2, 32, 44] 的引入为图文检索带来了显著的性能提升。人们付出了巨大的努力来为一些现有的预训练模型设计预训练任务,以刺激细粒度的语义理解,从而使图文检索的性能接近完美。一些最先进的模型,如 X-VLM [44],已经在常用基准 MSCOCO-Test-5K 上实现了 R@10 上图像到文本 (I2T) 检索和文本到图像 (T2I) 检索的 98.2 和 90.5。

当前模型近乎完美的表现令人兴奋,但也引起了我们的好奇心,即这些模型是否真的具有可与人类媲美的跨模态语义知识,尤其是在细粒度语义理解方面?或者现有的基准不足以验证跨模态细粒度语义理解的真实模型能力?因此,我们执行了一个小型文本到图像 (T2I) 检索实验来检验我们的假设。具体来说,我们创建了两种类型的测试设置。首先,我们从 MSCOCO-Test-5K 中随机选择 100 个图像-文本对作为我们的迷你测试(原始)设置。然后,对于迷你测试(原始)中的给定文本查询,我们特意从 MSCOCO-Test-5K 和辅助源中选择 99 张与其对应目标图像相似的图像(参见第 3.1 节),这些图像与目标图像一起用作 T2I 检索的更具挑战性的候选集,这被称为我们的迷你测试(类似)设置。图 1 显示了这两个小实验设置 2 下 X-VLM 的性能,从小测试(原始)到小测试(类似)可以观察到显著的性能下降。这些观察结果启发我们重新审视当前的基准,并发现了两个问题。

首先,用于基准测试的图像是“粗粒度”的,这指的是图像检索池的规模很小,池中的图像差异很大(或池在语义上很稀疏),导致不需要细粒度的语义理解就能轻松区分检索目标。两个常见的图文检索基准测试 MSCOCO-Test-5K [23] 和 Flickr30K-Test-1K [42] 分别只包含 5000 张和 1000 张图像。而且这些图像是从 Flickr30K 和 MSCOCO 中随机选择的。规模有限和语义稀疏的检索候选池会导致图文检索评估的系统性弱点。如图 2(a) 所示,对于给定的查询“一个戴着眼镜和围巾的女人在人行道上滑滑板”,检索池包含各种各样的图像,其中大多数图像在语义上与查询不同。在这种情况下,模型可以很容易地从候选图像池中挑选出目标图像,而无需细粒度的语义理解。但是,如果我们要求模型从相似的候选图像中进行检索,那么如果没有良好的细粒度语义理解能力,模型可能会失败,如图 2(b) 所示。

第二,用于基准测试的文本“粗粒度”。基准测试中大量的文本描述不够详细。在MSCOCO和Flickr30K中,每张图片都有五句话的人工注释,有些是较细粒度的(例如“一只长颈鹿站在绿色的田野中,背景是一所房子”),有些是粗粒度的(例如“一只长颈鹿站在田野中”)。然而,粗粒度的文本可能会给图文检索评估带来问题,因为不同的图片查询可能会很好地匹配相同的粗粒度文本,如图2(c)所示。这样的评估案例并不是验证模型能力的有效测试样本。但是,如果文本变得更细,它可以成为验证模型细粒度语义理解能力的一个很好的样本,如图2(d)所示。

针对当前基准测试集的上述不足,我们建议对现有基准测试集进行改造,并构建相应的新基准测试集,即 MSCOCO-FG 和 Flickr30KFG。我们首先采用相似图像来扩大原始候选池,以获得更大、语义更密集的池。具体而言,我们利用多模态模型从原始池和辅助源中搜索与目标图像相似的图像,然后组合包括目标图像在内的所有相似图像以形成新的图像池。此外,我们提出了一种新颖的半自动化方法来细化粗粒度文本。具体而言,利用视觉语言预训练模型首先检测潜在的粗粒度文本,然后通过提示新的细节来丰富这些文本。最后,对细化的文本进行一些手动修正。

我们进一步进行了广泛的实验,在我们的新基准上测试各种现有模型。实验结果表明,在旧基准中取得接近完美性能的模型在新基准中不再表现完美,表明当前的图文检索模型在跨模态细粒度语义理解方面仍有很大的改进空间。这项工作的主要贡献包括:

我们回顾了当前的图像-文本检索基准,发现它们不足以评估模型的细粒度语义理解能力。

通过利用相似图像来扩展图像池和半自动地改进粗粒度文本,我们革新了旧的基准并构建了新的用于图像-文本检索的细粒度基准MSCOCO-FG和Flickr30K-FG。将发布新的基准来支持更深入的研究。

我们在我们的新基准上评估了几个有代表性的图像-文本检索模型,以证明我们方法的有效性,并进一步分析它们在理解跨模态细粒度语义方面的能力。

2 相关工作

2.1 Image-Text retrieval

近年来,人们提出了多种图像文本检索方法,大致可分为两类
非预训练模型
早期的作品[7,8,28],如VSE++[7],主要使用卷积神经网络(CNN)提取固定的网格特征来表示图像,仅提供局部像素级信息,难以理解高级语义概念。为了解决这一问题,以下工作[18,24,39,41]采用了目标检测器来更好地对图像进行编码。例如SCAN[18]采用Faster R-CNN[34]来检测图像中的物体,并将其与句子中的单词对齐。最近,研究人员探索了多种方法[4,20,30,31,36,38,40,45]来实现图像和文本之间的细粒度语义对齐。特别是,VSRN[20]利用图卷积网络(GCN)[16]和门控循环单元(GRU)[1]来执行局部全局语义推理。SGM[38]构建外部场景图[14]来增强视觉关系的学习。DIME[31]被提出用于动态学习模态交互模式。

视觉-文本预训练模型
视觉语言预训练(VLP)旨在通过自监督任务从大量的图像-文本对中学习视觉语言对齐。在对下游图像文本检索任务进行微调后,VLP模型的性能明显优于非预训练模型。它们的体系结构大致可以分为两种类型:单流和双流。单流结构模型[2,9,15,19,22,46]使用相同的编码器对图像和文本进行编码,该编码器通过不同的预训练任务学习视觉语言对齐。例如,UNITER[2]使用统一的Transformer编码器来学习在公共空间中图像区域和单词的上下文化嵌入。双流结构模型[6,13,21,26,32,43,44]首先用独立的编码器分别对图像和文本进行编码,并通过共同关注层进行跨模态语义交互,从而提供更灵活的图像和文本编码。具体来说,CLIP[32]采用了使用ResNet-50 [10]/ViT[5]的图像编码器,并使用Transformer对文本进行编码。在对4亿对图像-文本进行对比预训练后,单独的编码器获得了对两种模式的通用表示进行编码的能力。为了研究以前的模型在细粒度跨模态语义理解和对齐方面的能力,我们选择了几个具有代表性的非预训练和预训练模型来评估我们的新基准,并在接下来的实验中提供详细的分析。

2.2 Image-Text Datasets

随着对跨模态研究兴趣的增加,各种跨模态数据集,尤其是图像-文本数据集,被提出来支持深入的探索。根据数据收集方法,现有的图文数据集可以分为两类。

带有人工注释的数据集
早期,研究人员通过首先从互联网上抓取图像,然后手动注释图像的标签、区域和文本描述来创建图像-文本数据集。继Hodosh等人[12]之后,Young等人[42]引入了Flickr30K,其中包含从Flickr网站收集的31783张日常活动和场景的图像,以及通过众包(Amazon Mechanical Turk)对每张图像的5个注释描述。
Lin等人[23]提出了一个名为MSCOCO的更大、更详细的数据集,包含91个常见对象类别的123,287幅图像(也是从Flickr收集的),并为每幅图像手动标注了边界框、分段和5个描述。后来,克里希纳等人
[17]提出了基于MSCOCO的视觉基因组,其具有对视觉区域的附加描述,以提供更丰富的图像细节。由于它们的高质量,这些数据集被广泛用于训练和评估各种图像-文本任务。

具有过滤的web资源的数据集
由于视觉语言预训练模型在自然语言处理领域表现突出,研究人员倾向于增加图像-文本数据集的大小来训练更好的多模态模型。为了克服人工标注数据集的局限性,他们大多使用web资源构建数据集,而不需要人工标注。Thomee等人[37]收集了大约9900万张图像及其元数据,包括来自Flickr的标签和位置,以构建YFCC-100M。由于网络数据往往是嘈杂的,SBU字幕照片数据集[29]和概念字幕[35]提取原始HTML文本的替代文本,并按照几个预定义的规则清理它们,以获得更准确和详细的图像描述。除了依赖替代文本,一些数据集使用其他文本来源。例如,RedCaps [3]收集社交媒体用户编写的标题来构建图像-文本对。尽管这些数据集在数量上优于带注释的数据集,但即使使用设计良好的过滤管道,它们的质量也有缺陷。因此,它们大多用于预训练阶段,不适合用于评估。

3 方法

图像更新
1)候选图像池:补充图像池COCO-unlabeled2017 + 原始图像池
2)each imgage: 使用CLIP编码文本和图像,然后利用文本和图像分别检索图像得到两个候选集合
最终挑选10个:1个target + 9个相似图像
3)total image:
把前面的候选集集合起来,然后去重

文本更新
1)find coarse-grained texts 利用CLIP:for each text,target image rated top1是 fine-grained 否则 coarse-grained
2)生成细节
利用 image captioning 模型 VinVL
a)抽取名词
b)根据名词+prompt,生成名词相关的东西
c)判断生成的得分是不是高于原来的
3)句子合并
训练gpt2来合并句子
a)训练数据利用细粒度文本拆成两个句子
b)利用数据训练gpt2
c)将gpt2用于步骤2得到的数据,然后也是判断得分是否高于原来
4)手动纠正
找人来做

传统的图像-文本检索基准B通常包含N图像,每个图像都有𝑀对应的文本描述,它通常用于评估两个子任务:文本到图像(T2I)检索和图像到文本(I2T)检索。文本到图像检索的目的是在给定文本查询的情况下从整个候选图像池I中搜索目标图像,而图像到文本检索要求模型在给定图像查询的情况下从候选文本池D中搜索至少一个目标文本描述。正如我们所观察到的,当前的基准受到粗粒度图像和文本的影响,使它们无法提供细粒度的图像-文本检索评估。考虑到从头构建一个全新的基准非常昂贵和耗时,我们建议改造现有的基准B,以满足更高的细粒度评估需求。接下来的3.1节首先介绍了我们如何构建更具挑战性的细粒度映像池。第3.2节描述了我们将文本从粗粒度细化到细粒度的半自动方法。

3.1更新图像候选池

由于当前图像检索池中的图像差别很大,模型可以很容易地选择给定文本查询的正确目标图像,而无需细粒度的理解。为了改进现有的基准以支持细粒度的语义评估,我们利用相似的图像来扩大图像池。将原始图像池表示为Iold,并将池中的每个图像(目标图像)表示为𝐼𝑡 (t∈[0,N]),我们通过三个步骤搜索𝐼𝑡的相似图像,以将Iold扩展到新的池Inew:(I)准备非重叠图像池Ican以提供候选图像,(ii)为来自Ican的每个𝐼𝑡搜索相似图像集𝑆𝑡,以及(iii)将所有相似图像集{𝑆𝑡集合到新的图像池inew中。

3.1.1准备候选图像

在搜索相似图像以扩展原始图像池之前,我们应该首先确定哪些图像可以作为相似图像的候选。除了原始池中的图像,我们需要更多的候选图像。
我们根据以下三个原则选择候选图像:
1候选图像不能与图像-文本检索模型通常使用的训练集和验证集重叠,以防止数据泄漏。
2候选图像应与目标图像在同一域中,以提高成为相似图像的可能性。
3候选图像的数量应足够大,以大大超过原始池的大小,为相似的图像提供多种候选图像。
由于两个流行的图像-文本检索数据集MSCOCO和Flickr30K都包含来自图像共享网站Flickr3的图像,我们采用从Flickr收集的其他图像作为类似图像的额外候选源。具体来说,我们采用COCO4 (unlabeled2017)中的120,000幅未标记图像,并将它们与原始池Iold中的图像组合在一起作为候选图像Ican。

3.1.2搜索相似的图像

基于候选图像Ican,我们通过图像到图像和文本到图像的匹配为每个目标图像𝐼𝑡建立相似的图像集𝑆𝑡,如图3所示。具体来说,搜索过程包括以下三个主要部分:
(1)我们首先使用视觉语言模型分别从图像和文本中提取视觉和文本特征。具体地,我们应用预训练的clip[32]模型来将Ican中的所有候选图像(包括Iold中的目标图像)和D中的所有文本嵌入到共享的语义空间中。
(2)然后,对于Iold中的每个𝐼𝑡,我们计算其与Ican中所有候选图像的余弦相似性得分,并选择Top-𝑘的图像作为𝑆的𝑡。对于其相应的𝑀文本描述𝐷𝑡 = {𝑑𝑖 } 𝑀 𝑖=1,我们也计算它们与所有候选图像的相似性得分,并且仅保留top-𝑘’图像作为𝑆’𝑡。
(3)具体来说,我们通过组合𝑆的𝑡和𝑆的𝑡来选择前10个图像,以形成相似图像集𝑆𝑡,其包括目标图像𝐼𝑡和9个与𝐼𝑡最相似的图像。

3.1.3组装相似的图像集

最后,我们将前面步骤中建立的所有相似图像集合𝑆 = {𝑆𝑖 } 𝑁 𝑖=1集合起来,并从𝑆移除重复图像,以获得新的图像池Inew,该图像池包含整个Iold和大量补充的相似图像。新池Inew中更大的池大小和图像之间更高的相似性要求对图像-文本检索有更强的细粒度语义理解。

3.2对粗粒度文本进行翻新

在现有的基准测试中存在大量粗粒度的文本(如图2©所示),这可能导致歧义问题,其中不同的非目标图像都匹配文本。为了解决这个问题,我们提出了一个半自动的修复管道,它由四个步骤组成,从粗粒度文本𝑑𝑐中获取细粒度文本𝑑𝑓,如图4所示。

3.2.1 找到粗粒度的文本

目前的基准测试中既有粗粒度的文本,也有细粒度的文本,只有那些粗粒度的文本需要更新。由于手动检查既昂贵又耗时,我们利用高级VLP模型来执行粗粒度的文本过滤。CLIP [32] 在各种零样本图像文本任务(包括图像文本匹配)上都表现出了相当不错的性能。因此,我们在此步骤中应用了预训练的 CLIP。如果 CLIP 能够在给定文本描述 𝑑0 的情况下将目标图像 𝐼0 排在第一位,则我们认为 𝑑0 的粒度足够细,模型可以将目标图像与其他图像区分开来,否则我们认为 𝑑0 是粗粒度的。经过这样的过滤,原始基准 B 中超过一半的文本被视为粗粒度的。然后,我们将它们传递到以下步骤以对其进行细化,使其粒度更细。

3.2.2 提示生成细节

为了细化第一步过滤出的粗粒度文本,我们需要从图像中提取更多新细节,并将其补充到原始粗粒度文本中。由于预训练的视觉语言模型在图像字幕制作方面取得了出色的表现,我们采用预训练模型来挖掘图像中的更多细节。具体来说,我们在基准数据集上对 VinVL [46] 进行了微调,并使用不同类型的提示(如表 1 所示),以鼓励 VinVL 根据原始文本和图像生成各种细节。详细过程如下:
(1)给定一个粗粒度文本𝑑𝑐,我们首先使用自然语言处理工具Stanford CoreNLP5从 𝑑𝑐 中分析并提取 𝑚 个名词(宾语),记为 𝑋 = {𝑥𝑖 } 𝑚 𝑖=1。
(2)根据𝑋中含有名词的模板,创建不同的提示𝑃 = {𝑝𝑖 } 𝑛 ′ 𝑖=1,并分别将其应用到𝑑𝑐之后,得到输入文本{𝑑 𝑖 𝑐 } 𝑛 ′ 𝑖=1,其中𝑑 𝑖 𝑐 = ⟨𝑑𝑐, 𝑝𝑖⟩。
(3)将每个𝑑 𝑖 𝑐和相应的图像𝐼𝑐一起输入VinVL,得到新文本𝑑𝑛 = ⟨𝑑𝑐, 𝑑𝑔⟩。
(4)筛选结果,只保留包含新信息的结果。具体来说,我们应用 clipscore [11] 来衡量图像-文本兼容性,并丢弃任何 clipscore 低于 𝑑𝑐 的 𝑑𝑛 。

3.2.3 合并新的细节

请注意,𝑑𝑐和𝑑𝑛的格式不同,𝑑𝑐只用一句话来描述图像(例如,一个女人站在人行道上),而𝑑𝑛用两句话的格式(例如,一个女人站在人行道上)。是在晚上)。为了使新文本保持相同的格式,我们应用自然语言模型将𝑑𝑛的两个句子合并成一个句子格式(例如,一个女人晚上站在人行道上)。具体来说,我们微调GPT-2 [33]来执行句子合并:
(1)首先,我们需要为GPT-2构建一些与𝑑𝑛 = ⟨𝑑𝑐,𝑑𝑔⟩格式相同的训练数据。我们首先使用自然语言处理工具Spacy6为每个细粒度文本创建一个解析树。然后,我们根据句法分析树中的词性标签和依存信息将内容分成两部分,分别对应于细节部分𝑑的𝑔和剩余部分𝑑的𝑐。具体来说,我们主要使用两种结构来构建𝑑的𝑔:形名结构和介词短语。我们首先提取文本中所有的形容词和相关对象对,以及所有的介词短语。

然后我们按照生成细节句𝑑𝑔的相似格式构建𝑑的𝑔作为训练数据。例如,我们把“一个小男孩在山顶玩飞盘”分成两部分变成"一个玩飞盘的小男孩"和“它在山顶上。”(2)然后我们在由上述步骤构建的训练数据𝑑′=⟨𝑑′𝑐,𝑑′𝑔⟩上微调GPT-2。具体来说,给定文本⟨𝑑的《𝑐,𝑑′𝑔⟩》,该模式需要重建《𝑑》。我们提供了一些训练数据来评估该模型是否能够准确地学习合并文本。

(3)将𝑑𝑛输入微调后的GPT-2,生成一句话格式的细粒度文本𝑑𝑓。如图4的步骤3所示,我们将原始的粗粒度文本“一个站在人行道上的女人”和新的细节“现在是晚上”一起输入GPT-2,生成一个更细粒度的文本“一个晚上站在人行道上的女人”

(4)我们用clipscore对结果进行再次过滤,去掉那些得分低于原文的结果。对于有多个新文本的情况,我们选择具有最高剪辑分数的最佳𝑑𝑏𝑒𝑠𝑡作为最终更新的文本

3.2.4 手动校正

即使经过严格过滤,一些新文本仍然包含一定的错误,通常是语法和语义错误。 我们随机抽取了100篇新文本,发现大约40%的文本存在一些小错误。考虑到这些错误通常很容易纠正,我们招募了20名大学生来手动检查和纠正这些错误。对于每个包含图像和生成文本的案例,要求他们检查生成的文本是否正确描述了图像,并提供原始文本以帮助他们快速找到新添加的细节。如果有错误,则要求他们用尽可能少的单词进行纠正。最后,我们通过上述步骤对粗粒度文本进行改造,从而获得新的细粒度文本。

4 实验

1)性能指标recall@k
represent query retrieve the ground-truth in 1,5,10

2)图片量更大
图片相似度更高

3)模型
VSE++:CNN图像编码,硬负例
SCAN:细粒度语义对齐
VSRN:局部和全局语义
UNITER:transformer编码,开始预训练了
X-VLM:细粒度的文本定位图像概念

4)实验的设计:
细粒度文本确定,比较图像
1)利用文本检索图像,相似度高的检索难度大
2)图像检索文本(×)
3)随机替换相似度不高的图像,效果不如细粒度
相似度图像确定,比较文本
1)文本检索图像,细粒度好(因为学的好)
2)图像检索文本,细粒度好(因为学的好)

5)模型分析:
1)整体的细粒度理解一般
2)预训练好于非预训练
细粒度理解好于非细粒度理解
3)更细粒度方向:
图像理解正/负文本的能力一般
图像中间不同物体之间的关系/不同物体之间的属性

我们通过改进图像池和文本来改造现有的 MSCOCO 和 Flickr30K 基准,并构建了相应的新基准 MSCOCO-FG 和 Flickr30K-FG。在本节中,我们首先介绍有关改进的新基准的更多细节。然后,我们在新基准上评估了几种经典的图像文本检索模型。此外,我们还对使用新基准理解细粒度语义的模型进行了详细分析。

4.1 实验设置

实施细节。如果没有指定,我们使用 CLIP𝑉 𝑖𝑇 −𝐵/32 作为预训练模型来帮助搜索相似图像和过滤粗粒度文本。我们选择 VinVL𝑏𝑎𝑠𝑒 来生成带有提示的详细信息。为了将新细节与粗粒度文本合并,我们采用 GPT-2𝑠𝑚𝑎𝑙𝑙 。我们在两个数据集上以 3e-4 的学习率、16 的批量大小和 10 的训练周期训练 GPT-2。我们使用 PyTorch 实现我们的方法并在单个 NVIDIA GeForce RTX 1080 Ti GPU 上进行所有实验。 评估指标。我们遵循先前的研究 [7, 18, 20],使用 Recall@K (R@K) 来评估图像文本检索性能,其定义为在前 K 个结果中正确检索出事实的查询的百分比。K 的值为 1、5 和 10。

4.2 新基准统计

我们的新基准的统计数据和改进细节如下
4.2.1 更大、语义更密集的图像池。
如表 2 所示,新基准中的图像池明显大于旧基准中的图像池,分别包含 31k+ 和 6k+
分别针对 MSCOCO 和 Flickr30K 的图像。为了检查新池中图像的语义密度改进,我们使用 t-SNE [27] 分别可视化旧池和新池中每个目标图像及其前 20 张最相似图像的 CLIP 特征,如图 5 所示。我们可以看到,新池中的图像在语义上比旧池中的图像更接近(或池在语义上更密集)。图中还显示了旧池和新池中与同一目标图像最相似的前 8 张图像。新池包含与目标图像具有更多相似对象或场景的图像

4.2.2 更详细和更细粒度的文本。
我们从不同方面比较了改造前后文本的质量。 我们计算所有文本中的名词和形容词的数量、每个句子中名词和形容词的平均数量以及平均句子长度来测量文本的粒度。表 3 中的结果表明,改造后粗粒度文本在两个数据集上的语义都得到了丰富。此外,我们在图 6 中展示了一些改进后的新文本与原始粗粒度文本的比较示例。我们的方法可以从各个方面改进粗粒度文本,描述图像的更多细节,包括新属性(“绿色和白色”)、详细外观(“黑色上衣”和“白色裙子”)、天气(“晴天”)、地点(“餐厅”)和未提及的新物体(“一张图片”)等。

4.3 新基准评估

我们在新的基准上评估了不同的现有图像文本检索模型,以证明我们的改进在进行更细粒度评估方面的有效性。具体来说,我们选择了三个非预训练模型和两个多模态预训练模型。 这些模型的更多细节如下:
• VSE++ [7] 使用 CNN 将图像编码为网格特征,并在损失函数中加入硬负样本。
• SCAN [18] 首先从图像中检测对象,然后关注文本中的单词以学习潜在的视觉语义对齐。
• VSRN [20] 提出使用 GCN [16] 来增强局部视觉语义推理,使用 GRU [1] 来执行全局语义推理。
• UNITER [2] 提出了一种基于 Transformer 的编码器,通过在四个常见的图像文本数据集上设计四个预训练任务来学习联合视觉和文本嵌入。
• X-VLM [44] 根据相关文本在图像中定位视觉概念,并通过多粒度视觉语言预训练将文本与它们对齐,这在许多视觉和语言任务(包括图像文本检索)上实现了最先进的性能。
对于非预训练模型,我们按照相同的设置在两个基准数据集上训练 VSE++、SCAN 和 VSRN。对于预训练模型,我们在两个基准数据集上对 UNITER𝑏𝑎𝑠𝑒 和 X-VLM𝑏𝑎𝑠𝑒 进行微调。

4.3.1 在不同图像池上的实验。为了验证使用相似图像扩大图像池的有效性,我们在两个基准上进行了文本到图像 (T2I) 检索实验。要求模型根据细粒度的查询文本从旧图像池或新图像池中检索目标图像。图 7 显示了五个模型在旧池和新池上的 R@1 和 R@10 性能,从中我们可以看到所有模型在新图像池上执行检索时都明显下降。性能下降表明我们的新图像池更具挑战性,需要模型具有更好的细粒度语义理解能力
为了进一步验证新图像池中相似图像对检索评估的影响,我们构建了一个扩大图像池的变体。我们不使用相似图像进行扩展,而是用从同一候选图像源中随机选择的图像将图像池扩展至相同的池大小。然后,我们对随机扩展的图像池和我们的新池进行 T2I 比较实验。图 8 展示了 VSE++ 和 X-VLM 在这两类图像池上的 R@5 性能。我们观察到同一模型在相似图像池上的性能要低得多,这表明将相似图像引入图像池确实增加了检索难度,这要求检索模型具有更好的跨模态细粒度语义理解和匹配能力。

4.3.2 在不同粒度的文本上进行实验。我们还进行了文本到图像 (T2I) 检索和图像到文本 (I2T) 检索实验,以验证改进文本的有效性。我们将同一模型在新的候选池中对原始文本或我们新的精炼文本的检索性能进行比较。表 4 中的结果表明,当给定新的改进文本(无论是作为查询还是作为候选)时,所有模型在 R@1 上的表现都更好,这表明改进的文本粒度更细,从而可以实现更好的跨模态匹配。

4.4 经典模型的实证研究

上述实验表明,我们的新基准可以更好地评估模型在细粒度语义理解和对齐方面的能力。然后,我们尝试通过在新基准上的实验对我们一开始提出的问题提供更多的分析和见解:当前的模型是否真的具有与人类相当的跨模态语义知识,特别是在细粒度语义理解方面?从图 7 中我们可以看到,所有模型在新基准上对 T2I 检索的召回率都低得多,其中即使是最先进的模型 X-VLM 也出现了明显的下降,特别是在 MSCOCO-FG 上,R@1 仅为 44.5。这些结果表明,当前的图像文本检索模型在细粒度跨模态语义理解方面还远远不够完美。

此外,我们注意到不同的模型在新的基准上表现出不同程度的退化。预训练模型(UNITER、X-VLM)的表现仍然比非预训练模型好得多模型(VSE++、SCAN、VSRN)在 MSCOCO-FG 和 Flickr30KFG 上的表现,证明了预训练模型通过查看大量图像文本对并通过特定对齐任务的预训练过程获得更多跨模态语义知识的优势。不同的非预训练模型和预训练模型的表现也不同。配备了用于细粒度语义理解和对齐的附加模块的非预训练模型(如 VSRN)的表现远优于没有配备的模型(即 VSE++、SCAN),而使用特定细粒度预训练任务(如 X-VLM)训练的预训练模型往往比没有配备的模型(即 UNITER)表现更好

虽然目前的模型在提高图像和文本之间的细粒度语义理解方面做出了一些有效的努力,但仍有很大的改进空间。我们进一步进行了一些额外的实验,以激发细粒度语义理解未来方向的新思路。具体来说,我们利用半自动修复流程中模型生成的错误文本及其在 MSCOCO-FG 中对应的人工校正文本来进一步研究模型在细粒度语义理解中的能力。根据我们在校正过程中的观察,错误文本与正确文本几乎相同,除了几个单词。给定一张图片和一对错误文本和正确文本,模型需要为图片选择最好的文本,这可以检查模型在区分和对齐两种模态细节方面的能力。图 10 中的结果证实,预训练模型在细粒度语义理解方面的表现优于非预训练模型,但它们在选择正确文本方面仍然有些困难,因为它们的匹配准确率仍然低于 80%

我们进一步研究了 X-VLM 的匹配优劣情况,并在图 9 中展示了一些示例。像 X-VLM 这样的高级图文检索模型在细粒度语义层面上已经表现出了理解和区分对象及其属性的良好能力,如图 9(a)所示。然而,它仍然难以区分图像中相邻对象的属性,如图 9(b)所示,这表明未来的图文检索工作可以更加注重提高模型对细粒度对象-对象关系和对象属性对齐的理解。例如,考虑使用类似图像和混淆文本(如上)作为难负样本来训练模型,以获得更好的细粒度语义理解能力。

5 结论

在本文中,我们回顾了图像文本检索的常用基准,并发现由于图像和文本的粒度较粗,这些基准不足以评估细粒度跨模态语义对齐的真正能力。因此,我们在旧基准的基础上建立了改进的新基准,称为 MSCOCO-FG 和 Flickr30K-FG。具体来说,我们通过采用更多相似图像来扩大原始图像池,并提出了一种半自动更新流程,几乎不需要人工干预即可将粗粒度文本升级为细粒度文本。我们通过在新基准上评估代表性的图像文本检索模型来证明我们更新的有效性,并通过大量实验分析了模型在细粒度语义理解方面的能力。结果表明,即使对于最先进的模型来说,细粒度语义理解仍有很大改进空间,特别是在区分图像中相近对象的属性和关系方面。 请注意,我们的翻新过程可以利用不同的预训练语言模型和视觉语言模型来改进基准。由于视觉语言模型在提示新细节方面的局限性,我们在本研究中仅提供具有特定模型的基础版本,这可能会在选择图像和翻新文本时引入偏差。随着大型预训练模型的进步,我们可以进一步从中受益并相应地改进我们的基准。我们希望新的基准能够激发对跨模态检索的进一步深入研究探索。

综述性内容

参考链接:https://zhuanlan.zhihu.com/p/650715975

任务介绍

1)图文检索:image-text retrieval
2)拆分为两个子任务
a)图像文本检索(image-to-text retrieval、I2T):给定图像,从候选文本池搜索一个文本
b)文本图像检索(T2I):给定查询文本,从候选图像池搜索目标图像
3)核心任务:不同模态的信息更好的理解、对齐、交互
4)主流结构:
a)双流结构:先编码再对齐
b)单流结构:得益于transformer的兴起,学习视觉-文本的联合特征

现有工作和模型

1)非预训练模型
a)VSE++(2017):使用双流结构==图像使用vgg19和resnet152,文本使用GRU
创新:只使用batch里面的最hard负样本进行损失,之前是batch的sum负样本
b)SCAN(2018):继承VSE++
创新:更细粒度的图文对齐,resnet的图像特征输入object detector(faster-Rcnn)中,检测并编码图像中的object region。
基于object level和word level的特征,做第二阶段的attention,对齐计算出图文相似度。
c)后续的非预训练方法继承上面的思想,研究点放在“图文对齐”,分为3个方面
a)图像编码改进
PFAN(2019)采用position focused attention机制来强调图像中的物体位置关系,更好地编码图像
R-SCAN(2019)则先将图像表示成scene graph,再去和文本中的word做attention计算相似度
VSRN(2019)模型采用GCN对图像区域的关系进行了推理,生成局部的具有语义关系信息的特征。
然后再基于局部的结果做全局推理,过滤不重要的信息,最后得到图像表征。
值得一提的是,它在训练阶段同时进行了图像描述生成和图文匹配任务,
更好地理解和对齐视觉和文本的语义信息。
b)图文对齐改进
BFAN(2019)提出了bidirectional focal attention机制,以消除图像、文本中不相关的部分对计算相似度得分的影响
GSMN(2020)则用了更复杂的方式对齐图文。
它首先分别构造了图像和文本的关系图,然后基于两个关系图进行node level和structure level的匹配。
c)引入外部知识
(2019)为了能够让模型更好地理解图像,这个模型在图像编码阶段额外提供了预先构造好的Scene Concept Graph,
以扩展出更多可能与图像视觉内容相关的concept,然后再进行一轮筛选,最终得到更丰富和鲁棒的图像语义特征。
(2023)由于现在预训练大模型在图文检索任务上的表现亮眼,效果要远远高于小模型,
近几年单纯做图文检索任务的模型相对比较少,且改进模型的方法与之前大同小异。
这里简单介绍一篇今年CVPR的论文,它的创新点在于通过类似对比学习hard negatives的方法,
考虑和目标图文对相似的图文对,实现更细粒度的图文匹配。
2)预训练视觉-语言模型
得益于大规模数据的训练,在图文检索任务上已经达到几乎满分。
a)单流模型
UNITER(2020)
多层transformer,4个数据集,预训练任务(mlm,mrm,itm)
负例:不使用max hard样本,2个随机负样本+2个hard负样本
OSCAR(2020)
输入:图文对+图像tag
预训练任务:mlm+itm
b)双流模型
CLIP模型(2021,openai)
image-encoder:Vit和resnet
text-encoder:gpt的encoder
预训练任务:ITC图文对比学习(最大化匹配图文的相似度,最小化不匹配图文的相似度)
c)混合模型
单流模型:训练方便,可以对齐两种模态,
但是推理时需要成对图文输入,计算量会很大
双流模型:推理时可以离线计算好图像特征,响应快
对齐建模简单
混合模型
ALBEF(2022)
创新:两个encoder后面加一个多模态encoder进行训练
三个预训练任务:ITM、MLM、ITC
同时借鉴Moco设计动量队列,可以在小的batchsize上获得大规模的负样本(如果大规模负样本在一个batchsize需要太大显存)
BLIP(2022)相当于ALBEF的改进版
创新:保留ITM、ITC任务,但是将MLM任务替换成LM图像描述生成任务,更充分的模态交互
encoder合并,结构层共享参数,模态交互更充分
BLIP-2(2023):在图文检索任务上,近乎完美了
通过一个轻量的Q-Former模型桥接视觉大模型和文本大模型。
它的训练分为2个阶段:
第一阶段学习视觉-语言的表征,第二阶段学习从图像生成自然语言。
第一阶段训练时,冻住image encoder,根据文本学习固定数量的queries来提取图中最相关的信息。
这里的Q-Former可以看作是升级的BLIP,它image端输入的是queries选择后的image encoder特征。
这个阶段的预训练任务本质上和BLIP也是一样的。
第二阶段需要将图像视觉信息注入到LLM中。
在第一阶段训练后,Q-Former已经具有了一定的图文对齐的能力,这时就可以借助LLM模型,生成更好的文本。
冻住LLM,继续训练Q-Former做生成任务,提升模型从视觉到文本生成的能力。
补充:BLIP没有用ITG,而BLIP-2全部用了。
BLIP-2在图文检索任务上微调时采用了全部3个预训练任务的loss(BLIP只用了ITC、ITM),
并通过消融实验证明了生成任务对检索任务也是有增益的。
VLMO(2021):它把MOE的方法扩展到了多模态上,
其核心想法就是:设计不同的专家模型(V-FFN、L-FFN、VL-FFN)分别处理不同的模态,
encoder中其他相同的结构可以共享参数。
它的预训练任务和ALBEF是一样的,都是:ITC、ITM和MLM。
这种结构的模型一大优点在于,它可以用更容易获得的单模态的数据分别训练各模态的专家模型,提升整体的模型效果。
3)中文预训练模型
chinese clip(2022)

总结:
1)利用预训练视觉-文本模型在图文检索任务已经接近完美,很多指标都达到100
现在的多模态预训练模型大都转向更复杂的理解任务,比如多模态的多轮对话
2)近乎完美的指标不代表图文检索被完美解决了。
现在的sota模型在“细粒度“的跨模态”语义对齐“上的表现还有很大提升空间,这在工业界的应用中是非常重要的。

数据集
MSCOCO-test-5k、Flickr30K-test-1k
1)这两个里面测试集的图片是怎么选择的?随机挑选5000张or1000张?

数据集

多模态数据集可以分为两类:
1)带有人工注释的数据集
Flickr30K:31783图片(来源:flickr网站,内容:日常活动和场景,标签:5个注释描述)
MSCOCO:123287图片(来源:flickr网站,内容:91个常见对象类别,标签:boundingbox、segmentation、5个注释描述)
Visual genome基于MSCOCO:对于视觉区域提供了更详细的细节描述
2)具有过滤的web资源的数据集
YFCC-100M:9900万从flickr(metadata:tags、locations)
SBU Captioned Photo Dataset
Conceptual Captions:
提取原始HTML文本的替代文本,并按照几个预定义的规则对其进行清理,
以获得更准确和详细的图像描述。
RedCaps:收集社交媒体用户写的说明文字,构建图像-文本对
总结:2虽然数量上占优,但是质量差,一般只用来预训练,而不用来评估

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值