本发明属于深度学习和图像检索相结合的技术领域,具体涉及一种基于联合语义矩阵的深度跨模态哈希的图像检索方法。
背景技术:
随着科学技术的发展和大数据时代的飞速发展,近似最近邻(ann)方法在机器学习和图像检索应用中起着重要的作用。散列因其解决ann搜索问题的高效率和低存储特性而被研究人员广泛研究。散列的主要原理是将数据从原始空间映射到汉明空间,并尽可能保留原始空间和汉明空间之间的相似性。二进制代码可以用于大规模检索或其他应用,不仅可以大大减少存储空间,而且可以提高搜索速度。
在当前的大多数应用领域中,数据往往是多模式的(图像,文本,音频等)。对于大规模的多模式检索问题,哈希算法也已被广泛使用。例如早期的跨视图哈希算法(cvh),基本思想是通过最小化不同模态的加权平均汉明距离来学习哈希函数,并使用广义特征值求解方法获得最小值。再到线性跨模态哈希算法(lcmh),该算法思想是使用可拓展的k-means算法(一种聚类算法),计算数据点和中心点之间的距离以保持数据内模态内部相似性,通过最小化公共空间中不同模态的同一物体之间的距离以保持模态之间的相似性。近几年,随着深度神经网络的发展,深度跨模态哈希算法也随之大力发展;例如深度跨模态哈希算法(dcmh),该方法是一个端到端的框架,通过相似度矩阵以及负对数似然函数对样本数据处理来训练网络参数,虽然dcmh是一种开创性的,具有出色的性能的深度哈希方法,但他并不能很好的处理数据模态内关联以及不同模态间哈希码的进一步关联。成对关系深度哈希算法(prdh)是dcmh的改进方法,该方法主要是集成不同类型的成对语速,更好的反映来自多模态数据之间的相关性。尽管目前对深度跨模态哈希算法已经有较为深入的研究,但是最终的应用效果并不理想。
技术实现要素:
本发明的目的是提供一种基于联合语义矩阵的深度跨模态哈希的图像检索方法,以弥补现有技术的不足。
本发明以标签信息以及数据特征获取到的联合语义矩阵两者作为监督信息一起监督网络参数的训练;两个监督信息以不同比例的权重监督网络的训练,以期达到更加准确的检索效果。本发明中的无监督信息是通过训练数据的特征表示来构造联合语义矩阵,以联合语义矩阵作为无监督部分的监督信息;有监督信息是通过训练数据生成标签矩阵,以标签矩阵作为有监督部分的监督信息。特别需要注意的是,在有监督信息部分,通过在网络特征层后再加了一层标签预测网络层,通过标签预测层与真实的标签矩阵之间的保距来监督网络的训练。
基于此,本发明采取的具体技术方案如下:
一种基于联合语义矩阵的深度跨模态哈希(dcsjm)的图像检索方法,该方法包括以下步骤:
s1:随机获取一个批次数量的图像文本对数据,并构造标签矩阵;
s2:图像和文本数据分别送入预训练模型vgg19层模型和word2vec模型分别得到图像特征和文本特征;
s3:利用s2中获取到的图像特征和文本特征构造联合语义矩阵;
s4:利用s1获得的标签矩阵和s3获得的联合语义矩阵作为监督信息,构建深度跨模态有监督哈希框架,设置改进后的目标函数,监督网络参数的训练;
s5:重复s1到s4的步骤,直至训练次数到达设定次数,得到训练好的深度跨模态有监督哈希模型;
s6:待检索图像数据经过s1、s2和s3处理后,输入至s5训练好的深度跨模态有监督哈希模型进行检索,输出检索结果。
本发明用到的一些定义和符号表示如下:
使用表示实验中使用了n个图像文本对实例,表示为
跨模态哈希是针对不同模态学习不同的函数,本发明仅使用图片和文本的两种模态训练来学习两个函数:
进一步的,所述s3中联合语义矩阵构建具体为:
首先解释构造联合语义矩阵的定义:用
s3-1:首先,将通过不同模态获得的原始特征
s3-2:与分别保留不同模态原始域结构的哈希方法相比,联合语义矩阵不仅可以简单地以单独的方式保留两个相似度矩阵,而且可以充分利用两个相似度矩阵的互补信息,并集成更精确的字段。因此联合语义矩阵表示为
然后,将所得的
其中,
进一步的,所述s4中:所述深度跨模态哈希框架(dcsjm)包括三个部分:一是利用数据特征生成联合语义矩阵部分;二是图片子网,原始数据首先输入去掉最后一个全连接层的vgg19层模型得到深度特征表示,再将得到的深度表示特征输入两层全连接层,然后再将两层全连接层得到的特征分别送入并行的哈希层和标签预测层;三是文本子网,原始数据首先输入句子cnn网络得到深度文本的特征表示,再将得到的深度表示输入两层全连接层,然后再将两层全连接层得到的特征分别送入并行的哈希层和标签预测层。
进一步的,所述s4中,所述目标函数的改进具体如下:
本发明的目的是了解不同模态数据的语义相关性,即在一个公共空间中,即使数据来自不同的模态,来自相同语义类别的样本也应相似。因此,也有必要使用联合语义矩阵作为受监管网络参数的训练。为了了解多模式数据的判别特征,将最小化标签空间和公共表示空间中的判别损失;同时,还最小化每个图像-文本对的表示之间的距离,以减小跨模态之间的差异;此外,再将联合语义矩阵与线性分类器之间的距离最小化,以充分利用标签信息和联合矩阵获得的潜在相关性。
以下详细介绍dcsjm目标函数:
(1)首先将最小化两种形式的样本在公共表示空间中的损失:
其中
为了消除跨模态差异,首先最小化网络学习的图像-文本对之间的特征表示之间的距离;更具体地说,将特征表示空间的模态不变损失函数表示如下:
(2)然后要保留投影后不同类别的样本之间的区别;使用线性分类器来预测公共表示空间中投影样本的语义标签;因此使用以下目标函数来衡量标签空间中的歧视性损失:
关于联合语义矩阵部分,计算了联合语义矩阵s,以探索输入示例的潜在语义关系;因此使用以下目标函数来最小化相似度矩阵s和哈希码余弦相似度之间的误差,这是学习语义相关的二进制码所需要损失函数:
其中γ是超参数,它使我们的联合语义矩阵框架更灵活,而s是联合语义矩阵。
根据等式(3)、(5)、(6)和(7),最终得出dcsjm的目标函数,如下所示:
其中
本发明的优点和有益效果:
本发明提出了一种新颖而有效的跨模式哈希检索方法;该方法使用监督标签和无监督联合语义证明作为监督信息。标签可以有效地训练网络参数,以便不同的模态可以在相同的汉明空间中实现相同的标准评估操作;联合语义矩阵可以获得特征空间的潜在高级语义相关性。因此,本发明提供的dcsjm模型不仅使用标签的语义信息,而且还使用特征空间中存在的潜在语义信息。且根据实际实验结果表明,本发明所提出的模型比其他基线方法具有更优的检索性能。
附图说明
图1为本发明的基于联合语义矩阵跨模态哈希的过程图。
图2为实施例中dcsjm模型与其他基准方法map结果对比图。
图3为实施例中图片搜索文本map结果对比图。
图4为实施例中文本搜索图片map结果对比图。
具体实施方式
以下通过实施实例并结合附图对本发明进一步解释和说明。
实施例1:
一种基于联合语义矩阵的深度跨模态哈希(dcsjm)的图像检索方法,包括以下步骤(具体流程如图1所示):
s1:随机获取一个批次数量的图像文本对数据,并构造标签矩阵t;
s2:图像和文本数据分别送入预训练模型vgg19层模型和word2vec模型得到图像和文本特征(如图1的左上半部分,具体为图像数据通过imgcnn(图片网络)得到图片特征,文本经过textcnn(文本网络)获得文本特征的过程);
s3:利用s2中获取到的特征构造联合语义矩阵(如图1右边虚线框部分,其中为图片特征通过cos距离计算得到图片相似度矩阵,图中以i1、i2、i3为例。类似的文本以t1、t2、t3表示);
s4:利用s1获得的标签矩阵和s3获得的联合语义矩阵作为监督信息,设置改进后的目标函数,监督网络参数的训练(训练过程如图1左边整个部分所示,分别将imgcnn和textcnn获得的特征送入下面的两层全连接层和一层哈希层中训练,其中哈希层的得到的汉明空间的相似度矩阵以bi1、bi2、bi3、bt1、bt2、bt3为例与联合语义矩阵训练网络参数)。将标签预测层p所得数据与标签矩阵训练参数;
s5:重复s1到s4的步骤,直至训练次数到达设定次数,得到训练好的深度跨模态有监督哈希模型;
s6:待检索图像数据经过s1、s2和s3处理后,输入至s5训练好的深度跨模态有监督哈希模型进行检索,输出检索结果。
实施例2(该实施例为实施例1的具体展开)
一种基于联合语义矩阵的深度跨模态哈希(dcsjm)的图像检索方法,包括以下步骤:
s1:使用n表示实验中使用了n个图像文本对实例,表示为
s2:图像和文本数据分别送入预训练模型vgg19层模型和word2vec模型得到图像和文本特征。首先介绍一些用于构造联合语义矩阵的定义:用
s3:利用s2中获取到的特征构造联合语义矩阵。具体的,首先,将通过不同模态获得的原始特征
与以前的保留原始域结构的哈希方法相比,联合语义矩阵不仅可以简单地以单独的方式保留两个亲和度矩阵,而且可以充分利用两个亲和度矩阵的互补信息,并集成更精确的字段。因此联合语义矩阵表示为
然后,将所得的
其中,
s4:利用s1获得的标签矩阵和s3获得的联合语义矩阵作为监督信息,设置改进后的目标函数,监督网络参数的训练。训练网络参数的目标函数主要包括以下几个方面:来自相同语义类别的样本不管是不是同一种模态,他们的特征表示和哈希码也应相似;为了了解多模式数据的判别特征,将最小化标签空间和公共表示空间中的判别损失;还最小化每个图像-文本对的表示之间的距离,以减小跨模态之间的差异;将联合语义矩阵与线性分类器之间的距离最小化,以充分利用标签信息和联合矩阵获得的潜在相关性。
下面,将详细介绍dcsjm目标函数。
首先将最小化两种形式的样本在公共表示空间中的损失:
其中
为了消除跨模态差异,首先最小化网络学习的图像-文本对之间的特征表示之间的距离。更具体地说,将特征表示空间的模态不变损失函数表示如下:
然后要保留投影后不同类别的样本之间的区别。使用线性分类器来预测公共表示空间中投影样本的语义标签。因此,使用以下目标函数来衡量标签空间中的歧视性损失:
关于联合语义矩阵部分,计算了联合语义矩阵s,以探索输入示例的潜在语义关系。因此,可以使用以下目标函数来最小化相似度矩阵s和哈希码余弦相似度之间的误差,这是学习语义相关的二进制码所需要损失函数:
其中γ是超参数,它使我们的联合语义矩阵框架更灵活,而s是联合语义矩阵。
根据等式(3)、(5)、(6)和(7),我们可以得出dcsjm的目标函数,如下所示:
其中
通过以上改进目标函数训练网络参数,直至达到设定的训练次数。
s5:重复s1至s4,直至训练次数到达设定次数,得到训练好的深度跨模态有监督哈希模型;
s6:待检索图像数据经过s1、s2和s3处理后,输入至s5训练好的深度跨模态有监督哈希模型进行检索,输出检索结果。
实施例3(该实施例通过具体实验数据进行验证)
该实施例的具体过程参考实施例2。
在广泛运用的数据集pascalsentence进行实验。该数据集是pascalvoc的子集,包含来自20个类别的1000对图像和文本描述。在实验中,使用19层vggnet学习图像数据表示,并使用fc7层学习的4096维特征作为图像表示向量。对于文本数据使用句子cnn来学习每个文本的300维表示向量。
在pascalsentence数据集上的结果:
多次验证超参数,最后将超参数设置为
图2展示了在pascalsentence数据集和其他7种基线方法不同位数的map值,包括有16位、32位、64位、128位。实验对比的目前流行的基准跨模态方法有语义相关性最大化的大规模多模态哈希算法(scm_orth,scm_seq),用于跨模态相似性搜索的潜在语义稀疏哈希算法(lssh),多模态数据的集中数据矩阵分解哈希方法(cmfh),用于跨模态检索的有监督矩阵分解哈希方法(smfh),用于大规模跨模态相似性搜索的标签一致矩阵分解哈希(lcmfh),用于大规模检索的基于标签类别监督矩阵分解哈希(lcsmfh)。
实验结果对比从两个方面进行,一是来利用图片搜索文本所得map,二是利用文本搜索图片所得map。在搜索时也从不同搜索位长度来进行比较。实验结果如图2,图3和图4所示,其中图2是以表格展示的是本文所提方法与基线方法map对比结果。其中对比结果分为以文本检索图像和以图像检索文本,在以图像检索文本中各个检索长度均优于基线任务,以16位为例所提方法优于最好基线方法约3%。图3是以折线图表示图片搜索文本的map结果。图4是以折线图表示文本搜索图片map结果。在利用文本搜索图片的实验室中本方法在16位上的搜索结果也优于其他基准方法。实验结果表明,总体来说本发明所提供的方法性能表现在各个领域都优于其他基准方法。