APP下载

基于自适应和级联结构的组合图像检索

2022-02-03陈小彤韦世奎张港鉴谭创创范宇铭

北京交通大学学报 2022年5期
关键词:池化检索模态

陈小彤,韦世奎,张港鉴,谭创创,范宇铭,孙 鹏,赵 耀

(北京交通大学 计算机与信息技术学院,北京 100044)

图像检索任务,即从海量的信息中准确找出符合要求的目标图像,一直是推荐系统领域中的研究热点,近年来受到了研究人员的广泛关注.随着互联网的发展以及移动设备的普及,网络中资源信息数量呈爆炸式增长的同时,其数据类型也趋向多模态化,例如人们在上传图片的同时还会加入一些描述文本或者相关视频.因此,人们越来越倾向采用多种模态信息进行图像检索.然而目前主流的搜索引擎仅提供基于文本或图像查询的单一模态的检索模式,难以适应多模态检索任务,无法满足当下用户需求.鉴于此,文献[1]首先提出了组合图像检索任务.组合图像检索任务旨在利用由参考图像与辅助描述文本组成的多模态组合信息为查询信息完成目标图像检索任务,如用户给出一张包含黑色裙子的参考图像和“sleeved pink short dress”的辅助查询文本,检索算法应返回包含短袖粉色连衣裙的目标图像.相较于单一模态检索模式,组合查询图像检索任务主要面临以下两个问题:1)由于参考图像和辅助描述文本中通常包含许多对搜索目标图像毫无帮助的信息,因此如何过滤出无效信息是实现精准组合查询的关键.2)查询过程中,仅考虑图像与查询文本块之间的整体关联约束,会使算法忽略单模态局部区域与另一模态整体之间的联系,因此若同时考虑查询信息间局部和全局层次的信息交互可以极大地提升检索性能.

为了解决上述问题,许多学者构建了多种模型来提高算法检索的效率和精度.文献[1]建立图片和文本结合的嵌入空间使得文本描述特征可以代替部分图片特征,并利用残差网络和门控机制来控制模态特征替代程度,最后使用修改后的查询图像与数据库中的目标图像进行匹配.文献[2]则基于关系推理来创建图像和文本的关系特征,之后通过LSTM 来获得组合表示.文献[3]提出了分层匹配的方法,即使用文本特征改变CNN 网络中不同尺寸的图像特征图,然后在多个尺度中测量与目标图像特征的相似度.但以上这些方法并没有考虑跨模态特征间的差别,所以无法精确地找到查询信息和目标图像间的匹配度量空间.而文献[4]在组合查询图像检索任务中引入了权重共享自注意力模块,该模块不仅将查询文本和参考图像进行融合,还将融合后的查询特征和目标图像特征嵌入到共享空间中,在一定程度上弥补了由于融合所导致的信息丢失缺陷.但由于未对查询信息(查询文本+参考图像)进行选择性融合,所以会使得生成的检索表征中含有大量冗余信息.文献[5-6]利用不同复杂度的仿射变换直接将文本信息融合至参考图像特征中,并基于该特征进行图像检索任务.文献[7]通过引入多个跨模态注意力块来使模型能够准确地建立查询文本中每个词与参考图像中每个区域之间的关联,以此来获得最终的查询嵌入向量.虽然该方法可以准确地获取跨模态特征的区域级信息,但此网络结构十分复杂且需要大量的计算资源.文献[8]基于参考图像,查询文本,和目标图像三者之间的复杂投影关系提出了一个自动编码器模型来推动参考图像和查询文本合成的查询嵌入向量靠近目标图像.虽然该方法的建模过程简单,但该网络结构不具备鲁棒性,无法适应不同数据集的变化.文献[9]提出了一个可插入的联合预测模块(Joint Prediction Module)来精准的捕获参考图像,查询文本和目标图像之间的内在转换关系以完成图像检索任务.虽然该结构简单且可以有效地捕获异构模态的语义信息,但由于该模块仅考虑异构模态在语义上的对齐,所以对于网络检索效果的提升并不是很显著.

针对以上问题,本文作者提出了基于自适应和级联结构的组合图像检索的算法,该算法利用自适应双线性池化模块实现多模态信息间多层次的交互并过滤各模态中的冗余信息,通过引入级联结构将不同层次的各模态中的有效查询信息进行保留.

1 组合图像检索算法

本文算法主要由特征提取模块,多模态特征融合模块以及损失函数组成.其框架如图1所示.特征提取模块主要用于产生查询文本和参考图像的原始特征,此模块还包含注意力模块,其分别对查询文本特征和参考图像特征进行权重分配操作获得带有权重的全局聚合特征;多模态特征融合模块将多个自适应双线性池化模块通过双边结构进行组合,通过文本和图像之间的交互来最大程度地保留各模态中的有效信息,利用级联结构实现对多模态信息在不同层次上的信息过滤功能,并通过线性组合的方式将有效信息进行融合获得最终的组合查询信息嵌入向量.对于目标图像,同样利用自适应双线性池化模块将目标图像特征映射到与查询信息嵌入向量相同的子空间中.最后利用分类损失计算查询信息和目标图像之间的匹配度.

图1 基于级联的自适应双线性池化的的组合图像检索算法框架Fig.1 Framework for cascade-based adapative bilibear pooling algorithm for composed image retrieval

1.1 多模态特征提取模块

参考图像特征提取:为充分挖掘视觉信息,本文使用在ImageNet数据集上预训练的ResNet50 作为图像特征编码器.对于每幅图像,本文提取网络中第3个残差块的输出特征,使用可学习的1×1的卷积核将特征图分别投影到大小为512 的通道中,且保持特征图宽高不变.将参考图像编码为fimg(Ir)=∅r∈RN×d,其中fimg为编码函数,d为特征图的维度,其大小为512,N为图像特征区域数,即将图像平均分为14×14大小的网格区域来提取特征,N=14×14=196.同样的,对于目标图像,也做相同的操作得到目标图像的区域特 征,即fimg(It)=∅t∈RN×d∈R196×512.在下文 中,N=512,d=512.

接下来,将编码后的参考图像特征∅r送入注意力模块获取特征权重.在该模块中,首先对196 个图像区域特征做一些特征变换(如,1×1 卷积和ReLU激活)和softmax 归一化,以预测每个图像区域的注意力权重.在注意力图的基础上,本文对局部区域注意力求和获得参考图像注意力权重At∈Rd∈R512后,将注意力权重与对应的图像区域特征进行点乘,通过平均池化得到参考图像的全局聚合特征.

查询文本特征提取:对于文本信息,本文使用单层LSTM 对其进行编码.在形式上,文本首先被切分为单词序列后,经由LSTM 网络编码以获得文本特征.文中将编码后的文本特征定义为ftext(T)=∅m∈RL×d∈RL×512,其 中,L代表当前文本信息的长度.

对于文本编码后的特征∅m,在注意力模块中对其也做相同的操作,最终获得查询文本的全局聚合特征Am∈Rd∈R512.

1.2 异构特征融合模块

该模块中,主要使用本文提出的自适应双线性池化模块,在实现跨模态信息之间交互的同时还可以对不同模态中的信息进行选择;在结构上,该模块首先基于双边结构将跨模态特征融合过程分为图像-文本分支和文本-图像分支,实现对两种模态局部信息所包含的冗余信息进行过滤并突出有效信息;接下来基于级联结构使多模态信息可以在局部和全局层面上进行交互融合,进而最大化的挖掘跨模态间的互补信息,在这种互补关系的帮助下,一种模态提供的补充信息可以转化为另一种模态的信息,这样不仅减轻跨模态特征间的差异性还可以使得融合特征的表示能力有所提高,提升算法检索能力.

1.2.1 自适应双线性池化模块

本文作者提出一种可以根据输入信息自适应地进行模态信息过滤的结构——自适应双线性池化模块.该模块不仅可以实现两种不同模态间的信息交互还可以拥有筛选主模态信息的功能.其结构如图2 所示,其具体步骤如下:

图2 自适应双线性池化模块Fig.2 Adaptive bilinear pooling module

1)模块的输入∅i∈Rm×d,∅j∈Rn×d为来自不同模态的特征,将∅i视为模块的主模态特征,∅j为辅助模态特征.模块通过引入门控机制来自适应地获得模块主模态与辅助模态之间的关联性,以控制后续的信息过滤程度.其过程如下

式中:i,j={m,r};⊙为矩阵点乘操作;σ(x)为Sigmoid 函数;fc(x)为线性映射函数;l2(x)为l2正则化函数;在实现中,若主模态和辅助模态的特征维度不相同,则通过repeat 函数改变辅助模态特征维度,保证辅助模态特征维度与主模态特征维度相同(若主模态特征维度和辅助模态特征维度相同,则忽略此操作);gatei∈Rm为门控值,表示主模态特征与辅助模态特征之间的关联度;门控值越高,表示特征间关联度越高;反之,则关联度越低.

2)利用式(2)获得多模态融合特征zi∈Rm×o.首先利用两个可学习的权重矩阵将两种模态的特征投影至同一共享空间中,使用哈达玛积将两种模态特征进行融合实现多模态信息交互.由于模块需要利用融合特征对主模态信息进行筛选,所以模块利用函数SumPooling(x,k)将融合特征还原至主模态特征大小.函数SumPooling(x,k)为使用一堆大小为k的非重叠窗口对x进行求和池化操作,在具体实现中,该公式通过一些常见的层(如全连接层,哈达玛积和池化层)组合而成.此外,为了防止过拟合,模块在两矩阵点乘后,加入dropout层并对该层的输出矩阵做l2正则化操作.该过程公式如下

式中:k为整数.

通过上述操作,模块获得了多模态融合特征zi和特征选择阈值gatei.

3)根据特征选择阈值来增强主模态中的与辅助模态相关性较高的特征;对于相关性不高的特征,则用融合特征进行代替,以过滤主模态中的无效信息.最终得到模块输出特征Li∈Ro.其公式如下

1.2.2 局部特征融合

该模块旨在对参考图像区域信息和查询文本词级信息进行筛选,增强其中的有效信息同时用多模态融合特征代替被过滤的干扰信息.为了方便叙述,本文将双边结构分为图像-文本分支和文本-图像分支.

在图像-文本分支中,主要处理来自参考图像的原始特征∅r∈RN×d和文本全局聚合特征Am∈Rd,且原始特征∅r为主模态特征,聚合特征Am为辅助特征.由于两种模态的特征的维度并不相同,需要将文本全局聚合特征复制N遍后再连接起来获得特征∈RN×d.经由式(1)得到gater向量,该向量中的每个元素表示每个图像局部区域与查询文本块的关联度,若某区域与查询文本关联程度较高,则gater向量中对应位置的元素值较大.通过式(2)得到每个参考图像区域与查询文本块融合后的异构融合特征zi,将查询文本特征映射至图像特征中,完成了不同模态间的消息传递.将式(1)和式(2)的输出送入式(3)获得局部融合图像特征Lr(local)∈Rm×d,其中在gatei*∅i中突出了对查询任务有促进效果的图像区域特征,而(1-gatei)*zi则根据门控值自适应的利用多模态融合特征代替无效干扰特征.

1.2.3 全局特征融合

在该模块中希望获得参考图像和查询文本块之间整体的联系,来挖掘其中可使用的正向有效信息.该模块的输入为上一模块的输出,即局部融合图像特征Lr(local)∈Rm×d和词级融合文本特征Lm(local)∈RL×d.随即分别对两种模态的局部特征做平均池化操作提取全局融合图像特征∅r(global)∈R1×d和块级融合文本特征∅m(global)∈R1×d.为得到全局特征而仅对局部特征做简单的池化操作会丧失一部分细节信息,所以在该模块中,算法继续使用双边结构分别对全局融合图像特征和全局融合文本特征在全局层面进行信息的交互和选择.

在图像-文本分支中,将全局融合图像特征和块级融合文本特征送入自适应双线性池化模块中.由于两特征维度相同所以无需对特征做任何预处理操作.同样的,通过式(1)获得门控值gater,获得参考图像与查询文本特征在全局层面的关联度量;通过式(2)获得跨模态全局交互信息特征;通过式(3)在跨模态交互信息的指导,获得真正意义上的全局融合图像特征Lr(global)∈R1×d.

对于文本-图像分支,对块级融合文本特征执行相同的操作,获取真正的块级融合文本特征Lm(global)∈R1×d.

最终全局融合图像特征Lr(global)和块级融合文本特征Lm(global)通过线性组合的方式融合在一起得到最终的组合查询嵌入向量eq∈R1×d,表达式如下

式中:α,β为超参数.

对于目标嵌入向量eq∈R1×d的获取,本文作者首先对目标图像区域特征∅t直接进行平均池化,获取目标图像全局特征∅t(global)∈R1×d;为了使目标嵌入向量eqt与eq处于同一维度空间,算法随机初始化一个1×d维的随机矩阵τ,将随机矩阵τ与目标图像全局特征送入自适应双线性池化模块中,获得目标嵌入向量eq.

1.3 损失函数

整个算法中主要包含一个组件,即用于嵌入查询(参考图像和文本片段)和目标(目标图像)的分类网络.其网络的训练目标是使嵌入向量与其匹配的目标图像尽可能的相似.因此,使用算法使用分类损失,其损失函数如下

式中:k(·,·)为相似度量函数,实验中使用余弦距离函数;B为训练时数据总量的大小,即匹配对的数量.整个网络采用标准的反向传播进行训练.

2 实验结果分析

实验环境Intel Core i5-7 500CPU,主频3.2 GHz,TITAN 显卡,16 GB 显存,操作系统为Windows 10,采用Torch 1.2.0深度框架进行实验.

实验设置细节:算法使用在ImageNet 上预训练的Resnet-50[10]作为图像编码器的主干(输出特征大小为512),即,使用随机初始权重的LSTM[11]作为文本编码器(输出特征大小为512).默认情况下,SGD optimizer 以0.02 的初始学习率对模型进行训练.每25k 次迭代减少10 倍,在75k 次迭代时停止训练.本文作者在所有实验中都使用32 的批量大小.默认情况下.每个实验重复4 次以获得稳定的检索性能,并报告平均值和标准偏差.

2.1 数据集和评价指标

在本文算法的实验中使用了三个基准数据集:FashionIQ、Fashion200K、Shoes.

1)FashionIQ 数据集[12]:来自亚马逊的大约60k 真实产品图片.查询文本块就像真实世界的用户反馈一样,用于根据参考产品图像检索用户想要的内容.该数据集有三类产品:连衣裙、上衣/短袖和衬衫,它们的分布是均匀的.最后,将数据集划分为大约18K 训练查询对,大约6K 验证查询对和大约6K 测试查询对.

2)Fashion200K 数据集[13]:包含大约20 万张带有时尚产品属性类产品描述(如黑色飞行员夹克)的图像,其中有内容差异的参考图像和目标图像成为一对,并基于此差异构建文本块.

3)Shoes 数据集[14]是从Like 抓取的.它的文本是自然语言,这与FashionIQ 是相似的,但不同的是数据集只有10 000 张图像用于训练,4 658 张图像用于测试.

评估指标:在所有数据集中,算法采用相同的评估指标:Recall at K(R@K),Recall at K(R@K)为其对应的目标图像出现在网络返回的前K个检索结果中的百分比.

2.2 性能比较及案例分析

针对模型中的超参数的选择进行分析,将本文提出的组合查询图像检索算法与3个基准数据集的基线模型和已发布的最新模型进行比较.

首先式(4)中的超参数α,β的选择决定了参考图像信息和查询文本信息在最终的查询嵌入中所占的比重.通过改变超参数的数值来获得更具有代表性的查询嵌入向量,该超参数选择实验在FashionIQ 数据集上进行,实验结果如表1 所示.从表1 中可以看出,当α=β=0.5 时,网络检索效果最好.这表明,对于组合查询检索任务,其查询文本和参考图像的重要性是相同的,若在检索过程中减少了某一模态信息所占比例,则模型最终的检索性能有一定程度的降低.

表1 不同超参数性能比较Tab.1 Comparison of the performance for different hyperparameters %

本文在FashionIQ 数据集上进行消融实验来研究每个模块对于网络性能提升的作用.相关结果如表2所示.自适应双线性池化模块通过对两模态的信息进行筛选来过滤无效信息.对于方法的消融实验本文按照以下方法进行:1)为了体现自适应双线性池化模块的有效性,将文本特征∅m或参考图像特征∅r通过平均池化操作得到的模态嵌入向量直接相加来代替该模块在模型中的作用.2)证明级联结构的有效性实现了对模态全局信息的选择.在消融实验中,仅保留全局融合特征模块.从实验结果可知,自适应双线性池化模块对提升网络检索能力有一定促进作用,使网络有了3.1%的性能提升.为了验证级联结构的有效性,实验未考虑查询信息在局部区域的交互,仅保留算法全局融合特征模块,该结构使网络有了0.5%的提升.

表2 在FashionIQ 测试集上的消融实验Tab.2 Ablation experiments on the FashionIQ test set %

为了验证整个算法框架的有效性,对比其他算法在FashionIQ 数据集中的表现能力如表3 所示.可以看出,本文算法拥有较强的图像检索能力,在同一评价标准中,本文算法的检索性能比目前最先进的算法高1.9%,并且保持了最佳性能.

表3 在FashionIQ 数据集上各算法性能比较Tab.3 Performance comparison of the algorithms on the FashionIQ dataset %

除此之外,为了验证本文算法的鲁棒性.验证了该算法在Fashion200k 和Shoes 数据集的表现并与最新的模型进行比较,其结果如表4、表5所示.

表4 Fashion200K 数据集上各算法性能Tab.4 Performance of each algorithm on the Fashion200K dataset %

表5 Shoes 数据集上各算法性能Tab.5 Performance of each algorithm on the Shoes dataset %

从表4 可以看出,与其他方法相比,本文算法在Fashion200K 数据集上有良好的检索效果.在R@1中,本文算法有了0.5%提升.同样的,在Shoes 数据集上也保持了较好的性能.表4 展现了具体数据,在3 个评价标准中,文本算法性能超过最优算法约1.3%,1.68%,1.67%.以上结果说明,文本提出的模型可以将参考图像和查询文本以一种有效的方式进行融合,通过两者之间的交互对模态信息进行选择,以去除每个模态的无效信息.其查询准确率越高,则表明模型可以更准确地检索出符合检索要求的图像.

为了更好的展示本文所提出模型的效果,对模型在3 个基准数据集上的检索效果进行可视化展示,如图3 所示.从图3(a)和图3(b)中可以看出,对于较为复杂且详细的查询需求,如“寻找具有更多黑色印花的裙子”或“寻找具有粉色和灰色的水平条纹的短袖”等,本文的模型可以精准的返回满足查询要求的图片.图3(c)和图3(d)可以看出,本文模型除了可以满足像修改鞋子的材料,颜色等全局信息,比如图3(c)中的“亮色皮质”;也可以完成像修改鞋子局部细节的要求,比如图3(d)中的“不露脚趾的鞋子”.而对于Fashion200K 数据集,该数据集的特点是对于一个修改要求,其可能对应多张目标图像.从图3(e)和图3(f)可以看出,本文模型可以根据查询要求尽可能多的返回满足查询要求的目标图像.

图3 查询结果可视化Fig.3 Visualization of retrieval results

3 结论

1)提出的自适应双线性池化模型不仅可以充分融合两种跨模态的异构特征还可以通过门控单元自适应地完成对模态信息的选择,过滤大量冗余信息.

2)该算法基于级联结构在局部和全局层面上对不同模态间的信息进行聚合,不仅考虑了跨模态信息间多层次的交互,还极大程度地保留了跨模态信息在融合过程中可能丢失的信息.

3)在三个基准数据集上验证该模型检索性能,在这些数据集上的实验结果证明了本文算法的有效性.

猜你喜欢

池化检索模态
基于BERT-VGG16的多模态情感分析模型
基于高斯函数的池化算法
多模态超声监测DBD移植肾的临床应用
卷积神经网络中的自适应加权池化
跨模态通信理论及关键技术初探
瑞典专利数据库的检索技巧
一种基于Python的音乐检索方法的研究
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
专利检索中“语义”的表现