一种无监督图像深度哈希检索方法及系统

文档序号:1904697 发布日期:2021-11-30 浏览:10次 >En<

阅读说明:本技术 一种无监督图像深度哈希检索方法及系统 (Unsupervised image depth hash retrieval method and system ) 是由 李阳 王亚鹏 王家宝 苗壮 赵昕昕 张睿 李航 于 2021-08-20 设计创作,主要内容包括:本发明公开了一种无监督图像深度哈希检索方法及系统,包括:将待检索图像输入预先得到的哈希特征提取网络,得到该图像的哈希码;计算与哈希码数据库中图像的哈希码的汉明距离并排序,汉明距离越小检索排名越靠前,输出排名最靠前的图像作为检索结果。本发明能够解决现有基于卷积神经网络无监督深度哈希图像检索方法无法有效学习全局特征以及缺少注意力机制的问题。(The invention discloses an unsupervised image depth hash retrieval method and a system, wherein the unsupervised image depth hash retrieval method comprises the following steps: inputting an image to be retrieved into a pre-obtained Hash feature extraction network to obtain a Hash code of the image; and calculating and sequencing the Hamming distance of the Hash codes of the images in the Hash code database, wherein the smaller the Hamming distance is, the more the retrieval rank is, and outputting the image with the most top rank as a retrieval result. The method can solve the problems that the existing unsupervised depth Hash image retrieval method based on the convolutional neural network cannot effectively learn global features and lacks attention mechanism.)

一种无监督图像深度哈希检索方法及系统

技术领域

本发明涉及一种无监督图像深度哈希检索方法及系统,属于计算机视觉与图像检索技术领域。

背景技术

随着互联网上图像数据的急剧增长,如何在数以万亿的图像数据库中快速检索到内容相似的数据成为图像检索技术的核心问题。图像检索的性能体现在两个方面:检索速度与检索精度。由于图像哈希特征在图像检索中不但可以保持较高检索精度,同时能满足大规模检索的速度要求,因此被广泛应用于各类大规模图像检索系统中。

根据图像哈希特征学习过程的不同,通常图像哈希特征学习可分为有监督学习和无监督学习。目前,有监督哈希学习方法中,基于深度卷积神经网络的方法应用最广。虽然该方法可以实现高精度快速查询,但由于有监督深度学习过程中需要大量的有标签数据,需要耗费大量的人工标注时间,代价十分昂贵。因此,基于无标签数据的深度无监督哈希学习方法成为当前的研究热点,受到广泛关注。

当前,图像无监督深度哈希学习方法中,都是依赖于卷积神经网络作为模型进行学习。例如,申请号为201710071669.3,公开号为CN106980641A的中国专利中提出了一种基于卷积神经网络构建三元组损失的无监督图像哈希学习方法。虽然该方法通过三元组损失可以进一步提升哈希模型的检索精度,但由于卷积神经网络本身缺乏全局特征学习能力以及缺乏注意力机制,因此其学习性能依然存在局限性。

综上所述,虽然现有的基于卷积神经网络的无监督深度哈希检索方法避免了大量标注图像的成本,同时具有较好的检索性能和检索速度。但与有监督深度哈希方法的检索精度相比,此类方法仍存在较大差距。如何充分发挥无监督学习模型自身的学习能力,进一步提升无监督深度哈希检索性能,已成为研究者们关注的重点。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种无监督图像深度哈希检索方法及系统,以解决现有基于卷积神经网络无监督深度哈希图像检索方法无法有效学习全局特征以及缺少注意力机制的问题。为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种无监督图像深度哈希检索方法,包括:

获取待检索图像;

将待检索图像输入预先得到的哈希特征提取网络,得到该图像的哈希码;计算与哈希码数据库中图像的哈希码的汉明距离并排序,汉明距离越小检索排名越靠前,输出排名最靠前的图像作为检索结果;

其中所述哈希特征提取网络和哈希码数据库是通过以下步骤得到的:

获取无标签图像数据,利用获取到的图像数据构建样本对;

基于构建的样本对,利用预设的损失函数采用梯度更新和动量更新对预先构建的无监督对比哈希学习网络进行参数更新;

选取更新完成的无监督对比哈希学习网络中利用梯度更新的分支作为哈希特征提取网络;

将获取到的无标签图像数据输入所述哈希特征提取网络,得到图像的二值哈希特征,合并生成哈希码数据库。

结合第一方面,进一步地,所述预先构建的无监督对比哈希学习网络,包括两个结构相同参数不同的视觉Transformer模型,在两个视觉Transformer模型输出层后,嵌入哈希编码层。

结合第一方面,进一步地,所述视觉Transformer模型包含多头自注意力模块和多层神经网络模块。

结合第一方面,优选地,所述多头自注意力模块和多层神经网络模块为ViT模型结构。

结合第一方面,进一步地,所述预设的损失函数为:

(1)式中,表示损失函数;表示对比损失;表示量化损失;α表示之间的权重;

对比损失通过下式计算得到:

(2)式中,q表示一个样本数据;k+表示正例样本;τ表示温度系数;M表示用于计算对比损失样本总个数;Φ表示用于抽取特征的视觉Transformer模型;

量化损失通过下式计算得到:

(3)式中,bi表示二值化哈希编码特征,满足bi=tanh(Φ(xi));hi表示哈希编码量化前的深度特征;K表示哈希特征编码长度。

结合第一方面,优选地,所述用于计算对比损失样本总个数M通常设置为4096。

结合第一方面,进一步地,所述梯度更新和动量更新满足:

ξ←ηξ+(1-η)θ (4)

(4)式中,θ表示梯度更新的网络参数;ξ表示动量更新的网络参数;η表示衰减率,取值范围为[0,1]。

结合第一方面,进一步地,所述利用获取到的图像数据构建样本对,包括:

将一张无标签图像按照从上到下从左到右的顺序切分为包含部分重叠/不重叠区域的n个小块,该包含n块图像的序列作为训练样本q;随机打乱n块图像序列后构成的长度为n的序列,作为训练样本q的正例样本k+

结合第一方面,优选地,所述将一张无标签图像按照从上到下从左到右的顺序切分为包含部分重叠/不重叠区域,能够切分为固定大小的256个图像块。

第二方面,本发明提供了一种无监督图像深度哈希检索系统,包括:

获取模块:用于获取待检索图像;

检索模块:用于将待检索图像输入预先得到的哈希特征提取网络,得到该图像的哈希码;计算与哈希码数据库中图像的哈希码的汉明距离并排序,汉明距离越小检索排名越靠前,输出排名最靠前的图像作为检索结果;

其中,所述检索模块包括构建模块:用于构建哈希特征提取网络和哈希码数据库。

结合第二方面,进一步地,所述构建模块包括:

样本对构建组件:用于获取无标签图像数据,利用获取到的图像数据构建样本对;

训练组件:用于基于构建的样本对,利用预设的损失函数采用梯度更新和动量更新对预先构建的无监督对比哈希学习网络进行参数更新;

第一输出组件:用于选取更新完成的无监督对比哈希学习网络中利用梯度更新的分支作为哈希特征提取网络;

第二输出组件:用于将获取到的无标签图像数据输入所述哈希特征提取网络,得到图像的二值哈希特征,合并生成哈希码数据库。

第三方面,本发明提供了一种无监督图像深度哈希检索装置,其特征在于,包括处理器及存储介质;

所述存储介质用于存储指令;

所述处理器用于根据所述指令进行操作以执行第一方面所述方法的步骤。

第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。

与现有技术相比,本发明实施例所提供的一种无监督图像深度哈希检索方法及系统所达到的有益效果包括:

本发明将待检索图像输入预先得到的哈希特征提取网络,得到该图像的哈希码;计算与哈希码数据库中图像的哈希码的汉明距离并排序,汉明距离越小检索排名越靠前,输出排名最靠前的图像作为检索结果;所述哈希特征提取网络具有多头注意力学习机制能够更好的学习图像的全局特征,具有更好的哈希特征表示学习能力;

本发明利用损失函数采用梯度更新和动量更新对无监督对比哈希学习网络进行参数更新;选取利用梯度更新的分支作为哈希特征提取网络;将获取到的无标签图像数据输入所述哈希特征提取网络,得到图像的二值哈希特征,合并生成哈希码数据库;在学习过程中梯度更新和动量更新相互配合进行参数更新,能够进一步提升学习的效果,提升哈希编码的精度;能够解决现有基于卷积神经网络无监督深度哈希图像检索方法无法有效学习全局特征以及缺少注意力机制的问题,能够更好的完成图像检索任务。

附图说明

图1是本发明实施例1提供的一种无监督图像深度哈希检索方法的流程图;

图2是本发明实施例1提供的一种无监督图像深度哈希检索方法中无监督对比哈希学习网络的参数更新示意图;

图3是本发明实施例1提供的一种无监督图像深度哈希检索方法中检索示意图;

图4是本发明实施例1使用32比特和48比特哈希码,在CIFAR-10数据集上的检索结果。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例一:

如图1所示,一种无监督图像深度哈希检索方法,包括:

获取待检索图像I;

将待检索图像I输入预先得到的哈希特征提取网络H(.),得到该图像的哈希码H(I);计算H(I)与哈希码数据库中图像的哈希码的汉明距离并排序,汉明距离越小检索排名越靠前,输出排名最靠前的图像作为检索结果;

其中所述哈希特征提取网络H(.)和哈希码数据库是通过以下步骤得到的:

获取无标签图像数据,利用获取到的图像数据构建样本对;

基于构建的样本对,利用预设的损失函数采用梯度更新和动量更新对预先构建的无监督对比哈希学习网络进行参数更新;

选取更新完成的无监督对比哈希学习网络中利用梯度更新的分支作为哈希特征提取网络H(.);

将获取到的无标签图像数据输入所述哈希特征提取网络H(.),得到图像的二值哈希特征,合并生成哈希码数据库。

获取哈希特征提取网络H(.)和哈希码数据库的具体步骤包括:

步骤1:获取无标签图像数据,利用获取到的图像数据构建样本对。

需要说明的是,无标签数据获取十分容易且内容没有任何限制。能够利用网络爬虫在互联网上抓取大量无标签图像数据,也能够从大量视频中截取画面获得,或者通过采集设备进行拍摄收集。

在构建样本对过程中,将一张无标签图像按照从上到下从左到右的顺序切分为包含部分重叠/不重叠区域的n个小块,该包含n块图像的序列作为训练样本q;随机打乱n块图像的序列后构成的长度为n的序列,作为训练样本q的正例样本k+

步骤2:如图2所示,构建无监督对比哈希学习网络。

无监督对比哈希学习网络用于提取样本对的特征并转化为二值哈希特征,包括两个结构相同参数不同的视觉Transformer模型,在两个视觉Transformer模型输出层后,嵌入哈希编码层。

需要说明的是,视觉Transformer模型包含多头自注意力模块和多层神经网络模块为ViT模型结构;具体地,ViT模型结构的相关方法见Alexey Dosovitskiy,Lucas Beyer,Alexander Kolesnikov,et.al,An Image is Worth 16x16 Words:Transformers forImage Recognition at Scale[C]//International Conference on LearningRepresentations,2021。

步骤3:如图2所示,基于构建的样本对,利用预设的损失函数采用梯度更新和动量更新对预先构建的无监督对比哈希学习网络进行参数更新。

该预设的损失函数包括对比损失和量化损失两部分,其中对比损失用于实现无监督对比学习,量化损失可以保证哈希码更好的逼近图像的实值特征,两种损失相互配合对参数进行更新。具体的:

(1)式中,表示损失函数;表示对比损失;表示量化损失;α表示之间的权重;

对比损失通过下式计算得到:

(2)式中,q表示一个样本数据;k+表示正例样本;τ表示温度系数;M表示用于计算对比损失样本总个数,M通常设置为4096;Φ表示用于抽取特征的视觉Transformer模型;

量化损失通过下式计算得到:

(3)式中,bi表示二值化哈希编码特征,满足bi=tanh(Φ(xi));hi表示哈希编码量化前的深度特征;K表示哈希特征编码长度。

采用不同的更新策略对无监督对比哈希学习网络两个分支进行参数更新。具体的,一个分支采用梯度更新,另一个分支采用动量更新。如果按照梯度更新的参数为θ,按照动量更新的参为ξ,则两者之间的关系为:

ξ←ηξ+(1-η)θ (4)

(4)式中,η为衰减率,其取值范围为[0,1]。

双分支结构采用了两种不同的更新策略,能够进一步提升学习的效果,提升哈希编码的精度。

步骤4:选取更新完成的无监督对比哈希学习网络中利用梯度更新的分支作为哈希特征提取网络H(.)。将获取到的无标签图像数据输入所述哈希特征提取网络H(.),得到图像的二值哈希特征,合并生成哈希码数据库。

如图3所示为检索过程,具体包括如下步骤:

步骤1:获取待检索图像I。

步骤2:将待检索图像I输入预先得到的哈希特征提取网络H(.),得到该图像的哈希码H(I);计算H(I)与哈希码数据库中图像的哈希码的汉明距离并排序,汉明距离越小检索排名越靠前,输出排名最靠前的图像作为检索结果。

需要说明的是,在图像检索阶段,如图4所示,使用32比特和48比特哈希码,在CIFAR-10数据集上得到相应的检索结果。

实施例二:

本实施例提供了一种无监督图像深度哈希检索系统,包括:

获取模块:用于获取待检索图像I;

检索模块:用于将待检索图像I输入预先得到的哈希特征提取网络H(.),得到该图像的哈希码H(I);计算H(I)与哈希码数据库中图像的哈希码的汉明距离并排序,汉明距离越小检索排名越靠前,输出排名最靠前的图像作为检索结果;

其中,检索模块包括构建模块:用于构建哈希特征提取网络H(.)和哈希码数据库。

构建模块包括:

样本对构建组件:用于获取无标签图像数据,利用获取到的图像数据构建样本对;

训练组件:用于基于构建的样本对,利用预设的损失函数采用梯度更新和动量更新对预先构建的无监督对比哈希学习网络进行参数更新;

第一输出组件:用于选取更新完成的无监督对比哈希学习网络中利用梯度更新的分支作为哈希特征提取网络H(.);

第二输出组件:用于将获取到的无标签图像数据输入所述哈希特征提取网络H(.),得到图像的二值哈希特征,合并生成哈希码数据库。

实施例三:

本发明实施例提供一种无监督图像深度哈希检索装置,包括处理器及存储介质;

所述存储介质用于存储指令;

所述处理器用于根据所述指令进行操作以执行实施例一所述方法的步骤。

实施例四:

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据存储方法、装置、系统、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!