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

一种利用深度卷积网络生成用于图像检索的哈希码的方法技术

技术编号:21200038 阅读:19 留言:0更新日期:2019-05-25 01:17
本发明专利技术的目的在于获得能使图像检索准确率更高的哈希码,提出了一种利用深度卷积网络生成用于图像检索的哈希码的方法。本方法选择当前性能较好的DenseNet模型作为基础模型,提取图像特征,在分类层前添加一个哈希层,哈希层的输出经过二值化后获得图像的哈希码。本发明专利技术方法采用两个权重共享的基础网络,在训练模型时,将图像对作为输入,在损失函数中加入了图像的分类损失和图像对的相似损失,训练后获得的相似图像的哈希码更加相似。并且,本发明专利技术方法设计了一种新的哈希函数,将哈希层输出的每一位上的值进行排序,根据排序结果对哈希层的输出进行二值化,从而获得哈希码。本发明专利技术方法获得的哈希码用于图像检索时能有效地提高检索的平均准确率。

A Method of Generating Hash Codes for Image Retrieval Using Deep Convolution Network

The object of the present invention is to obtain hash codes that can improve the accuracy of image retrieval. A method of generating hash codes for image retrieval by using depth convolution network is proposed. This method chooses DenseNet model with better performance as the basic model, extracts image features, adds a hash layer before the classification layer, and obtains the hash code of the image after the output of the hash layer is binarized. The method of the invention adopts two basic networks with shared weights. When training the model, the image pair is taken as input, and the classification loss of the image and the similar loss of the image pair are added into the loss function. The hash code of the similar image obtained after training is more similar. Moreover, the method of the invention designs a new hash function, which sorts the values on each bit of the output of the hash layer, binarizes the output of the hash layer according to the sorting result, and obtains the hash code. The hash code obtained by the method of the invention can effectively improve the average accuracy of image retrieval when used in image retrieval.

【技术实现步骤摘要】
一种利用深度卷积网络生成用于图像检索的哈希码的方法
本专利技术涉及一种利用深度卷积网络生成用于图像检索的哈希码的方法。
技术介绍
随着各种摄影设备和网络的普及,人们可以随时随地拍摄各种各样的图像和视频,并在网络上与朋友分享,由此带来的是网络上数字图像和视频的爆炸式增长。2013年,Facebook上的总图像数已达2500亿张,并且用户平均每天上传3.5亿张。2016年,微信朋友圈每天上传图像10亿张。面对网络上飞速增长、规模庞大的数字图像,如何在海量的数据中实现快速准确的图像检索,是一项重要的研究。在语义搜索中,能够构造保持相似性的二进制码(即哈希码),并能进行高效图像搜索的哈希算法受到了高度重视。哈希算法是一种最近邻算法,算法关键在于设计一个能将内容相似的图像映射到相似哈希码中,它首先需要抽取图像的高维特征向量,如颜色、形状、纹理等,再通过哈希函数将特征向量转换为一个固定长度的二进制哈希码(即将高维视觉特征映射到低维的汉明空间中),这个变换过程也称为哈希变换。将每一幅图像都用一串哈希码来表示,并且越相似的图像,它们对应的哈希码的汉明距离越小。因此,在图像检索时,可以通过计算图像哈希码之间的汉明距离即可实现近似最近邻(ApproximateNearestNeighbor,ANN)搜索。汉明距离的计算速度快于对图像直接进行相似度计算的速度,这使得检索算法能大幅提高匹配时的计算速度,同时也减小检索系统对存储空间的需求。但是传统的哈希算法是基于人工设计提取图像特征的,算法的性能很大程度上取决于所抽取的特征,这使得检索系统在进行图像检索时容易产生语义鸿沟和意图鸿沟。近几年,各项研究显示深度卷积神经网络(DeepConvolutionalNeuralNetworks,DCNN)在图像分类,目标检测和人脸检测及其它计算机视觉任务中都取得了优异的性能,显示出深度卷积神经网络强大的特征提取能力。因此在图像检索中出现了深度卷积神经网络与哈希算法相结合的深度哈希算法。深度哈希算法首先通过卷积神经网络提取图像特征,所提取到的图像特征经过哈希函数获得的图像哈希码。Xia,Rongkai,etal."Supervisedhashingforimageretrievalviaimagerepresentationlearning."AAAI.Vol.1.2014.公开了一种利用深度卷积神经网络生成哈希码的方法(ConvolutionalNeuralNetworksHash,CNNH),相较于传统的哈希算法,该方法性能得到了很大的提升。Li,Wu-Jun,ShengWang,andWang-ChengKang."Featurelearningbaseddeepsupervisedhashingwithpairwiselabels."arXivpreprintarXiv:1511.03855(2015).公开了深度成对有监督哈希(DeepPairwise-supervisedHashing,DPSH)方法,该方法使用图像对作为网络的输入,并建立图像对相似矩阵作为监督信息对网络进行训练。Lin,Kevin,etal."Deeplearningofbinaryhashcodesforfastimageretrieval."ProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognitionworkshops.2015.公开了深度学习生成图像哈希码(DeepLearningofBinaryHashCodes,DLBHC)方法,该方法直接利用预训练好的分类网络模型获得图像特征,对特征直接二值化获得图像哈希码。上述这些基于深度卷积神经网络的方法相较于传统的图像哈希算法在性能上取得了很大的进步,但是,这些深度哈希算法还存在着量化误差较大、生成的哈希码用于图像检索时准确率不高等问题。
技术实现思路
本专利技术的目的在于获得能使图像检索准确率更高的哈希码,提出了一种利用深度卷积网络生成用于图像检索的哈希码的方法。本专利技术具体的构思是:利用当前分类性能较好的网络结构去除最后的输出层作为基础模型。在基础模型后添加一个哈希层来获得图像哈希码,在哈希层后再接一个分类输出层。在训练模型时,将图像对作为输入,在分类损失函数的基础上增加图像对的相似信息损失。在设计哈希函数上,本方法提出了对哈希层输出的向量中的值进行排序、然后根据排序结果进行二值量化的哈希函数。根据上述的构思,本专利技术采用下述技术方案:一种利用深度卷积网络生成用于图像检索的哈希码的方法,具体步骤如下:步骤1,建立图像对的相似信息矩阵S:将图像分类数据库中的同一类图像视为相似图像,以此建立图像对的相似信息矩阵S;步骤2,设计整体网络模型:将GoogLeNet去除最后的输出层作为基础网络模型提取图像特征,在基础网络模型后添加一个哈希层用以获得哈希码,哈希层后添加分类输出层用以获得图像分类信息;步骤3,损失函数设计:为了使得相似图像哈希码相似,损失函数中包含有以下损失:根据分类信息获得的分类损失、图像对的相似信息损失、哈希变换过程中的量化损失;步骤4,哈希函数设计:考虑哈希层的输出向量中位与位之间的关系,提出哈希函数,对哈希层输出的各位上的数字进行从大到小排序,如果特征向量某一位上的值在排序中靠前一半,则编码为1;若在排序中靠后一半,则编码为0;步骤5,模型训练:采用两路的基础模型对输入图像对中的两幅图像同时提取图像特征,两路基础模型的权重共享,使用随机梯度下降优化算法对模型进行训练;步骤6,获得图像哈希码:将图像输入到步骤5训练好的模型中,获得对应的哈希码。本专利技术与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:本方法选择当前性能较好的分类网络去除其最后的输出层作为基础模型,提取图像特征。在基础模型后添加一个哈希层,哈希层的输出有两个作用,一是经过哈希函数后获得图像的哈希码,二是在哈希层后再接一个分类输出层,即将哈希层的输出作为分类层的输入,对图像进行分类,获得分类损失。本专利技术方法中采用两个权重共享的基础网络,在训练模型时,将图像对作为输入,在损失函数中加入了图像的分类损失和图像对的相似损失,通过训练后使得相似图像的哈希码更加相似。并且,本专利技术方法还提出了一种新的哈希函数,将哈希层输出的每一位上的值进行排序,根据排序结果对哈希层的输出进行哈希变换,从而获得哈希码。本专利技术方法获得的哈希码用于图像检索时能有效地提高检索的平均准确率(MeanAveragePrecision,MAP)。本专利技术方法同时利用了图像的分类信息和图像对的相似信息,使得越相似图像对应的哈希码的汉明距离越小。附图说明图1为本专利技术方法的流程框图。图2为整体网络模型。图3为获得图像哈希码示意图。图4为本专利技术方法的结果示意图。具体实施方式下面结合附图,对本专利技术的具体实施例做进一步的说明。本专利技术实施例的整体网络模型如图2所示,本实施例在Windo10以及PyTorch环境编程仿真。首先,利用当前性能较好的卷积神经网络结构模型(DenseNet模型),去除最后的输出层作为基础模型提取图像特征。在基础模型后添加一个哈希层,哈希层的输出有两个作用,一个是经过哈希函数后获得本文档来自技高网
...

【技术保护点】
1.一种利用深度卷积网络生成用于图像检索的哈希码的方法,其特征在于,具体步骤如下:步骤1,建立图像对的相似信息矩阵S:将图像分类数据库中的同一类图像视为相似图像,以此建立图像对的相似信息矩阵S;步骤2,设计整体网络模型:将DenseNet去除最后的输出层作为基础网络模型提取图像特征,在基础网络模型后添加一个哈希层用以获得哈希码,哈希层后添加分类输出层用以获得图像分类信息;步骤3,损失函数设计:为了使得相似图像哈希码相似,损失函数中包含有以下损失:根据分类信息获得的分类损失、图像对的相似信息损失、哈希变换过程中的量化损失;步骤4,哈希函数设计:考虑哈希层的输出向量中位与位之间的关系,提出哈希函数,对哈希层输出的各位上的数字进行从大到小排序,如果特征向量某一位上的值在排序中靠前一半,则编码为1;若在排序中靠后一半,则编码为0;步骤5,模型训练:采用两路的基础模型对输入图像对中的两幅图像同时提取图像特征,两路基础模型的权重共享,使用随机梯度下降优化算法对模型进行训练;步骤6,获得图像哈希码:将图像输入到步骤5训练好的模型中,获得对应的哈希码。

【技术特征摘要】
1.一种利用深度卷积网络生成用于图像检索的哈希码的方法,其特征在于,具体步骤如下:步骤1,建立图像对的相似信息矩阵S:将图像分类数据库中的同一类图像视为相似图像,以此建立图像对的相似信息矩阵S;步骤2,设计整体网络模型:将DenseNet去除最后的输出层作为基础网络模型提取图像特征,在基础网络模型后添加一个哈希层用以获得哈希码,哈希层后添加分类输出层用以获得图像分类信息;步骤3,损失函数设计:为了使得相似图像哈希码相似,损失函数中包含有以下损失:根据分类信息获得的分类损失、图像对的相似信息损失、哈希变换过程中的量化损失;步骤4,哈希函数设计:考虑哈希层的输出向量中位与位之间的关系,提出哈希函数,对哈希层输出的各位上的数字进行从大到小排序,如果特征向量某一位上的值在排序中靠前一半,则编码为1;若在排序中靠后一半,则编码为0;步骤5,模型训练:采用两路的基础模型对输入图像对中的两幅图像同时提取图像特征,两路基础模型的权重共享,使用随机梯度下降优化算法对模型进行训练;步骤6,获得图像哈希码:将图像输入到步骤5训练好的模型中,获得对应的哈希码。2.根据权利要求1所述的利用深度卷积网络生成用于图像检索的哈希码的方法,其特征在于,在所述步骤1中,要建立图像对的相似信息矩阵S,遵循当前深度哈希方法中的设定,将图像分类数据库中的同一类图像视为相...

【专利技术属性】
技术研发人员:马然郑鸿鹤安平
申请(专利权)人:上海大学
类型:发明
国别省市:上海,31

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

1