一种基于深度哈希特征和异构并行处理的图像检索方法

文档序号:26484239发布日期:2021-08-31 17:40阅读:160来源:国知局
一种基于深度哈希特征和异构并行处理的图像检索方法

本发明属于计算机图像检索方法技术领域,涉及一种基于深度哈希特征和异构并行处理的图像检索方法。



背景技术:

随着存储设备、计算机网络以及多媒体技术的迅猛发展,人们所接触和制造的图像数据与日俱增。在海量数据库中快速、准确的找到用户想要的图像已经成为当下研究的热点,因此,图像检索技术也备受关注并迅速发展。此类应用目前也存在两个重要的挑战:(1)图像特征通常是高维数据,存储要求高且计算效率低;(2)大规模数据的检索方法对速度、时间等有很高的要求。

现有技术在进行图像检索时,主要采取两种方法。一种是基于图像整体特征描述进行检索,因为特征维度较高,导致存储、运算、检索等一切的速度影响;另一种是基于图像局部特征进行检索,虽然该方法可以准确描述图像局部特征,但是对图像整体的描述有所损失,导致检索精度不高。

因此,如何提供一种图像检索方法来提高检索精度和速度成为计算机视觉领域亟待解决的问题。



技术实现要素:

本发明的目的是提供一种基于深度哈希特征和异构并行处理的图像检索方法,解决了现有技术中存在的图像检索精度不高的问题。

本发明所采用的技术方案是,一种基于深度哈希特征和异构并行处理的图像检索方法,具体按照如下步骤实施:

步骤1,离线训练网络模型

采用googlenet网络模型作为初始化网络结构并将其最后一层分类层替换为哈希层,且哈希层的单元数即为图像要编码成的比特数,得到googlenet-1网络模型,将图像数据集cifar-10划分为训练集和测试集,训练集分10类,每类5000张,测试集分10类,每类1000张。

将训练集输入googlenet-1网络模型中,通过卷积层提取图像深度特征,同时进行哈希函数学习,最终深度特征经过哈希层映射得到对应的二进制哈希编码,再通过对损失函数进行迭代优化和更新,得到最优的网络参数和最终的深度哈希网络模型googlenet-hash;

步骤2,将测试集和查询图像送入训练好的googlenet-hash网络模型中得到测试集和查询图像的深度哈希特征,即二进制哈希编码;

步骤3,计算步骤2得到的测试集和查询图像的二进制哈希编码之间的汉明距离并进行升序排序,得到初排结果;

步骤4,选取初排结果里的前p张图像的二进制哈希编码,与查询图像的二进制编码再次进行汉明距离计算,根据汉明距离升序排序得到重排序结果,即最终得到与查询图像最相似的q个检索结果(q<p)。

本发明的特征还在于,

步骤1和步骤2中在哈希层生成二进制哈希编码生成过程具体为:

假设从googlenet-hash网络模型的全连接层得到m维图像深度特征x后,将x传入到哈希层,假设哈希层的节点个数是q,即有q个哈希函数,生成q位哈希编码,q个哈希函数产生的哈希编码如下公式所示:

(h1,h2,...,hq)t=(sigmoid(w1x),sigmoid(w2x)...,sigmoid(wqx))t(1)

其中,h1-hq为第1到第q位的哈希编码,sigmoid(w1x)-sigmoid(wqx)为采用sigmoid函数松弛后的第1到第q个哈希编码,w1-wq为构造q个m维随机向量矩阵,w1-wq∈rq*m,w1-wq的初始值从高斯分布中生成;

再对松弛后的哈希编码进行量化,得到最终的二值哈希编码h,即对h={h1,h2,...,hq}t进行阈值化,最终的二进制哈希编码由下式得到:

即就是,二值哈希编码h一个由0和1组成的编码。

步骤1中再通过对损失函数进行迭代优化和更新,得到最优的网络参数和最终的深度哈希网络模型googlenet-hash具体为:

步骤1.1,计算训练集中每张图像属于各类别的概率;

其中,zk代表哈希层加权之后的图像特征,n代表图像类别数目,f(zk)表示图像属于每个类别的概率,zi表示第i个类别,其中1<=i<=n,k是图像真实的类别;

步骤1.2,根据f(zk)计算损失函数loss的值:

loss=-logf(zk)(4)

步骤1.3,求解loss的最优值,并采用梯度下降法更新权重系数θ:

θ=θ-η(f(zk)-1+γθ)(7)

其中,γ是衰减因子,η是学习率,从而完成对softmax分类器的修正和网络参数的更新,得到最终的深度哈希网络模型googlenet-hash。

步骤2中提取特征是将图像输入到深度哈希网络googlenet-hash中提取图像的二进制哈希特征并进行阈值化,最终得到特征集合,具体为:

即给定测试集ψ={i1,i2,...,ig},其中ig表示测试集中的第g个图像,将测试集的图像输入到深度哈希网络模型googlenet-hash中提取图像哈希特征并进行阈值化,得到最终的特征集合ψh={h1,h2,...,hg},其中hg={0,1}q

给定查询图像ik,将查询图像ik输入到深度哈希网络模型googlenet-hash中提取图像哈希特征并进行阈值化,得到图像的二进制哈希编码hk;

其中,hg和hk按照h={h1,h2,...,hq}t,再对h按照公式(3)阈值化得到。

步骤3具体为:

计算查询图像ik的二进制哈希编码hk和测试集图像对应的二进制哈希编码集合ψh={h1,h2,...,hg}中每个二进制哈希编码hg的汉明距离,按照距离升序排列得到初始检索结果排序。

计算汉明距离时,将二进制哈希编码hk和二进制哈希编码hn的每一位进行比较,通过比较哈希码每一位是否相同,若不同则汉明距离加1,即得到对应的汉明距离。

在中央处理器cpu端进行查询图像ik的二进制哈希编码hk和测试集图像对应的二进制哈希编码集合ψh={h1,h2,...,hg}的获取,将获取的hk和ψh={h1,h2,...,hg}传输到图像处理器gpu端,进行汉明距离的计算,计算后按照汉明距离从小到大排序,得到初排结果,并将初排结果传输到cpu端。

步骤4具体为:cpu端再次计算与查询图像的二进制哈希编码之间的汉明距离,得到重排序结果,即q个与查询图像最相似的图像q<p,得到最终的检索结果。

cifar-10数据集共60000张,训练集分10类,每类5000张,测试集分10类,每类1000张。

本发明的有益效果是:

本发明将深度学习网络与哈希算法相结合构成端到端的深度哈希网络模型,然后提取cifar-10图像的二进制哈希编码作为特征索引,通过引入gpu并行检索进行特征匹配和距离度量加快检索速度,最后利用结果重排来提高最终检索结果精度。

附图说明

图1是本发明一种基于深度哈希特征和异构并行处理的图像检索方法的流程图;

图2是本发明一种基于深度哈希特征和异构并行处理的图像检索方法中cpu+gpu异构并行处理结构的示意图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种基于深度哈希特征和异构并行处理的图像检索方法,其流程如图1所示,具体按照如下步骤实施:

步骤1,离线训练网络模型

采用googlenet网络模型作为初始化网络结构并将其最后一层分类层替换为哈希层,且哈希层的单元数即为图像要编码成的比特数,得到googlenet-1网络模型,将图像数据集cifar-10划分为训练集和测试集,cifar-10数据集共60000张,训练集分10类,每类5000张,测试集分10类,每类1000张,将训练集输入googlenet-1网络模型中,通过卷积层提取图像深度特征,同时进行哈希函数学习,最终深度特征经过哈希层映射得到对应的二进制哈希编码,再通过对损失函数进行迭代优化和更新,得到最优的网络参数和最终的深度哈希网络模型googlenet-hash;

步骤2,将测试集和查询图像送入训练好的googlenet-hash网络模型中得到测试集和查询图像的深度哈希特征,即二进制哈希编码;

本发明通过设计哈希层,从训练数据中学习出哈希函数的参数值,用来生成更加紧致的哈希特征。从googlenet-hash网络模型的全连接层得到图像深度特征后,将深度特征传入哈希层,生成二进制哈希编码;

步骤1和步骤2中在哈希层生成二进制哈希编码生成过程具体为:

假设从googlenet-hash网络模型的全连接层得到m维图像深度特征x后,将x传入到哈希层,假设哈希层的节点个数是q,即有q个哈希函数,生成q位哈希编码,q个哈希函数产生的哈希编码如下公式所示:

(h1,h2,...,hq)t=(sgn(w1x),sgn(w2x)...,sgn(wqx))t(1)

由于sgn函数不是凸函数,无法使用基于梯度的方法对目标函数进行优化求解,所以选用sigmoid函数进行松弛,将编码范围约束到(0,1)区间,得到最终的q个哈希函数产生的哈希编码如下公式所示:

(h1,h2,...,hq)t=(sigmoid(w1x),sigmoid(w2x)...,sigmoid(wqx))t(2)

其中,h1-hq为第1到第q位的哈希编码,sigmoid(w1x)-sigmoid(wqx)为采用sigmoid函数松弛后的第1到第q个哈希编码,w1-wq为构造q个m维随机向量矩阵,w1-wq∈rq*m,w1-wq的初始值从高斯分布中生成;

再对松弛后的哈希编码进行量化,得到最终的二值哈希编码h,即对h={h1,h2,...,hq}t进行阈值化,最终的二进制哈希编码由下式得到:

即就是,二值哈希编码h一个由0和1组成的编码;

其中,通过对损失函数进行迭代优化和更新,得到最优的网络参数和最终的深度哈希网络模型googlenet-hash具体为:

步骤1.1,计算训练集中每张图像属于各类别的概率;

其中,zk代表哈希层加权之后的图像特征,n代表图像类别数目,f(zk)表示图像属于每个类别的概率,zi表示第i个类别,其中1<=i<=n,k是图像真实的类别;

步骤1.2,根据f(zk)计算损失函数loss的值:

loss=-logf(zk)(5)

步骤1.3,求解loss的最优值,并采用梯度下降法更新权重系数θ:

θ=θ-η(f(zk)-1+γθ)(8)

其中,γ是衰减因子,η是学习率,从而完成对softmax分类器的修正和网络参数的更新,得到最终的深度哈希网络模型googlenet-hash;

哈希层也属于神经网络的隐藏层,隐藏层的神经元个数并没有具体的确定,在本发明中设计的哈希层节点个数决定图像二进制编码特征的长度,所以可通过实验比较不同节点个数的训练速度与二进制编码进行检索时的精度来最终确定哈希层的节点个数。

步骤2中提取特征是将图像输入到深度哈希网络googlenet-hash中提取图像的二进制哈希特征并进行阈值化,最终得到特征集合,具体为:

即给定测试集ψ={i1,i2,...,ig},其中ig表示测试集中的第g个图像,将测试集的图像输入到深度哈希网络模型googlenet-hash中提取图像哈希特征并进行阈值化,得到最终的特征集合ψh={h1,h2,...,hg},其中hg={0,1}q

给定查询图像ik,将查询图像ik输入到深度哈希网络模型googlenet-hash中提取图像哈希特征并进行阈值化,得到图像的二进制哈希编码hk;

其中,hg和hk按照h={h1,h2,...,hq}t,再对h按照公式(3)阈值化得到。

步骤3,计算步骤2得到的测试集和查询图像的二进制哈希编码之间的汉明距离并进行升序排序,得到初排结果;具体为:

具体为:

计算查询图像ik的二进制哈希编码hk和测试集图像对应的二进制哈希编码集合ψh={h1,h2,...,hg}中每个二进制哈希编码hg的汉明距离,按照距离升序排列得到初始检索结果排序。

计算汉明距离时,将二进制哈希编码hk和二进制哈希编码hn的每一位进行比较,通过比较哈希码每一位是否相同,若不同则汉明距离加1,如10001001和10110001有3位不同。则汉明距离为3,即得到对应的汉明距离,汉明距离越大,则查询图像与测试集图像之间的差异越大,即相似度越低。将汉明距离从小到大排序,即出现相似图像的排序。

如图2所示,在中央处理器cpu端进行查询图像ik的二进制哈希编码hk和测试集图像对应的二进制哈希编码集合ψh={h1,h2,...,hg}的获取,将获取的hk和ψh={h1,h2,...,hg}传输到图像处理器gpu端,进行汉明距离的计算,计算后按照汉明距离从小到大排序,得到初排结果,并将初排结果传输到cpu端;

步骤4,选取初排结果里的前p张图像的二进制哈希编码,cpu端再次计算与查询图像的二进制哈希编码之间的汉明距离,根据汉明距离升序排序得到重排序结果,即最终得到与查询图像最相似的q个检索结果(q<p)。

本发明利用深度神经网络提取图像的特征,网络结构对训练有着至关重要的影响。网络结构太复杂训练难度大,会出现过拟合,而结构过于简单,无法激发网络的学习能力。本发明选用googlenet网络,此网络在加深层数的同时在不同深度增加了损失loss来避免梯度消失的问题,并且不同大小的卷积核拼接也可以达到不同尺度特征的融合的优点。

本发明基于深度哈希特征和异构并行处理的大规模图像检索,如图1所示,可以分为四部分。分别为:训练网络模型部分、提取图像特征部分、并行处理计算部分和检索结果重排序部分。训练网络模型部分是将googlenet最后一层全连接层替换为哈希层的googlenet-1网络模型,之后通过哈希学习和优化参数得到最终的深度哈希网络模型googlenet-hash;提取图像特征部分是采用预训练好的网络模型来提取测试集图像和查询图像的深度特征;并行处理计算部分是利用gpu强大的数据处理能力,分线程去计算查询图像与测试集图像二进制哈希编码之间的汉明距离,依据距离大小进行相似度排序,距离越小越相似;检索结果重排部分是提高检索精度的一种方法,通过二次计算汉明距离得到最终的重排结果和最像的q个图像。

本发明基于深度哈希特征和异构并行处理的大规模图像检索方法,从功能执行上讲,首先通过训练集得到深度哈希网络模型googlenet-hash;其次采用预训练的深度哈希网络模型提取图像的二进制哈希编码特征;接下来对查询图像进行特征提取并进行特征匹配,执行cpu+gpu异构并行处理,分线程计算查询图像与测试集图像二进制哈希编码的汉明距离,基于汉明距离大小得到初排序结果;最后执行结果重排序,通过二次汉明距离计算提高检索精度,得到与查询图像最相似的q个图像。本发明基于深度哈希特征和异构并行处理的大规模图像检索方法,充分利用了图像的深度特征以及二进制哈希编码的简洁性,结合gpu强大的数据处理能力,实现了快速、准确的大规模图像检索。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1