法律状态公告日
法律状态信息
法律状态
2020-04-07
授权
授权
2018-07-13
实质审查的生效 IPC(主分类):G06F17/30 申请日:20171222
实质审查的生效
2018-06-15
公开
公开
技术领域
本发明属于计算机视觉技术领域,涉及大规模的图像数据和文本数据之间的互相检索,具体是一种基于三元组深度网络的跨模态哈希检索方法,可用于物联网信息检索、电子商务以及移动设备等的图片与文本互搜索服务。
背景技术
随着互联网技术和社交网站的飞速发展,每天都会产生海量的多媒体数据,比如文本,图像,视频和音频等,实现跨模态数据之间的互相检索已经成为信息检索领域中的研究热点。哈希方法法是一种非常有效的信息检索方法,具有低耗内存和快速检索的优点。哈希方法可以分成单模态哈希方法,多模态哈希方法和跨模态哈希方法。单模态哈希方法的查询数据和检索结果属于同一模态,数据特征来自同构特征空间。多模态哈希方法的查询数据和检索结果属于同一模态,数据特征来自异质特征空间。跨模态哈希方法的查询数据和检索结果属于不同模态,数据特征来自异质特征空间。跨模态哈希检索方法的核心思想是将不同模态的数据投影到一个通用的汉明空间,在这个空间中得到不同模态数据的哈希码,其中哈希码之间的汉明距离与原始数据之间的语义相似性相对应,然后通过计算哈希码之间的汉明距离返回检索结果。跨模态哈希方法可以分为无监督方法和有监督方法,无监督跨模态哈希方法主要通过挖掘和保持多模态数据的潜在相关性来获得哈希编码,而有监督跨模态哈希方法旨在利用训练数据类标信息的语义相似性,来提高哈希检索的检索精度。浅层的有监督跨模态哈希检索方法将特征提取过程和哈希码学习过程分开,导致两个过程不能很好的兼容。而深度的有监督跨模态哈希检索方法将特征提取过程和哈希码学习过程结合在一个端对端的深度网络中,提取多层抽象特征并能有效地捕捉不同模态数据之间的异质关联,提高检索精度。跨模态哈希检索技术的关键在于对不同模态数据的关系进行建模,难点就是跨越语义鸿沟,所以如何设计高精度的跨模态哈希检索方法是现阶段亟待解决的问题。当前,研究人员已经提出一些深度的有监督跨模态哈希检索方法。
例如Qing-Yuan Jiang和Wu-Jun Li在2017年的Computer Vision and PatternRecognition会议中发表了名为“Deep Cross-Modal Hashing”的文章,公开了一种基于深度学习的跨模态哈希检索方法,文中提出将特征提取过程和哈希码学习过程结合在一个端对端的深度网络中,实现两个过程的兼容,提高检索精度。由于该方法使用成对监督信息建立目标损失函数,仅描述两个数据之间的成对关系缺乏丰富的语义信息,而且该方法只考虑模态间的相似性而忽略了模态内的相似性,检索精度还有待提高。
发明内容
本发明的目的在于针对上述已有技术的不足,提出基于三元组深度网络的跨模态哈希检索方法,用于解决现有跨模态哈希检索方法中存在的检索精度低的技术问题。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(1)对数据进行预处理:
确定两种模态的数据:图像数据和文本数据,提取文本数据的Bag-of-words特征,保留图像数据的原始像素特征,并将图像数据分成图像训练数据和图像查询数据,将文本数据分成文本训练数据和文本查询数据;
(2)获取图像训练数据和文本训练数据的哈希码:
将文本训练数据的Bag-of-words特征输入文本深度网络,得到文本训练数据哈希码,同时将图像训练数据的原始像素特征输入图像深度网络,得到图像训练数据哈希码;
(3)采用三元组监督信息建立目标损失函数J:
(3a)随机选择部分图像训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的文本训练数据哈希码作为正例数据哈希码,不相似的文本训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
(3b)随机选择部分文本训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的图像训练数据哈希码作为正例数据哈希码,不相似的图像训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
(3c)将图像文本模态间的三元组损失函数J1与文本图像模态间的三元组损失函数J2相加,得到模态间的三元组损失函数Jinter;
(3d)随机选择部分图像训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的图像训练数据哈希码作为正例数据哈希码,不相似的图像训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
(3f)随机选择部分文本训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的文本训练数据哈希码作为正例数据哈希码,不相似的文本训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
(3g)将图像模态内的三元组损失函数J3与文本模态内的三元组损失函数J4相加,得到模态内的三元组损失函数Jintra;
(3h)利用步骤(2)得到的图像训练数据哈希码和文本训练数据哈希码计算图正则化损失函数Jre,并将图正则化损失函数Jre与模态间的三元组损失函数Jinter和模态内的三元组损失函数Jintra相加,得到目标损失函数J;
(4)对目标损失函数J进行顺序迭代优化:
对目标损失函数J进行顺序迭代优化,得到文本深度网络参数wx、图像深度网络参数wy和图正则化损失函数Jre中训练数据的统一哈希码B;
(5)计算图像查询数据和文本查询数据的哈希码;
(5a)将文本查询数据的Bag-of-words特征输入文本深度网络,得到文本查询数据哈希码
其中,xq表示一个文本查询数据,wx表示文本深度网络参数;
(5b)将图像查询数据的原始像素特征输入图像深度网络,得到图像查询数据哈希码
其中,yq表示一个图像查询数据,wy表示图像深度网络参数;
(6)获取查询数据检索结果:
计算图像查询数据哈希码和文本训练数据哈希码之间的汉明距离θyx,同时计算文本查询数据哈希码和图像训练数据哈希码之间的汉明距离θxy,并按照由小到大的顺序对θyx和θxy分别进行排序,得到多个与查询数据距离较小的训练数据作为检索结果。
本发明与现有技术相比,具有以下优点:
本发明使用一个端对端的深度网络将特征提取过程和哈希码学习过程结合在同一个框架中,实现两个过程的兼容,提出使用三元组监督信息构建目标损失函数,描述三个数据之间的相互关系以保留更丰富的语义信息,同时加入模态内的损失函数,增加目标损失函数的判别性,明显提高了跨模态哈希检索的精度。
附图说明
图1为本发明的实现流程图;
图2为本发明与现有跨模态哈希检索方法在MIRFlicker25k数据库下的准确率-召回率实验结果曲线对比图,其中,图2(a)为编码长度取16位的图像查询文本准确率-召回率曲线图,图2(b)为编码长度为16位的文本查询图像准确率-召回率曲线图;
图3为本发明与现有跨模态哈希检索方法在MIRFlickr25k数据库下的准确率实验结果曲线对比图,其中,图3(a)为编码长度取32位的图像查询文本准确率曲线图,图3(b)为编码长度取32位的文本查询图像准确率曲线图;
图4为本发明与现有跨模态哈希检索方法在NUSWIDE数据库下的准确率-召回率实验结果曲线对比图,其中,图4(a)为编码长度取16位的图像查询文本准确率-召回率曲线图,图4(b)为编码长度取16位的文本查询图像准确率-召回率曲线图;
图5为本发明与现有跨模态哈希检索方法在NUSWIDE数据库下的准确率实验结果曲线对比图,其中,图5(a)为编码长度取32位的图像查询文本准确率曲线图,图5(b)为编码长度取32位的文本查询图像准确率曲线图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步详细描述,
参照图1,本发明包括如下步骤:
步骤1)对数据进行预处理:
确定两种模态的数据:图像数据和文本数据,使用word2vec方法提取文本数据的Bag-of-words特征将文本表示成向量形式便于计算机处理,提取图像数据的原始像素特征保留图像的原始信息;并将80%的图像数据作为图像训练数据,其余作为图像查询数据;将与图像训练数据相对应的文本数据作为文本训练数据,其余作为文本查询数据;
步骤2)获取图像训练数据和文本训练数据的哈希码:
将文本训练数据的Bag-of-words特征输入文本深度网络,得到文本训练数据哈希码,同时将图像训练数据的原始像素特征输入图像深度网络,得到图像训练数据哈希码;
步骤3)采用三元组监督信息建立目标损失函数J。三元组监督信息描述锚点数据,正例数据和负例数据三个数据
步骤3a)随机选择部分图像训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的文本训练数据哈希码作为正例数据哈希码,不相似的文本训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
其中,x表示文本模态;y表示图像模态;
步骤3b)随机选择部分文本训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的图像训练数据哈希码作为正例数据哈希码,不相似的图像训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
其中,
步骤3c)将图像文本模态间的三元组损失函数J1与文本图像模态间的三元组损失函数J2相加,得到模态间的三元组损失函数Jinter;
步骤3d)随机选择部分图像训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的图像训练数据哈希码作为正例数据哈希码,不相似的图像训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
其中,
步骤3f)随机选择部分文本训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的文本训练数据哈希码作为正例数据哈希码,不相似的文本训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离
其中,
步骤3g)将图像模态内的三元组损失函数J3与文本模态内的三元组损失函数J4相加,得到模态内的三元组损失函数Jintra;
步骤3h)利用步骤(2)得到的图像训练数据哈希码和文本训练数据哈希码计算图正则化损失函数Jre,其表达式为:
其中,S表示相似矩阵;
步骤4)对目标损失函数J进行顺序迭代优化:
对目标损失函数J进行顺序迭代优化,得到文本深度网络参数wx、图像深度网络参数wy和图正则化损失函数Jre中训练数据的统一哈希码B;
步骤4a)固定目标损失函数J中的文本深度网络参数wx和图像深度网络参数wy,并令
其中,I表示单位矩阵;
步骤4b)固定目标损失函数J中的统一哈希吗B和图像深度网络参数wy,对第i个文本训练数据的哈希码
使用后向传播方法学习文本深度网络参数wx,其中,
步骤4c)固定目标损失函数J中的统一哈希吗B和文本深度网络参数wx,对第i个图像训练数据的哈希码
使用后向传播方法学习图像深度网络参数wy,其中,
步骤4d)令迭代次数加一,返回步骤4a)继续迭代直至最大迭代次数或目标损失函数J小于预先设置的损失常数。
步骤5)计算图像查询数据和文本查询数据的哈希码;
步骤5a)将文本查询数据的Bag-of-words特征输入文本深度网络,得到文本查询数据哈希码
其中,xq表示一个文本查询数据;
步骤5b)将图像查询数据的原始像素特征输入图像深度网络,得到图像查询数据哈希码
其中,yq表示一个图像查询数据;
步骤6)获取查询数据检索结果:
计算图像查询数据哈希码和文本训练数据哈希码之间的汉明距离θyx,同时计算文本查询数据哈希码和图像训练数据哈希码之间的汉明距离θxy,并按照有小到大的顺序对θyx和θxy分别进行排序,得到多个与查询数据距离较小的训练数据作为检索结果。
以下结合仿真实验,对本发明的技术效果作进一步说明。
1.仿真条件和内容:
本发明的仿真是在NVIDIA GTX TITAN X GPU服务器上,运用开源的深度学习工具箱MatConvNet进行的实验仿真。仿真实验中的参数为:阈值参数α等于编码长度的一半;平衡参数γ=100,η=50,β=1。
对本发明与现有的深度跨模态哈希(Deep Cross-Modal Hashing,DCMH)进行仿真对比。
仿真1:在编码长度取16位时,对MIRFlickr25k数据库画出准确率-召回率曲线,如图2所示;在编码长度取32位时,对MIRFlickr25k数据库画出准确率曲线,如图3所示。
仿真2:在编码长度取16位时,对NUSWIDE数据库画出准确率-召回率曲线,如图4所示;在编码长度取32位时,对NUSWIDE数据库画出准确率曲线,如图5所示。
2.仿真结果分析:
图2(a)为在MIRFlickr25k数据库下编码长度取16位的图像查询文本的准确率-召回率曲线图,横轴表示召回率,纵轴表示准确率。图中可见,本发明结果曲线与坐标轴所围的面积比DCMH方法大,表示在编码长度取16位时,本发明的图像检索文本性能良好。
图2(b)为在MIRFlickr25k数据库下编码长度取16位的文本查询图像的准确率-召回率曲线图,横轴表示召回率,纵轴表示准确率。图中可见,本发明结果曲线与坐标轴所围的面积比DCMH方法大,表示在编码长度取16位时,本发明的文本检索图像性能良好。
图3(a)为在MIRFlickr25k数据库下编码长度取32位的图像查询文本的准确率曲线图,横轴表示返回的检索数据的个数,纵轴表示准确率。图中可见,本发明的图像查询文本的准确率完全高于DCMH方法,表示在编码长度取32位时,本发明的图像检索文本性能良好。
图3(b)为在MIRFlickr25k数据库下编码长度取32位的文本查询图像的准确率曲线图,横轴表示返回的检索数据的个数,纵轴表示准确率。图中可见,本发明的文本查询图像的准确率和DCMH方法基本持平,表示在编码长度取32位时,两者的文本检索图像性能差不多。
图4(a)为在NUSWIDE数据库下编码长度取16位的图像查询文本的准确率-召回率曲线图,横轴表示召回率,纵轴表示准确率。图中可见,本发明结果曲线与坐标轴所围的面积比DCMH方法大,表示在编码长度取16位时,本发明的图像检索文本性能良好。
图4(b)为在NUSWIDE数据库下编码长度取16位的文本查询图像的准确率-召回率曲线图,横轴表示召回率,纵轴表示准确率。图中可见,本发明结果曲线与坐标轴所围的面积比DCMH方法大,表示在哈希码长度取16位时,本发明的文本检索图像性能良好。
图5(a)为在NUSWIDE数据库下编码长度取32位的图像查询文本的准确率曲线图,横轴表示返回的检索数据的个数,纵轴表示准确率。图中可见,本发明的图像查询文本的准确率完全高于DCMH方法,表示在编码长度取32位时,本发明的图像检索文本性能良好。
图5(b)为在NUSWIDE数据库下编码长度取32位的文本查询图像的准确率曲线图,横轴表示返回的检索数据的个数,纵轴表示准确率。图中可见,本发明的文本查询图像的准确率完全高于DCMH方法,表示在编码长度取32位时,本发明的文本检索图像性能良好。
从以上的仿真结果可见,采用本发明进行跨模态检索的精度高于现有方法进行跨模态检索的精度。所以,与现有技术相比,本发明能够有效利用三元组深度网络提高跨模态检索的精度。
机译: 跨越模态检索模型,跨模型检索方法和相关设备的方法
机译: 跨模态信息检索方法和装置以及存储介质
机译: 跨模态信息检索方法和装置以及存储介质