triplet loss 图像检索_【论文分享】基于局部特征的组合查询图像检索

v2-d535b347e6b3ee1614569256a1eda01d_1440w.jpg?source=172ae18b

大家好,这次要和大家分享的论文是有关图像检索领域的,《Composed Query Image Retrieval Using Locally Bounded Features》,来自CVPR 2020。

Composed Query Image Retrieval Using Locally Bounded Features​ieeexplore.ieee.org

一、相关工作和动机

图像检索任务在计算机视觉研究领域占据着重要地位,并且在实际生活中有着广泛的应用。根据queries的类型不同,目前图像检索的相关工作大致可分为以下几类:

  • Content-based image retrieval:输入一张图片,要求返回和它最相似的图片
  • Textual-based image retrieval:输入一段文字描述,要求返回最接近描述的图片
  • Coarse sketch image retrieval:输入一张粗略的抽象草图,要求返回和它最相似的实物图片
  • Composed query image retrieval:输入一张图片和一段文字描述(modification),文字描述中指定修改图片上的某个或某几个实体,要求返回和根据文字修改后图片最相似的图片。

这篇论文的主要工作就建立在Composed query image retrieval上。图像检索的一个核心问题就是如何更全面地捕捉到用户的意图,而传统的图像检索任务如Content-based image retrieval,要求用户只能通过一张图片来描述他的搜索需求,这可能和他的实际需求有着一定距离,因此有人提出了Composed query image retrieval,使得用户可以在图片基础上,用文字对图上内容进行修正,从而提升了query的灵活性。

v2-2e8c19f59cff03a665fe88a222ac9f48_b.jpg

此前的研究大多将图像作为一个整体来考虑,而这篇研究将图像当作一组local entities来研究。论文作者分析认为,这样有利于将修改文字和图像上不同语义区域进行配对,从而更好的完成检索任务。这是这篇论文的一大亮点。

二、模型结构

模型的整体结构如下图所示,论文中已用三种不同颜色标出了分区。左下角红色区域负责进行图片局部特征提取,然后交给中间的VEP进行embbeding,得到图片的representation。文字同样经过一定处理后,通过和VEP类似结构的TEP进行embbeding,同样得到文字的representation。然后在蓝色区域右上角的基于attention的多模态模块中,将文字和图片信息进行融合,得到目标图片的representation,在训练时将它和候选集或batch中上网图片进行相似度比较,计算loss(LST or LBC)。

此外,这篇论文还设计了一个相对独立的辅助模块,即图中黄色区域。它主要用于粗略地筛选出候选集中那些和原图特别不像的图片,辅助训练,并在测试时可通过设置阈值将一些图片直接筛选掉而不让其参与主线(蓝色区域)的计算,从而提高效率。这个设计的原理在于,原图在经过改变后,不会有很大的变化(比如:场景的改变),因而可以借此特点快速筛去一些候选图,减少计算。这个设计也是此论文的亮点之一,具体内容会在下面展开介绍。

v2-bdae4fa59ef98bee3e593e1b412281bc_b.jpg
模型整体结构

1、图片局部特征提取

将图片分成K个区域,对每个区域考虑两部分特征:图片内容信息CNN feature(使用pretrained Faster-RCNN on MSCOCO)和位置信息。这里的位置信息包括区域的x-location, y-location, width, height。通过一些线性层将这两部分信息整合在一起。

2、图片特征embedding

使用两层self-attention模型进行embedding,再进行Avg Pooling后得到的就是图片的representation。

3、文字特征embedding

对描述修改的文字片段进行切分成序列,考虑词语的词义信息和绝对位置信息进行mapping,然后同样使用一个两层self-attention模型进行embedding,得到文字的representation。

4、特征融合

论文中设计了一个多模态模块进行图片和文本的特征融合。这也是整个模型最关键的地方,要让文本中的信息和图片上的信息相互对应起来。整体设计也是基于attention的,由于公式符号太多不便阅读,这里将一层的输入和输出简化成图,如下所示:

v2-9a5591209fdd430aa642f9881f9b9a1a_b.jpg
特征融合的具体过程

其中,CA表示多模态版本的缩放点积注意力机制(multi-modal version of scaled dot product attention),在这里key和value对来自一个模态,query来自另一个模态。比如:对Vl,key和value是Tl,query是Vl。SA表示self-attention操作。通过CA,一个模态可以学到另一个模态的信息;通过SA,模态可以学到自身内部元素之间的关系。由此将两个模态之间信息进行融合,得到根据文字修改源图片后的目标图片表示 f(I,M)。

5、辅助模块(auxiliary module)

设计它的目的是对候选集中的图片进行粗略地过滤,筛掉一些和原图特别不像的图片。它的整体结构并不复杂,如下所示:

v2-325ee52b7a58c5a4a41d7c77ac8a7c91_b.jpg
辅助模块的具体结构

既然要提高计算的效率,这里图片的representation就不再经过self-attention的处理,而是直接经由AvgPooling和soft-sign之后,将结果作为图片特征来计算loss和similarity。从f(I,M)到b(I,M)中间经过了3个线性层,目的是将元素压缩到0~1之间。这里作者巧妙运用了f(I,M)对源图片和目标图片的特征中的元素进行了重新加权,以此来挑出那些和源图片特别不像的图。据此,LB的定义如下:

v2-ee80af41375167076931db5c97972e18_b.jpg
LB的具体计算方式

在训练的时候考虑LB但不过滤图片,在测试时设置阈值θ,若经过重加权后候选集的图和原图差异大于θ就不继续进入主线进行多模态的计算,参与最终的选取。

三、实验部分

论文在Fashion200K、MIT States、CSS三个数据集上分别进行了测试和验证。这三个数据集的具体情况如下:

  • Fashion200K:200K服装图片,每张对应一个文字描述。作者将两张图片的文字描述中有一个单词不同的作为源图片和目标图片,修改文本就形容这个不同点。例如:一张red blouse作为源图片,一张red dress作为目标图片,修改文本为“change blouse to dress“。
  • MIT States:60K图片,每张都使用形容词和名词进行标注。共计245个名词,115个形容词。
  • CSS:各种场景下的几何物体(圆柱体、立方体……)图片。文字描述有三类:增加物体、移动物体和改变物体属性,相比其他数据集描述更复杂,其中还包括位置信息,比如:“add a cube to the right of the sphere.”该数据集有2D和3D两个版本。

在实际测验时,作者在不同数据集上采用了不同的loss。LST考虑的是候选集中所有图片与生成的目标图片表示之间的关系,而LBC考虑的是一个Batch中所有图片与生成的目标图片表示之间的关系。在Fashion200K,他们采用的是LST+LB;在MIT States和CSS上,他们采用的是LBC+LB。猜测是因为在Fashion200K数据集上,图片之间的差异较小,如果使用LBC去计算,一个Batch里出现多个图片均可以视作ground truth的概率较大,因而作者选择了人为划分图片候选集,用LST计算loss。

v2-356180c7f5f201cfd685e65be7d723e9_b.jpg
两种loss的具体计算方式

使用Recall@K作为评测指标,即计算在topK个返回的图片中含有ground truth图片的百分率。实验结果如下所示:

v2-2f2ea2118293ae53bd46fe50fc654f21_b.jpg
Fashion200K上的实验结果

v2-b14b11f4a8f278cb6dc12e608a50ddec_b.jpg
MIT States上的实验结果

v2-daee5a131689c448ce4444d2e99395f9_b.jpg
CSS上的实验结果

可以看到论文中提出的模型在三个数据集上都超过了SOTA,且有较大的提升。作者认为这是因为他们将文本信息和图片上的实体进行了更好地联系。这里big表示K=36个区域,small表示K=18个区域,可以看到区域增多后模型的效果也有了进一步的提升,再次印证了作者的观点。

接下来论文还对模型各部分的作用,尤其是辅助模块的作用进行了研究,将模型进行拆解分析。他们首先对比了在加入辅助模块前后,模型在CSS(3D)数据集上的表现,结果证明辅助模块可以帮助提升图片检索的召回率(第一行数值高于第二行)。

v2-258c71b0e1ef093bcaf190c1b434afa0_b.jpg
模型各部分作用分析

此外,在测试时设置θ,将和原图距离超过θ的图片过滤掉,不让其参加主线的计算。此处定义了一个指标ACRR来衡量候选集图片的平均过滤率,具体形式如下图所示。结合实验结果可以看到,如果控制θ在一个合适的值,可以在不使最终召回率有较大损伤的情况下,过滤掉很大一部分图片(约3/4),大大提升模型的图片搜索效率。

v2-e33310a090f4c51778ddb2543aa533a6_b.jpg
ACRR的具体计算(TQ:testing queries CI:candidate images)

以下是论文中的一些样例展示:

v2-de9a7fc0e545c3450597d4a438f749ab_b.jpg

四、总结

1、该论文提出了一种新的方法,不是把图片作为一个整体来考虑,而是将image当作一组local entities来研究,可以更细致高效地捕捉到图上local entities和modification text的对应关系。

2、模型上,设置了一个独立的辅助模块,可以在提升表现的同时,在测试时过滤掉一些图片减少不必要的计算,在不太损伤准确率的情况下提高效率。

3、该模型在一些地方还有改进的空间,比如:可否设置一个算法,使得K和θ这些参数可以根据数据集的变化,动态地进行调整,从而得到更好的效果。

4、该论文在模态融合时所采用的方法,或许可以借鉴迁移到其他多模态的任务上,比如:图片描述等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值