当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于离散梯度反向传播的图像检索方法技术

技术编号:23343644 阅读:134 留言:0更新日期:2020-02-15 03:58
本发明专利技术提供一种基于离散梯度反向传播的图像检索方法,该方法解决了深度特征学习和二进制哈希编码端到端框架中存在的病态梯度问题。针对深度网络非凸优化中存在的病态梯度问题,利用离散梯度反向传播对非光滑激活的深度网络进行梯度估计,将其转化为一个可以反向传播训练的深度神经网络。通过在训练过程中引入离散变量的梯度估计量,使优化过程中准确学习二进制哈希码成为可能。

An image retrieval method based on discrete gradient back propagation

【技术实现步骤摘要】
一种基于离散梯度反向传播的图像检索方法
本专利技术涉及图像处理算法
,更具体地,涉及一种基于离散梯度反向传播的图像检索方法。
技术介绍
近年来,每天都有成千上万的图片上传到互联网上,这使得根据不同用户的要求寻找相关图片变得极其困难。例如,基于内容的图像检索是检索与给定查询图像相似的图像,其中“相似”可以指视觉上相似或语义上相似。假设数据库中的图像和查询图像都用实值特征表示,查找相关图像的最简单方法是根据数据库图像到查询的距离对它们进行排序。与传统的索引方法并行的一个优势解决方案是哈希方法,它将对象的高维特征映射到汉明空间中,生成一个低维的哈希码来表示一个对象,并为相似的数据项生成相似的哈希码。许多哈希方法已经被提出,通过对紧凑的哈希码进行汉明排序来实现高效的近似最近邻(ANN)搜索。深度学习哈希方法表明,利用深度神经网络可以更有效地对特征表示和哈希编码进行端到端的学习,这些深度学习哈希方法在许多基准测试中显示了最先进的性能。要使深度学习真正实现端到端哈希,有两个关键挑战。首先,将本质上连续的深度表示转换为精确的二进制哈希码,需要使用符号函数h=sgn(z)作为激活函数,然而,对于所有非零输入,符号函数的梯度为零,这使得标准的反向传播不可行的。这就是病态梯度问题,它是利用反向传播训练深度神经网络的关键难点。因此许多深度学习哈希方法的做法是,它们首先学习图像连续的深度表示,然后利用构造好的哈希函数将图像特征映射为哈希码。即把图像特征提取和哈希码的构造过程分为完全独立的两个过程,使得检索准确率低。r>
技术实现思路
本专利技术提供一种基于离散梯度反向传播的图像检索方法,该算法可解决深度特征学习和二进制哈希编码端到端框架中存在的病态梯度问题。为了达到上述技术效果,本专利技术的技术方案如下:一种基于离散梯度反向传播的图像检索方法,包括以下步骤:S1:将图像数据的语义相似度矩阵S;S2:构建卷积神经网络架构,卷积神经网络架构包含卷积子网络、全连接层、阈值化层、损失层,卷积子网络中的每个卷积层后都加一个最大池化层;S3:利用训练样本集对神经网络进行训练,在训练过程中,用梯度估计量估计神经网络中量化过程中不可求导的梯度值;S4:在测试过程中,从测试样本集选择一张查询图像xv,通过深度神经网络得到其对应的编码bv;使用公式dvi=<bv,bi>计算查询样本到训练集的第i个样本的汉明距离,先对计算得到的汉明距离按照从小到大的顺序进行排序,最后,将距离最小的前K个图像特征对应的图像作为检索结果返回。进一步地,所述步骤S1的具体过程是:将图像数据集中的部分图像作为训练样本集,剩下的图像作为测试样本集,根据训练样本集和测试样本集中图像的标签信息,构建出图像间的语义相似度矩阵S。进一步地,所述步骤S2的具体过程是:S21:卷积子网络的网络结构共有4个卷积层,分别表示为“Conv1-Conv3”;第一个卷积层Conv1用92个大小为5×5×3的卷积核对大小为32×32×3的输入图像以1像素为步长进行过滤;再经过线性修正单元的激活、最大池化得到输出特征;第二个卷积层Conv2以第一个卷积层Conv1的输出作为输入,Conv2用92个大小为5×5×92的卷积核对输入进行过滤;在经过线性修正单元、最大池化之后,得到输出特征;第三个卷积层Conv3使用了64个大小3×3×92的卷积核,再经过线性修正单元的激活、最大池化得到输出特征;S22:全连接层有三层,分别表示为“Fc4-Fc6”;全连接层Fc4的神经元个数为384,使用的线性修正单元函数作为激活函数;Fc4的神经元个数为192,并且用线性修正单元函数作为Fc4层的激活函数,Fc5的神经元个数为64,并且用sigmoid函数作为Fc5层的激活函数,得到64位实值特征;S23:第i个训练图像xi在经过步骤S21和步骤S22后可得到深度特征表示其中θ表示卷积子网络和全连接层的参数集合,再对特征ui进行量化;S24:构建相似性保持损失函数,即保证同一标签的图像的哈希码的距离小,不同标签的图像的哈希码的距离大,对于每一对二进制哈希码bi,bj,它们的汉明距离distH(·,·)与内积<·,·>之间存在良好的关系:(m为生成的哈希码的位数)给定N副训练图像的成对相似度标签S={sij},对于哈希码B=[b1,…,bn]的最大似然估计为:其中p(sij|bi,bj)是给定哈希码bi和bj的相似性标签sij的条件概率,定义为成对logistic函数:其中将(2)、(3)代入(1)中可得优化问题为:令则L为损失函数。进一步地,所述步骤S23中,对特征ui进行量化的具体过程是;具体过程为:令其中,I是关于ui和z~U[0,1]的指示函数,指示函数的定义为:即再通过一个线性函数bi=2hi-1,将xi的二进制码bi的取值范围转换成{-1,1},即对应的量化函数为进一步地,所述步骤S3的具体过程是:首先计算损失函数L对bi的导数如下:其中关于离散随机变量hi对ui的导数,考虑当z≠ui时,在ui附近存在一个邻域,使得hi的输出不变,即导数为0,因此不能通过反向传播进行训练,通过估计期望损失的导数来解决这个问题,而不是计算单个试验结果的导数,因为在任何给定的试验中,只能看到给定z时的损失值,不知道在另一种随机变量z下损失会是多少,因此只能估计这个导数,在这里采用ST估计量的做法,即用恒等函数的导数替代得到:通过反向传播算法更新神经网络中的参数θ。与现有技术相比,本专利技术技术方案的有益效果是:1、本专利技术利用哈希函数对图像特征进行降维编码,可以有效降低图像特征的维度,从而减少存储需求;利用深度网络同时学习图像的深度特征表示和哈希编码,考虑将连续值量化为二进制编码所引起的量化误差,将二进制编码过程加入深度网络的训练中,同时引入了梯度估计量使得离散变量的反向传播过程得以在训练过程中进行,在优化过程中准确地学习图像的二进制码,解决了深度特征学习和二进制哈希编码端到端框架中存在的离散优化梯度问题;2、本专利技术在学习哈希函数过程中分利用的图像特征的类别信息,因此编码能够较好地区分不同类别的图像特征,对图像特征的语义检索有益。同时将不同图像之间相似性度量的损失加入到深度神经网络的损失层,增强了哈希码的表达能力,进一步提高图像检索的准确率。附图说明图1为本专利技术流程示意图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本专利技术的技术方案做进一步的说明。如图1所示,为了对本专利技术的技术方案做进一步的详细说明,接下来以cifar-10数据集为例对于本文档来自技高网...

【技术保护点】
1.一种基于离散梯度反向传播的图像检索方法,其特征在于,包括以下步骤:/nS1:将图像数据的语义相似度矩阵S;/nS2:构建卷积神经网络架构,卷积神经网络架构包含卷积子网络、全连接层、阈值化层、损失层,卷积子网络中的每个卷积层后都加一个最大池化层;/nS3:利用训练样本集对神经网络进行训练,在训练过程中,用梯度估计量估计神经网络中量化过程中不可求导的梯度值;/nS4:在测试过程中,从测试样本集选择一张查询图像x

【技术特征摘要】
1.一种基于离散梯度反向传播的图像检索方法,其特征在于,包括以下步骤:
S1:将图像数据的语义相似度矩阵S;
S2:构建卷积神经网络架构,卷积神经网络架构包含卷积子网络、全连接层、阈值化层、损失层,卷积子网络中的每个卷积层后都加一个最大池化层;
S3:利用训练样本集对神经网络进行训练,在训练过程中,用梯度估计量估计神经网络中量化过程中不可求导的梯度值;
S4:在测试过程中,从测试样本集选择一张查询图像xv,通过深度神经网络得到其对应的编码bv;使用公式dvi=<bv,bi>计算查询样本到训练集的第i个样本的汉明距离,先对计算得到的汉明距离按照从小到大的顺序进行排序,最后,将距离最小的前K个图像特征对应的图像作为检索结果返回。


2.根据权利要求1所述的基于离散梯度反向传播的图像检索方法,其特征在于,所述步骤S1的具体过程是:
将图像数据集中的部分图像作为训练样本集,剩下的图像作为测试样本集,根据训练样本集和测试样本集中图像的标签信息,构建出图像间的语义相似度矩阵S。


3.根据权利要求2所述的基于离散梯度反向传播的图像检索方法,其特征在于,所述步骤S2的具体过程是:
S21:卷积子网络的网络结构共有4个卷积层,分别表示为“Conv1-Conv3”;第一个卷积层Conv1用92个大小为5×5×3的卷积核对大小为32×32×3的输入图像以1像素为步长进行过滤;再经过线性修正单元的激活、最大池化得到输出特征;第二个卷积层Conv2以第一个卷积层Conv1的输出作为输入,Conv2用92个大小为5×5×92的卷积核对输入进行过滤;在经过线性修正单元、最大池化之后,得到输出特征;第三个卷积层Conv3使用了64个大小3×3×92的卷积核,再经过线性修正单元的激活、最大池化得到输出特征;
S22:全连接层有三层,分别表示为“Fc4-Fc6”;全连接层Fc4的神经元个数为384,使用的线性修正单元函数作为激活函数;Fc4的神经元个数为192,并且用线性修正单元函数作为Fc4层的激活函数,Fc5的神经元个数...

【专利技术属性】
技术研发人员:苏勤亮黄晓娜
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1