CN109325140B - 从图像中提取哈希码的方法、装置及图像检索方法、装置 - Google Patents

从图像中提取哈希码的方法、装置及图像检索方法、装置 Download PDF

Info

Publication number
CN109325140B
CN109325140B CN201810765292.6A CN201810765292A CN109325140B CN 109325140 B CN109325140 B CN 109325140B CN 201810765292 A CN201810765292 A CN 201810765292A CN 109325140 B CN109325140 B CN 109325140B
Authority
CN
China
Prior art keywords
hash code
image
encoder
model
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810765292.6A
Other languages
English (en)
Other versions
CN109325140A (zh
Inventor
王浩
杜长营
庞旭林
张晨
杨康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810765292.6A priority Critical patent/CN109325140B/zh
Priority to PCT/CN2018/105534 priority patent/WO2020010691A1/zh
Publication of CN109325140A publication Critical patent/CN109325140A/zh
Application granted granted Critical
Publication of CN109325140B publication Critical patent/CN109325140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种从图像中提取哈希码的方法、装置及图像检索方法、装置,该方法包括:构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;在编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。该方法可以有效降低编码空间信息冗余,有效利用所有维度,高精度地提取图像哈希码,有效提升图像检索等相关应用领域的准确度。

Description

从图像中提取哈希码的方法、装置及图像检索方法、装置
技术领域
本发明涉及人工智能技术领域,具体涉及一种从图像中提取哈希码的方法、装置及图像检索方法、装置,以及电子设备和计算机可读存储介质。
背景技术
LTH(learning to hash)是一种图像压缩方法,在图像检索应用中非常有效,该框架从图像中提取二进制哈希码,计算输入图像与图像库中图像哈希码的相似度,进行检索。LTH框架可大大降低存储空间,并提升检索效率。
在LTH中图像的哈希码提取非常关键,一般采用编码器来实现。自编码器是一种无监督神经网络方法,由编码器和解码器组成,可根据随机编码生成图像。VAE(VariationalAutoencoder,变分自动编码器)是对随机编码进行标准正态分布约束,进而生成图像。LTH框架中应用最广泛的哈希码提取方法SGH(Stochastic Generative Hashing,随机哈希生成)便是基于VAE框架的一种应用。
VAE框架的变分裁剪(Variational Pruning)会导致模型训练初期有些隐层单元还未被有效提取时就会出现崩塌(collapse),从而使框架存在明显的先天不足,例如,(1)编码空间存在很多冗余维度(即无信息的冗余数据);(2)框架对编码空间的隐码(latentcode)利用不足;等。尤其当解码器结构复杂时,这些不足更为明显。这会导致:对无法准确提取图像哈希码,导致图像检索准确率下降以及其他相关应用的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的从图像中提取哈希码的方法、装置及图像检索方法、装置。依据本发明的一个方面,提供了一种从图像中提取哈希码的方法,该方法包括:
构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;
在所述编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;
对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;
利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。
可选地,
所述构建哈希码提取模型包括:构建变分自编码器VAE模型或随机哈希生成SGH模型,其目标函数如式(1)所示;
Figure GDA0003020452540000021
其中,
Figure GDA0003020452540000022
DKL为KL散度;X为输入数据,Z为编码器输出的图像哈希码,θ是由解码器DNN模型得到的用于表示似然的参数;
在所述编码器中通过度量隐层编码冗余度对隐层编码进行正则化包括:在(1)所示的目标函数中增加一项约束项得到式(2)所示的目标函数;
Figure GDA0003020452540000023
其中,A是系数矩阵,Z为编码器输出的图像哈希码,
Figure GDA0003020452540000024
为弗罗贝尼乌斯范数,δ>0,δ为正则化参数,K为Z的维度。
可选地,在对哈希码提取模型进行训练之前,该方法进一步包括:
对所述解码器的最后一层输出进行正则化,以尽量保证DNN隐层输出与哈希码相近,从而简化解码器网络结构,倒逼编码器提取高质量的哈希码。
可选地,对所述解码器的最后一层输出进行正则化,以尽量保证DNN隐层输出与哈希码相近具体包括:
在(2)所示的目标函数中再增加一项约束项得到式(3)所示的目标函数;
Figure GDA0003020452540000031
其中,H(M)为解码器网络第M层输出;M为编码器和解码器网络的层数,η>0,η为正则化参数。
可选地,所述对抗冗余哈希码深度提取模型进行训练包括:
利用训练数据,对目标函数中θ、φ和A交替训练。
可选地,所述利用训练数据,对目标函数中θ、φ和A交替训练包括:
获取原始训练数据;
将原始训练数据进行随机打乱后,均分成多份,依次取各份训练数据,用每份训练数据对θ、φ和A交替训练一次;
重复上述步骤预设数次。
根据本发明的一个方面,提供了一种图像检索方法,该方法包括:
利用如上述任一项所述方法,计算图像库中的各图像的哈希码以及计算检索图像的哈希码;
计算检索图像的哈希码与图像库中的各图像的哈希码的相似度,输出相似度最高的一个或多个图像。
根据本发明的另一个方面,提供了一种从图像中提取哈希码的装置,该装置包括:
模型构建单元,适于构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;以及适于在所述编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;
模型训练单元,适于对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;
哈希码提取单元,适于利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。
可选地,所述模型构建单元,适于构建变分自编码器VAE模型或随机哈希生成SGH模型,其目标函数如式(1)所示;
Figure GDA0003020452540000041
其中,
Figure GDA0003020452540000042
DKL为KL散度;X为输入数据,Z为编码器输出的图像哈希码,θ是由解码器DNN模型得到的用于表示似然的参数;
以及,所述模型构建单元适于在(1)所示的目标函数中增加一项约束项得到式(2)所示的目标函数;
Figure GDA0003020452540000043
其中,A是系数矩阵,Z为编码器输出的图像哈希码,
Figure GDA0003020452540000044
为弗罗贝尼乌斯范数,δ>0,δ为正则化参数,K为Z的维度。
可选地,所述模型构建单元,进一步适于对所述解码器的最后一层输出进行正则化,以尽量保证DNN隐层输出与哈希码相近,从而简化解码器网络结构,倒逼编码器提取高质量的哈希码。
可选地,所述模型构建单元,具体适于在(2)所示的目标函数中再增加一项约束项得到式(3)所示的目标函数;
Figure GDA0003020452540000045
其中,H(M)为解码器网络第M层输出,M为编码器和解码器网络的层数,η>0,η为正则化参数。
可选地,所述模型训练单元,适于利用训练数据,对目标函数中θ、φ和A交替训练。
可选地,所述模型训练单元具体适于,
获取原始训练数据;
将原始训练数据进行随机打乱后,均分成多份,依次取各份训练数据,用每份训练数据对θ、φ和A交替训练一次;
重复上述步骤预设数次。
根据本发明的又一个方面,提供了一种图像检索装置,该装置包括:
如上述任一项所述的从图像中提取哈希码的装置,适于计算图像库中的各图像的哈希码以及计算检索图像的哈希码;
哈希码相似度计算单元,适于计算检索图像的哈希码与图像库中的各图像的哈希码的相似度,输出相似度最高的一个或多个图像。
根据本发明的又一个方面,提供了一种电子设备,所述电子设备包括:处理器,以及存储有可在处理器上运行的计算机程序的存储器;
其中,所述处理器,用于在执行所述存储器中的计算机程序时执行上述任一项所述的方法。
根据本发明的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述的方法。
本发明的技术方案通过构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;在编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。该方法通过构建抗冗余哈希码提取模型可以有效降低编码空间信息冗余,有效利用所有维度,高精度地提取图像哈希码,有效提升图像检索等相关应用领域的准确度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种从图像中提取哈希码的方法流程图;
图2为SGH和R-SGH图像重构误差结果对比图;
图3示出了根据本发明的一个实施例的一种图像检索方法流程图;
图4示出了根据本发明的一个实施例的一种从图像中提取哈希码的装置示意图;
图5示出了根据本发明的一个实施例提供的一种图像检索装置示意图;
图6是本发明实施例中的电子设备的结构示意图;
图7是本发明实施例中的一种计算机可读存储介质的结构示意图。
具体实施方式
本发明出现的专业名词解释:
1、图像检索:Image Retrieval,指根据输入的图像,在庞大的图像库中检索相似的图像。
2、LTH:Learning To Hash,是一种图像压缩方法,从图像提取二进制哈希码,计算输入图像与图像库中图像哈希码的相似度,进行检索。在图像检索应用中,LTH方法可大大降低存储空间,并提升检索效率。
3、VAE:Variational Autoencoder,变分自编码器。自编码器是一种无监督神经网络方法,由编码器和解码器组成,可根据随机编码生成图像。变分自编码器是对随机编码进行标准正态分布约束,进而生成图像。隐含表示生成模型可用如下公式表示:
Figure GDA0003020452540000061
其中θ是由解码器DNN模型得到的、用于表示似然的参数;X为输入数据;Z为编码器输出的图像哈希码;
推理模型(即DNN编码器)如下式表示:
Figure GDA0003020452540000062
VAE目标函数如下式:
Figure GDA0003020452540000063
其中DKL是KL散度,优化目标为调整θ和φ的ELBO最大值。
4、冗余:指数据中存在很多不携带信息的维度(如都是0),或者不同维度数据线性相关。
5、SGH:Stochastic Generative Hashing,随机生成哈希码方法,是基于VAE框架的一种应用,使用线性高斯似然,并将伯努利先验作用于隐含表示Z,如下式:
Figure GDA0003020452540000071
其中
Figure GDA0003020452540000072
其推理模型如下式表示:
Figure GDA0003020452540000073
其中
Figure GDA0003020452540000074
Figure GDA0003020452540000075
为标量线性或深度非线性变换。
SGH的目标函数同VAE。
6、R-SGH:为本发明提出的抗冗余随机哈希生成方法,可以保证图像提取到的哈希码不存在冗余。
7、DNN:Deep Neural Network,深度神经网络。
8、KL散度:Kullback-Leibler Divergence,用于表征两个概率分布的接近程度。
9、弗罗贝尼乌斯范数:Frobenius norm,向量元素绝对值的2次方和的1/2次幂。
10、随机梯度下降法,stochastic parallel gradient descent algorithm,简称SPGD算法。是一种无模型优化算法,比较适用于控制变量较多、受控系统比较复杂,无法建立准确数学模型的最优化控制过程。
11、MNIST:来自美国国家标准与技术研究所(National Institute of Standardsand Technology,NIST)的手写数字公开数据集。其中训练集60000个样本,测试集10000个样本。
12、CIFAR-10:为公开数据集,含有60000张彩色图像,包括飞机、汽车、猫、鸟等10类,每类6000张图片。
13、Caltech-256:为公开数据集,含有29780张图像,共256类。
14、mAP,mean average precision(平均准确率),是检索领域常用的检索准确率评估指标。
15、蒙特卡洛方法:Monte Carlo Method,也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种从图像中提取哈希码的方法流程图,该方法包括:
步骤S11:构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;
在编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;
步骤S12:对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;
步骤S13:利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。
本发明的技术方案通过构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;在编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。该方法通过构建抗冗余哈希码提取模型可以有效降低编码空间信息冗余,有效利用所有维度,高精度地提取图像哈希码,有效提升图像检索等相关应用领域的准确度。
图1所示方法,具体来说,包括如下内容:
(1)构建抗冗余哈希码深度提取模型,以提取高质量图像哈希码。
构建哈希码提取模型包括:构建变分自编码器VAE模型或随机哈希生成SGH模型,其目标函数如式(1)所示;
Figure GDA0003020452540000091
其中,
Figure GDA0003020452540000092
DKL为KL散度;X为输入数据,Z为编码器输出的图像哈希码,在图像搜索领域,隐含表示数据即为图像哈希码,θ是由解码器DNN模型得到的用于表示似然的参数;
式(1)所示的目标函数中,
Figure GDA0003020452540000093
该模型包括编码器和解码器,其中,编码器基于DNN模型从输入图像数据提取哈希码,在DNN输出时加入哈希码冗余度正则化约束,即在编码器中通过度量隐层编码冗余度对隐层编码进行正则化,以保证哈希码结果质量;解码器基于DNN利用哈希码生成图像数据。其中,在编码器中通过度量隐层编码冗余度对隐层编码进行正则化包括:在(1)所示的目标函数中增加一项约束项得到式(2)所示的目标函数;
Figure GDA0003020452540000094
其中,A是系数矩阵,Z为编码器输出的图像哈希码,
Figure GDA0003020452540000095
为弗罗贝尼乌斯范数,δ>0,δ为正则化参数,K为Z的维度。
其中
Figure GDA0003020452540000096
表示调整A的值使
Figure GDA0003020452540000097
值最小;
Figure GDA0003020452540000098
表示调整θ和
Figure GDA0003020452540000099
使
Figure GDA00030204525400000910
值最大;Z为编码器输出的图像哈希码,为多维二进制表示;A是系数矩阵;δ>0,δ为正则化参数;K为Z的维度;
Figure GDA0003020452540000101
解码器,由M层DNN组成,将输入哈希码转换为图像,在DNN输出时加入正则化约束,即在对哈希码提取模型进行训练之前,对解码器的最后一层输出进行正则化尽量保证DNN隐藏层输出与哈希码相近,从而简化解码器网络结构,倒逼编码器提取高质量哈希码,具体包括:
在(2)所示的目标函数中再增加一项约束项得到式(3)所示的目标函数;
Figure GDA0003020452540000102
其中
Figure GDA0003020452540000103
表示调整A的值使
Figure GDA0003020452540000104
值最小;
Figure GDA0003020452540000105
表示调整θ和
Figure GDA0003020452540000106
使
Figure GDA0003020452540000107
值最大;
Z为编码器输出的图像哈希码,为多维二进制表示;A是系数矩阵;
Figure GDA0003020452540000108
为弗罗贝尼乌斯范数;H(M)为解码器网络第M层输出;M为编码器和解码器网络的层数;δ>0,η>0,为正则化参数;K是Z的维度;
Figure GDA0003020452540000109
为了降低哈希码冗余,可以使哈希码各个维度尽量线性不相关,因此目标函数中引入
Figure GDA00030204525400001010
项,整体优化目标为
Figure GDA00030204525400001011
如果Z的任一维都可由其他维度线性表出,那么一定可以找到一个系数矩阵A,使得
Figure GDA00030204525400001012
为0。如果能找到某系数矩阵A使得该项不为0,但很小,则说明Z的某些维度存在线性相关性,也即冗余度较高。因此在给定矩阵A时,我们希望通过调整Z使得
Figure GDA00030204525400001013
最大,也即使Z的各个维度尽量线性不相关。又因为Z是由参数为
Figure GDA00030204525400001014
的编码器网络变换得到,所以我们转而优化
Figure GDA0003020452540000111
在解码器结构复杂时,也会导致提取哈希码冗余度提升,因此需要尽量简化解码器结构。目标函数中引入
Figure GDA0003020452540000112
这一子项的优化目标为
Figure GDA0003020452540000113
Figure GDA0003020452540000114
要尽量小,这就促使解码器DNN第M层输出H(M)与解码器输入哈希码Z尽量接近,从而使解码器网络尽量简单,最终倒逼编码器部分从图像中提取更加准确有效的哈希码。
(2)对抗冗余哈希码深度提取模型进行训练,包括:利用训练数据,对目标函数中θ、φ和A交替训练;具体为:
1、获取原始训练数据,准备训练数据
2、将原始训练数据进行随机打乱后,均分成多份,依次取各份训练数据,用每份训练数据对θ、φ和A交替训练一次,即将训练数据进行随机打乱,并平均分成S份,每一份有N个样本,设置s=0;
3、取第s份训练样本数据
4、θ优化
假定φ和A为已知参数,θ优化目标函数转换为下式(4)所示形式,以(式4)为目标函数:
Figure GDA0003020452540000115
使用下式对其进行变换:
Figure GDA0003020452540000116
其中,
Figure GDA0003020452540000117
Figure GDA0003020452540000118
于是可以得到
Figure GDA0003020452540000119
然后针对上式,使用蒙特卡洛方法估计改期望的梯度,并基于梯度更新θ的值
5、φ优化
假定θ和A为已知参数,φ优化目标函数转换为下式(5)所示形式,以(式5)为目标函数:
Figure GDA0003020452540000121
从式5中不难看出,式中第一项可以无限大,这会影响优化效果,为了避免这一问题,对其进行变换,如下式:
Figure GDA0003020452540000122
其中R=ZT-ZTA,是超参数阈值。
使用随机梯度下降法更新φ的值。
6、A优化
假定θ和φ为已知参数,A优化目标函数转换为下式(6)所示形式,以(式6)为目标函数,使用随机梯度下降法更新A的值:
Figure GDA0003020452540000123
7、s=s+1
8、重复3-7,直到S份样本均参与训练;
9、重复2-8共T次,即进行T轮训练。
下面将举出具体实施例对技术方案进行阐述。
实施例1,MNIST数据及图像重构
网络参数设置:编码器和解码器层数M设置为1,δ和η为0.01,先验参数ρj为0.5,阈值参数设置为0.05,编码器输入数据和解码器输出数据维度为28*28=784,哈希码及编码器和解码器各隐藏层数据维度为64;
训练数据集为MIST的训练集;训练每一步使用数据样本数量batch size设置为32;在不同训练轮数时对模型的图像重构误差进行了评估,评估使用MIST测试集,经过编码器提取哈希码、解码器生成重构数据,计算输入和重构数据误差,计算方法为如下:
Figure GDA0003020452540000131
其中N为评估样本数,D为每一个样本数据维数,x为输入数据,y为重构数据。
图2为SGH和R-SGH图像重构误差结果对比图,其中下降幅度较大的曲线代表R.SGH,从图2可看出本发明提出的R-SGH对图像有更好的重构能力。
实施例2,CIFAR-10图像检索
网络参数设置:编码器和解码器层数M设置为4,δ为0.01,η为0.01,先验参数ρj为0.5,阈值参数设置为0.05,编码器输入数据和解码器输出数据维度为512,哈希码及编码器和解码器各隐藏层数据维度为32、64和128三种;
将CIFAR-10数据集10类数据中各随机抽取100个样本数据,共1000个样本数据作为测试时检索输入,其余数据为训练样本,也为图像库。训练每一步使用数据样本数量batch size设置为32,训练轮数为200。
使用mAP指标进行评估图像检索能力,哈希码维度为32、64和128三种模型mAP结果如表1所示,表1为SGH和R-SGH在CIFAR-10数据集mAP(%)测试结果:
表1 SGH和R-SGH在CIFAR-10数据集mAP(%)测试结果
方法 哈希码32bit 哈希码64bit 哈希码128bit
SGH 23.86 30.56 35.61
R-SGH 24.66 33.62 44.12
从表1中可见本发明提出的R-SGH有更好的图像检索能力。
实施例3,Caltech-256图像检索
网络参数设置:编码器和解码器层数M设置为4,δ为0.01,η为0.01,先验参数ρj为0.5,阈值参数设置为0.05,编码器输入数据和解码器输出数据维度为512,哈希码及编码器和解码器各隐藏层数据维度为32、64和128三种;
从Caltech-256数据集中随机抽取1000个样本数据作为测试时检索输入,其余数据为训练样本,也为图像库。训练每一步使用数据样本数量batchsize设置为32,训练轮数为200。
使用mAP指标进行评估图像检索能力,哈希码维度为32、64和128三种模型mAP结果如表2所示,表2为SGH和R-SGH在Caltech-256数据集mAP(%)测试结果:
表2 SGH和R-SGH在Caltech-256数据集mAP(%)测试结果
方法 哈希码32bit 哈希码64bit 哈希码128bit
SGH 47.12 71.09 78.61
R-SGH 59.02 74.18 84.96
从表2中可见本发明提出的R-SGH有更好的图像检索能力。
图3示出了根据本发明的一个实施例的一种图像检索方法流程图,该方法包括:
步骤S31:利用图1所示方法,计算图像库中的各图像的哈希码以及计算检索图像的哈希码;
步骤S32:计算检索图像的哈希码与图像库中的各图像的哈希码的相似度,输出相似度最高的一个或多个图像。
图4示出了根据本发明的一个实施例的一种从图像中提取哈希码的装置示意图,该装置40包括:
模型构建单元401,适于构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;以及适于在所述编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;
模型训练单元402,适于对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;
哈希码提取单元403,适于利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。
在本发明的一个实施例中,模型构建单元402,适于构建变分自编码器VAE模型或随机哈希生成SGH模型,其目标函数如式(1)所示;
Figure GDA0003020452540000151
其中,
Figure GDA0003020452540000152
DKL为KL散度;X为输入数据,Z为编码器输出的图像哈希码,θ是由解码器DNN模型得到的用于表示似然的参数;
以及,所述模型构建单元适于在(1)所示的目标函数中增加一项约束项得到式(2)所示的目标函数;
Figure GDA0003020452540000153
其中,A是系数矩阵,Z为编码器输出的图像哈希码,
Figure GDA0003020452540000154
为弗罗贝尼乌斯范数,δ>0,δ为正则化参数,K为Z的维度。
在本发明的一个实施例中,模型构建单元401,进一步适于对所述解码器的最后一层输出进行正则化,以尽量保证DNN隐层输出与哈希码相近,从而简化解码器网络结构,倒逼编码器提取高质量的哈希码。
在本发明的一个实施例中,模型构建单元401,具体适于在(2)所示的目标函数中再增加一项约束项得到式(3)所示的目标函数;
Figure GDA0003020452540000155
其中,H(M)为解码器网络第M层输出,M为编码器和解码器网络的层数,η>0,η为正则化参数。
在本发明的一个实施例中,模型训练单元402,适于利用训练数据,对目标函数中θ、φ和A交替训练。
模型训练单元402具体适于,
获取原始训练数据;
将原始训练数据进行随机打乱后,均分成多份,依次取各份训练数据,用每份训练数据对θ、φ和A交替训练一次;
重复上述步骤预设数次。
图5示出了根据本发明的一个实施例提供的一种图像检索装置示意图,该装置50包括:
如图4所述的从图像中提取哈希码的装置40,适于计算图像库中的各图像的哈希码以及计算检索图像的哈希码;
哈希码相似度计算单元501,适于计算检索图像的哈希码与图像库中的各图像的哈希码的相似度,输出相似度最高的一个或多个图像。
本发明的技术方案通过构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;在编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而有效降低编码空间信息冗余,有效利用所有维度,提取可精确表示图像的哈希码;基于哈希码对模型解码器最后一层输出进行正则化,简化解码器复杂度,倒逼编码器提取更加准确有效的哈希码;使用两项正则化组合对整个模型进行优化,从而有效改善哈希码信息冗余问题,高精度地提取图像哈希码,有效提升图像检索等相关应用领域的准确度。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文字内容的拍照录入装置、电子设备和计算机可读存储介质中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图6是本发明实施例中的电子设备的结构示意图。该电子设备600包括:处理器610,以及存储有可在所述处理器610上运行的计算机程序的存储器620。处理器610,用于在执行所述存储器620中的计算机程序时执行本发明中方法的各步骤。存储器620可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器620具有存储用于执行上述方法中的任何方法步骤的计算机程序631的存储空间630。计算机程序631可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图7所述的计算机可读存储介质。
图7是本发明实施例中的一种计算机可读存储介质的结构示意图。该计算机可读存储介质700存储有用于执行根据本发明的方法步骤的计算机程序631,可以被电子设备600的处理器610读取,当计算机程序631由电子设备600运行时,导致该电子设备600执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算程序631可以执行上述任一实施例中示出的方法。计算机程序631可以以适当形式进行压缩。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (16)

1.一种从图像中提取哈希码的方法,其中,该方法包括:
构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;
在所述编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;
对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;
利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。
2.如权利要求1所述的方法,其中,
所述构建哈希码提取模型包括:构建变分自编码器VAE模型或随机哈希生成SGH模型,其目标函数如式(1)所示;
Figure FDA0003033716910000011
其中,
Figure FDA0003033716910000012
DKL为KL散度;X为输入数据,Z为编码器输出的图像哈希码,θ是由解码器DNN模型得到的用于表示似然的参数,
Figure FDA0003033716910000013
表示数学期望,φ为标量线性或深度非线性变换;
在所述编码器中通过度量隐层编码冗余度对隐层编码进行正则化包括:在(1)所示的目标函数中增加一项约束项得到式(2)所示的目标函数;
Figure FDA0003033716910000014
其中,A是系数矩阵,Z为编码器输出的图像哈希码,
Figure FDA0003033716910000015
为弗罗贝尼乌斯范数,δ>0,δ为正则化参数,K为Z的维度,
Figure FDA0003033716910000016
表示数学期望,φ为标量线性或深度非线性变换,k=1,2,...,K。
3.如权利要求2所述的方法,其中,在对哈希码提取模型进行训练之前,该方法进一步包括:
对所述解码器的最后一层输出进行正则化,以尽量保证DNN隐层输出与哈希码相近,从而简化解码器网络结构,倒逼编码器提取高质量的哈希码。
4.如权利要求3所述的方法,其中,对所述解码器的最后一层输出进行正则化,以尽量保证DNN隐层输出与哈希码相近具体包括:
在(2)所示的目标函数中再增加一项约束项得到式(3)所示的目标函数;
Figure FDA0003033716910000021
其中,H(M)为解码器网络第M层输出;M为解码器网络的层数,η>0,η为正则化参数,φ为标量线性或深度非线性变换。
5.如权利要求4所述的方法,其中,所述对抗冗余哈希码深度提取模型进行训练包括:
利用训练数据,对目标函数中θ、
Figure FDA0003033716910000022
和A交替训练。
6.如权利要求5所述的方法,其中,所述利用训练数据,对目标函数中θ、
Figure FDA0003033716910000023
和A交替训练包括:
获取原始训练数据;
将原始训练数据进行随机打乱后,均分成多份,依次取各份训练数据,用每份训练数据对θ、
Figure FDA0003033716910000024
和A交替训练一次;
重复上述步骤预设数次。
7.一种图像检索方法,其中,该方法包括:
利用如权利要求1-6中任一项所述方法,计算图像库中的各图像的哈希码以及计算检索图像的哈希码;
计算检索图像的哈希码与图像库中的各图像的哈希码的相似度,输出相似度最高的一个或多个图像。
8.一种从图像中提取哈希码的装置,其中,该装置包括:
模型构建单元,适于构建哈希码提取模型,该模型包括编码器和解码器;其中,编码器由多层深度神经网络DNN组成,从图像数据中提取哈希码输出给解码器,解码器由多层DNN组成,将输入的哈希码转换为图像;以及适于在所述编码器中通过度量隐层编码冗余度对隐层编码进行正则化,从而降低编码空间信息冗余,得到抗冗余哈希码深度提取模型;
模型训练单元,适于对抗冗余哈希码深度提取模型进行训练,确定模型中的参数;
哈希码提取单元,适于利用训练好的抗冗余哈希码深度提取模型中的编码器,从图像中提取哈希码。
9.如权利要求8所述的装置,其中,所述模型构建单元,适于构建变分自编码器VAE模型或随机哈希生成SGH模型,其目标函数如式(1)所示;
Figure FDA0003033716910000031
其中,
Figure FDA0003033716910000032
DKL为KL散度;X为输入数据,Z为编码器输出的图像哈希码,θ是由解码器DNN模型得到的用于表示似然的参数,
Figure FDA0003033716910000033
表示数学期望,φ为标量线性或深度非线性变换;
以及,所述模型构建单元适于在(1)所示的目标函数中增加一项约束项得到式(2)所示的目标函数;
Figure FDA0003033716910000034
其中,A是系数矩阵,Z为编码器输出的图像哈希码,
Figure FDA0003033716910000035
为弗罗贝尼乌斯范数,δ>0,δ为正则化参数,K为Z的维度,
Figure FDA0003033716910000036
表示数学期望,k=1,2,...,K。
10.如权利要求9所述的装置,其中,所述模型构建单元,进一步适于对所述解码器的最后一层输出进行正则化,以尽量保证DNN隐层输出与哈希码相近,从而简化解码器网络结构,倒逼编码器提取高质量的哈希码。
11.如权利要求10所述的装置,其中,所述模型构建单元,具体适于在(2)所示的目标函数中再增加一项约束项得到式(3)所示的目标函数;
Figure FDA0003033716910000037
其中,H(M)为解码器网络第M层输出,M为解码器网络的层数,η>0,η为正则化参数,φ为标量线性或深度非线性变换。
12.如权利要求11所述的装置,其中,所述模型训练单元,适于利用训练数据,对目标函数中θ、φ和A交替训练。
13.如权利要求12所述的装置,其中,所述模型训练单元具体适于,
获取原始训练数据;
将原始训练数据进行随机打乱后,均分成多份,依次取各份训练数据,用每份训练数据对θ、φ和A交替训练一次;
重复上述步骤预设数次。
14.一种图像检索装置,其中,该装置包括:
如权利要求8-13中任一项所述的从图像中提取哈希码的装置,适于计算图像库中的各图像的哈希码以及计算检索图像的哈希码;
哈希码相似度计算单元,适于计算检索图像的哈希码与图像库中的各图像的哈希码的相似度,输出相似度最高的一个或多个图像。
15.一种电子设备,其特征在于,所述电子设备包括:处理器,以及存储有可在处理器上运行的计算机程序的存储器;
其中,所述处理器,用于在执行所述存储器中的计算机程序时执行权利要求1-6中任一项所述的方法,或,用于在执行所述存储器中的计算机程序时执行权利要求7所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法,或,该计算机程序被处理器执行时实现权利要求7所述的方法。
CN201810765292.6A 2018-07-12 2018-07-12 从图像中提取哈希码的方法、装置及图像检索方法、装置 Active CN109325140B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810765292.6A CN109325140B (zh) 2018-07-12 2018-07-12 从图像中提取哈希码的方法、装置及图像检索方法、装置
PCT/CN2018/105534 WO2020010691A1 (zh) 2018-07-12 2018-09-13 从图像中提取哈希码的方法、装置及图像检索方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810765292.6A CN109325140B (zh) 2018-07-12 2018-07-12 从图像中提取哈希码的方法、装置及图像检索方法、装置

Publications (2)

Publication Number Publication Date
CN109325140A CN109325140A (zh) 2019-02-12
CN109325140B true CN109325140B (zh) 2021-07-13

Family

ID=65263971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810765292.6A Active CN109325140B (zh) 2018-07-12 2018-07-12 从图像中提取哈希码的方法、装置及图像检索方法、装置

Country Status (1)

Country Link
CN (1) CN109325140B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111915689B (zh) * 2020-07-16 2023-11-24 抖音视界有限公司 用于生成目标函数的方法、装置、电子设备和计算机可读介质
CN113449849B (zh) * 2021-06-29 2022-05-27 桂林电子科技大学 基于自编码器的学习型文本哈希方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220368A (zh) * 2017-06-09 2017-09-29 北京邮电大学 图像检索方法及装置
CN107229757A (zh) * 2017-06-30 2017-10-03 中国科学院计算技术研究所 基于深度学习和哈希编码的视频检索方法
CN107918636A (zh) * 2017-09-07 2018-04-17 北京飞搜科技有限公司 一种人脸快速检索方法、系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4035383B2 (ja) * 2001-10-22 2008-01-23 株式会社リコー 電子透かしの符号生成装置と符号生成方法、および電子透かしの復号装置と復号方法、並びに電子透かしの符号生成復号プログラムと、これを記録した記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220368A (zh) * 2017-06-09 2017-09-29 北京邮电大学 图像检索方法及装置
CN107229757A (zh) * 2017-06-30 2017-10-03 中国科学院计算技术研究所 基于深度学习和哈希编码的视频检索方法
CN107918636A (zh) * 2017-09-07 2018-04-17 北京飞搜科技有限公司 一种人脸快速检索方法、系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
从自编码器到变分自编码器(其一) -;AiTechYun;《云+社区 - 腾讯云》;20180327;第1-18页 *

Also Published As

Publication number Publication date
CN109325140A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN108491817B (zh) 一种事件检测模型训练方法、装置以及事件检测方法
Li et al. A novel earth mover's distance methodology for image matching with gaussian mixture models
CN110837846B (zh) 一种图像识别模型的构建方法、图像识别方法及装置
CN107392217B (zh) 计算机实现的信息处理方法及装置
CN108957418A (zh) 一种基于循环神经网络模型的雷达目标识别方法
CN109325140B (zh) 从图像中提取哈希码的方法、装置及图像检索方法、装置
CN114330650A (zh) 基于进化元学习模型训练的小样本特征分析方法及装置
CN111371611B (zh) 一种基于深度学习的加权网络社区发现方法及装置
Lataniotis Data-driven uncertainty quantification for high-dimensional engineering problems
CN115496144A (zh) 配电网运行场景确定方法、装置、计算机设备和存储介质
CN109034238A (zh) 一种基于信息熵的聚类划分方法
CN111709442A (zh) 一种面向图像分类任务的多层字典学习方法
CN105740916B (zh) 图像特征编码方法及装置
CN109145132B (zh) 从图像中提取哈希码的方法、装置及图像检索方法、装置
CN114003900A (zh) 变电站二次系统网络入侵检测方法、装置及系统
CN104463245B (zh) 一种目标识别方法
CN113887656B (zh) 一种联合深度学习与稀疏表示的高光谱图像分类方法
CN115239967A (zh) 一种基于Trans-CSN生成对抗网络的图像生成方法及装置
CN114841288A (zh) 典型日负荷曲线的获取方法、装置、电子设备及存储介质
CN113435488A (zh) 一种图像采样概率提升方法及其应用
CN110084303B (zh) 一种基于cnn与rf的老年人平衡能力特征选择方法
Mühlenstädt et al. How much data do you need? Part 2: Predicting DL class specific training dataset sizes
CN117649917B (zh) 检验报告生成模型的训练方法及装置、检验报告生成方法
CN115688229B (zh) 基于深度学习的网壳结构最不利缺陷模态创建方法
Bhatkoti et al. The Appropriateness of k-Sparse Autoencoders in Sparse Coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant