空间语义图像检索: Spatial-Semantic Image Search by Visual Feature Synthesis

如上图b所示,该论文提出一种利用画布的方式将空间信息考虑在内的图像检索方式。这种检索方式属于多模态的图像检索,即在检索中,queries和database属于不同的模态。

在此前的图像检索领域中,大多是对语义相近或者视觉内容相近的图像进行检索,相应的特征也往往是为了图像的语义或者视觉内容而提取的。但是为了实现空间语义特征的图像检索,仅仅只有语义特征或者视觉特征是不可能实现的,因此需要一种特殊的查询方式。

该论文提出了一种特征合成网络,首先利用pre-trained的网络进行特征提取,再利用训练得到的合成网络进行特征合成。

尽管该论文提出的这种查询方式的目标是希望能够对同一个画布中任意数量的感念进行查询,但是在训练过程中一方面为了避免同一个画布中不同概念的区域相互重叠覆盖,另一方面为了有足够多满足训练要求的数据,而采用单一概念进行训练。在查询过程中,当一张画布中含有多个概念时,将其分解为多个子查询画布,每一个子查询画布包含一种概念,并对其分别进行特征综合,最后利用最大算子对所有子集进行整合。在画布的指定语义区域以外的区域的值全部设置为0,在合成阶段,查询区域Q通过特征合成模型来合成用于查询的视觉特征 f_{Q}.

对于一张查询图像QI{_{Q}}表示与Q相关的训练图像,f{_{IQ}}表示I{_{Q}}的视觉特征,f{_{Q}}为查询图像的合成特征。在训练中,定义了三种损失:

相似性损失(Similarity Loss):

                                                     ${L_s}\left( {fQ} \right) = 1 - \cos \left( {{f_Q},{f_{IQ}}} \right)$

相似性损失可以很好的学习图像之间的相似关系,但是对不同类别的物体之间的判别能力却相对较差。因此在利用相似性损失的同时,还增加了判别损失和排序损失。

判别损失(Discriminative Loss):

首先利用原始图像特征f{_{IQ}}训练出一个用于分类的子网络F{_{D}},之后利用训练得到的F{_{D}}的网络参数计算合成特征f{_{Q}}在合成模型训练过程中的分类误差。

查询Q的判别损失为:

                                                 ${L_D}{f_Q} = CrossEntropy\left( {{F_D}\left( {{f_Q}} \right),{c_Q}} \right)$

${{F_D}\left( {{f_Q}} \right)}$是指利用分类子网络对f{_{Q}}进行分类的结果,${{c_Q}}$是指查询图像中的概念。

排序损失:

                                            ${L_R}\left( {{f_Q}} \right) = \max \left( {0,\alpha - \cos \left( {{f_Q},{f_{IQ}}} \right) + \cos \left( {{f_Q},{f_{I\bar Q}}} \right)} \right)$

其中${{f_{I\bar Q}}}$是由与查询图像不相关的图像提取的特征,α是排序损失的极限,本文中取值为0.35

特征提取:fourth inception module of the GoogNet network

特征综合网络结构:卷积3*3—stride-2 max-pooling—ReLU—batch normalization—卷积3*3—stride-2 max-pooling—ReLU—batch normalization—卷积3*3—stride-2 max-pooling—ReLU—batch normalization  输入:31*31*300—deep=256—deep=512—7*7*832

训练:ADAM算法,迭代次数100,000,mini-batch=17,initial learning rate=0.01

在计算loss之前,清除掉查询画布中目标区域以外的特征数值。

数据集:MS-COO+Visual Genome=123,287+108,077=179,877(包含bounding box annotation for most image regions) 随机划分为105,000+74,877. 训练中查询图像取自每张图像的bound ing boxe,原图作为相关图像 I{_{Q}}

空间语义相关评估:

其中{B_Q}{B_I}分别是查询图像和检索得到图像上标注的bounding boxes的集合,c(bi)和c(bj)表示由bounding boxes bibj框选的类别。

猜你喜欢

转载自blog.csdn.net/wangxinsheng0901/article/details/81183931
今日推荐