一种利用多层特征融合生成哈希码的方法及装置与流程

文档序号:24426339发布日期:2021-03-26 23:06阅读:176来源:国知局
一种利用多层特征融合生成哈希码的方法及装置与流程

1.本发明涉及图像检索技术领域,特别涉及一种利用多层特征融合生成哈希码的方法及装置。


背景技术:

2.随着网络的快速发展,越来越多的不同模态的数据出现在互联网上,比如图像、文本等。人们希望在各种形式的数据中找到自己所需要的信息,传统的单模态检索已经无法满足人们的需求,因此跨模态检索被提出。跨模态检索的目的是用来自其中一个模态(如图像)的查询,在另一个模态(如文本)中找到语义上相似的实例。然而,由于不同模态数据之间的异质性差异,以及低级特征和高级语义之间的语义鸿沟,使得不同模态数据之间的相似性度量非常具有挑战性。弥补这一差异的通常做法是将不同模态数据映射到一个公共子空间中,然后在公共空间中衡量它们之间的相似性。
3.其中基于哈希的跨模态检索通过一系列设计好的哈希函数,将不同模态的高维数据映射到一个低维的公共汉明空间中,学习到的哈希码保留了原始数据的语义信息。紧凑的哈希码相对于高维图像特征而言,所需的存储成本更小,同时可以通过位之间的异或运算来计算哈希码之间的汉明距离,极大地提高运算速度。传统的跨模态哈希算法是基于人工设计提取不同模态数据的特征,然后利用提取到的特征生成数据所对应的哈希码。特征提取和哈希学习是两个相对独立的过程,两个过程之间没有信息反馈,导致提取的特征和哈希学习之间不能很好地相适应,模型的性能会受限于手工特征的表达能力,使得检索系统在进行跨模态检索时容易产生语义鸿沟。
4.近年来,深度卷积神经网络(deep convolutional neural networks,dcnn)在图像识别、目标检测等领域展现出了强大的特征提取能力,因此有些工作将dcnn与哈希算法相结合提出基于深度学习的模态哈希检索算法。其中一个具有代表性的工作是jiang,qingyuan,et al."deep cross

modal hashing."proceedings of the ieee conference on computer vision and pattern recognition workshops.2017.提出的深度跨模态哈希(deep cross

modal hashing,dcmh)方法,它利用dcnn提取图像和文本的特征,然后映射到一个公共的汉明空间中,通过预先设计好的损失函数将特征提取和哈希学习整合到一个可以端到端训练的框架中,相较于传统算法,该方法性能得到了很大的提升。li,chao,et al."self

supervised adversarial hashing networks for cross

modal retrieval."proceedings of the ieee conference on computer vision and pattern recognition workshops.2018.提出了自监督对抗跨模态哈希(self

supervised adversarial hashing networks for cross

modal retrieval,ssah)方法,该方法将gan网络引入跨模态哈希方法中,减小了来自不同模态数据之间的差异,建立更加精准的公共子空间。cao,yue,et al."deep visual

semantic hashing for cross

modal retrieval."proceedings of the acm sigkdd international conference on knowledge discovery and data mining.2016.提出了深度视觉语义哈希(deep visual

semantic hashing,dvsh)方法,该
方法引入长短期记忆网络(long short term memory networks,lstm)来捕获图像和文本之间的内在联系。上述这些基于深度卷积深度网络学习的方法仅用深度卷积神经网络中某一层提取到的特征来表示不同模态的数据,所提取到的特征通常是网络中的高层特征,如simonyan,karen,and andrew zisserman."very deep convolution networks for large

scale image recognition."international conference on learning representations.2015.提出的vgg网络的fc8层的输出,然而高层特征大多编码语义特征,丢失了很多的空间信息。
5.因此,急需提供一种辨别性更强、跨模态检索准确率更高的哈希码。


技术实现要素:

6.本发明针对上述现有技术中存在的问题,提出一种利用多层特征融合生成哈希码的方法及装置,通过多层特征融合在一起得到更具鲁棒性的特征,生成的哈希码辨别性更强,用于跨模态检索时可以有效地提高检索的平均准确率。
7.为解决上述技术问题,本发明是通过如下技术方案实现的:
8.本发明提供一种利用多层特征融合生成哈希码的方法,其包括:
9.s11:建立图文对的相似度矩阵;
10.根据数据集中的标签信息建立图文对的相似度矩阵s,如果图像与文本相似则s
ij
为1,否则为0;
11.s12:设计图像网络模型;
12.通过不同残差块的输出来获取不同层的特征,将所述不同层的特征转换为通道数和尺寸一致的特征图,然后进行融合,最后通过全局池化和全连接并离散化得到图像对应的哈希码;
13.s13:设计文本网络模型;
14.用多尺度融合模块为每个文本生成对应的多尺度bag

of

words模型,然后通过卷积层获得不同尺度的特征并进行融合,最后通过全连接层得到文本对应的哈希码;
15.s14:利用所述s11中的相似度矩阵s,设计损失函数;
16.s15:训练模型;
17.对于图像网络,随机选取两张图像送入图像网络,利用所述s14中的损失函数进行约束,使用sgd对其进行训练,同时固定文本网络参数;
18.对于文本网络,随机选取两个文本送入文本网络,利用所述s14中的损失函数进行约束,使用sgd对其进行训练,同时固定图像网络参数;
19.s16:获得哈希码;
20.利用所述s15训练得到的模型,将样本输入其中获得对应的哈希码。
21.较佳地,所述s12进一步包括:
22.s121:通过不同残差块的输出来获取n不同层的特征;
23.s122:对于前n

2层,利用卷积层令该些层的通道数与第n

1层的一致,然后利用池化层对前n

2层进行下采样,令该些层特征图的大小与第n

1层的大小一致;
24.s123:对于第n层,利用卷积层令该层的通道数与第n

1层的一致,然后利用反卷积层对该层进行上采样,令该层特征图的大小与第n

1层的大小一致;
25.s124:对经过s122以及s123处理后的n不同层的特征相加进行融合,然后通过全局池化层以及全连接层并离散化得到图像对应的哈希码。
26.较佳地,所述s13进一步包括:
27.s131:将输入向量看作为一个长为n、宽为1的特征向量,其中n为数据集中选用词的个数,将输入向量经过多尺度融合后,可以看作为一个长为n、宽为r的特征图,其中r为所采用的不同尺度的个数,该维度对应不同尺度下的语义信息;
28.s132:将所述s131得到的特征图送入残差块中,得到长为1、宽为r、通道数为c的特征图,从而获取文本的全局信息;s133:利用相加的方式将所述s132得到的对应不同语义信息的r个特征向量进行融合,然后经过全连接层并离散化得到文本对应的哈希码。
29.较佳地,所述s14进一步包括:
30.所述损失函数包括:模态间相似性损失函数、模态内相似性损失函数、哈希过程中的量化损失函数。
31.较佳地,所述s14进一步为:
32.s141:所述模态间相似性损失函数:
33.使用成对的似然函数来衡量f和g之间的相似性:
[0034][0035]
其中,则模态间相似性损失函数为:
[0036][0037]
s142:所述模态内相似性损失函数:
[0038]
对于图像模态,类内相似性损失函数为:
[0039][0040]
其中,
[0041]
对于文本模态,类内相似性损失函数为:
[0042][0043]
其中,
[0044]
s143:所述哈希过程中的量化损失函数为:
[0045][0046]
最后的损失函数为:
[0047][0048]
较佳地,获得哈希码进一步表示为:
[0049]
b
x
=sign(f
i
(x
i
;θ
x
))
[0050]
b
y
=sign(f
t
(t
j
;θ
y
))
[0051]
其中,b
x
和b
y
分别为图像对应的哈希码b
x
和文本对应的哈希码b
y
中的元素,sign(x)为符号函数,表达式为:
[0052][0053]
本发明还提供一种利用多层特征融合生成哈希码的装置,其包括:图文对的相似度矩阵建立模块、图像网络模型设计模块、文本网络模型设计模块、损失函数设计模块、模型训练模块以及哈希码获得模块;其中,
[0054]
所述图文对的相似度矩阵建立模块用于根据数据集中的标签信息建立图文对的相似度矩阵s,如果图像与文本相似则s
ij
为1,否则为0;
[0055]
所述图像网络模型设计模块用于通过不同残差块的输出来获取不同层的特征,将所述不同层的特征转换为通道数和尺寸一致的特征图,然后进行融合,最后通过全局池化和全连接并离散化得到图像对应的哈希码;
[0056]
所述文本网络模型设计模块用于用多尺度融合模块为每个文本生成对应的多尺度bag

of

words模型,然后通过卷积层获得不同尺度的特征并进行融合,最后通过全连接层得到文本对应的哈希码;
[0057]
所述损失函数设计模块用于设计损失函数;
[0058]
所述模型训练模块用于对于图像网络,随机选取两张图像送入图像网络,利用所述损失函数设计模块中的损失函数进行约束,使用sgd对其进行训练,同时固定文本网络参数;对于文本网络,随机选取两个文本送入文本网络,利用所述损失函数设计模块中的损失函数进行约束,使用sgd对其进行训练,同时固定图像网络参数;
[0059]
所述哈希码获得模块用于利用所述模型训练模块训练得到的模型,将样本输入其中获得对应的哈希码。
[0060]
较佳地,所述图像网络模型设计模块进一步包括:多残差模块、前n

2层特征图调整模块、第n层特征图调整模块以及图像对应的哈希码获得模块;其中,
[0061]
所述多残差模块用于获取n不同层的特征;
[0062]
所述前n

2层特征图调整模块用于对于前n

2层,利用卷积层令该些层的通道数与第n

1层的一致,然后利用池化层对前n

2层进行下采样,令该些层特征图的大小与第n

1层的大小一致;
[0063]
所述第n层特征图调整模块用于对于第n层,利用卷积层令该层的通道数与第n

1层的一致,然后利用反卷积层对该层进行上采样,令该层特征图的大小与n

1层的大小一致;
[0064]
所述图像对应的哈希码获得模块用于对经过所述前n

2层特征图调整模块以及第n层特征图调整模块处理后的n不同层的特征相加进行融合,然后通过全局池化层以及全连接层并离散化得到图像对应的哈希码。
[0065]
较佳地,所述文本网络模型设计模块包括:多尺度融合模块、残差块以及文本对应的哈希码获得模块;其中,
[0066]
所述多尺度融合模块用于当输入向量看作为一个长为n、宽为1的特征向量,其中n
为数据集中选用词的个数,将输入向量变为一个长为n、宽为r、通道数为c的特征图,其中r为所采用的不同尺度的个数;
[0067]
所述残差块用于将所述多尺度融合模块得到的特征图变换为长为1,宽为r、通道数为c的特征图,从而获取文本的全局信息;
[0068]
所述文本对应的哈希码获得模块用于利用相加的方式将所述残差块得到的对应不同语义信息的r个特征向量进行融合,然后经过全连接层并离散化得到文本对应的哈希码。
[0069]
较佳地,所述损失函数设计模块进一步包括:模态间相似性损失函数模块、模态内相似性损失函数模块以及量化损失函数模块;其中,
[0070]
所述模态间相似性损失函数模块用于设计模态间相似性损失函数;
[0071]
使用成对的似然函数来衡量f和g之间的相似性:
[0072][0073]
其中,则模态间相似性损失函数为:
[0074][0075]
所述模态内相似性损失函数模块用于设计模态内相似性损失函数;
[0076]
对于图像模态,类内相似性损失函数为:
[0077][0078]
其中,
[0079]
对于文本模态,类内相似性损失函数为:
[0080][0081]
其中,
[0082]
所述量化损失函数模块设计哈希过程中的量化损失函数;
[0083][0084]
最后的损失函数为:
[0085][0086]
相较于现有技术,本发明具有以下优点:
[0087]
(1)本发明提供的利用多层特征融合生成哈希码的方法及装置,通过融合不同层特征为每个实例得到一个更具鲁棒性的特征,该特征同时包含了高层语义信息以及低层空间信息,充分利用了不同层次的细节信息和抽象信息,充分利用了不同层特征的表达能力,进而为每个实例生成更具辨别性的哈希码;
[0088]
(2)本发明提供的利用多层特征融合生成哈希码的方法及装置,通过提取图像和
文本不同层次的特征,生成融合了不同层特征生成用于跨模态检索的哈希码,用于跨模态检索时可以有效地提高检索的平均准确率;
[0089]
(3)本发明提供的利用多层特征融合生成哈希码的方法及装置,通过模态间相似性损失函数、模态内相似性损失函数、哈希过程中的量化损失函数三种损失函数,同时保留了模态间的相似性、模态内的语义相似性,减小了离散时造成的信息损失,得到的哈希码检索准确率更高。
[0090]
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
[0091]
下面结合附图对本发明的实施方式作进一步说明:
[0092]
图1为本发明一实施例的利用多层特征融合生成哈希码的方法的流程图;
[0093]
图2为本发明一实施例的图像特征融合示意图;
[0094]
图3为本发明一实施例的文本特征融合示意图;
[0095]
图4a为本发明一实施例的输入图文对的示意图;
[0096]
图4b为图4a对应的哈希码结果示意图;
[0097]
图4c为本发明一实施例的输入图片的示意图;
[0098]
图4d为图4c对应的哈希码结果示意图;
[0099]
图4e为本发明一实施例的输入文本的示意图;
[0100]
图4f为图4e对应的哈希码结果示意图。
具体实施方式
[0101]
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0102]
如图1所示为本发明一实施例的利用多层特征融合生成哈希码的方法的流程图。
[0103]
请参考图1,本实施例的利用多层特征融合生成哈希码的方法包括:
[0104]
s11:建立图文对的相似度矩阵;
[0105]
根据数据集中的标签信息建立图文对的相似度矩阵s,s中的元素s
ij
表示第i个图像和第j个文本之间的相似性,如果图像与文本相似则s
ij
为1,否则为0。本实施例中由于在多标签数据集中每个实例属于至少一个语义标签,因此规定如果图像和文本共享至少一个标签,则相似,否则不相似。
[0106]
s12:设计图像网络模型;
[0107]
通过不同残差块的输出来获取不同层的特征,将不同层的特征转换为通道数和尺寸一致的特征图,然后进行融合,最后通过全局池化和全连接并离散化得到图像对应的哈希码。本实施例中采用resnet34作为基础网络提取图像特征,resnet34以包含4个残差块为例,获取四层特征f1、f2、f3、f4。
[0108]
s13:设计文本网络模型;
[0109]
用多尺度融合模块为每个文本生成对应的多尺度bag

of

words模型,然后通过卷积层获得不同尺度的特征并进行融合,最后通过全连接层得到文本对应的哈希码。
[0110]
s14:利用s11中的相似度矩阵,设计损失函数;
[0111]
s15:训练模型;
[0112]
本实施例中采用交替学习策略来学习网络中的参数,即更新其中一个参数,控制其他参数不变。
[0113]
对于图像网络,随机选取两张图像送入图像网络,利用s14中的损失函数进行约束,使用随机梯度下降优化算法(stochastic gradient descent,sgd)对其进行训练,同时固定文本网络参数;
[0114]
对于文本网络,随机选取两个文本送入文本网络,利用s14中的损失函数进行约束,使用sgd对其进行训练,同时固定图像网络参数;
[0115]
s16:获得哈希码;
[0116]
利用s15训练得到的模型,将样本输入其中获得对应的哈希码。
[0117]
较佳实施例中,如图2所示,s12进一步包括:
[0118]
s121:通过不同残差块的输出来获取n不同层的特征;
[0119]
s122:对于前n

2层(本实施例为前两层:f1、f2),利用卷积层令该些层的通道数与第n

1层(f3)的一致,然后利用池化层对前n

2层(f1、f2)进行下采样,令该些层特征图的大小与第n

1层(f3)的大小一致;
[0120]
s123:对于第n层(f4),利用卷积层令该层的通道数与第n

1层(f3)的一致,然后利用反卷积层对该层进行上采样,令该层特征图的大小与第n

1层(f3)的大小一致;
[0121]
s124:对经过s122以及s123处理后的n不同层的特征相加进行融合,然后通过全池化层以及全连接层并离散化得到图像对应的哈希码。
[0122]
较佳实施例中,如图3所示,s13进一步包括:
[0123]
s131:将输入向量看作为一个长为n、宽为1的特征向量,其中n为数据集中选用词的个数,将输入向量经过多尺度融合后,可以看作为一个长为n、宽为r、通道数为c的特征图,其中r为所采用的不同尺度的个数;
[0124]
s132:将s131得到的特征图变换为长为1、宽为r、通道数为c的特征图,从而获取文本的全局信息;
[0125]
s133:利用相加的方式将所述s132得到的r个特征向量进行融合,然后经过全连接层并离散化得到文本对应的哈希码。
[0126]
较佳实施例中,s14中的损失函数包括:模态间(图像和文本)相似性损失函数、模态内(图像和图像,或者文本和文本)相似性损失函数、哈希变换过程中的量化损失。使用以上损失函数可以使具有相似语义的图像和文本之间的汉明距离更小,不相似的图像和文本之间的汉明距离更大。这里由于图像和文本对应的哈希码(b
x
和b
y
)为离散值,直接对其优化会导致模型无法使用sgd进行训练。因此,此处将图像和文本网络中最后一个全连接层的输出f和g看作取值连续的哈希码,同时用其代替b
x
和b
y
与网络中的其他参数一同训练。在其他阶段对f和g离散化便可得到b
x
和b
y

[0127]
进一步地,s14包括:
[0128]
s141:模态间相似性损失函数:
[0129]
为了保留模态间的相似性,使用成对的似然函数来衡量f和g之间的相似性:
[0130][0131]
其中,则模态间相似性损失函数为:
[0132][0133]
s142:所述模态内相似性损失函数:
[0134]
为了保留模态内的语义相似性,对于图像模态,类内相似性损失函数为:
[0135][0136]
其中,
[0137]
对于文本模态,类内相似性损失函数为:
[0138][0139]
其中,
[0140]
s143:为了减小离散时造成的信息损失,哈希过程中的量化损失函数为:
[0141][0142]
最后的损失函数为:
[0143][0144]
较佳实施例中,s16中在训练时输入需要同时包含具有同一语义的图像和文本,而在s16中即使样本仅包含其中一个模态的实例也可以生成对应的哈希码,如图4a

4f所示。若用f
i
(x
i
;θ
x
)和f
t
(t
j
;θ
y
)分别表示图像网络和文本网络,则该步骤可以表示为:
[0145]
b
x
=sign(f
i
(x
i
;θ
x
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0146]
b
y
=sign(f
t
(t
j
;θ
y
))
[0147]
(8)
[0148]
其中b
x
和b
y
分别为b
x
和b
y
中的元素,sign(x)为符号函数,表达式如下:
[0149][0150]
如表1所示为本发明实施例的哈希码与现有技术中深度跨模态哈希(dcmh)和自监督对抗跨模态哈希(ssah)在三个广泛使用的数据集mirflickr

25k、nus

wide和iapr tc

12上的平均准确率(mean average precision,map)结果对比。方便起见,用i2t表示图像查
询文本的情况,用t2i表示文本查询图像的情况。使用检索中广泛使用的汉明排序作为评价标准,汉明排序根据生成的哈希码计算查询对象和数据库中对象的汉明距离并以距离递增的方式对其进行排序。其中平均准确率(mean average precision,map)被广泛用于衡量汉明排序的准确率,map越高,说明模型性能越好。
[0151]
表1
[0152][0153]
如表1所示,在mirflickr

25k和nus

wide数据集上,本发明的方法map结果要明显高于其他对比方法;在iapr tc

12数据集上,本发明的方法map结果在i2t情况下略微高于其他对比方法,而在t2i情况下map结果只是略微下降。一实施例中,还提供一种利用多层特征融合生成哈希码的装置,其包括:图文对的相似度矩阵建立模块、图像网络模型设计模块、文本网络模型设计模块、损失函数设计模块、模型训练模块以及哈希码获得模块;其中,
[0154]
图文对的相似度矩阵建立模块用于根据数据集中的标签信息建立图文对的相似度矩阵s,如果图像与文本相似则s
ij
为1,否则为0;
[0155]
图像网络模型设计模块用于通过不同残差快的输出来获取不同层的特征,将所述不同层的特征转换为通道数和尺寸一致的特征图,然后进行融合,最后通过全局池化和全连接并离散化得到图像对应的哈希码;
[0156]
文本网络模型设计模块用于用多尺度融合模块为每个文本生成对应的多尺度bag

of

words模型,然后通过卷积层获得不同尺度的特征并进行融合,最后通过全连接层得到文本对应的哈希码;
[0157]
损失函数设计模块用于设计损失函数;
[0158]
模型训练模块用于对于图像网络,随机选取两张图像送入图像网络,利用所述损失函数设计模块中的损失函数进行约束,使用sgd对其进行训练,同时固定文本网络参数;对于文本网络,随机选取两个文本送入文本网络,利用损失函数设计模块中的损失函数进行约束,使用sgd对其进行训练,同时固定图像网络参数;
[0159]
哈希码获得模块用于利用所述模型训练模块训练得到的模型,将样本输入其中获得对应的哈希码。
[0160]
较佳实施例中,图像网络模型设计模块进一步包括:多残差模块、前n

2层特征图调整模块、第n层特征图调整模块以及图像对应的哈希码获得模块;其中,
[0161]
多残差模块用于获取n不同层的特征;
[0162]
前n

2层特征图调整模块用于对于前n

2层,利用卷积层令该些层的通道数与第n

1层的一致,然后利用池化层对前n

2层进行下采样,令该些层特征图的大小与第n

1层的大小一致;
[0163]
第n层特征图调整模块用于对于第n层,利用卷积层令该层的通道数与第n

1层的一致,然后利用反卷积层对该层进行上采样,令该层特征图的大小与n

1层的大小一致;
[0164]
图像对应的哈希码获得模块用于对经过所述前n

2层特征图调整模块以及第n层
特征图调整模块处理后的n不同层的特征相加进行融合,然后通过全池化层以及全连接层并离散化得到图像对应的哈希码。
[0165]
较佳实施例中,文本网络模型设计模块包括:多尺度融合模块、残差块以及文本对应的哈希码获得模块;其中,
[0166]
多尺度融合模块用于当输入向量看作为一个长为n、宽为1的特征向量,其中n为数据集中选用词的个数,将输入向量变为一个长为n、宽为r、通道数为c的特征图,其中r为所采用的的不同尺度的个数;
[0167]
残差块用于将多尺度融合模块得到的特征图变换为长为1、宽为r、通道数为c的特征图,从而获取文本的全局信息;
[0168]
文本对应的哈希码获得模块用于利用相加的方式将残差块得到的r个特征向量进行融合,然后经过全连接层并离散化得到文本对应的哈希码。
[0169]
较佳实施例中,损失函数设计模块进一步包括:模态间相似性损失函数模块、模态内相似性损失函数模块以及量化损失函数模块;其中,
[0170]
模态间相似性损失函数模块用于设计模态间相似性损失函数;
[0171]
使用成对的似然函数来衡量f和g之间的相似性:
[0172][0173]
其中,则模态间相似性损失函数为:
[0174][0175]
模态内相似性损失函数模块用于设计模态内相似性损失函数;
[0176]
对于图像模态,类内相似性损失函数为:
[0177][0178]
其中,
[0179]
对于文本模态,类内相似性损失函数为:
[0180][0181]
其中,
[0182]
量化损失函数模块设计哈希过程中的量化损失函数;
[0183][0184]
最后的损失函数为:
[0185][0186]
此处公开的仅为本发明的优选实施例,本说明书选取并具体描述这些实施例,是
为了更好地解释本发明的原理和实际应用,并不是对本发明的限定。任何本领域技术人员在说明书范围内所做的修改和变化,均应落在本发明所保护的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1