面向多个多媒体检索任务的结构化多模态检索方法及系统
文献发布时间:2023-06-19 19:28:50
技术领域
本发明涉及多媒体检索技术领域,具体地说是一种面向多个多媒体检索任务的结构化多模态检索方法及系统。
背景技术
随着多媒体技术的发展,如何从大规模的异构数据中检索出语义相关的多媒体数据成为研究者们关注的热点问题。哈希方法能够将高维数据映射到低维的汉明空间中,然后仅需要通过计算哈希码间的汉明距离便能有效地度量样本间的相似性。凭借存储空间小、计算速度快的优点,哈希方法在多媒体检索中得到了越来越多的关注。
跨模态哈希和复合多模态哈希是目前两种主要的基于哈希的多媒体检索技术。跨模态哈希旨在学习一个共享的哈希码以支持跨模态检索任务,其检索任务跨异构模态执行。复合多模态哈希在训练和检索阶段利用不同多模态特征的互补性学习融合的哈希码,其主要是针对复合多模态检索任务而设计的。先前的跨模态和复合多模态哈希模型已经取得了非常显著的检索性能,然而,现有的基于哈希的检索模型通常仅为特定的多媒体检索任务设计,即这些方法要么只针对跨模态检索任务设计,要么只针对复合多媒体检索任务设计。由于检索模型设置的不同,不能灵活地扩展到其他多媒体检索任务。为了满足同时支持跨模态检索和复合多模态检索的要求,就需要在多媒体检索系统中配置两种哈希模型,并同时存储两组不同类型的哈希码,十分不便。
故如何支持多个多媒体检索任务,同时既能灵活地保留多媒体数据中各模态的特定特征,支持跨模态检索任务,又能融合异构模态特征,支持符合多模态检索任务是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种面向多个多媒体检索任务的结构化多模态检索方法及系统,来解决如何支持多个多媒体检索任务,同时既能灵活地保留多媒体数据中各模态的特定特征,支持跨模态检索任务,又能融合异构模态特征,支持符合多模态检索任务的问题。
本发明的技术任务是按以下方式实现的,一种面向多个多媒体检索任务的结构化多模态检索方法,该方法具体如下:
获取一个包括图像模态和文本模态的多模态检索数据集,并将多模态检索数据集划分为训练数据集、测试数据集和数据库数据集;
将图像模态和文本模态的原始数据分别输入到深度特征提取模型中对原始数据进行特征提取,从而获取图像模态的深度特征和文本模态的深度特征;
在训练数据集上构造面向多个多媒体检索任务的结构化多模态哈希方法的目标函数;
通过面向多个多媒体检索任务的结构化多模态哈希方法的目标函数获取用于跨模态检索的第v个模态的线性投影矩阵R
在线查询时,利用面向多个多媒体检索任务的结构化多模态哈希方法的目标函数,根据第v个模态的线性投影矩阵R
作为优选,获取图像模态的深度特征和文本模态的深度特征具体如下:
图像模态:将图像模态输入到VGG-16网络模型中,提取4096维的图像特征;
文本模态:将标签利用Bag-of-words模型(词袋模型)提取1386维的文本特征。
更优地,在训练数据集上构造面向多个多媒体检索任务的结构化多模态哈希方法的目标函数具体如下:
通过目标函数f
通过目标函数f
通过目标函数f
构造最终的目标函数,公式为:
f=f
其中,f
更优地,通过目标函数f
构造非线性特征嵌入
其中,
在得到每个模态的非线性嵌入后,构造目标函数f
s.t.B
其中,B
通过目标函数f
构造协同非线性多模态特征映射
其中,
构造目标函数f
其中,[B
构造目标函数f
其中,
更优地,面向多个多媒体检索任务的结构化多模态哈希方法的目标函数的求取是采用迭代求解算法,即固定其他变量,求解一个变量,从而获得最终的最优解,具体优化过程如下:
固定其他变量更新R
对R
固定其他变量更新C,目标函数变为:
/>
对C求偏导,并将其设为零,得到:
C=(αYB
为了表示方便,令B=[B
固定其他变量更新B:先通过固定除B
对B
固定其他变量更新B,目标函数变为:
将
其中,tr(B
采用非对称哈希学习策略,使用变量
对B求偏导,并将其设为零,得到:
固定其他变量更新
的更新公式为:
固定其他变量更新D和η,根据ALM算法,得到:
其中,参数ρ通过调参获得最优参数;
固定其他变量更新W,得到:
固定其他变量,求自适应权重μ,得到:
更优地,利用哈希函数生成的哈希码进行跨模态检索,对于要查询的样本,其哈希码的预测公式如下:
其中,
预测任意多模态查询样本的哈希码,用于复合多模态检索问题,公式如下:
其中,
更优地,汉明距离具体如下:
在训练数据集中选定任一个测试样本,获取测试样本的哈希码跟数据库数据集中的所有样本的哈希码之间汉明距离;
将数据库数据集样本按照汉明距离排序,跟测试样本距离小于设定阈值的排在前面,跟测试样本距离大于设定阈值的排在后面,从而验证检索的准确度。
一种面向多个多媒体检索任务的结构化多模态检索系统,该系统包括,
数据预处理模块,用于获取多模态检索数据集,其中,每个多模态检索数据集的样本均包括成对的图像模态和文本模态的数据,并将多模态检索数据集划分为训练数据集、测试数据集和数据库数据集;
深度特征表示模块,用于将图像模态和文本模态的原始数据分别输入到深度特征提取模型中进行特征提取,并将提取后的特征作为训练特征、测试特征和数据库特征用于目标函数构造、哈希函数学习和在线模态哈希检索;
目标函数构造模块,用于通过训练数据集构造面向多个多媒体检索任务的结构化多模态哈希方法的总目标函数;
哈希函数学习模块,用于采用迭代优化方法求解目标函数;
在线模态哈希检索模块,用于构造并利用在线哈希的目标函数,获取测试数据集和数据库数据集中样本的哈希码,获取每个测试数据集的测试样本的哈希码与数据库数据集样本的哈希码之间的汉明距离,数据库数据集样本按对应的汉明距离升序排序,得到检索结果。
一种电子设备,包括:存储器和至少一个处理器;
其中,所述存储器上存储有计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的面向多个多媒体检索任务的结构化多模态检索方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的面向多个多媒体检索任务的结构化多模态检索方法。
本发明的面向多个多媒体检索任务的结构化多模态检索方法及系统具有以下优点:
(一)本发明利用VGG-16模型和词袋模型(BoW)提取图像和文本模态的深度特征表示,并将其作为后续结构化多模态哈希模型的输入特征;为了充分挖掘多模态数据的语义相关性和互补信息,为每个模态独立生成一个二值化的哈希码,并同时考虑多模态数据的互补性,同时学习一个结构化哈希码,结构化哈希码既能灵活地保留多媒体数据中各模态的特定特征,支持跨模态检索,又能融合异构模态特征,支持复合多模态检索;
(二)本发明提出了一个统一的多模态哈希学习框架,能够对异构模态数据进行融合和强化,学习结构化哈希码;特别的,生成的哈希码可以同时处理多个多媒体检索任务;
(三)本发明通过独立投影策略和协同哈希码学习策略充分利用了可用的模态特征,并利用异构多模态数据中的共享信息和模态特定信息构造共享汉明空间;在此基础上,提出了一种有效的迭代优化策略,以高效快速的方式直接学习哈希码;在跨模态和复合多模态检索任务上的实验结果表明,本发明具有良好的性能。
附图说明
下面结合附图对本发明进一步说明。
附图1为面向多个多媒体检索任务的结构化多模态检索方法的流程框图;
附图2为面向多个多媒体检索任务的结构化多模态哈希与现存的跨模态哈希模型和复合多模态哈希模型的区别示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的面向多个多媒体检索任务的结构化多模态检索方法及系统作以下详细地说明。
实施例1:
如附图1所示,本发明的面向多个多媒体检索任务的结构化多模态检索方法及,该方法具体如下:
S1、获取一个包括图像模态和文本模态的多模态检索数据集,并将多模态检索数据集划分为训练数据集、测试数据集和数据库数据集;
对于来自V个模态的多模态训练集,
S2、将图像模态和文本模态的原始数据分别输入到深度特征提取模型中对原始数据进行特征提取,从而获取图像模态的深度特征和文本模态的深度特征;
S3、在训练数据集上构造面向多个多媒体检索任务的结构化多模态哈希方法的目标函数;
S4、通过面向多个多媒体检索任务的结构化多模态哈希方法的目标函数获取用于跨模态检索的第v个模态的线性投影矩阵R
S5、在线查询时,利用面向多个多媒体检索任务的结构化多模态哈希方法的目标函数,根据第v个模态的线性投影矩阵R
本实施例步骤S2中的获取图像模态的深度特征和文本模态的深度特征具体如下:
S201、图像模态:将图像模态输入到VGG-16网络模型中,提取4096维的图像特征;
S202、文本模态:将标签利用Bag-of-words模型(词袋模型)提取1386维的文本特征。
本实施例步骤S3中的在训练数据集上构造面向多个多媒体检索任务的结构化多模态哈希方法的目标函数具体如下:
S301、通过目标函数f
S302、通过目标函数f
S303、通过目标函数f
S304、构造最终的目标函数,公式为:
f=f
其中,f
本实施例步骤S301中的通过目标函数f
S30101、构造非线性特征嵌入
其中,
S30102、在得到每个模态的非线性嵌入后,构造目标函数f
s.t.B
其中,B
本实施例步骤S302中的通过目标函数f
S30201、构造协同非线性多模态特征映射
其中,
S30202、构造目标函数f
/>
其中,[B
本实施例步骤S303中的构造目标函数f
其中,
本实施例步骤S4中的面向多个多媒体检索任务的结构化多模态哈希方法的目标函数的求取是采用迭代求解算法,即固定其他变量,求解一个变量,从而获得最终的最优解,具体优化过程如下:
S401、固定其他变量更新R
对R
S402、固定其他变量更新C,目标函数变为:
对C求偏导,并将其设为零,得到:
C=(αYB
为了表示方便,令B=[B
S403、固定其他变量更新B:先通过固定除B
对B
固定其他变量更新B,目标函数变为:
将
/>
其中,tr(B
采用非对称哈希学习策略,使用变量
对B求偏导,并将其设为零,得到:
S404、固定其他变量更新
的更新公式为:
S405、固定其他变量更新D和η,根据ALM算法,得到:
其中,参数ρ通过调参获得最优参数;
S406、固定其他变量更新W,得到:
S407、固定其他变量,求自适应权重μ,得到:
/>
本实施例步骤S5中的利用哈希函数生成的哈希码进行跨模态检索,对于要查询的样本,其哈希码的预测公式如下:
其中,
本实施例步骤S5中,预测任意多模态查询样本的哈希码,用于复合多模态检索问题,公式如下:
其中,
本实施例步骤S5中的汉明距离具体如下:
S501、在训练数据集中选定任一个测试样本,获取测试样本的哈希码跟数据库数据集中的所有样本的哈希码之间汉明距离;
S502、将数据库数据集样本按照汉明距离排序,跟测试样本距离小于设定阈值的排在前面,跟测试样本距离大于设定阈值的排在后面,从而验证检索的准确度。
本实施例采用TopK-精度(TopK-precision)和平均精度(Mean AveragePrecision,MAP)作为评价指标,TopK-精度(TopK-precision)和平均精度(Mean AveragePrecision,MAP)的值越大表示检索性能越好;具体定义分别为:
1)、TopK-precision:TopK-精度用于反映了检索精度随着检索到的样本数量的变化而变化的情况;获取检索到前K个样本,TopK-precision表示K个样本中相关样本所占的比例。
2)、MAP:给定一个检索样本集合,其中每个检索样本的平均准确率(AP)定义为:
其中,R是返回的检索样本总数,N是返回的与查询相关的样本总数,P(r)表示前r个检索结果的精度,如果第r个检索得到的样本与查询样本相关则δ(r)=1,否则δ(r)=0,所有样本的AP值的平均值即MAP。
实施例2:
本实施例提供了一种面向多个多媒体检索任务的结构化多模态检索系统,该系统包括,
数据预处理模块,用于获取多模态检索数据集,其中,每个多模态检索数据集的样本均包括成对的图像模态和文本模态的数据,并将多模态检索数据集划分为训练数据集、测试数据集和数据库数据集;
深度特征表示模块,用于将图像模态和文本模态的原始数据分别输入到深度特征提取模型中进行特征提取,并将提取后的特征作为训练特征、测试特征和数据库特征用于目标函数构造、哈希函数学习和在线模态哈希检索;
目标函数构造模块,用于通过训练数据集构造面向多个多媒体检索任务的结构化多模态哈希方法的总目标函数;
哈希函数学习模块,用于采用迭代优化方法求解目标函数;
在线模态哈希检索模块,用于构造并利用在线哈希的目标函数,获取测试数据集和数据库数据集中样本的哈希码,获取每个测试数据集的测试样本的哈希码与数据库数据集样本的哈希码之间的汉明距离,数据库数据集样本按对应的汉明距离升序排序,得到检索结果。
实施例3:
本实施例还提供了一种电子设备,包括:存储器和处理器;
其中,存储器存储计算机执行指令;
处理器执行所述存储器存储的计算机执行指令,使得处理器执行本发明任一实施例中的面向多个多媒体检索任务的结构化多模态检索方法。
处理器可以是中央处理单元(CPU),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通过处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于储存计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现电子设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器还可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,只能存储卡(SMC),安全数字(SD)卡,闪存卡、至少一个磁盘存储期间、闪存器件、或其他易失性固态存储器件。
实施例4:
本实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的面向多个多媒体检索任务的结构化多模态检索方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RYM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
- 一种面向全文检索的结构化数据安全检索方法
- 一种面向全文检索的结构化数据安全检索方法