[发明专利]基于三元组深度网络的跨模态哈希检索方法有效
申请号: | 201711402277.7 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108170755B | 公开(公告)日: | 2020-04-07 |
发明(设计)人: | 邓成;陈兆佳;李超;杨二昆;杨延华 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F16/583 | 分类号: | G06F16/583;G06F16/35;G06K9/62;G06N3/08 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 韦全生;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 三元 深度 网络 跨模态哈希 检索 方法 | ||
1.一种基于三元组深度网络的跨模态哈希检索方法,其特征在于,包括如下步骤:
(1)对数据进行预处理:
确定两种模态的数据:图像数据和文本数据,提取文本数据的Bag-of-words特征,保留图像数据的原始像素特征,并将图像数据分成图像训练数据和图像查询数据,将文本数据分成文本训练数据和文本查询数据;
(2)获取图像训练数据和文本训练数据的哈希码:
将文本训练数据的Bag-of-words特征输入文本深度网络,得到文本训练数据哈希码,同时将图像训练数据的原始像素特征输入图像深度网络,得到图像训练数据哈希码;
(3)采用三元组监督信息建立目标损失函数J:
(3a)随机选择部分图像训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的文本训练数据哈希码作为正例数据哈希码,不相似的文本训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离和锚点数据和负例数据之间的汉明距离并利用和建立图像文本模态间的三元组损失函数J1:
其中,x表示文本模态;y表示图像模态;表示三元组;qm,pm,nm分别表示锚点数据,正例数据和负例数据;表示图像深度网络输出的图像训练数据哈希码;表示文本深度网络输出的文本训练数据哈希码;k表示哈希码长度;N表示数据个数;M表示三元组个数;表示图像锚点训练数据和文本正例训练数据之间的汉明距离;表示图像锚点训练数据和文本负例训练数据之间的汉明距离;σ(x)表示sigmoid函数超参数α表示一个阈值参数;其中wx和wy分别表示文本深度网络参数和图像深度网络的网络参数;
(3b)随机选择部分文本训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的图像训练数据哈希码作为正例数据哈希码,不相似的图像训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离和锚点数据和负例数据之间的汉明距离并利用和建立文本图像模态间的三元组损失函数J2:
其中,表示文本锚点训练数据和图像正例训练数据之间的汉明距离;表示文本锚点训练数据和图像负例训练数据之间的汉明距离;
(3c)将图像文本模态间的三元组损失函数J1与文本图像模态间的三元组损失函数J2相加,得到模态间的三元组损失函数Jinter;
(3d)随机选择部分图像训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的图像训练数据哈希码作为正例数据哈希码,不相似的图像训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离和锚点数据和负例数据之间的汉明距离并利用和建立图像模态内的三元组损失函数J3:
其中,表示图像锚点训练数据和图像正例训练数据之间的汉明距离;表示图像锚点训练数据和图像正例训练数据之间的汉明距离;
(3f)随机选择部分文本训练数据哈希码作为三元组监督信息中锚点数据哈希码,并将与三元组监督信息中锚点数据哈希码相似的文本训练数据哈希码作为正例数据哈希码,不相似的文本训练数据哈希码作为负例数据哈希码,采用锚点数据哈希码与正例数据哈希码和负例数据哈希码,分别计算锚点数据和正例数据之间的汉明距离和锚点数据和负例数据之间的汉明距离并利用和建立文本模态内的三元组损失函数J4:
其中,表示文本锚点训练数据和文本正例训练数据之间的汉明距离;表示文本锚点训练数据和文本负例训练数据之间的汉明距离;
(3g)将图像模态内的三元组损失函数J3与文本模态内的三元组损失函数J4相加,得到模态内的三元组损失函数Jintra;
(3h)利用步骤(2)得到的图像训练数据哈希码和文本训练数据哈希码计算图正则化损失函数Jre,并将图正则化损失函数Jre与模态间的三元组损失函数Jinter和模态内的三元组损失函数Jintra相加,得到目标损失函数J,其中,Jre的表达式为:
s.t.B=Bx=By∈{-1,1}k×N
其中,S表示相似矩阵;表示统一的哈希码;L表示拉普拉斯矩阵;Bx表示文本训练数据哈希码;By表示图像训练数据哈希码;γ,η和β表示平衡参数;Z表示元素全为1的矩阵;表示矩阵的F范数;tr(·)表示矩阵的迹;
(4)对目标损失函数J进行顺序迭代优化:
对目标损失函数J进行顺序迭代优化,得到文本深度网络参数wx、图像深度网络参数wy和图正则化损失函数Jre中训练数据的统一哈希码B;
(5)计算图像查询数据和文本查询数据的哈希码;
(5a)将文本查询数据的Bag-of-words特征输入文本深度网络,得到文本查询数据哈希码
其中,xq表示一个文本查询数据;
(5b)将图像查询数据的原始像素特征输入图像深度网络,得到图像查询数据哈希码
其中,yq表示一个图像查询数据;
(6)获取查询数据检索结果:
计算图像查询数据哈希码和文本训练数据哈希码之间的汉明距离θyx,同时计算文本查询数据哈希码和图像训练数据哈希码之间的汉明距离θxy,并按照由小到大的顺序对θyx和θxy分别进行排序,得到多个与查询数据距离较小的训练数据作为检索结果。
2.根据权利要求1所述的基于三元组深度网络的跨模态哈希检索方法,其特征在于,步骤(4)所述的对目标损失函数J进行顺序迭代优化:
(4a)固定目标损失函数J中的文本深度网络参数wx和图像深度网络参数wy,并令得到图正则化损失函数Jre中训练数据的统一哈希码B:
其中,表示图像深度网络输出的图像训练数据哈希码;表示文本深度网络输出的文本训练数据哈希码;L表示拉普拉斯矩阵;I表示单位矩阵;β和γ表示平衡参数;
(4b)固定图正则化损失函数Jre中训练数据的统一哈希码B和图像深度网络参数wy,使用后向传播方法学习文本深度网络参数wx;对第i个文本训练数据的哈希码G*i求偏导可得:
其中,M表示三元组个数;σ(x)表示sigmoid函数表示第i个文本训练数据与图像正例训练数据之间的汉明距离;表示第i个文本训练数据与图像负例训练数据之间的汉明距离;表示第i个文本训练数据与文本正例训练数据之间的汉明距离;表示第i个文本训练数据与文本负例训练数据之间的汉明距离;超参数α表示一个阈值;表示统一的哈希码;γ和η表示平衡参数;Z表示元素全为1的矩阵;
(4c)固定图正则化损失函数Jre中训练数据的统一哈希码B和文本深度网络参数wx,使用后向传播法方学习图像深度网络参数wy;对第i个图像训练数据的哈希码F*i求导可得:
其中,表示第i个图像训练数据与文本正例训练数据之间的汉明距离;表示第i个图像训练数据与文本负例训练数据之间的汉明距离;表示第i个图像训练数据与图像正例训练数据之间的汉明距离;表示第i个图像训练数据与图像负例训练数据之间的汉明距离;
(4d)令迭代次数加一,返回步骤(4a)继续迭代直至最大迭代次数或目标损失函数J小于预先设置的损失常数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711402277.7/1.html,转载请声明来源钻瓜专利网。