CN108920720B - 基于深度哈希和gpu加速的大规模图像检索方法 - Google Patents

基于深度哈希和gpu加速的大规模图像检索方法 Download PDF

Info

Publication number
CN108920720B
CN108920720B CN201810852700.1A CN201810852700A CN108920720B CN 108920720 B CN108920720 B CN 108920720B CN 201810852700 A CN201810852700 A CN 201810852700A CN 108920720 B CN108920720 B CN 108920720B
Authority
CN
China
Prior art keywords
hash
picture
distance
deep
retrieval
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
Application number
CN201810852700.1A
Other languages
English (en)
Other versions
CN108920720A (zh
Inventor
段翰聪
付美蓉
黄子镭
闵革勇
谭春强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201810852700.1A priority Critical patent/CN108920720B/zh
Publication of CN108920720A publication Critical patent/CN108920720A/zh
Application granted granted Critical
Publication of CN108920720B publication Critical patent/CN108920720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了基于深度哈希和GPU加速的大规模图像检索方法,该方法基于图片对的哈希方法,采用多任务深度学习机制,将分类损失函数与对比损失函数相结合,量化过程中,在保留图片对之间的相似性的同时,尽可能地保留图片本身的语义信息,分类任务与量化任务互相指导学习;同时,采用局部连接模块取代量化网络的全连接层,减少特征之间的冗余信息。设计并实现了更深层次的网络,深层次网络通常能够得到良好的特征表达。在汉明排序的基础上,实现了基于GPU的多层次并行检索方法。本发明不仅提高了检索精度,且能够在百万规模的图像库中完成单张检索延时0.8ms的效果。

Description

基于深度哈希和GPU加速的大规模图像检索方法
技术领域
本发明涉及计算机视觉领域,具体涉及一种基于深度哈希和GPU加速的大规模图像检索方法。
背景技术
近年来,随着互联网络以及各种多媒体设备的飞速发展,从互联网中获取图像变得越来越方便快捷,同时,当前社交网络变得越来越流行,比如Facebook,QQ等,据不完全统计,互联网中每月增加的图片数量在十亿级别;无独有偶,随着人们对网购越来越习惯,目前的各大电商平台后台系统中也积累了数百亿的图片。对于这些海量的数据,如何去组织、有效利用这些数据成为了一个亟待解决的问题,因此,图像检索技术备受关注并得到了迅速地发展。但面对这如今大规模的图像集合,该技术仍然因为图像数据量大、特征维度高、要求检索速度快等面临着巨大的挑战。
基于内容的图像检索过程分为图像预处理、图像特征表达、建立图像数据库、查询数据库等几个步骤,首先,对要建立数据库的所有图片进行预处理,提取特征,建立特征数据库,然后为待检索图片进行预处理以及特征提取,按照一定的方式对特征数据库进行查询,最后返回最相似的结果。
最近邻检索作为图像检索领域中一个最重要的方法,其基本算法思想为:假设数据库规模为n,数据特征维度为d,首先将数据库中的特征与查询特征一一进行距离度量,其次对这些距离进行排序,最后返回距离最小的结果。显然,这是一个穷举搜索的方法,其时间复杂度为O(nd)。最近邻搜索能够最接近于特征表达方法决定的检索性能上限,并且,数据规模较小的情况下,实际检索延时很低,能够满足用户的需求。然而受限于其穷举搜索的性质,数据规模增大后,计算代价过大导致检索时延急速增长,无法满足用户对延时的要求。因此,基于树的检索方法被提出,例如R-Tree、Kd-Tree等,这些方法虽然一定程度上能够缓解穷举带来的计算压力,但是随着特征维度d的增大,检索效率会退化到穷举搜索。
为了解决最近邻搜索面临的计算压力,按照不同的应用场景,人们开始考虑以牺牲可接受的检索精度为代价,提升检索速度,这被称作近似近邻搜索。哈希算法作为最有前景的方法一直备受关注。哈希算法的主要思想是:首先通过某些方法进行特征的降维,例如主成分分析法(简称PCA),然后找到某种函数将原始空间的浮点向量特征映射到汉明空间中,在新的空间中,保持原始空间中的数据分布特征,比如向量对之间的距离关系、本图片在汉明空间中与原始空间中特征的距离最近等等。哈希方法不仅能够使得数据维度降低,减少数据存储所占用的空间,使得数据变得紧凑,而且,在计算速度上,能够迅速计算出特征之间的距离,解决了浮点特征计算压力的问题。
从最早的LSH到SH,然后从基于迭代学习的ITQ到基于聚类学习的PQ,这些都是数据无关的哈希方法,这些方法不需要使用图片的标签信息,因此具有良好的数据扩展性,获得函数以后能够应对多种数据集,但是输入大多数依赖于手工提取的特征,无法利用图片标签的深层次信息,发展受到了一定程度的限制。随着深度学习的火热发展,研究者开始使用深度学习技术来学习这些哈希函数。最早的深度哈希方法是CNNH,这种方法不再使用手工特征而是使用通过深度网络提取出的特征,然后单独训练映射函数,从而有更好的效果。这种方法不再使用手工特征而是使用通过深度网络提取出的特征,然后单独训练映射函数,虽然特征提取以及量化都使用了深度学习技术,但是这是两个分离的过程,特征量化的结果无法反馈到特征提取过程中,很难得到一种良好的特征表达。
综上,现有技术存在以下缺陷:
(1)采用深度卷积网络结合GPU进行加速的图像检索方法,虽然精度很高,但是很难处理特征维度变高或者数量级上升到千万或上亿的情况。无论特征维度变高还是数据量的增加,都带来内存占用和计算量线性的成倍增长。如果需要保证一定的速度,就需要消耗更多的GPU,带来成本成倍的增长。
(2)采用哈希算法进行图像检索的方法,虽然具有良好的数据扩展性,获得函数以后能够应对多种数据集,但是无法利用图片标签的深层次信息,检索精度受到了限制。
(3)采用深度哈希算法进行图像检索的方法,使用三元组会导致收敛训练过程中收敛比较慢,而且最后的效果很大程度上受到三元组的选取的影响,但是三元组的怎么选取才好还是一个有待研究的问题;而且使用sigmoid或tanh的激活函数,限制比较大,对精度有影响。
发明内容
为了解决上述现有技术存在的计算问题,本发明提供了一种基于深度哈希和GPU加速的大规模图像检索方法,该方法采用了一种结合图片对相似性与图片本身语义信息的深度哈希方法,基于GPU实现多层次并行检索,本发明在提升检索精度的同时,加快了大规模数据集上的检索速度。
本发明通过下述技术方案实现:
基于深度哈希和GPU加速的大规模图像检索方法,该方法包括以下步骤:
步骤一、将分类任务和量化任务融合到一个完整网络中,在训练数据集上进行多任务深度学习训练,得到深度哈希网络模型;
步骤二、在GPU中,采用步骤一训练得到的深度哈希网络模型对待检索图片进行多层次并行检索,具体步骤包括:
步骤2.1使用步骤一训练得到的深度哈希模型对待检索图片提取浮点特征和哈希特征;
步骤2.2批次计算待检索图片的哈希特征和特征数据库中哈希特征的汉明距离,同时统计所有汉明距离的数量信息;
步骤2.3使用分析核函数与索引选取核函数根据汉明距离和统计信息,对满足候选条件的图片索引进行选取得到候选集;
步骤2.4使用欧式距离和浮点特征进行二次相似性计算,并使用K近邻算法从候选集中选出结果。
具体的,所述步骤一中所述的深度哈希网络模型包括由ResNet的Building Block堆叠而成的神经网络,并结合损失函数解决分类损失与量化损失对网络参数更新的影响程度,该损失函数表示如下:
Figure BDA0001747826890000031
式中,Ls为对比损失函数,Liden为分类损失函数,W为网络的可学习参数,α和β是两个权重因子,N为训练数据集中图片的数量,P为训练数据集经过完全组合能够得到的图片对数量,yi表示第i个图片对的相似情况,||hi,a-hi,b||2表示第i个图片对之间的欧式距离,||·||1表示L1范数,其中I表示与其相减向量同维度的向量且都取值为1,m为期望的不相似的图片对之间应该具有的最小距离,
Figure BDA0001747826890000032
为模型判断图片i为类别Ci的概率。
具体的,由ResNet的Building Block堆叠而成的神经网络主要包括结构A和结构B;在结构A中,首先由两个卷积层进行特征提取,然后将原始输入与卷积层的输出作为输入,经过Elewise层;在结构B中,对于原始输入,分别由两个卷积层和一个卷积层进行特征提取,然后将卷积层的输出作为输入,经过Elewise层,对于两个卷积层,其作用与结构A中的两个卷积层一样,都是卷积核大小为3的卷积层,对于一个卷积层,其卷积核大小为1。
具体的,所述深度哈希网络模型的量化编码层采用局部连接模块的方式来减少量化比特位中的冗余信息:对于输入层,首先使用Slice方法进行切割为k个部分,对于这k个部分,然后对每部分采用全连接的方式得到一个维度为1的输出。
具体的,所述步骤2.2中汉明距离的计算和统计具体为:利用GPU中的block对检索任务进行分离,每个block中的线程计算待检索图片的哈希特征与特征数据库中哈希特征进行距离计算,并生成一个statistics数组用来统计每个线程计算的距离结果数量,同时存储检索特征与特征数据库中特征的汉明距离。
本发明具有如下的优点和有益效果:
本发明提出了一种结合图片对相似性与图片本身语义信息的深度哈希方法,设计并实现了一种基于GPU的多层次并行检索方法,在提升检索精度的同时,加快了大规模数据集上的检索速度。具体特点如下:
(1)在现有的基于图片对的哈希方法基础上,采用多任务深度学习机制,将分类损失函数与对比损失函数相结合,量化过程中,在保留图片对之间的相似性的同时,尽可能地保留图片本身的语义信息,分类任务与量化任务互相指导学习。最终,得到了一个端到端的特征提取与量化网络。
(2)采用局部连接模块取代量化网络的全连接层,每个量化比特位仅与部分输入相关,减少特征之间的冗余信息。
(3)采用ResNet,设计并实现了更深层次的网络。深层次网络通常能够得到良好的特征表达,而高检索精度通常取决于良好的特征表达。
(4)在汉明排序的基础上,设计并实现了基于GPU的多层次并行检索方法,该方法将多个检索任务集成到一个任务中,利用GPU天然的并行性完成检索。最终得到在百万规模的图像库中完成单张检索延时0.8ms的效果。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明的深度哈希网络模型示意图。
图2为本发明的量化编码层采用的局部连接模块示意图。
图3为本发明的block中线程距离计算分配示意图。
图4为本发明的block中多线程距离计算及统计示意图。
图5为本发明的相关数据结构示意图。
图6为本发明的距离结果关系示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
本实施例提出了基于深度哈希和GPU加速的大规模图像检索方法,其中,如图1所示,本实施例的深度哈希网络模型由ResNet的Building Block堆叠而成。与传统神经网络结构不同的是,ResNet的Building Block结构包含了一个主干上的残差结构与一个支路的short-cut结构,short-cut结构用于将低层的特征信息与高层特征信息进行融合,避免梯度消失的情况,使得网络层次结构能够更深。
如图1中的结构A中,对于原始输入,首先由两个卷积层进行特征提取,然后将原始输入与卷积层的输出作为输入,经过Elewise层,这也是ResNet的标准Building Block结构。在结构B中,对于原始输入,分别由两个卷积层和一个卷积层进行特征提取,对于两个卷积层,其作用与结构A中的两个卷积层一样,都是卷积核大小为3的卷积层,真正的起到特征抽象化、全局化的作用,而单个卷积操作的路线,其卷积核大小为1,真正意义在于对原始输入进行升维的作用,使得short-cut支路上的输出与干路网络的输出格式一致。具体的模型参数配置见表1:
表1基于ResNet的深度哈希网络结构配置与参数
layername filtersize/stride,pad outputsize params
conv1 5*5/2,2 32*56*48 2496
conv1_1_1 3*3/1,1 32*56*48 10240
conv1_1_2 3*3/1,1 32*56*48 10240
conv1_2_1 3*3/1,1 32*56*48 10240
conv1_2_2 3*3/1,1 32*56*48 10240
conv2_1_1 3*3/2,1 64*28*24 20480
conv2_1_2 3*3/1,1 64*28*24 40960
conv2_2_1 3*3/1,1 64*28*24 40960
conv2_2_2 3*3/1,1 64*28*24 40960
conv3_1_1 3*3/2,1 128*14*12 81920
conv3_1_2 3*3/1,1 128*14*12 163840
conv3_2_1 3*3/1,1 128*14*12 163840
conv3_2_2 3*3/1,1 128*14*12 163840
conv4_1_1 3*3/2,1 256*7*6 327680
conv4_1_2 3*3/1,1 256*7*6 655360
conv4_2_1 3*3/1,1 256*7*6 655360
conv4_2_2 3*3/1,1 256*7*6 655360
total - - 3054016
在网络中,没有使用sigmoid+sign或者tanh+sign这样的函数来限制的最终输出为0或者1,这是因为网络的输出的所有维度都在+1与-1附近,对于最后的浮点向量特征表达,特征提取完成后,单独使用sign函数对每个维度的特征作用即可,sign函数的定义如公式(1-1)所示:
Figure BDA0001747826890000061
深度哈希损失函数
对于数据集合,其中N为数据集中图片的数量,而d为每张图片的维度,在该数据集合上经过完全组合能够得到N*(N-1)/2个图片对,我们记为P。
对于任意一个图片对,我们设它们为a与b,如果图片对相似,我们记y=1,否则记为y=0,经过网络进行特征提取后,得到实数特征,然后经过sign函数得到二进制编码ha与hb,在所有图片对上的损失函数可以表示为:当图片相似时,损失为两者之间的汉明距离,即||ha-hb||h;当图片不相似时,如果图片的汉明距离达到了某个阈值m,则为0,否则为m与汉明距离之间的差值,即max(0,m-||ha-hb||h)。考虑到汉明距离在优化中的难以计算,将汉明距离缩放为欧式距离,并且,由于网络的最终输出为实数而非二进制码,所以,根据DSH的原理,增加一个对输出做一个限制的正则项。对比函数的形式如公式(1-2)所示:
Figure BDA0001747826890000062
其中||·||2表示欧式距离,||·||1表示L1范数,其中I表示与其相减向量同维度的向量且都取值为1,β为正则项的权重值,根据不同的权重值,网络提取到的所有特征数据将会有不同的分布情况。m为我们期望的不相似的图片对之间应该具有的最小距离,假设我们设置的量化位数为k,由于我们期望的输出是接近+1/-1,而对于两个分类不同的图片来说,我们可以启发式的认为至少应该有k/2个比特位不同,对于不同的位,理想情况下,最大距离为±1的差的平方,即4,即4*k/2>m,因此m应该设置为2k。
在上述的损失函数中,虽然对图片对的相对位置有了充分考虑,但是,对于单个图片个体而言,其本身的语义信息没有得到充分保留。在图片检索算法中,如何对一张图片进行特征表达正是是决定这个性能上限的关键。正是出于这样的考虑,本文参考了DEEPID2的多任务深度学习机制,不仅使用对比损失函数保留图片对之间的相对关系,还联合了基于交叉熵的softmax分类函数来充分保留图片本身的语义信息,
对于数据集合,假设该数据集合中共有M类别,对于每一张图片而言,其实际类别为Ci,取值范围为1到M之间的整数,Si,j为模型判断图片i为类别j的概率,分类损失函数如下:
Figure BDA0001747826890000063
将公式1-2和公式1-3结合,得到最终的损失函数:
Figure BDA0001747826890000071
α和β是两个权衡因子,解决分类损失与量化损失对网络参数更新的影响程度。至此,本文的损失函数的完全形式建立完毕,该损失函数既考虑了图片本身的语义信息,也考虑了图片对之间的相对关系,还严格限制了图片特征的分布情况。
基于深度卷积神经网络的哈希方法在特征的抽象与表达以及特征的量化方面与传统的哈希方法相比而言有着巨大的优势,但是,根据Shannon的信息熵理论,对于任何信息都会冗余产生。在卷积神经网络中,大量的参数导致网络容易出现信息冗余。现有的深度哈希网络结构通常最后的量化编码层使用全连接层对特征进行组合,全连接使用所有的输入。本文将会采取另外一种局部连接模块(Local Connect Module,LCM)的方式来减少量化比特位中的冗余信息,如图2所示,对于输入层,首先使用Slice方法进行切割称为k个部分(示意图中仅为两个部分),对于这k个部分,然后对每个部分采用全连接的方式得到一个维度为1的输出,这个输出就是我们期望得到的量化结果。
有了深度哈希模型和损失函数,就可以用与待检索图片相似的图片构造数据集,利用梯度下降方法进行训练。
GPU检索加速
本发明基于GPU的多层次并行检索方法,整个过程使用GPU实现,利用GPU中block的概念对检索任务进行分离,多个检索任务并行执行。主要的检索步骤如下:
1)使用前面训练得到的深度哈希模型对待检索图片提取浮点特征和哈希特征;
2)批次计算待检索图片的哈希特征和特征数据库里面的哈希特征的汉明距离,同时统计距离总体距离信息;
3)使用分析核函数与索引选取核函数根据汉明距离和统计信息,对满足候选条件的图片索引进行选取;
4)使用欧氏距离和浮点特征进行二次相似性计算,并使用K近邻算法从候选集中选取出结果。
在汉明距离的计算和统计中,每个block负责一张图片的特征计算,而同一个block中不同的线程分别负责这张图片特征和特征数据库里的特征的距离计算,如图5所示。对于任意一个block,每个block中假设有n个线程,设为Tb,i,其中b是block的编号,i为block中线程的编号,图3中每个block有4个线程。假设特征数据库中有m个特征,那么线程Tb,i需要负责待检索图片的特征和数据库中的特征Ri,Ri+n,...,Ri+j*n,直到i+j*n>m,之所以按照这种方式对数据库进行访问,是因为在同一个block内部,需要所有线程的数据都准备完毕时才同时进行运算,这种访问方式能够将多个线程的对内存的访问组成连续的空间访问,比随机访问的效率更高。距离计算过程首先将高维特征分割为多个uint8_t的值,然后做XOR运算,接着直接通过查表的方式进行,不采用popcount的方式。在每个线程中,我们为其生成一个基于共享内存的数组,我们称之为statistics数组,这个数组用来统计每个线程计算的距离结果数量,例如统计汉明距离为1的特征有多少个,同时也要存储检索特征与所有特征的汉明距离。距离计算及分析分三个步骤进行结果的规约,流程如下:
1)如图4中的方式,每个block中的线程计算检索特征与数据库特征进行距离计算,并将距离结果n在statistics[n]上的计数增加1;
2)在GPU中,除了block的分离,还有一个warp的概念,warp是指同一个block中的连续32个线程。在每个warp中,由第一个线程统计整个warp中的statistics数组的对应项的累加值;
3)由block中的第1个线程收集搜索所有warp中的结果。
上述过程得到检索特征与数据库中任一特征的汉明距离以及所有汉明距离数量的统计情况。对于检索结果,需要求出距离最小的前k个,但是汉明距离的大小范围有限,一般地,无法根据距离直接求取出前k的结果,需要借助其他距离度量方法再次确定相似度。所以需要先根据汉明距离统计值,取出大概范围的特征,然后再进行二次检索。具体的,对统计结果从第0项开始累加,直到第一个累加和大于k时停止,这个和即为要参与二次检索的特征数量。用max_dist表示每个检索任务中,要参与二次排序的距离最大值。
每个检索任务参与下一阶段的图像数量后,需要通过距离计算过程的类似方法遍历所有汉明距离结果,将结果不大于max_dist数组中对应项的图像索引保存在select_indices,select_indices数组大小,由距离分析阶段得到的所有图片数量决定。
数组select_indices中存储了多个任务(每个任务为一张图片特征的检索)中要参与二次检索的图片索引,start数组的大小刚好为检索任务的数量过程加1,start数组的前n-1个项为n个检索任务在后续过程中参与的数据的起点,以2个检索任务为例,start与select_indices之间的关系如图5所示:
二次距离度量过程,输入为select_indices中的图片索引所对应的特征,根据start数组进行不同检索任务的分割,不同的block对不同检索任务进行计算,同一block中的不同线程对不同图片的特征进行浮点特征距离计算,得到最终的距离数组float_dist,以3个查询特征为例,原始特征库、查询特征与float_dist数组对应关系如图6所示:
在图中,对三张图片进行检索,在上个阶段分别选取了3张、2张以及4张特征库里的图片浮点特征作为候选集合,select feature为多个检索图片的候选集的并集,通过start数组进行指示,表明多张图片的候选集的起始以及终止索引值。
在一个block中,THREADS_PER_BLOCKS个线程,每个线程维护一个堆,堆的大小为k,该堆为大顶堆或者小顶堆由距离度量方法决定,如果为欧式距离则为大顶堆,余弦相似度对应小顶堆,每计算一个距离,线程将这个距离以及对应图片的索引置入堆中,直到将该索引任务对应的所有图片距离计算完毕,然后由warp中的第一个线程依次收集整个warp中32个堆的结果,最后由整个block中的第一个线程依次收集每个warp中的结果,由于堆本身的排序性质,这个线程堆中的结果为前k个最相似图片的距离及其索引,至此,多层次GPU的批次检索结束。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.基于深度哈希和GPU加速的大规模图像检索方法,其特征在于,该方法包括以下步骤:
步骤一、将分类任务和量化任务融合到一个完整网络中,在训练数据集上进行多任务深度学习训练,得到深度哈希网络模型;
所述步骤一中所述的深度哈希网络模型包括由ResNet的Building Block堆叠而成的神经网络,并结合损失函数解决分类损失与量化损失对网络参数更新的影响程度,该损失函数表示如下:
Figure FDA0003123654470000011
式中,Ls为对比损失函数,Liden为分类损失函数,W为网络的可学习参数,α和β是两个权重因子,N为训练数据集中图片的数量,P为训练数据集经过完全组合能够得到的图片对数量,yi表示第i个图片对的相似情况,||hi,a-hi,b||2表示第i个图片对之间的欧式距离,||·||1表示L1范数,其中I表示与其相减向量同维度的向量且都取值为1,m为期望的不相似的图片对之间应该具有的最小距离,
Figure FDA0003123654470000012
为模型判断图片i为类别Ci的概率;
步骤二、在GPU中,采用步骤一训练得到的深度哈希网络模型对待检索图片进行多层次并行检索,具体步骤包括:
步骤2.1使用步骤一训练得到的深度哈希模型对待检索图片提取浮点特征和哈希特征;
步骤2.2批次计算待检索图片的哈希特征和特征数据库中哈希特征的汉明距离,同时统计所有汉明距离的数量信息;
步骤2.3使用分析核函数与索引选取核函数根据汉明距离和统计信息,对满足候选条件的图片索引进行选取得到候选集;
步骤2.4使用欧式距离和浮点特征进行二次相似性计算,并使用K近邻算法从候选集中选出结果。
2.根据权利要求1所述的基于深度哈希和GPU加速的大规模图像检索方法,其特征在于,由ResNet的Building Block堆叠而成的神经网络主要包括结构A和结构B;在结构A中,首先由两个卷积层进行特征提取,然后将原始输入与卷积层的输出作为输入,经过Elewise层;在结构B中,对于原始输入,分别由两个卷积层和一个卷积层进行特征提取,然后将卷积层的输出作为输入,经过Elewise层,对于两个卷积层,其作用与结构A中的两个卷积层一样,都是卷积核大小为3的卷积层,对于一个卷积层,其卷积核大小为1。
3.根据权利要求1所述的基于深度哈希和GPU加速的大规模图像检索方法,其特征在于,所述深度哈希网络模型的量化编码层采用局部连接模块的方式来减少量化比特位中的冗余信息:对于输入层,首先使用Slice方法进行切割为k个部分,对于这k个部分,然后对每部分采用全连接的方式得到一个维度为1的输出。
4.根据权利要求1所述的基于深度哈希和GPU加速的大规模图像检索方法,其特征在于,所述步骤2.2中汉明距离的计算和统计具体为:利用GPU中的block对检索任务进行分离,每个block中的线程计算待检索图片的哈希特征与特征数据库中哈希特征进行距离计算,并生成一个statistics数组用来统计每个线程计算的距离结果数量,同时存储检索特征与特征数据库中特征的汉明距离。
CN201810852700.1A 2018-07-30 2018-07-30 基于深度哈希和gpu加速的大规模图像检索方法 Active CN108920720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810852700.1A CN108920720B (zh) 2018-07-30 2018-07-30 基于深度哈希和gpu加速的大规模图像检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810852700.1A CN108920720B (zh) 2018-07-30 2018-07-30 基于深度哈希和gpu加速的大规模图像检索方法

Publications (2)

Publication Number Publication Date
CN108920720A CN108920720A (zh) 2018-11-30
CN108920720B true CN108920720B (zh) 2021-09-07

Family

ID=64417754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810852700.1A Active CN108920720B (zh) 2018-07-30 2018-07-30 基于深度哈希和gpu加速的大规模图像检索方法

Country Status (1)

Country Link
CN (1) CN108920720B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740660A (zh) * 2018-12-27 2019-05-10 深圳云天励飞技术有限公司 图像处理方法及装置
CN109871749B (zh) * 2019-01-02 2021-07-16 上海高重信息科技有限公司 一种基于深度哈希的行人重识别方法和装置、计算机系统
CN109783682B (zh) * 2019-01-19 2021-01-15 北京工业大学 一种基于点对相似度的深度非松弛哈希图像检索方法
CN109885716B (zh) * 2019-02-18 2022-10-14 成都快眼科技有限公司 基于异质多任务学习深度监督离散哈希的图像检索方法
CN110083732B (zh) * 2019-03-12 2021-08-31 浙江大华技术股份有限公司 图片检索方法、装置及计算机存储介质
CN110110113A (zh) * 2019-05-20 2019-08-09 重庆紫光华山智安科技有限公司 图像搜索方法、系统及电子装置
CN112200180B (zh) * 2019-07-08 2023-11-21 青岛海尔智能技术研发有限公司 用于瓶体检测分类的方法、装置及瓶体柜
CN110347855A (zh) * 2019-07-17 2019-10-18 京东方科技集团股份有限公司 画作推荐方法、终端设备、服务器、计算机设备及介质
CN110569725B (zh) * 2019-08-05 2022-05-20 华中科技大学 一种基于自注意力机制的深度学习的步态识别系统与方法
CN111611413B (zh) * 2020-05-26 2023-04-18 北京邮电大学 基于度量学习的深度哈希方法
CN112380003B (zh) * 2020-09-18 2021-09-17 北京大学 一种gpu处理器上的k-nn的高性能并行实现装置
CN112101267B (zh) * 2020-09-23 2022-04-29 浙江浩腾电子科技股份有限公司 一种基于深度学习和哈希编码的快速人脸检索方法
CN112287136B (zh) * 2020-09-25 2024-07-19 北京沃东天骏信息技术有限公司 图像特征索引库建立方法、相似图像确定方法
CN112528066B (zh) * 2020-12-18 2023-08-04 广东工业大学 基于注意力机制的商标检索方法、系统、计算机设备和存储介质
CN113139653B (zh) * 2021-03-18 2024-06-14 有米科技股份有限公司 用于图像哈希求解的神经网络训练方法及装置
CN113326393B (zh) * 2021-05-31 2023-04-07 深圳前瞻资讯股份有限公司 一种基于深度哈希特征和异构并行处理的图像检索方法
CN113420699A (zh) * 2021-07-02 2021-09-21 杭州海康威视数字技术股份有限公司 一种人脸匹配方法、装置及电子设备
CN113821670B (zh) * 2021-07-23 2024-04-16 腾讯科技(深圳)有限公司 图像检索方法、装置、设备及计算机可读存储介质
CN114724003A (zh) * 2022-03-15 2022-07-08 北京百度网讯科技有限公司 图像特征提取模型的训练方法、图像检索方法及装置
CN117556273B (zh) * 2024-01-05 2024-04-05 支付宝(杭州)信息技术有限公司 一种通过多图形处理器计算对比损失的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512289A (zh) * 2015-12-07 2016-04-20 郑州金惠计算机系统工程有限公司 基于深度学习和哈希的图像检索方法
CN107092661A (zh) * 2017-03-28 2017-08-25 桂林明辉信息科技有限公司 一种基于深度卷积神经网络的图像检索方法
CN107256262A (zh) * 2017-06-13 2017-10-17 西安电子科技大学 一种基于物体检测的图像检索方法
WO2018109238A1 (es) * 2016-12-12 2018-06-21 Fundacion Tecnalia Research & Innovation Análisis de imágenes histológicas

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879813B1 (en) * 2013-10-22 2014-11-04 Eyenuk, Inc. Systems and methods for automated interest region detection in retinal images
US9971808B2 (en) * 2015-06-24 2018-05-15 International Business Machines Corporation Fast query processing in columnar databases with GPUs
CN107423376B (zh) * 2017-07-10 2019-12-27 上海媒智科技有限公司 一种有监督深度哈希快速图片检索方法及系统
CN107577990B (zh) * 2017-08-09 2020-02-18 武汉世纪金桥安全技术有限公司 一种基于gpu加速检索的大规模人脸识别方法
CN107679250B (zh) * 2017-11-01 2020-12-01 浙江工业大学 一种基于深度自编码卷积神经网络的多任务分层图像检索方法
CN108197707A (zh) * 2017-12-31 2018-06-22 厦门大学 基于全局误差重建的卷积神经网络的压缩方法
CN108280233A (zh) * 2018-02-26 2018-07-13 南京邮电大学 一种基于深度学习的视频gis数据检索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512289A (zh) * 2015-12-07 2016-04-20 郑州金惠计算机系统工程有限公司 基于深度学习和哈希的图像检索方法
WO2018109238A1 (es) * 2016-12-12 2018-06-21 Fundacion Tecnalia Research & Innovation Análisis de imágenes histológicas
CN107092661A (zh) * 2017-03-28 2017-08-25 桂林明辉信息科技有限公司 一种基于深度卷积神经网络的图像检索方法
CN107256262A (zh) * 2017-06-13 2017-10-17 西安电子科技大学 一种基于物体检测的图像检索方法

Also Published As

Publication number Publication date
CN108920720A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
CN108920720B (zh) 基于深度哈希和gpu加速的大规模图像检索方法
CN103336795B (zh) 基于多特征的视频索引方法
CN104036012B (zh) 字典学习、视觉词袋特征提取方法及检索系统
CN108280187B (zh) 一种基于卷积神经网络深度特征的分级图像检索方法
CN110222218B (zh) 基于多尺度NetVLAD和深度哈希的图像检索方法
CN104050247B (zh) 实现海量视频快速检索的方法
CN109086437A (zh) 一种融合Faster-RCNN和Wasserstein自编码器的图像检索方法
CN111027619B (zh) 一种基于忆阻器阵列的K-means分类器及其分类方法
CN110941734B (zh) 基于稀疏图结构的深度无监督图像检索方法
WO2013129580A1 (ja) 近似最近傍探索装置、近似最近傍探索方法およびそのプログラム
CN111177432B (zh) 一种基于分层深度哈希的大规模图像检索方法
CN103942571B (zh) 一种基于遗传规划算法的图形图像分类方法
CN109389151A (zh) 一种基于半监督嵌入表示模型的知识图谱处理方法和装置
WO2018015848A2 (en) Finding k extreme values in constant processing time
JP2009503732A (ja) 選択されたセグメントのビット平面表現を用いた連想マトリックス法、システムおよびコンピュータプログラム製品
CN110598022B (zh) 一种基于鲁棒深度哈希网络的图像检索系统与方法
CN104199923A (zh) 基于最优k均值哈希算法的大规模图像库检索方法
CN113515656B (zh) 一种基于增量学习的多视角目标识别与检索方法、及装置
KR101467707B1 (ko) 지식 베이스의 개체 매칭 방법 및 이를 위한 장치
CN115129949A (zh) 向量范围检索的方法、装置、设备、介质及程序产品
CN104933143A (zh) 获取推荐对象的方法及装置
CN113761359A (zh) 数据包推荐方法、装置、电子设备和存储介质
CN109933682A (zh) 一种基于语义与内容信息结合的图像哈希检索方法及系统
CN110674333B (zh) 基于多视图增强深度哈希的大规模图像高速检索方法
CN105183845A (zh) 一种结合语义特征的ervq图片索引与检索方法

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