CN107016708B - 一种基于深度学习的图像哈希编码方法 - Google Patents
一种基于深度学习的图像哈希编码方法 Download PDFInfo
- Publication number
- CN107016708B CN107016708B CN201710182659.7A CN201710182659A CN107016708B CN 107016708 B CN107016708 B CN 107016708B CN 201710182659 A CN201710182659 A CN 201710182659A CN 107016708 B CN107016708 B CN 107016708B
- Authority
- CN
- China
- Prior art keywords
- image
- images
- model
- hash
- binary code
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于深度学习的图像哈希编码方法。本发明包括如下步骤:步骤1、采用在ImageNet图像识别数据库上训练好的图像分类模型GoogLeNet作为初始化的基本网络结构,并将GoogLeNet模型的最后一层分类层替换为哈希层,该哈希层的单元数即为图像要编码成的比特数;步骤2、对GoogLeNet模型的参数进行优化;步骤3、将图像检索数据集中的图像输入至优化好的GoogLeNet模型,并将GoogLeNet模型输出的浮点数量化为二值码,从而得到每幅图像的二值码。本发明实现了图像特征与哈希函数的联合优化,克服了传统哈希方法学习到的哈希编码与图像特征不符的缺点。
Description
技术领域
本发明涉及一种编码方法,尤其涉及一种基于深度学习的图像哈希编码方法。
背景技术
随着网络上的图像数量迅速增长,基于内容的图像检索日趋重要,哈希技术得到了越来越多的关注。哈希技术的目标是构建哈希函数,将数据从原始空间映射到压缩的二进制码,同时保留原始空间的数据结构。由于压缩的二进制码能提高计算和存储的效率,所以哈希对于最近邻查找来说是一项强有力的技术。大部分的哈希编码方法的流程是:首先提取图像的手工设计的特征表示,然后在此基础上学习哈希函数。手工设计的特征更倾向于描述图像的视觉信息,而不是其语义信息,此外特征的学习和哈希函数的学习两个阶段割裂,会导致产生的二值码与特征表示不符。
发明内容
本发明的目的是针对现有技术的不足,提供一种基于深度学习的图像哈希编码方法。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1、采用在ImageNet图像识别数据库上训练好的图像分类模型GoogLeNet作为初始化的基本网络结构,并将GoogLeNet模型的最后一层分类层替换为哈希层,该哈希层的单元数即为图像要编码成的比特数;
步骤2、对GoogLeNet模型的参数进行优化;
2-1.每次迭代将从图像检索数据集中选取的50幅图像,作为GoogLeNet模型的输入;并且将图像上人工标注的标签信息同时作为GoogLeNet模型的输入,用于判断图像间的相似性;共迭代M次;
2-2.在每次迭代中,将从图像检索数据集中选取的50幅图像随机两两组合构成成对图像,并通过成对图像的标签信息判断两幅图像是否相似,从而对成对图像进行损失计算;
2-3.根据每幅图像输入进GoogLeNet模型得到的二值码,进行二值码均匀分布损失的计算和量化损失的计算;
2-4.计算出每一次迭代的图像的所有损失,即成对图像损失、二值码均匀分布损失和量化损失的累加;然后使用随机梯度下降算法和反向传播算法来对GoogLeNet模型的参数进行更新,迭代进行M次后,得到了优化好的GoogLeNet模型;
步骤3、将图像检索数据集中的图像输入至优化好的GoogLeNet模型,并将GoogLeNet模型输出的浮点数量化为二值码,从而得到每幅图像的二值码。
所述的成对图像的损失通过如下损失函数计算:
s.t.bi∈{-1,+1}q,i∈{1,2}, (1)
其中,设输入的成对图像分别为I1,I2,其对应的二值码为b1,b2;S表示两幅图像是否相似,若相似,S=1;否则,S=0;H(·,·)表示两个二值码间的海明距离,如果两幅图像是相似图像,则损失等于其二值码间的海明距离,否则当两幅图像不相似时,定义一个阈值t,若海明距离小于该阈值时,才对该损失函数有贡献;
由于上式(1)二值码是离散取值,直接优化困难,因此将整数限制变为范围限制{-1,+1}->[-1,+1],海明距离变为欧式距离,GoogLeNet模型得到浮点数输出,公式(1)更新为:
s.t.bi∈[-1,+1]q,i∈{1,2}. (2)
对公式(2)的梯度进行计算如下:
当S=0时,s.t.bi∈[-1,+1]q,i∈{1,2}, (4)。
所述的二值码均匀分布损失的计算如下:
将压缩的二值码均匀分布,当二值码中-1和+1出现的概率都为50%时,熵最大信息量最多,所以该均匀分布损失函数定义为:
其中,q表示二值码的长度,即哈希层的单元数;n为图像数量,即得到的二值码数量,bi(j)表示第i个二值码的第j个比特。
所述的二值码量化的损失通过如下损失函数计算:
由于GoogLeNet模型的哈希层的输出为浮点数,因此需要通过量化得到二值码,量化过程如下:
b=sign(v), (6)
其中,v表示GoogLeNet模型的输出;为了减小从欧式空间到海明空间映射导致的量化误差,需要一个量化损失函数:用于计算最后一层哈希层的值与量化该哈希层后的值的差,即每个单元量化前与量化后的值相减,具体量化损失函数如下:
其中,如果vi>0,则b=1;否则,b=-1,其中,vi表示二值码的第i个比特。
综上所述,本发明利用一个深度卷积神经网络作为基本框架来学习二值码,并且使学习到的二值码应满足以下要求:(1)相似的图像应编码成相似的二值码,不相似的图像编码的二值码也不相似,从而保留图像间的语义相似性;(2)二值码应均匀分布以表示更多信息;(3)欧式空间到海明空间映射的量化误差应最小化。在图像检索过程中,图像输入进优化好的GoogLeNet模型来计算每幅图像的二值码,然后通过计算二值码之间的海明距离来检索图像。
与现有技术相比,本发明的积极效果为:
本发明通过利用深度神经网络,将图像的特征学习与哈希函数的学习整合到一个端到端的过程中,实现了图像特征与哈希函数的联合优化,克服了传统哈希方法学习到的哈希编码与图像特征不符的缺点。
本发明同时考虑了利用图像间的相似性保留哈希编码的语义信息,哈希编码的均匀分布以及欧式空间到海明空间量化误差的最小化,从而得到高质量的图像哈希编码。
在标准图像检索数据集CIFAR-10上,当图像编码为12、24、36、48比特时,平均精度均值(MAP)能够分别达到83.18%、86.84%、87.55%、87.67%。
附图说明
图1为本发明的方法框架图;
图2为本发明的图像哈希编码流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述。
如图1和2所示,一种基于深度学习的图像哈希编码方法,在学习部分引入了深度卷积神经网络,通过对图像特征与哈希函数的联合优化,实现了端到端的训练过程。其实现包括如下步骤:
步骤1、采用在ImageNet图像识别数据库上训练好的图像分类模型GoogLeNet作为初始化的基本网络结构,并将GoogLeNet模型的最后一层分类层替换为哈希层,该哈希层的单元数即为图像要编码成的比特数。
步骤2、对GoogLeNet的参数进行优化;
共迭代M次,每次迭代将从检索数据集中选取的50幅图像作为GoogLeNet模型的输入;并且将图像人工标注的标签信息同时作为GoogLeNet模型的输入,用于判断图像间的相似性。
所述的M为50000;
在每次迭代中,将从检索数据集中选取的50幅图像随机两两组合构成成对图像,并通过成对图像的标签信息判断两幅图像是否相似,从而对成对图像进行损失计算。
同时根据每幅图像输入进GoogLeNet模型得到的二值码,进行二值码均匀分布损失的计算和量化损失的计算。
计算出以50幅图像为一批次的所有损失后,使用随机梯度下降算法和反向传播算法来对GoogLeNet模型的参数进行更新,迭代进行M次后,得到了训练好的模型。
步骤3、利用上述训练好的GoogLeNet,将图像检索数据集中的图像输入GoogLeNet模型,由于GoogLeNet模型的输出为浮点数,所以要将浮点数量化为二值码,从而得到每幅图像的二值码,参看图2。
下面详细介绍本发明定义的三个损失函数对GoogLeNet模型进行参数优化,从而得到高质量的图像哈希编码的过程。
将成对图像作为GoogLeNet模型的输入,设两个输入的图像分别为I1,I2,对应的二值码为b1,b2。本发明定义如下三个损失函数来对GoogLeNet模型进行优化:
步骤2所述的成对图像的损失函数:
s.t.bi∈{-1,+1}q,i∈{1,2}, (1)
S表示两幅图像是否相似,若相似,S=1;否则,S=0。H(·,·)表示两个二值码间的海明距离。如果两幅图像是相似图像,则损失等于其二值码间的海明距离,否则当两幅图像不相似时,定义一个阈值t,若海明距离小于该阈值时,才对该损失函数有贡献。
由于上式(1)二值码是离散取值,直接优化困难,因此本发明放松上式的限制,由整数限制变为范围限制{-1,+1}->[-1,+1],海明距离变为欧式距离,GoogLeNet模型得到实值输出。公式(1)重写为:
s.t.bi∈[-1,+1]q,i∈{1,2}. (2)
公式(2)的梯度计算如下:
步骤2所述的二值码均匀分布损失的计算如下:根据信息论,熵越大所蕴含的信息越多。为了提高二值码的信息量,本发明使压缩的二值码均匀分布。当二值码中-1和+1出现的概率都为50%时,熵最大信息量最多,所以该均匀分布损失函数定义为:
q表示二值码的长度,即哈希层的单元数。n为图像数量,即得到的二值码数量,bi(j)表示第i个二值码的第j个比特。
步骤2所述的二值码量化损失函数:
利用GoogLeNet模型的哈希层输出为浮点数,为了得到二值码需要量化,量化过程如下:
b=sign(v), (6)
v表示GoogLeNet模型的输出;
为了减小从欧式空间到海明空间映射导致的量化误差,本发明设计了一个量化损失函数,用于计算最后一层哈希层的值与量化该哈希层后的值的差,即每个单元(比特)量化前与量化后的值相减,具体如下:
如果vi>0,则b=1;否则,b=-1,其中,vi表示二值码的第i个比特;
三个损失函数同时对哈希层的值进行计算,每幅图像的损失累加后,进行反向传播,更新GoogLeNet模型的参数。
实施例
下面以CIFAR图像数据集为例,进行进一步的说明。所述图像数据集包含60000张图片,共有10类标签,包括飞机、船、汽车、动物等。首先将该数据集中随机50000幅作为训练集,10000幅作为测试集。
采用在ImageNet图像识别数据集上预训练好的图像分类模型GoogLeNet来完成图像的哈希编码任务。将GoogLeNet中的最后一层有1000个单元的分类层替换为一个哈希层,该哈希层的单元数量为图像编码为二值码的比特数,比如48比特,就定义48个单元。
然后,对上述设置好的GoogLeNet模型进行参数的优化。该过程进行50000次迭代,每次迭代随机从训练集图像中选取50幅图像及图像对应标签输入进GoogLeNet,经过在GoogLeNet中的前向传播,在最后一层哈希层得到未进行二值化的哈希编码。利用上述定义的三个损失函数计算损失,通过随机梯度下降和反向传播算法来更新GoogLeNet网络的参数。
最后,利用上述优化完成的GoogLeNet对训练集中所有图像进行哈希编码。对于测试集中的待检索图像,首先将待检索图像输入GoogLeNet,然后得到其哈希编码,用该哈希编码与训练集图像的哈希码进行逐一比较,计算海明距离,得到根据海明距离进行排序的图像列表,海明距离越小,两幅图像的相似性越大。
Claims (3)
1.一种基于深度学习的图像哈希编码方法,其特征在于包括如下步骤:
步骤1、采用在ImageNet图像识别数据库上训练好的图像分类模型GoogLeNet作为初始化的基本网络结构,并将GoogLeNet模型的最后一层分类层替换为哈希层,该哈希层的单元数即为图像要编码成的比特数;
步骤2、对GoogLeNet模型的参数进行优化;
2-1.每次迭代将从图像检索数据集中选取的50幅图像,作为GoogLeNet模型的输入;并且将图像上人工标注的标签信息同时作为GoogLeNet模型的输入,用于判断图像间的相似性;共迭代M次;
2-2.在每次迭代中,将从图像检索数据集中选取的50幅图像随机两两组合构成成对图像,并通过成对图像的标签信息判断两幅图像是否相似,从而对成对图像进行损失计算;
2-3.根据每幅图像输入进GoogLeNet模型得到的二值码,进行二值码均匀分布损失的计算和量化损失的计算;
2-4.计算出每一次迭代的图像的所有损失,即成对图像损失、二值码均匀分布损失和量化损失的累加;然后使用随机梯度下降算法和反向传播算法来对GoogLeNet模型的参数进行更新,迭代进行M次后,得到了优化好的GoogLeNet模型;
步骤3、将图像检索数据集中的图像输入至优化好的GoogLeNet模型,并将GoogLeNet模型输出的浮点数量化为二值码,从而得到每幅图像的二值码;
步骤2中所述的成对图像的损失通过如下损失函数计算:
s.t.bi∈{-1,+1}q,i∈{1,2}, (1)
其中,设输入的成对图像分别为I1,I2,其对应的二值码为b1,b2;S表示两幅图像是否相似,若相似,S=1;否则,S=0;H(·,·)表示两个二值码间的海明距离,如果两幅图像是相似图像,则损失等于其二值码间的海明距离,否则当两幅图像不相似时,定义一个阈值t,若海明距离小于该阈值时,才对该损失函数有贡献;
由于上式(1)二值码是离散取值,直接优化困难,因此将整数限制变为范围限制{-1,+1}->[-1,+1],海明距离变为欧式距离,GoogLeNet模型得到浮点数输出,公式(1)更新为:
s.t.bi∈[-1,+1]q,i∈{1,2}. (2)
对公式(2)的梯度进行计算如下:
当S=0时,s.t.bi∈[-1,+1]q,i∈{1,2}, (4)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710182659.7A CN107016708B (zh) | 2017-03-24 | 2017-03-24 | 一种基于深度学习的图像哈希编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710182659.7A CN107016708B (zh) | 2017-03-24 | 2017-03-24 | 一种基于深度学习的图像哈希编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107016708A CN107016708A (zh) | 2017-08-04 |
CN107016708B true CN107016708B (zh) | 2020-06-05 |
Family
ID=59445399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710182659.7A Active CN107016708B (zh) | 2017-03-24 | 2017-03-24 | 一种基于深度学习的图像哈希编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107016708B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633272B (zh) * | 2017-10-09 | 2020-10-30 | 东华大学 | 一种基于小样本下压缩感知的dcnn纹理疵点识别方法 |
CN108182256A (zh) * | 2017-12-31 | 2018-06-19 | 厦门大学 | 一种基于离散局部线性嵌入哈希的高效图像检索方法 |
EP3794515A1 (en) * | 2018-05-17 | 2021-03-24 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor |
CN109086815B (zh) * | 2018-07-24 | 2021-08-31 | 中国人民解放军国防科技大学 | 基于fpga的决策树模型中的浮点数离散化方法 |
CN109359526B (zh) * | 2018-09-11 | 2022-09-27 | 深圳大学 | 一种人脸姿态估计方法、装置和设备 |
CN109241317B (zh) * | 2018-09-13 | 2022-01-11 | 北京工商大学 | 基于深度学习网络中度量损失的行人哈希检索方法 |
CN109785901B (zh) * | 2018-12-26 | 2021-07-30 | 东软集团股份有限公司 | 一种蛋白质功能预测方法及装置 |
CN109783691B (zh) * | 2018-12-29 | 2022-06-21 | 北京远鉴信息技术有限公司 | 一种深度学习和哈希编码的视频检索方法 |
CN110059604B (zh) * | 2019-04-10 | 2021-04-27 | 清华大学 | 深度均匀人脸特征提取的网络训练方法及装置 |
CN110348477B (zh) * | 2019-06-04 | 2021-10-22 | 上海联影智能医疗科技有限公司 | 医疗图像处理方法、存储介质及计算机设备 |
CN110674333B (zh) * | 2019-08-02 | 2022-04-01 | 杭州电子科技大学 | 基于多视图增强深度哈希的大规模图像高速检索方法 |
CN110517329B (zh) * | 2019-08-12 | 2021-05-14 | 北京邮电大学 | 一种基于语义分析的深度学习图像压缩方法 |
CN111127587B (zh) * | 2019-12-16 | 2023-06-23 | 杭州电子科技大学 | 一种基于对抗生成网络的无参考图像质量地图生成方法 |
CN113326393B (zh) * | 2021-05-31 | 2023-04-07 | 深圳前瞻资讯股份有限公司 | 一种基于深度哈希特征和异构并行处理的图像检索方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657350A (zh) * | 2015-03-04 | 2015-05-27 | 中国科学院自动化研究所 | 融合隐式语义特征的短文本哈希学习方法 |
CN105512289A (zh) * | 2015-12-07 | 2016-04-20 | 郑州金惠计算机系统工程有限公司 | 基于深度学习和哈希的图像检索方法 |
CN106096538A (zh) * | 2016-06-08 | 2016-11-09 | 中国科学院自动化研究所 | 基于定序神经网络模型的人脸识别方法及装置 |
CN106503106A (zh) * | 2016-10-17 | 2017-03-15 | 北京工业大学 | 一种基于深度学习的图像哈希索引构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2518876A (en) * | 2013-10-04 | 2015-04-08 | Nokia Corp | Method, apparatus and computer program product for similarity determination in multimedia content |
-
2017
- 2017-03-24 CN CN201710182659.7A patent/CN107016708B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657350A (zh) * | 2015-03-04 | 2015-05-27 | 中国科学院自动化研究所 | 融合隐式语义特征的短文本哈希学习方法 |
CN105512289A (zh) * | 2015-12-07 | 2016-04-20 | 郑州金惠计算机系统工程有限公司 | 基于深度学习和哈希的图像检索方法 |
CN106096538A (zh) * | 2016-06-08 | 2016-11-09 | 中国科学院自动化研究所 | 基于定序神经网络模型的人脸识别方法及装置 |
CN106503106A (zh) * | 2016-10-17 | 2017-03-15 | 北京工业大学 | 一种基于深度学习的图像哈希索引构建方法 |
Non-Patent Citations (1)
Title |
---|
基于深度卷积神经网络和二进制哈希学习的图像检索方法;彭天强,栗芳;《电子与信息学报》;20160831;第38卷(第8期);2068-2075 * |
Also Published As
Publication number | Publication date |
---|---|
CN107016708A (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016708B (zh) | 一种基于深度学习的图像哈希编码方法 | |
CN110188227B (zh) | 一种基于深度学习与低秩矩阵优化的哈希图像检索方法 | |
CN106980641B (zh) | 基于卷积神经网络的无监督哈希快速图片检索系统及方法 | |
CN109783682B (zh) | 一种基于点对相似度的深度非松弛哈希图像检索方法 | |
US20200125897A1 (en) | Semi-Supervised Person Re-Identification Using Multi-View Clustering | |
CN105960647B (zh) | 紧凑人脸表示 | |
CN110765281A (zh) | 一种多语义深度监督跨模态哈希检索方法 | |
CN110941734B (zh) | 基于稀疏图结构的深度无监督图像检索方法 | |
CN105512273A (zh) | 一种基于可变长深度哈希学习的图像检索方法 | |
CN109063113B (zh) | 一种基于不对称深度离散哈希的快速图像检索方法、检索模型及模型构建方法 | |
CN109960738B (zh) | 基于深度对抗哈希学习的大规模遥感影像内容检索方法 | |
CN110069644B (zh) | 一种基于深度学习的压缩域大规模图像检索方法 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN113312505B (zh) | 一种基于离散在线哈希学习的跨模态检索方法及系统 | |
CN110188827B (zh) | 一种基于卷积神经网络和递归自动编码器模型的场景识别方法 | |
CN112732864B (zh) | 一种基于稠密伪查询向量表示的文档检索方法 | |
CN109871749B (zh) | 一种基于深度哈希的行人重识别方法和装置、计算机系统 | |
CN112925940A (zh) | 一种相似图像检索方法、装置、计算机设备及存储介质 | |
CN110070914B (zh) | 一种基因序列识别方法、系统和计算机可读存储介质 | |
CN109933682B (zh) | 一种基于语义与内容信息结合的图像哈希检索方法及系统 | |
EP4390725A1 (en) | Video retrieval method and apparatus, device, and storage medium | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
CN109871379A (zh) | 一种基于数据块学习的在线哈希最近邻查询方法 | |
CN108805280B (zh) | 一种图像检索的方法和装置 | |
CN110083734B (zh) | 基于自编码网络和鲁棒核哈希的半监督图像检索方法 |
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 |