CN109165306B - 基于多任务哈希学习的图像检索方法 - Google Patents
基于多任务哈希学习的图像检索方法 Download PDFInfo
- Publication number
- CN109165306B CN109165306B CN201810902426.4A CN201810902426A CN109165306B CN 109165306 B CN109165306 B CN 109165306B CN 201810902426 A CN201810902426 A CN 201810902426A CN 109165306 B CN109165306 B CN 109165306B
- Authority
- CN
- China
- Prior art keywords
- layer
- loss function
- hash
- image
- classification
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明公开了一种基于多任务哈希学习的图像检索方法。首先确定深度卷积神经网络模型;其次利用多任务学习机制设计损失函数;然后确定卷积神经网络模型训练方法,结合损失函数,并利用反向传播方法对模型进行优化;最后输入图像至卷积神经网络模型,并将模型的输出转换生成哈希编码,进行图像检索。所述卷积神经网络模型由卷积子网络和全连接层组成;所述卷积子网络由第一卷积层、最大池化层、第二卷积层、平均池化层、第三卷基层及空间金字塔池化层依次组成;所述全连接层由隐含层、哈希层及分类层组成。所述模型训练方法有联合式和分离式两种训练方法。本发明的方法可对单标签和多标签图像进行有效检索,检索性能比其他深度哈希方法更佳。
Description
技术领域
本发明属于图像检索技术领域,涉及一种基于多任务哈希学习的图像检索方法。
背景技术
考虑到互联网中越发膨胀的数字图像资源,采用线性搜索的方式在如此庞大的图像库中进行信息检索将会造成巨大的计算开销和存储开销,因此在CBIR技术的应用过程中,“维数灾难”问题时有发生。为了能够解决这一问题,近些年来,近似最近邻搜索逐渐成为了研究者们重点关注的一部分,哈希方法就是其中的典型代表。哈希方法的目标通常是让初始的图像数据经由哈希函数计算得出一串固定长度的二值编码,实现对于图像表征的降维,有利于减少存储开销。而在相似性计算阶段,利用汉明距离计算哈希编码之间的相似性还可以提高检索效率。哈希的高效使得它被广泛地研究并且应用到了实际中。
起初,数据无关型哈希方法是学者们研究的重点,这种方法一般来说都是人为对哈希函数进行设计,特点是与训练数据完全无关。局部敏感哈希方法LSH就是数据无关型哈希方法的典型代表。LSH方法是通过随机投影一些超平面来划分原始的特征空间,然后构造保持相似性的哈希编码。不过尽管有严谨的理论进行支撑,但是该方法在实际应用中一般都要求哈希编码的位数足够长才能够实现不错的检索效果,而这又将会导致存储开销的增长。
后来,针对数据无关型哈希方法的局限性,研究者们提出了数据依赖型哈希方法,即哈希学习方法。哈希学习方法的特点是与训练数据息息相关,这种方法的哈希函数都是从训练数据中学习得来的,所以不像数据无关方法一样具有普适性。但是数据依赖型方法的优点就在于对哈希编码的长度要求不高也能实现非常好的效果。数据依赖型方法还可以按照训练样本数据的类别再次划分成三类:
无监督哈希方法:此类方法利用无标签图像数据进行训练来构造哈希函数,相比其它两类更具有通用性,迭代量化ITQ、谱哈希SH等方法是其中的典型。迭代量化方法在对图像进行降维操作后,通过旋转矩阵尽量减少量化误差,这样构造出的哈希函数能够减小图像转化为二进制编码时造成的信息损失。谱哈希方法在学习哈希函数时将图像对之间的加权hamming距离最小化,根据图像对之间的相似性确定权重。
有监督哈希方法:此类方法则是充分结合了图像的语义标签、图像对的相似度等监督信息来训练哈希函数,因此有监督哈希方法的检索性能通常都会优于无监督方法,并且能够获得更加紧凑的二值编码。典型关联分析迭代量化是关于迭代量化方法的一种扩展,简称为CCA-ITQ,利用典型关联分析和标签信息对图像进行降维,再将量化误差最小化。最小化损失哈希方法MLH则是通过样本对之间的相似度信息来设计铰链损失函数。上述利用线性投影的方式学习哈希函数的方法无法适用于线性不可分的样本数据,因此,研究者们又提出了监督核哈希KSH和二进制重构嵌入BRE这类基于核(kernel) 的方法。
半监督哈希方法:针对上述两类方法的优、劣情况进行分析后,学者们还提出了一种半监督哈希SSH,SSH将监督信息的经验误差最小化,同时将二进制编码的方差最大化。而半监督标签哈希SSTH则是通过有监督学习的形式来构建标签与二进制编码之间的联系,同时通过无监督学习的形式实现相似性保留。
近期,研究者们在图像识别、物体检测以及图像分割等机器视觉领域中利用卷积神经网络CNN的强大学习能力取得了突破性的成果。在这些计算机视觉任务中,CNN能够针对某些指定的要求从数据中自主学习特征,就算图像在视觉效果上有较大差距,CNN 也还是可以从数据中学习到图像内在的语义信息。深度学习掀起的这股研究热潮让人们开始不断地对开拓其新的应用场景进行思考和探索,深度哈希方法就是研究者们提出的一种新的尝试。传统的哈希方法一般首先提取人为设计的特征然后进行哈希编码,而深度哈希方法利用的是由CNN抽取的卷积特征,能够有效避免语义鸿沟,改善检索性能。起初是由Hinton等人首先将深度学习与哈希方法联系到一起,提出了语义哈希方法。然而,该方法其实不属于严格意义上的深度哈希方法,因为模型的输入依然采用了人工设计的特征,而非深度特征。CNNH方法则是于2014年由潘炎等人提出的一种深度哈希方法,该方法主要包含了两个阶段:第一个阶段首先利用训练集构造相似矩阵,然后将矩阵分解得到图像对应的二进制编码;第二个阶段则是利用之前获取的二值编码来训练 CNN学习哈希函数。不久,该团队又提出了NINH方法,基于NIN网络和度量学习思想来学习哈希函数,文中还提出了一种divide-and-encode方法,将全连接层进行拆分,再分别编码,能有效地减少二值码的冗余信息。李武军等人发表的论文中则介绍了一种利用图像标签对设计损失函数的DPSH方法,并引入了量化损失来改善检索效果。刘昊淼等人也基于图像对间的相似度提出了DSH方法,并且为了加速模型收敛,采用了一种方案实时生成图像对。上述方法均可对图像进行有效检索,但均对样本监督信息利用不够充分,导致检索的精确度不高。
发明内容
本发明的目的在于提供一种基于多任务哈希学习的图像检索方法,解决了现有技术中的深度哈希检索图像方法,因对样本监督信息的利用不够充分,导致检索图像的精确度不高的问题,有效提升图像检索精确度。
本发明所采用的技术方案是,基于多任务哈希学习的图像检索方法,具体步骤如下:
步骤一、确定深度卷积神经网络模型;
步骤二、利用多任务学习机制,设计损失函数为:
L=αLs+βLc+λLe;(1)
其中,L表示损失函数;Ls表示分类损失函数,Lc表示对比损失函数,Le表示信息熵损失函数;而α是分类损失函数Ls的权重系数,β是对比损失函数Lc的权重系数,γ是信息熵损失函数Le的权重系数;
步骤三、确定卷积神经网络模型训练方法,结合设计的损失函数,并利用反向传播方法对模型进行优化训练;
步骤四、输入查询图像至训练后的卷积神经网络模型,并将训练后的卷积神经网络模型的输出,转换生成哈希编码,进行图像检索。
所述步骤一的卷积神经网络模型由卷积子网络和全连接层组成;
所述卷积子网络由第一卷积层、最大池化层、第二卷积层、平均池化层、第三卷基层及空间金字塔池化层依次组成;
所述第一卷积层和第二卷积层分别设有32个卷积核,卷积核大小为5×5,步长Stride=1;
所述最大池化层和平均池化层分别设有32个池化窗口,池化窗口大小为3×3,步长 Stride=2;
所述第三卷积层设有64个卷积核,卷积核大小为5×5,步长Stride=1;
所述空间金字塔池化层高度Pyramid height=3,池化方式为最大池化;
所述全连接层由隐含层、哈希层及分类层组成。
所述步骤二中分类损失函数Ls为Softmax损失函数;
所述步骤二中对比损失函数Lc为:
其中,bi,1和bi,2为输入的第i对图像Ii,1和Ii,2对应的卷积神经网络模型输出的近似哈希码;yi为相似度系数,用来表示第i对图像之间的相似度,若图像相似,yi=0,图像不相似,则yi=1;边距参数m>0;u是一个所有元素均等于1的列向量;表示 bi,1-bi,2的2-范数,|| |bi,1|-u||1表示|bi,1|-u的1-范数,|| |bi,2|-u||1表示|bi,2|-u的1-范数;η是量化系数,用来控制公式中(|| |bi,1|-u||1+|| |bi,2|-u||1)所代表的量化误差,使卷积神经网络模型输出的近似哈希码能尽量逼近-1和1;是通过衡量相似图像对的近似哈希码之间所存在的距离而计算损失;则是表示在图像之间不相似的情况下,判断图像对应的近似哈希码之间的距离是否超过了边界参数m,如果距离不够达到m的值,那么就会产生损失;
所述步骤二中信息熵损失函数Le为:
所述步骤三中确定的卷积神经网络模型训练方法有联合式训练方法和分离式训练方法两种;
所述联合式训练方法,具体实现过程如下:
步骤1、将训练样本输入卷积神经网络模型,并将训练样本中两两相邻的图像作为图像对;
步骤2、卷积子网络前向传播计算图像对的特征,并将图像对的特征向量依次输入隐含层和哈希层;
步骤3、哈希层输出图像对的近似哈希码向量;
步骤4、将图像对的近似哈希码向量输入到分类层;再利用分类层的输出,通过Softmax损失函数计算分类损失;同时将图像对的近似哈希码向量,输入到对比损失函数和信息熵损失函数,计算对比损失和信息熵损失;
所述分离式训练方法,是将对比损失函数和分类损失函数分开进行训练,具体实现过程如下:
对比损失函数训练:卷积子网络提取输入的图像对的特征,输出图像对的特征向量,依次将图像对的特征向量输入隐含层和哈希层;哈希层输出图像对的近似哈希码向量,并将其分别输入对比损失函数和信息熵损失函数;
分类损失函数训练:卷积子网络提取输入图像对的特征,输出图像对的特征向量,依次将图像对的特征向量输入隐含层和哈希层;哈希层的输出为图像的近似哈希码向量,将图像的近似哈希码向量分别送入分类层和信息熵损失函数,分类层的输出则进入分类损失函数。
所述联合式训练方法,其哈希层的节点数等于哈希编码的长度,其分类层的节点数等于图像类别个数;
所述分离式训练方法,其对比损失部分和分类损失部分中哈希层的节点数都等于哈希编码长度的一半,其分类层的节点数等于图像类别个数。
所述联合式模型训练方法中,分类损失函数的权重系数α=1,对比损失函数的权重系数β=1,信息熵损失函数γ=1;
所述分离式模型训练方法中,分类损失函数训练部分,分类损失函数的权重系数α=1,对比损失函数的权重系数β=0,信息熵损失函数γ=1;对比损失函数训练部分,分类损失函数的权重系数α=0,对比损失函数的权重系数β=1,信息熵损失函数γ=1。
所述步骤四将训练后的卷积神经网络模型的输出,转换生成哈希编码,具体实现过程如下:
将训练后的卷积神经网络模型输出的近似哈希码向量输入符号函数,用符号函数计算哈希编码:
其中,hp(x)表示哈希编码的第p个元素;sign()是符号函数;近似哈希码向量b(x)为符号函数的输入,bp(x)表示近似哈希码向量的第p个元素。
本发明的有益效果是,基于多任务哈希学习的图像检索方法,建立卷积神经网络模型,引入多任务学习机制,针对图像对之间的相似度来设计损失函数,结合图像的类别信息,通过不同的方式结合图像的分类信息和相似度信息提出了两种不同的模型训练方法,并利用反向传播方法,对卷积神经网络模型进行训练,进而通过符号函数生成哈希编码,进行图像检索。且在模型训练阶段,利用信息熵损失函数,通过保持哈希编码的均匀分布以减少信息冗余。本发明基于深度卷积神经网络的哈希方法优于传统的基于人工抽取特征的哈希方法,并且不论采用的是联合式训练方法还是分离式训练方法,在利用各个长度哈希编码的情况下,使用相同的卷积子网络,其检索精确度相比其他深度哈希方法都更佳。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是卷积子网络结构示意图;
图2是联合式训练示意图;
图3是分离式训练示意图;
图4是联合式训练的测试网络;
图5是分离式训练的测试网络;
图6是在CIFAR-10上48位二进制码时的PR曲线;
图7是在NUS-WIDE上48位二进制码时的PR曲线。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
确定卷积神经网络模型:
为了快速且有效地评估哈希方法,本发明采用了如图1所示的卷积子网络结构设置,图中的Conv表示卷积层,MaxPooling是最大池化层,AvePooling是平均池化层,最后一个池化层是空间金字塔池化层(SPP),以进一步获取更准确的特征表示,本发明的卷卷积子网络具体结构如表1所示,其中Filter表示卷积核或池化窗口的大小和个数,Stride 表示步长,Pyramid height和Pool是空间金字塔池化层的参数,分别表示金字塔的高度和池化的方式。
表1卷积子网络具体结构
层 | 设置 |
Conv1 | Filter 5×5×32,Stride 1 |
Max Pool | Filter 3×3×32,Stride 2 |
Conv2 | Filter 5×5×32,Stride 1 |
Ave Pool | Filter 3×3×32,Stride 2 |
Conv3 | Filter 5×5×64,Stride 1 |
SPP | Pyramid height:3,Pool:max |
卷积神经网络模型由卷积子网络与全连接层组成;
全连接层由隐含层fc1、哈希层fc2及分类层fc3组成。
利用多任务学习机制,设计损失函数:
这里引入了多任务学习机制来进行损失函数的设计,争取进一步保留二值码之间的语义相似度。本发明的整体损失函数L可以表示为:
L=αLs+βLc+λLe;(1)
式(1)中,Ls表示分类损失函数,Lc表示对比损失函数,Le表示信息熵损失函数;而α是分类损失函数Ls的权重系数,β是对比损失函数Lc的权重系数,γ是信息熵损失函数Le的权重系数。
假设第i对图像Ii,1和Ii,2对应的卷积神经网络输出近似哈希码为bi,1和bi,2,而这对图像之间的相似度用相似度系数yi来表示:若图像相似,yi等于0;图像不相似,则yi等于1。那么,依据图像检索中要尽可能地减小相似图像间的距离并加大不相似图像间的距离这个思路,则可以构造对比损失函数Lc:
其中,边距参数m>0;η是量化系数,用来控制公式中(|| |bi,1|-u||1+|| |bi,2|-u||1)所代表的量化误差,使卷积神经网络模型输出输出的近似哈希码能尽量逼近-1和1;u是一个所有元素均等于1的列向量;表示bi,1-bi,2的2-范数,|| |bi,1|-u||1和 || |bi,2|-u||1分别表示|bi,1|-u和|bi,2|-u的1-范数。为了便于优化,近似哈希码之间的汉明距离采用欧氏距离替代;公式(2)中是通过衡量相似图像对的近似哈希码之间所存在的距离而计算出损失;则是表示在图像之间不相似的情况下,判断图像对应的近似哈希码之间的距离是否超过了边界参数m,如果距离不够达到m的值,那么就会产生损失。
从信息论可知,任意一条信息中都会包含一些多余、无用的内容,即冗余。信息熵的概念则是将冗余从信息中剔除之后计算得到的平均信息量。如果要求出这种平均信息量的最大值,应该令信息维持在均匀分布的状态。依据这个原则,提出了信息熵损失函数用来限制CNN的编码过程:
公式(3)中,B表示所有训练样本对应的维度为q的近似哈希码向量所构成的矩阵;总输入训练样本数目为M,指Bu的F-范数。该函数在模型训练阶段会尽可能地将 CNN输出的近似哈希码维持在均匀分布状态,这有助于信息量的增加。理想状态下,假设用完成参数学习的CNN模型输出所有训练样本的二值编码构成q行M列的矩阵B,那么在矩阵的某一行,值等于1的元素与值等于-1的元素数量相等。
在实际的实验过程中,由于内存容量的限制,想要每一次都将所有的训练样本的信息熵损失计算出来是不可能的。所以,通常训练样本是分批次输入卷积神经网络来进行训练,在每一个批次中计算这个批次所有训练样本的信息熵损失。
由于对比损失函数主要是利用了图像对之间的相似度信息来作为模型训练的依据,而为了能够充分地利用图像的标签信息,本发明方法还联合了Softmax分类损失一同训练CNN,争取让CNN输出的二值码可以包含更多语义信息。
确定卷积神经网络模型训练方法,结合设计的损失函数,并利用反向传播方法对模型进行优化训练:
本发明提出了两种不同的训练方法:联合式训练和分离式训练,这两种训练方法以不同的方式结合图像分类损失和对比损失。
在介绍训练方法之前,首先对本发明实验中对比损失函数的实现进行一些说明。由于对比损失函数是以图像对之间的相似性来作为监督信息,所以一般来说会要求网络以图像对的形式作为输入。这种情况下,往往会采用Siamese网络来进行训练。然而,本发明在涉及了多个损失函数的情况下,采用这种Siamese形式的网络来进行训练显得有些繁琐,再者将训练样本构造成图像对的形式也需要一定的工作量。所以,将训练过程中每一个批次里两两相邻的图像作为图像对,并通过判断它们的标签是否一致来作为相似度信息。由于每一个批次都是打乱顺序随机从训练样本集合中抽取的一些图像,因此这些图像对的组合也具有随机性。通过这种方式,单个CNN网络就可以如同共享权值的 Siamese网络一样应用于对比损失函数的训练。
如图2所示为采用联合式训练方法时的网络模型结构。首先将训练样本以图像对的形式(Ii,1,Ii,2)输入该模型,然后由卷积神经网络前向传播计算图像对的特征,再将图像对的特征向量输入隐含层fc1(节点数为500),接着送入哈希层fc2(节点数等于哈希编码的长度),通过哈希层输出中间特征向量,并分为两路:
第一路是将图像对的近似哈希码向量(bi,1,bi,2),输入到对比损失函数和信息熵损失函数;
第二路则是将图像对的近似哈希码向量(bi,1,bi,2)先输入到分类层fc3(节点数等于图像类别个数),再进入Softmax损失函数层计算分类损失。
如图3所示为采用分离式训练方法时的网络模型结构。分离式训练与联合式训练不同,因为考虑到不同的损失函数之间在训练阶段可能会出现互相干扰的情况,所以将对比损失函数和分类损失函数分开进行训练:
图3中,(a)是对比损失函数部分,在卷积神经网络提取图像对(Ii,1,Ii,2)的特征之后,将特征向量输入隐含层fc1和哈希层fc2,然后将输出的图像对的近似哈希码向量(bi,1,bi,2) 送入对比损失函数和信息熵损失函数;
图3(b)是分类损失部分,输入图像经过卷积子网络提取特征后,再依次送入隐含层fc1和哈希层fc2,哈希层fc2的输出为图像的近似哈希码bj,将bj分别送入分类层fc3 和信息熵损失函数,分类层fc3的输出则进入分类损失函数。
其中,分类层fc3的节点数依然等于图像的类别个数。与联合式训练方法不同的是,分离式训练中的对比损失部分和分类损失部分中哈希层的节点数都等于哈希编码长度的一半。
输入图像至训练后的卷积神经网络模型,并将训练后的卷积神经网络模型的输出,转换生成哈希编码,进行图像检索:
如图4所示为用于测试联合式训练方法的网络结构。模型经过训练之后,给定一幅查询图像x输入该测试网络,会依次通过卷积子网络、隐含层fc1以及哈希层fc2,由哈希层fc2输出近似哈希码向量b(x),然后用符号函数计算最终的二值编码:
其中,近似哈希码向量b(x)用来作为符号函数的输入,bp(x)表示近似哈希码向量的第p个元素;hp(x)表示哈希编码的第p个元素;sign()是符号函数。
如图5所示为用于测试分离式训练方法的网络。对比损失部分和分类损失部分的网络模型分别经过训练之后,在测试网络中进行整合,图5中上方为对比损失部分,下方为分类损失部分。假如给定一幅查询图像,将其输入该测试网络,那么这幅图像会经由图5中上、下两个部分的网络结构进行特征提取,然后上、下两个部分的哈希层分别输出一串维度等于q/2的近似哈希码向量,最后将这两串q/2维度的向量拼接为一串q维向量,并通过公式(4)计算最终的二进制编码。
联合式模型训练中,α=1,β=1,γ=1,使三种损失函数对模型训练产生同等力度的约束;分离式模型训练中,分类损失函数训练部分,α=1,β=0,γ=1,对比损失函数训练部分,α=0,β=1,γ=1,强化信息熵损失函数Le。
为了验证本发明方法的有效性,实验在CIFAR-10和NUS-WIDE这两个常用于评估哈希方法的数据集上进行。
(1)CIFAR-10
CIFAR-10是一个用于普适物体识别的单标签图像数据集,其中的图像数据包含了大量的特征以及噪声,相比人脸、手写数字等单一物体的数据集,这种由普适物体构成的数据集相当有挑战性。CIFAR-10数据集里面共有60000幅尺寸是32×32的RGB彩色图像,其中有十种类别,代表十种不同的物体(如猫、狗等),每个类别有6000张图片。
在实验中,本发明方法及其它用于评估的深度哈希方法直接将图像作为网络的输入,而另外的传统哈希方法则利用GIST特征(维度d=512)表示图像。
(2)NUS-WIDE
NUS-WIDE中有269648张从Flickr图片分享网站收集的图像,属于多标签数据集,每一张图像都与81个语义标签中的一个或者多个相关联。由于该数据集中的图像都是从网络中收集得来的,种类丰富并且具有多个标签,因此其中复杂的图像信息导致该数据集的检索难度相当大。本发明只考虑与最常用的21个语义标签相关联的图像,每一个标签至少对应5000幅图像,最终这个子集一共有195834幅图像。
在实验中,对于深度哈希方法,将NUS-WIDE的图像直接作为输入,而传统哈希方法则是采用官方提供的归一化颜色矩特征(d=225)表示图像。
本发明的数据集划分方式,是在CIFAR-10上直接采用了官方提供的训练集(50000幅)和测试集(10000幅)进行实验;而在NUS-WIDE上则是随机选择了10000幅图像作为测试集,其余的图像作为训练集。
本发明进行实验所使用的操作系统为Ubuntu 14.04,GPU的型号为GeForce GTXTITAN X,显存是12G。此外,实现深度哈希方法采用的开源深度学习框架是Caffe,训练参数α,β和λ均取值为1(即在配置文件中将三个损失函数的loss_weight都设置为1)。
本发明方法与一些主流的哈希方法进行了性能比较:LSH、ITQ、KSH、CNNH、DSH、DLBHC。其中,为了快速且公平地评估本发明方法,在实验中所有基于卷积神经网络的方法(CNNH、DSH、DLBHC以及本发明方法)均采用了如图1所示的网络结构来作为卷积子网络以进行实验评估。此外,因为基于本发明所提出方法的实验采用了两种不同的训练方法,因此在实验部分利用了Ours-Union和Ours-Separate两个标识来分别表示联合式训练和分离式训练的实验结果。
为了对比本发明方法与其它基于哈希学习的方法的检索性能,本发明采用了平均检索精度mAP和查准率-查全率曲线来作为评估标准。
表2在CIFAR-10上不同长度哈希码的汉明排序mAP
方法 | 12位 | 24位 | 36位 | 48位 |
LSH | 0.127 | 0.137 | 0.141 | 0.149 |
ITQ | 0.108 | 0.109 | 0.112 | 0.118 |
KSH | 0.295 | 0.372 | 0.402 | 0.417 |
CNNH | 0.543 | 0.560 | 0.564 | 0.557 |
DLBHC | 0.550 | 0.580 | 0.578 | 0.589 |
DSH | 0.616 | 0.651 | 0.661 | 0.676 |
Ours-Union | 0.675 | 0.681 | 0.692 | 0.690 |
Ours-Separate | 0.663 | 0.713 | 0.719 | 0.726 |
表2所示即为CIFAR-10上本发明方法与其它主流基于哈希学习的方法设置不同长度编码并利用汉明距离排序计算得出的平均检索精度mAP。从中可以看出,总体来说,基于深度卷积神经网络的哈希方法(CNNH、DLBHC、DSH以及本发明方法)的表现优于传统的基于人工抽取特征的哈希方法(LSH、ITQ、KSH),并且本发明所提出的方法不论采用的是联合式训练方法还是分离式训练方法,在利用各个长度哈希编码的情况下,使用相同的卷积子网络,其检索精确度相比其他深度哈希方法都更佳。
如图6所示为在数据集CIFAR-10上以48位长度进行编码的情况下本发明方法与其它方法的查准率-查全率曲线。显而易见,本发明方法在该评估标准下依然具有其优越性。
在表2中,联合式训练方法的实验数据除了在用12位长度编码时平均检索精度mAP略高于分离式训练方法,在其它三种编码长度的情况下很明显没有分离式训练方法的效果好。而在图6中,两种训练方法的PR曲线有小部分重叠的情况,大部分情况也是分离式训练方法比联合式训练方法的PR曲线更优,即检索精度更高。
表3是在数据集NUS-WIDE上不同长度哈希编码的实验对比结果,从中可以看出,两种训练方法下的本发明方法在多标签数据集NUS-WIDE上的表现也很不错。而明显地可以从NUS-WIDE数据集上的实验数据观察到分离式训练方法下的本发明方法的检索精确度要优于联合式训练方法。如图7所示则是在数据集NUS-WIDE上哈希编码长度等于 48位的情况下各个哈希方法的PR曲线图。同样地,本发明方法的PR曲线要明显优于其他方法,可得本发明的图像检索方法检索精确度更高。
表3在NUS-WIDE上不同长度哈希码的汉明排序mAP
方法 | 12位 | 24位 | 36位 | 48位 |
LSH | 0.333 | 0.339 | 0.345 | 0.347 |
ITQ | 0.343 | 0.346 | 0.352 | 0.358 |
KSH | 0.433 | 0.459 | 0.466 | 0.469 |
CNNH | 0.432 | 0.436 | 0.445 | 0.433 |
DLBHC | 0.466 | 0.473 | 0.492 | 0.491 |
DSH | 0.548 | 0.551 | 0.558 | 0.562 |
Ours-Union | 0.573 | 0.572 | 0.589 | 0.600 |
Ours-Separate | 0.577 | 0.600 | 0.607 | 0.615 |
在CIFAR-10和NUS-WIDE这两个数据集上将本发明方法与一系列主流哈希方法进行了对比。从整体来看,深度哈希方法基本都比传统的哈希方法效果更好。不过CNNH 尽管也是深度哈希方法,但是相对来说效果欠佳,因为CNNH不属于端到端的学习,它的哈希编码阶段与特征学习阶段不能互相作用,因此无法充分发挥出深度神经网络的优势。而DSH方法和DLBHC方法对于图像标注的使用仍不够全面,同时忽视了二值码可能存在的信息冗余情况,故而这两种方法的性能不如本发明方法。
本发明方法采用了两种不同的方法进行模型的训练,最终得到的实验结果相比其它哈希方法都更好,但是在两个数据集上的实验数据也表明分离式训练比联合式训练的效果更佳。而之所以会出现这种情况是因为在分离式训练方法中是将图像分类信息和图像间的相似度信息各自用来训练一半长度的哈希编码,两种信息互不干扰,但是在最终的二进制编码中又融合了这两部分的信息。与之相对的是联合式训练方法虽然也融合了两个方面的信息,但是在训练过程中容易互相干扰,进而影响其检索性能。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (1)
1.基于多任务哈希学习的图像检索方法,其特征在于,具体步骤如下:
步骤一、确定卷积神经网络模型;
步骤二、利用多任务学习机制,设计损失函数为:
L=αLs+βLc+λLe; (1)
其中,L表示损失函数;Ls表示分类损失函数,Lc表示对比损失函数,Le表示信息熵损失函数;而α是分类损失函数Ls的权重系数,β是对比损失函数Lc的权重系数,γ是信息熵损失函数Le的权重系数;
步骤三、确定卷积神经网络模型训练方法,结合设计的损失函数,并利用反向传播方法对卷积神经网络模型进行优化训练;
步骤四、输入查询图像至训练后的卷积神经网络模型,并将训练后的卷积神经网络模型的输出转换生成哈希编码,进行图像检索;
所述步骤一的卷积神经网络模型由卷积子网络和全连接层组成;
所述卷积子网络由第一卷积层、最大池化层、第二卷积层、平均池化层、第三卷积层及空间金字塔池化层依次组成;
所述第一卷积层和第二卷积层分别设有32个卷积核,卷积核大小为5×5,步长Stride=1;
所述最大池化层和平均池化层分别设有32个池化窗口,池化窗口大小为3×3,步长Stride=2;
所述第三卷积层设有64个卷积核,卷积核大小为5×5,步长Stride=1;
所述空间金字塔池化层高度Pyramid height=3,池化方式为最大池化;
所述全连接层由隐含层、哈希层及分类层依次组成;
所述步骤二中分类损失函数Ls为Softmax损失函数;
所述步骤二中对比损失函数Lc为:
其中,bi,1和bi,2为输入的第i对图像Ii,1和Ii,2对应的卷积神经网络模型输出的近似哈希码;yi为相似度系数,用来表示第i对图像之间的相似度,若图像相似,yi=0,图像不相似,则yi=1;边距参数m>0;u是一个所有元素均等于1的列向量;表示bi,1-bi,2的2-范数,|| |bi,1|-u||1表示|bi,1|-u的1-范数,|| |bi,2|-u||1表示|bi,2|-u的1-范数;η是量化系数,用来控制公式中(|| |bi,1|-u||1+|| |bi,2|-u||1)所代表的量化误差,使卷积神经网络模型输出的近似哈希码能尽量逼近-1和1;是通过衡量相似图像对的近似哈希码之间所存在的距离而计算损失;则是表示在图像之间不相似的情况下,判断图像对应的近似哈希码之间的距离是否超过了边界参数m,如果距离不够达到m的值,那么就会产生损失;
所述步骤二中信息熵损失函数Le为:
所述步骤三中,卷积神经网络模型训练方法采用联合式训练方法或分离式训练方法;
所述联合式训练方法,具体实现过程如下:
步骤1、将训练样本输入卷积神经网络模型,并将训练样本中两两相邻的图像作为图像对;
步骤2、卷积子网络前向传播计算图像对的特征,并将图像对的特征向量依次输入隐含层和哈希层;
步骤3、哈希层输出图像对的近似哈希码向量;
步骤4、将图像对的近似哈希码向量输入到分类层;再利用分类层的输出,通过Softmax损失函数计算分类损失;同时将图像对的近似哈希码向量,输入到对比损失函数和信息熵损失函数,计算对比损失和信息熵损失;
所述分离式训练方法,是将对比损失函数和分类损失函数分开进行训练,具体实现过程如下:
对比损失函数训练:卷积子网络提取图像对的特征,输出图像对的特征向量,依次将图像对的特征向量输入隐含层和哈希层;哈希层输出图像对的近似哈希码向量,并将其分别输入对比损失函数和信息熵损失函数;
分类损失函数训练:输入图像经过卷积子网络提取特征,输出特征向量并将其依次送入隐含层和哈希层;哈希层的输出为图像的近似哈希码向量,将图像的近似哈希码向量分别送入分类层和信息熵损失函数,分类层的输出则进入分类损失函数;
所述联合式训练方法,其哈希层的节点数等于哈希编码的长度,其分类层的节点数等于图像类别个数;
所述分离式训练方法,其对比损失部分和分类损失部分中哈希层的节点数都等于哈希编码长度的一半,其分类层的节点数等于图像类别个数;
所述联合式训练方法中,分类损失函数的权重系数α=1,对比损失函数的权重系数β=1,信息熵损失函数γ=1;
所述分离式训练方法中,分类损失函数训练部分,分类损失函数的权重系数α=1,对比损失函数的权重系数β=0,信息熵损失函数γ=1;对比损失函数训练部分,分类损失函数的权重系数α=0,对比损失函数的权重系数β=1,信息熵损失函数γ=1;
所述步骤四将训练后的卷积神经网络模型的输出,转换生成哈希编码,具体实现过程如下:
将训练后的卷积神经网络模型输出的近似哈希码向量输入符号函数,用符号函数计算哈希编码:
其中,hp(x)表示哈希编码的第p个元素;sign()是符号函数;近似哈希码向量b(x)为符号函数的输入,bp(x)表示近似哈希码向量的第p个元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810902426.4A CN109165306B (zh) | 2018-08-09 | 2018-08-09 | 基于多任务哈希学习的图像检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810902426.4A CN109165306B (zh) | 2018-08-09 | 2018-08-09 | 基于多任务哈希学习的图像检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165306A CN109165306A (zh) | 2019-01-08 |
CN109165306B true CN109165306B (zh) | 2021-11-23 |
Family
ID=64895303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810902426.4A Active CN109165306B (zh) | 2018-08-09 | 2018-08-09 | 基于多任务哈希学习的图像检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165306B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918528A (zh) * | 2019-01-14 | 2019-06-21 | 北京工商大学 | 一种基于语义保护的紧凑的哈希码学习方法 |
CN109783682B (zh) * | 2019-01-19 | 2021-01-15 | 北京工业大学 | 一种基于点对相似度的深度非松弛哈希图像检索方法 |
CN109840290B (zh) * | 2019-01-23 | 2020-09-22 | 北京航空航天大学 | 一种基于端到端深度哈希的皮肤镜图像检索方法 |
CN109948029B (zh) * | 2019-01-25 | 2022-10-14 | 南京邮电大学 | 基于神经网络自适应的深度哈希图像搜索方法 |
CN109885716B (zh) * | 2019-02-18 | 2022-10-14 | 成都快眼科技有限公司 | 基于异质多任务学习深度监督离散哈希的图像检索方法 |
CN109829065B (zh) * | 2019-03-08 | 2023-08-18 | 苏州大学 | 图像检索方法、装置、设备及计算机可读存储介质 |
CN110060121A (zh) * | 2019-03-14 | 2019-07-26 | 五邑大学 | 基于特征排序的商品推荐方法、装置和存储介质 |
CN109977250B (zh) * | 2019-03-20 | 2023-03-28 | 重庆大学 | 融合语义信息和多级相似性的深度哈希图像检索方法 |
CN109947963A (zh) * | 2019-03-27 | 2019-06-28 | 山东大学 | 一种基于深度学习的多尺度哈希检索方法 |
CN110059206A (zh) * | 2019-03-29 | 2019-07-26 | 银江股份有限公司 | 一种基于深度表征学习的大规模哈希图像检索方法 |
CN110060758A (zh) * | 2019-04-11 | 2019-07-26 | 刘刚 | 一种面神经微创切除术在梅杰综合征中的应用系统 |
CN110046579B (zh) * | 2019-04-18 | 2023-04-07 | 重庆大学 | 一种深度哈希的行人再识别方法 |
CN110188219B (zh) * | 2019-05-16 | 2023-01-06 | 复旦大学 | 面向图像检索的深度强化去冗余哈希方法 |
CN110276403B (zh) * | 2019-06-25 | 2022-02-18 | 北京百度网讯科技有限公司 | 模型建立方法和装置 |
CN110347853B (zh) * | 2019-07-09 | 2022-12-27 | 成都澳海川科技有限公司 | 一种基于循环神经网络的图像哈希码生成方法 |
CN110688501B (zh) * | 2019-08-28 | 2022-04-05 | 宁波大学 | 一种基于深度学习的全卷积网络的哈希检索方法 |
CN110704664B (zh) * | 2019-08-28 | 2022-04-05 | 宁波大学 | 一种哈希检索方法 |
CN110516091A (zh) * | 2019-08-30 | 2019-11-29 | 黑龙江中医药大学 | 一种图像数据检索方法 |
CN110532417B (zh) * | 2019-09-02 | 2022-03-29 | 河北省科学院应用数学研究所 | 基于深度哈希的图像检索方法、装置及终端设备 |
CN111177432B (zh) * | 2019-12-23 | 2020-11-03 | 北京航空航天大学 | 一种基于分层深度哈希的大规模图像检索方法 |
CN111160448B (zh) * | 2019-12-26 | 2023-09-26 | 北京达佳互联信息技术有限公司 | 一种图像分类模型的训练方法及装置 |
CN111198959B (zh) * | 2019-12-30 | 2023-03-28 | 郑州轻工业大学 | 一种基于卷积神经网络的两阶段图像检索方法 |
CN111222003B (zh) * | 2020-01-09 | 2022-10-25 | 山东建筑大学 | 基于空间重要性的深度加权哈希学习方法 |
CN111490872B (zh) * | 2020-03-19 | 2022-09-16 | 清华大学深圳国际研究生院 | 一种基于公私钥对的深度学习模型水印的嵌入和提取方法 |
CN111597367B (zh) * | 2020-05-18 | 2023-11-24 | 河北工业大学 | 基于视图和哈希算法的三维模型检索方法 |
CN111930980B (zh) * | 2020-08-21 | 2023-07-07 | 深圳市升幂科技有限公司 | 图像检索模型的训练方法及图像检索方法、装置、及介质 |
CN112200216A (zh) * | 2020-09-03 | 2021-01-08 | 上海眼控科技股份有限公司 | 汉字识别方法、装置、计算机设备和存储介质 |
CN112070010B (zh) * | 2020-09-08 | 2024-03-22 | 长沙理工大学 | 一种联合多损失动态训练策略增强局部特征学习的行人重识别方法 |
CN112241939B (zh) * | 2020-10-15 | 2023-05-30 | 天津大学 | 一种基于多尺度和非局部的轻量去雨方法 |
CN112632314A (zh) * | 2020-12-25 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种图像检索方法、系统、设备以及介质 |
CN112818859B (zh) * | 2021-02-02 | 2022-06-24 | 电子科技大学 | 一种基于深度哈希的多级检索行人重识别方法 |
CN112883216B (zh) * | 2021-03-01 | 2022-09-16 | 中国科学院信息工程研究所 | 基于扰动一致性自集成的半监督图像检索方法及装置 |
CN113377981B (zh) * | 2021-06-29 | 2022-05-27 | 山东建筑大学 | 基于多任务深度哈希学习的大规模物流商品图像检索方法 |
CN116050508A (zh) * | 2021-10-28 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 神经网络训练方法以及装置 |
CN114170333B (zh) * | 2021-11-24 | 2023-02-03 | 西安理工大学 | 基于直推式半监督深度学习的图像哈希编码方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632137A (zh) * | 2013-11-15 | 2014-03-12 | 长沙理工大学 | 一种人眼虹膜图像分割方法 |
CN105512289A (zh) * | 2015-12-07 | 2016-04-20 | 郑州金惠计算机系统工程有限公司 | 基于深度学习和哈希的图像检索方法 |
CN106503106A (zh) * | 2016-10-17 | 2017-03-15 | 北京工业大学 | 一种基于深度学习的图像哈希索引构建方法 |
CN106682233A (zh) * | 2017-01-16 | 2017-05-17 | 华侨大学 | 一种基于深度学习与局部特征融合的哈希图像检索方法 |
CN107330396A (zh) * | 2017-06-28 | 2017-11-07 | 华中科技大学 | 一种基于多属性和多策略融合学习的行人再识别方法 |
CN108108657A (zh) * | 2017-11-16 | 2018-06-01 | 浙江工业大学 | 一种基于多任务深度学习的修正局部敏感哈希车辆检索方法 |
-
2018
- 2018-08-09 CN CN201810902426.4A patent/CN109165306B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632137A (zh) * | 2013-11-15 | 2014-03-12 | 长沙理工大学 | 一种人眼虹膜图像分割方法 |
CN105512289A (zh) * | 2015-12-07 | 2016-04-20 | 郑州金惠计算机系统工程有限公司 | 基于深度学习和哈希的图像检索方法 |
CN106503106A (zh) * | 2016-10-17 | 2017-03-15 | 北京工业大学 | 一种基于深度学习的图像哈希索引构建方法 |
CN106682233A (zh) * | 2017-01-16 | 2017-05-17 | 华侨大学 | 一种基于深度学习与局部特征融合的哈希图像检索方法 |
CN107330396A (zh) * | 2017-06-28 | 2017-11-07 | 华中科技大学 | 一种基于多属性和多策略融合学习的行人再识别方法 |
CN108108657A (zh) * | 2017-11-16 | 2018-06-01 | 浙江工业大学 | 一种基于多任务深度学习的修正局部敏感哈希车辆检索方法 |
Non-Patent Citations (2)
Title |
---|
基于深度卷积神经网络和二进制哈希学习的图像检索方法;彭天强等;《电子与信息学报》;20160831;第38卷(第8期);正文全文 * |
融合多尺度特征的深度哈希图像检索方法;周书仁等;《计算机科学与探索》;20180118;正文第4-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109165306A (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165306B (zh) | 基于多任务哈希学习的图像检索方法 | |
CN111581961B (zh) | 一种中文视觉词汇表构建的图像内容自动描述方法 | |
CN110555060B (zh) | 基于成对样本匹配的迁移学习方法 | |
Xiang et al. | Fabric image retrieval system using hierarchical search based on deep convolutional neural network | |
Gu et al. | Supervised recurrent hashing for large scale video retrieval | |
CN112199532B (zh) | 一种基于哈希编码和图注意力机制的零样本图像检索方法及装置 | |
CN109783666A (zh) | 一种基于迭代精细化的图像场景图谱生成方法 | |
CN110647907B (zh) | 利用多层分类和字典学习的多标签图像分类算法 | |
CN111985538A (zh) | 基于语义辅助注意力机制的小样本图片分类模型及方法 | |
Liu et al. | Document image classification: Progress over two decades | |
CN112651940B (zh) | 基于双编码器生成式对抗网络的协同视觉显著性检测方法 | |
Hoang et al. | Unsupervised deep cross-modality spectral hashing | |
CN110598022B (zh) | 一种基于鲁棒深度哈希网络的图像检索系统与方法 | |
CN111080551B (zh) | 基于深度卷积特征和语义近邻的多标签图像补全方法 | |
CN113051914A (zh) | 一种基于多特征动态画像的企业隐藏标签抽取方法及装置 | |
CN110188827A (zh) | 一种基于卷积神经网络和递归自动编码器模型的场景识别方法 | |
CN111368176B (zh) | 基于监督语义耦合一致的跨模态哈希检索方法及系统 | |
CN113656700A (zh) | 基于多相似度一致矩阵分解的哈希检索方法 | |
CN115457332A (zh) | 基于图卷积神经网络和类激活映射的图像多标签分类方法 | |
CN112883216B (zh) | 基于扰动一致性自集成的半监督图像检索方法及装置 | |
Ge et al. | Deep spatial attention hashing network for image retrieval | |
CN111259938B (zh) | 基于流形学习和梯度提升模型的图片偏多标签分类方法 | |
Suárez et al. | Revisiting binary local image description for resource limited devices | |
CN116956128A (zh) | 一种基于超图的多模态多标签分类方法及系统 | |
CN113807218B (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 |