基于带权哈希码的多媒体数据跨模态检索方法及系统

文档序号:33474018发布日期:2023-03-15 09:31阅读:43来源:国知局
基于带权哈希码的多媒体数据跨模态检索方法及系统

1.本发明涉及跨模态检索技术领域,尤其涉及一种基于带权哈希码的多媒体数据跨模态检索方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
3.随着信息技术的快速发展,在社交多媒体环境中经常需要使用图像检索文本或其他类型的数据,类似这一使用一种模态的数据检索另一种模态的与该数据语义相关数据的方式,称为跨模态检索(cross-modal retrieval)。针对跨模态检索,传统的最近邻搜索(nearest neighbor search,nn)由于需要依赖于精确的距离计算而不可行,而哈希(hashing)作为一种典型的近似最近邻方法(approximation nearest neighbor search,ann),能够实现准确率和效率的平衡,是应用于跨模态检索的常见解决方法。哈希方法将高维数据映射到低维的紧凑哈希码中,能够大量减少内存花销,而且在二进制哈希码上的距离计算仅仅需要通过中央处理器(cpu)执行异或运算,这极大的加速了在大规模数据集上的搜索,提高检索性能。正是由于哈希方法在保持时间和空间上高效的同时能够取得不错的检索性能,这一方法越来越为人所知且得到广泛应用。
4.同时,跨模态哈希可根据是否利用监督信息分为监督、无监督、半监督,其中,监督跨模态哈希方法利用标签的语义信息生成更有区分性的哈希码,能够获得更好的检索性能。
5.但是,现有的监督跨模态哈希方法使用{0,1}形式的逻辑标签,通常是粗粒度的,不能反映实例间细粒度的关系,而且数据类别中同样存在大量的拓扑信息待挖掘。此外,平等地对待二进制码的每一位会限制哈希码保存更多精细语义的能力,导致检索性能较差。


技术实现要素:

6.为解决上述现有技术的不足,本发明提供了一种基于带权哈希码的多媒体数据跨模态检索方法及系统,通过挖掘标签的拓扑结构信息对语义标签提升,得到标签分布矩阵,基于该标签分布矩阵构造精细的相似度矩阵,根据该标签分布矩阵构造相似度矩阵,构建使带权哈希码近似该相似度矩阵的目标函数,通过学习获得哈希码和位权矩阵,再通过核逻辑回归模型学习得到不同模态的哈希函数,获取训练完成的哈希检索模型,将待查询数据输入该哈希检索模型,输出检索结果。这一方案利用逻辑值的语义标签的拓扑结构信息,携带更多的语义信息,并且通过学习各位哈希码的权重,强调不同码的独特贡献,有效提高跨模态的检索能力。
7.第一方面,本公开提供了一种基于带权哈希码的多媒体数据跨模态检索方法,包括:
8.获取不同模态的多媒体数据,构建训练样本集;
9.对训练样本进行特征提取,获取不同模态的训练样本的特征,训练哈希检索模型;所述哈希检索模型包括哈希码和哈希函数,基于训练样本的特征和语义标签,学习训练集样本数据的哈希码和位权矩阵;基于训练样本的特征和哈希码,学习不同模态的哈希函数;
10.将待检索数据输入训练完成的哈希检索模型,根据提取的待检索数据的特征,结合该待检索数据相应模态的哈希函数,获得待检索数据的哈希码,计算该待检索数据的哈希码与数据库中样本数据哈希码的带权海明距离,根据该带权海明距离输出检索结果。
11.进一步的技术方案,所述哈希检索模型的训练过程具体包括:
12.利用聚类算法将训练集中的训练数据划分为多组,构造每组的局部类别关联矩阵,根据局部类别关联矩阵和语义标签,获得每组的局部标签分布矩阵,组合得到训练样本的全局标签分布矩阵;
13.利用生成的标签分布矩阵构造相似度矩阵,通过将带权哈希码内积近似该相似度矩阵构建目标函数,求解获得哈希码矩阵和位权矩阵。
14.进一步的技术方案,所述求解过程为:
15.初始化位权矩阵为单位矩阵,引入中间变量以及平衡和不相关约束,求解得到哈希码矩阵;
16.通过对目标函数求导并使导数为0,结合计算得到的哈希码矩阵和相似度矩阵,求解得到位权矩阵。
17.进一步的技术方案,还包括:
18.对获取的不同模态训练数据的特征进行核化,得到核化后的特征矩阵,基于学习得到的哈希码矩阵,通过核逻辑回归模型学习得到不同模态的哈希函数。
19.进一步的技术方案,所述带权海明距离的计算过程,具体包括:
20.获取训练集样本数据哈希码与待检索数据哈希码,对哈希码进行分段,在每个分段上执行异或运算,得到每个分段的字节类型值;
21.使用学习得到的位权矩阵构造各分段的查找表;
22.根据各个分段的字节类型值访问相应的查找表,计算每一分段的浮点值,通过对所有分段的浮点值求和得到待检索数据和训练集样本数据之间的带权海明距离。
23.进一步的技术方案,根据带权海明距离输出检索结果,具体包括:
24.计算待检索数据哈希码与训练集中所有样本数据哈希码的带权海明距离后,根据带权海明距离对数据库中样本从小到大排序,选择前k个样本作为检索结果输出,其中,k为不小于1的整数。
25.第二方面,本公开提供了一种基于带权哈希码的多媒体数据跨模态检索系统,包括:
26.训练样本集构建模块,用于获取不同模态的多媒体数据,构建训练样本集;
27.哈希检索模型训练模块,用于对训练样本进行特征提取,获取不同模态的训练样本的特征,训练哈希检索模型;所述哈希检索模型包括哈希码和哈希函数,基于训练样本的特征和语义标签,学习训练集样本数据的哈希码和位权矩阵;基于训练样本的特征和哈希码,学习不同模态的哈希函数;
28.检索模块,用于将待检索数据输入训练完成的哈希检索模型,根据提取的待检索数据的特征,结合该待检索数据相应模态的哈希函数,获得待检索数据的哈希码,计算该待
检索数据的哈希码与数据库中样本数据哈希码的带权海明距离,根据该带权海明距离输出检索结果。
29.进一步的技术方案,所述哈希检索模型的训练过程具体包括:
30.利用聚类算法将训练集中的训练数据划分为多组,构造每组的局部类别关联矩阵,根据局部类别关联矩阵和语义标签,获得每组的局部标签分布矩阵,组合得到训练样本的全局标签分布矩阵;
31.利用生成的标签分布矩阵构造相似度矩阵,通过将带权哈希码内积近似该相似度矩阵构建目标函数,求解获得哈希码矩阵和位权矩阵。
32.第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述方法的步骤。
33.第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述方法的步骤。
34.以上一个或多个技术方案存在以下有益效果:
35.1、本发明提供了一种基于带权哈希码的多媒体数据跨模态检索方法及系统,通过挖掘标签的拓扑结构信息对语义标签提升,得到标签分布矩阵,基于该标签分布矩阵构造精细的相似度矩阵,根据该标签分布矩阵构造相似度矩阵,构建使带权哈希码近似该相似度矩阵的目标函数,通过学习获得哈希码和位权矩阵,这一方案利用逻辑值的语义标签的拓扑结构信息,携带更多的语义信息,并且通过学习各位哈希码的权重,强调不同码的独特贡献,有效提高跨模态的检索能力。
36.2、本发明提供了一种高效的离散优化算法来求解哈希码的离散约束问题,降低了量化误差,并且能在线性时间内完成,可扩展于超大规模的应用场景。
附图说明
37.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
38.图1为本发明实施例所述基于带权哈希码的多媒体数据跨模态检索方法的整体流程图。
具体实施方式
39.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
40.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
41.实施例一
42.本实施例提供了一种基于带权哈希码的多媒体数据跨模态检索方法,通过挖掘数
据语义标签的拓扑结构信息对语义标签提升,得到标签分布矩阵,根据该标签分布矩阵构造相似度矩阵,学习获得使带权哈希码近似该相似度矩阵的哈希码和位权矩阵,再通过核逻辑回归模型学习得到不同模态的哈希函数,获取训练完成的哈希检索模型,将待查询数据输入该哈希检索模型,输出检索结果。如图1所示,本实施例上述方法具体包括以下步骤:
43.步骤s1,构建训练集。在本步骤中,获取用户发布在社交多媒体平台的图像、文本、音频、视频等多媒体数据,构建数据库,将数据库中不同模态的多媒体数据作为训练样本,构成训练集。在本实施例中,不同模态数据包括图像数据、文本数据等。
44.步骤s2,对训练样本进行特征提取,获取不同模态的训练样本的特征,训练哈希检索模型。该哈希检索模型包括哈希码和哈希函数,基于训练样本的特征和语义标签,学习训练集样本数据的哈希码和位权矩阵;基于训练样本的特征和哈希码,学习不同模态的哈希函数。
45.在本实施例中,对图像、文本样本数据进行特征提取,针对图像数据,采用基于sift或gist方法提取图像特征,针对文本数据,采用基于bow方法提取文本特征,利用提取的图像文本对的图像特征和文本特征训练哈希检索模型,学习得到图像、文本多媒体数据的统一哈希码表示b,以及对应图像模态的哈希函数h1、对应文本模态的哈希函数h2。
46.上述哈希检索模型的训练过程具体包括如下步骤:
47.步骤s2.1,利用聚类算法将训练集中的训练数据划分为p组,构造每组的局部类别关联矩阵,根据局部类别关联矩阵和语义标签,获得每组的局部标签分布矩阵,组合得到训练样本的全局标签分布矩阵。
48.所述步骤s2.1的具体过程为:
49.步骤s2.1.1,利用聚类算法如k-means算法对训练样本特征进行聚类,将训练集中的训练数据划分位p组。针对每组训练数据,定义局部的类别关联矩阵,即:
[0050][0051]
其中,为训练集样本数据的语义标签矩阵,c为标签类别数,n为训练集样本数,是行归一化的第m组语义标签矩阵。需要说明的是,整个训练集的语义标签矩阵指取值为1和0的逻辑标签矩阵,具体而言,对于该矩阵中的每个元素,如l
ij
=1,表示训练集中第j个样本属于第i个类别,否则l
ij
=0,表示训练集中第j个样本不属于第i个类别;进而,对于分组后的语义标签矩阵lm,[lm]
ij
=1表示第m组第j个样本属于第i个类别,否则[lm]
ij
=0表示第m组第j个样本不属于第i个类别。
[0052]
步骤s2.1.2,利用步骤s2.1.1定义的类别关联矩阵和训练集样本的语义标签定义学习标签分布的目标函数,该目标函数主要包含两部分:1)标签分布应与语义标签尽可能相似;2)同一组内所有样本在任意两个类别上的标签分布向量间距离应与相应的语义类别值保持一致。该目标函数为:
[0053][0054]
其中,α是用于调整前后两项贡献的平衡参数,其中,α是用于调整前后两项贡献的平衡参数,分别为标签分布矩阵、语义标签矩阵和类别关联矩阵,c为标签类别数,n为训练
集样本数,矩阵下标m表示通过对训练数据特征聚类后的分组组号,下标*表示对应矩阵取满该列或行,如[dm]
i*
表示矩阵第i行这一整行。
[0055]
步骤s2.1.3,对上述目标函数公式求导并使导数为0,得到第m组的标签分布矩阵,即:
[0056][0057]
其中,是cm的拉普拉斯矩阵,是一个全1矩阵。通过计算所有组的局部标签分布矩阵,组合即可得到训练样本的全局标签分布矩阵。值得注意的是,每组可以平行计算以加快效率。
[0058]
步骤s2.2,利用步骤s2.1生成的全局标签分布矩阵构造含有更多语义信息和拓扑结构信息的相似度矩阵,通过将带权哈希码内积近似该相似度矩阵构建目标函数;初始化位权矩阵为单位矩阵,引入中间变量解决对称内积造成的四次方复杂度,并引入平衡和不相关约束减少量化误差,求解得到哈希码矩阵;通过对该目标函数求导并使导数为0,结合计算得到的哈希码矩阵和相似度矩阵,求解得到位权矩阵。通过这一步骤,完成哈希码的学习与训练。
[0059]
所述步骤s2.2的具体过程为:
[0060]
步骤s2.2.1,利用步骤s2.1生成的标签分布矩阵构造含有更多语义信息和拓扑结构信息的相似度矩阵,为:
[0061][0062]
其中,是列归一化后的标签分布矩阵。为了避免n
×
n大小的矩阵,在使用时,直接使用上式(4)右边计算。
[0063]
设置哈希码矩阵使其近似相似度矩阵,并考虑到每位哈希码的特殊性,给每位哈希码加上不同的权重,该对哈希码矩阵中每一哈希码加入的权重构成的矩阵即位权矩阵,通过将带权哈希码内积近似该相似度矩阵构建目标函数,该目标函数定义如下:
[0064][0065]
其中,b∈{-1,1}r×n是训练集的哈希码矩阵,是强调哈希码重要性的位权矩阵,为对角矩阵,是由标签关联矩阵定义的相似度矩阵,r为哈希码的位数,也即哈希码的长度。
[0066]
步骤s2.2.2,初始化位权矩阵λ为单位矩阵,引入一个中间变量q替换上述式(5)所示的目标函数中的一个哈希码矩阵。为了减少量化误差,在中间变量q上增加平衡和不相关约束,目标函数变为:
[0067][0068]
基于上述目标函数,使用一个两步迭代策略求解哈希码矩阵,具体的求解方法为:
[0069]
首先,用标准正态分布随机初始化哈希码矩阵b和中间变量q;
[0070]
然后,固定哈希码矩阵b,将式(6)的目标函数转换为矩阵迹的形式:
[0071][0072]
定义z=rbs和根据相似度矩阵s的定义,则:
[0073][0074]
对zjz
t
进行矩阵分解,得:
[0075][0076]
其中,∑是由r

≤r个正特征值组成的对角矩阵,v是对应的特征向量组成的矩阵,是其余的零特征值对应的特征向量组成的矩阵。对做施密特正交化得到正交矩阵对一个随机矩阵做施密特正交化得到一个随机正交矩阵定义u=jz
t
v∑-1/2
,公式的解为:
[0077][0078]
其次,同样地,固定中间变量q,将公式(6)转换为矩阵迹的形式:
[0079][0080]
代入相似度矩阵s的定义,其闭式解为:
[0081][0082]
其中,sign(
·
)是符号函数。
[0083]
上述求解方案采用两步迭代策略,首先初始化哈希码矩阵b和中间变量q,然后迭代更新哈希码矩阵b和中间变量q:更新哈希码矩阵b时固定中间变量q,利用式(12)求解,更新中间变量q时固定哈希码矩阵b,利用式(10)求解。哈希码矩阵b和中间变量q从初始值开始,利用式(10)和式(12)不断迭代更新,直至收敛,即式(6)所示目标函数的值不再降低。通过上述方案求解得到哈希码矩阵的最优解。
[0084]
步骤s2.2.3,在求解得到哈希码的最优解后,令式(5)的目标函数对位权矩阵λ的导数为零,求解得到位权矩阵λ,即:
[0085]
a=diag(r((bb
t
)

(bb
t
))-1
diag(bsb
t
))
ꢀꢀꢀ
(13)
[0086]
其中,diag(
·
)表示取矩阵的对角线元素为一个新的对角矩阵,

为元素级的乘法。
[0087]
步骤s2.3,对获取的不同模态训练数据的特征进行核化,得到核化后的特征矩阵,基于步骤s2.2学习得到的哈希码矩阵,通过核逻辑回归模型学习得到不同模态的哈希函数。
[0088]
所述步骤s2.3的具体过程为:
[0089]
步骤s2.3.1,对不同模态训练数据的特征进行核化,具体为:
[0090][0091]
其中,是训练集第l模态的特征矩阵,是第i个样本,φ
l
(
·
)表示核函数,具体可用径向基函数rbf等函数,n为训练集样本数,d为特征维度,核化后变为k维,即
[0092]
步骤s2.3.2,通过步骤s2.2.2中两步迭代策略计算得到的哈希码矩阵,使用核逻辑回归模型学习得到哈希函数,具体采用如下目标函数:
[0093][0094]
其中,ξ是用于避免过拟合和的正则化项系数,是要学习的第l模态的投影矩阵,b∈{-1,1}r×n是训练集的哈希码,x
(l)
为训练集样本第l模态的特征,φ
l
(x
(l)
)将第l模态的核化特征矩阵,r为哈希码的位数。
[0095]
对公式(15)求导并使导数位为零,求解得到投影矩阵:
[0096]w(l)
=bφi(x
(l)
)
t

l
(x
(l)

l
(x
(l)
)
t
+ξi)-1
ꢀꢀꢀ
(16)
[0097]
此时,对于第l模态的待检索数据,其哈希码可以通过下述哈希函数计算得到:
[0098]hl
(x
(l)
)=sign(w
(l)
φ
l
(x
(l)
))
ꢀꢀꢀ
(17)
[0099]
步骤s3,将待检索数据输入训练完成的哈希检索模型,根据提取的待检索数据的特征,结合该待检索数据相应模态的哈希函数,获得待检索数据的哈希码表示,计算该待检索数据的哈希码表示与数据库中样本数据哈希码的带权海明距离,根据该带权海明距离输出检索结果。
[0100]
上述步骤s3中输出检索结果的具体过程为:
[0101]
步骤s3.1,计算训练集样本数据哈希码与待检索数据哈希码的带权海明距离,具体为:获取待检索数据哈希码p和训练集某一样本数据哈希码q,按照每8位从后向前分段,不足8位补0,在每个分段上执行异或运算并将结果表示为字节类型数据。如,对于公式(12)计算得到的某一训练集样本数据的哈希码p和待检索数据的哈希码q,按照每8位从后向前分为s段,最后不足8位的补0,最终划分为[p1;p2;...;ps]和[q1;q2;...;qs]。在每个分段pi和qi上执行异或运算,并将得到的结果表示为字节类型值vi,如vi=0x01111111=127。
[0102]
步骤s3.2,使用上述步骤s2学习得到的位权矩阵构造各分段的查找表,具体表示为:
[0103]wij
=λ
8(i-1)+j
ꢀꢀꢀ
(18)
[0104]
其中,i表示分段的段号,j={1,2,

,8},表示步骤s3.1得到第i段分段的字节类型值的二进制形式中某个1值出现的位数。
[0105]
步骤s3.3,根据各个分段的字节类型值访问相应的查找表,计算每一分段的浮点值,通过对所有分段的浮点值求和得到待检索数据和训练集样本数据之间的带权海明距离。
[0106]
根据在各个分段上执行异或运算得到的字节类型值计算得到每个分段的浮点值,具体的,根据第i段的字节类型值vi,计算浮点值ui,ui为vi所有为1的位在相应查找表上的取值之和,如vi=21=0x00010101,浮点值ui=w
i5
+w
i3
+w
i1

[0107]
对于训练集样本数据的哈希码p和待检索数据的哈希码q,其带权海明距离为各分段上浮点值ui之和,即:
[0108][0109]
步骤s3.4,通过上述方案计算待检索数据哈希码q与训练集中所有样本数据哈希码的带权海明距离,根据带权海明距离对数据库中样本从小到大排序,选择前k个样本作为检索结果输出,其中,k为不小于1的整数。
[0110]
在本实施例中,利用训练完成的哈希检索模型对待检索数据进行检索的过程及检
索结果为:
[0111]
1)图像to文本。用户输入一幅图像作为查询样本,首先将该查询图片通过哈希函数h1转换为哈希码表示b,然后计算b与数据库哈希码b的海明距离并排序,返回距离小的top-k个文本作为检索结果。
[0112]
2)文本to图像。用户输入一段文本作为查询样本,首先将该查询文本通过哈希函数h2转化为哈希码表示b,然后计算b与数据库哈希码b的海明距离并排序,返回距离小的top-k个图片作为检索结果。
[0113]
实施例二
[0114]
本实施例提供了一种基于带权哈希码的多媒体数据跨模态检索系统,包括:
[0115]
训练样本集构建模块,用于获取不同模态的多媒体数据,构建训练样本集;
[0116]
哈希检索模型训练模块,用于对训练样本进行特征提取,获取不同模态的训练样本的特征,训练哈希检索模型;所述哈希检索模型包括哈希码和哈希函数,基于训练样本的特征和语义标签,学习训练集样本数据的哈希码和位权矩阵;基于训练样本的特征和哈希码,学习不同模态的哈希函数;
[0117]
检索模块,用于将待检索数据输入训练完成的哈希检索模型,根据提取的待检索数据的特征,结合该待检索数据相应模态的哈希函数,获得待检索数据的哈希码,计算该待检索数据的哈希码与数据库中样本数据哈希码的带权海明距离,根据该带权海明距离输出检索结果。
[0118]
实施例三
[0119]
本实施例提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成如上所述的基于带权哈希码的多媒体数据跨模态检索方法中的步骤。
[0120]
实施例四
[0121]
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成如上所述的基于带权哈希码的多媒体数据跨模态检索方法中的步骤。
[0122]
以上实施例二至四中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
[0123]
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
[0124]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0125]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范
围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1