CN109614510B - 一种图像检索方法、装置、图形处理器和存储介质 - Google Patents
一种图像检索方法、装置、图形处理器和存储介质 Download PDFInfo
- Publication number
- CN109614510B CN109614510B CN201811406387.5A CN201811406387A CN109614510B CN 109614510 B CN109614510 B CN 109614510B CN 201811406387 A CN201811406387 A CN 201811406387A CN 109614510 B CN109614510 B CN 109614510B
- Authority
- CN
- China
- Prior art keywords
- image
- similarity
- images
- sample
- sequence
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种图像检索方法、装置、图形处理器和存储介质。本发明实施例可以获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度;对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值;对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列;在候选图像序列中选出目标图像。由此,该方案对预存图像进行筛选,减少排序工作,仅需要对预存图像进行部分排序即可得到高质量的检索结果,缩短了图像检索的时间,减轻了资源占用,有效提高了图像检索效率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种图像检索方法、装置、图形处理器和存储介质。
背景技术
随着互联网技术的发展,图像检索已经成为一种应用广泛的检索方法,例如风景检索、人脸检索和/或车辆检索等等。目前,通用图像处理器上的图像检索主要是使用CUBLAS(Compute Unified Basic Linear Algebra Subprograms,统一计算基础线性代数子程序库),将待检索的基准图像与数据库中海量的待选图像进行特征匹配度计算,并依据特征匹配度对海量的待选图像进行完全排序,排序后选取图像序列中前预设数量的待选图像作为检索结果。
在对现有技术的研究和实践过程中,本发明的发明人发现,对数据库中的海量图像进行完全排序,需耗费大量的时间和资源,图像检索效率低。
发明内容
本发明实施例提供一种图像检索方法、装置、图形处理器和存储介质,旨在提高图像检索的效率。
本发明实施例提供一种图像检索方法,包括:
获取被检索图像与预存图像的图像特征信息,根据所述图像特征信息计算所述预存图像与被检索图像的相似度;
对所述预存图像进行抽样得到样本图像,根据所述样本图像的相似度确定相似度阈值;
对相似度数值大于所述相似度阈值的预存图像进行排序,得到候选图像序列;
在所述候选图像序列中选出目标图像。
在一些实施例中,所述根据所述样本图像的相似度确定相似度阈值,包括:
根据所述样本图像的相似度,对所述样本图像进行排序得到样本图像序列;
在所述样本图像序列中选出基准图像,将所述基准图像的相似度作为相似度阈值。
在一些实施例中,所述根据所述样本图像的相似度,对所述样本图像进行排序得到样本图像序列,包括:
对所述样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;
根据所述样本相似度的排序对应确定所述样本图像的排序,得到样本图像序列。
在一些实施例中,所述样本图像的相似度为预设位数的数组,所述对所述样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序,包括:
按照从最低位至最高位的顺序,逐级分别对所述样本图像相似度数组中各位次的数据求前缀和;
根据所述前缀和逐级确定所述样本图像相似度数组中各位次数据的排序结果位置;
根据所述排序结果位置确定所述样本图像相似度数组的排序,即为所述样本图像相似度的排序。
在一些实施例中,所述在所述样本图像序列中选出基准图像,包括:
按照相似度从高至低的排序,在所述样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
在一些实施例中,所述根据所述样本图像的相似度确定相似度阈值之前,还包括:
确定所述样本图像的相似度是否满足预设的随机分布条件;
若满足,则根据所述样本图像的相似度确定相似度阈值;
若不满足,则重新抽取样本图像,确定重抽的样本图像相似度是否满足预设的随机分布条件。
在一些实施例中,所述对相似度数值大于所述相似度阈值的预存图像进行排序,得到候选图像序列,包括:
筛选出相似度数值大于所述相似度阈值的预存图像,作为候选图像;
根据所述候选图像的相似度,对所述候选图像进行排序得到候选图像序列。
在一些实施例中,所述筛选出相似度数值大于所述相似度阈值的预存图像,作为候选图像,包括:
根据所述相似度阈值,对所述预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于所述相似度阈值的预存图像,作为候选图像。
在一些实施例中,所述在所述候选图像序列中选出目标图像,包括:
按照相似度从高至低的排序,在所述候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
在一些实施例中,所述获取被检索图像与预存图像的图像特征信息,之前包括:
接收输入的图像检索请求,确定对应的被检索图像;
若被检索图像数量达到预设数量,则针对各被检索图像,分别转入执行步骤获取被检索图像与预存图像的图像特征信息。
本发明实施例还提供一种图像检索装置,包括:
特征单元,用于获取被检索图像与预存图像的图像特征信息,根据所述图像特征信息计算所述预存图像与被检索图像的相似度;
阈值单元,用于对所述预存图像进行抽样得到样本图像,根据所述样本图像的相似度确定相似度阈值;
候选单元,用于对相似度数值大于所述相似度阈值的预存图像进行排序,得到候选图像序列;
结果单元,用于在所述候选图像序列中选出目标图像。
本发明实施例还提供一种图形处理器,包括运算器、存储器及存储在所述存储器上并且可由所述运算器执行的图像检索程序,所述运算器执行所述图像检索程序时实现本发明实施例所提供的任一图像检索方法中的步骤。
本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一图像检索方法中的步骤。
本发明实施例通过获取被检索图像与预存图像的图像特征信息,以根据所述图像特征信息计算所述预存图像与被检索图像的相似度;然后,对所述预存图像进行抽样得到样本图像,根据所述样本图像的相似度确定相似度阈值,用于对预存图像机型筛选;对相似度数值大于所述相似度阈值的预存图像进行排序,得到候选图像序列;在所述候选图像序列中选出目标图像。该方案在进行图像检索时,通过对预存图像进行抽样,确定相似度阈值,以初步对海量的预存图像进行过滤筛选,剔除相似度较低或不符合预期的图像,降低后期对预存图像排序的工作量,由此,该方案通过对相似度数值大于相似度阈值的部分预存图像进行排序,即可快速得到与被检索图像相似度较高的候选图像序列,进而得到高质量的图像检索结果。由此,该方案通过自动进行数据采样确定相似度阈值,作为预存图像排序结果的下界,对预存图像进行筛选,减少排序工作,仅需要对预存图像进行部分排序即可得到高质量的检索结果,缩短了图像检索的时间,减轻了资源占用,有效提高了图像检索效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的信息交互系统示意图;
图1b是本发明实施例提供的图像检索方法流程示意图;
图1c是本发明实施例提供的预存图像相似度的阈值筛选场景示意图;
图1d是本发明实施例提供的前缀和计算场景示意图;
图2是本发明实施例提供的另一图像检索方法流程示意图;
图3是本发明实施例提供的图像检索方法场景示意图;
图4a是本发明实施例提供的图像检索装置结构示意图;
图4b是本发明实施例提供的另一图像检索装置结构示意图;
图5是本发明实施例提供的服务器的结构示意图;
图6是本发明实施例提供的图形处理器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种图像检索方法、装置、图形处理器及存储介质。
本发明提供一种信息交互系统,该系统包括本发明实施例任一提供的图像检索装置,该图像检索装置可以集成在服务器等设备中;此外,该系统还可以包括其他设备,比如,客户端、图像库等。客户端可以是终端或个人计算机(PC,Personl Computer)等设备。图像库中存储着用于图像检索的预存图像,还可以存储着各预存图像的图像特征。
参考图1a,本发明实施例提供一种信息交互系统,包括图像检索装置、客户端和图像库。其中,图像检索装置和客户端连接,可接收用户通过客户端上传的被检索图像,或者获取客户端上传的被检索图像特征。图像检索装置和图像库连接,可从图像库中调取预存图像及其图像特征等。
当用户输入图像检索请求时,图像检索装置根据图像检索请求确定被检索图像,获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度;对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值;对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列;在候选图像序列中选出目标图像。
由此,该方案通过对预存图像进行抽样,确定相似度阈值,以初步对海量的预存图像进行过滤筛选,剔除相似度较低或不符合预期的图像,降低后期对预存图像排序的工作量,由此,该方案通过对相似度数值大于相似度阈值的部分预存图像进行排序,即可快速得到与被检索图像相似度较高的候选图像序列,进而得到高质量的图像检索结果,提高了图像检索效率。
上述图1a的例子只是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1a所示的系统结构,基于该系统架构,提出本发明各个实施例。
在本实施例中,将从图像检索装置的角度进行描述,该图像检索装置具体可以集成在服务器等设备中。
如图1b所示,该图像检索方法的具体流程可以如下:
101、获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度。
其中,被检索图像即为本次需要检索的图像,例如人脸图像或车牌图像等等。
被检索图像的图像特征信息是量化描述被检索图像的数据,可以是用户输入的,也可以是图像检索装置对用户输入的被检索图像进行图像特征提取而得到的。例如,图像检索装置可以提取被检索图像的名称、文字信息和/或索引等文字特征,作为其图像特征信息。当然,图像检索装置也可以提取被检索图像的内容特征,作为其图像特征信息。内容特征可以是多维特征向量,包括颜色特征、纹理特征和/或形状特征等内容,具体可根据实际需要灵活配置。
预存图像可以是图像库中的图像,可从中选出与被检索图像相同和/或相似的图像。
预存图像的特征信息是量化描述预存图像的数据,可以是预先配置的,也可以是图像检索装置当前根据预存图像提取的,本实施例以预存图像的图像特征信息是预先配置的进行举例说明。预存图像的图像特征信息可以文字特征和/或内容特征。
本实施例中,以被检索图像的内容特征,作为被检索图像的图像特征信息。并且,以预存图像的内容特征,作为预存图像的图像特征信息。例如,被检索图像和预存图像都使用基于区域的形状特征作为图像特征信息。
图像检索装置获取被检索图像和预存图像的图像特征信息后,需要分别计算各预存图像与被检索图像的相似度。
在一些实施例中,图像检索装置可以计算预存图像与被检索图像的特征余弦距离,作为预存图像与被检索图像的相似度。
例如,被检索图像的图像特征信息为X1,X1是K维特征向量;预存图像的图像特征信息为X2,X2也是K维特征向量。被检索图像与预存图像的特征余弦距离S可使用如下公式进行计算:
其中,|X1|为X1的欧几里得范数,|X2|为X2的欧几里得范数。
由此,计算得到的特征余弦距离S即为被检索图像与预存图像的相似度。需要说明的是,实际运算的过程中,被检索图像与预存图像的相似度可以是预设位数的数组,例如,32位单精度的数组。
由此,图像检索装置分别计算得到各预存图像与被检索图像的相似度。
102、对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值。
例如,图像检索装置可以随机在预存图像中抽取出预设数量的图像作为样本图像,以确定相似度阈值。
为了避免采样的样本图像相似度分布不随机,导致样本图像不能反映预存图像的整体情况,在一些实施例中,步骤“对预存图像进行抽样得到样本图像”之后,还包括:确定样本图像的相似度是否满足预设的随机分布条件;若满足,则根据样本图像的相似度确定相似度阈值;若不满足,则重新抽取样本图像,确定重选样本图像的相似度是否满足预设的随机分布条件。
其中,预设的随机分布条件包括数值区域条件和/或方差条件等,用于判断样本图像的相似度是否随机分布的。
数值区域条件是指样本图像的相似度数值所在的数值区域符合预设规则。预设的规则可以是样本图像的相似度数值不能全部位于零值区域,和/或样本图像的相似度数值至少分布在两个及以上的数值区域等。例如,图像检索装置可以根据样本图像的相似度数值以及预先划分的数值区域,将样本图像的相似度数值分配到对应的数值区域中;若样本图像的相似度数值所在的数值区域满足预设规则,则图像检索装置判定样本图像的相似度满足数值区域条件。例如,若样本图像的相似度数值全部为0,位于零值区域,则不符合预设规则。
方差条件是指样本图像的相似度数值方差不小于预设的方差阈值。若图像检索装置计算得到的样本图像相似度数值方差不小于预设的方差阈值,则判定样本图像的相似度满足方差条件。例如,预设的方差阈值为0.3,若样本图像的相似度数值方差大于0.3,则判定满足方差条件。
若随机分布条件包括数值区域条件,则图像检索装置检测到样本图像的相似度数值所在的数值区域符合预设规则时,确定样本图像的相似度满足预设的随机分布条件。
若随机分布条件包括方差条件,则图像检索装置检测到样本图像的相似度数值方差不小于预设的方差阈值时,确定样本图像的相似度满足预设的随机分布条件。
若随机分布条件包括数值区域条件和方差条件,则图像检索装置检测到样本图像的相似度数值所在的数值区域符合预设规则,并且数值方差不小于预设的方差阈值时,确定样本图像的相似度满足预设的随机分布条件。图像检索装置检测到样本图像的相似度数值所在的数值区域不符合预设规则,和/或数值方差小于预设的方差阈值时,确定样本图像的相似度不满足预设的随机分布条件。
若样本图像的相似度满足预设的随机分布条件,则说明样本图像具有一定的代表性,可根据样本图像的相似度确定相似度阈值,用于减轻对预存图像的排序压力和工作量。
例如,图像检索装置计算样本图像与被检索图像相似度的平均值,将该平均值作为相似度阈值;或,图像检索装置选取样本图像与被检索图像的相似度中间值作为相似度阈值。其中,中间值具体可通过如下方式获得:将样本图像与被检索图像的相似度以递增(或递减)的次序依次排列,若序列中相似度的总数量为奇数,则取序列中间的那个相似度数值为中间值;若序列中相似度的总数量为偶数,则取序列中中间两个数值的平均值为中间值。
由此,图像检索装置得到相似度阈值。
若样本图像的相似度不满足预设的随机分布条件,则说明当前的样本图像不具代表性,不是良好的采样,需要重新采样。图像检索装置舍弃本批次的样本图像,重新在预存图像中抽样,得到新的一批样本图像,并且,对重新抽样得到的样本图像相似度进行随机分布检测,确定是否满足预设的随机分布条件,直至抽样的样本图像相似度满足预设的随机分布条件。在确定样本图像后,图像检索装置根据样本图像与被检索图像的相似度确定相似度阈值。
103、对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列。
例如,步骤103可以包括:筛选出相似度数值大于相似度阈值的预存图像,作为候选图像;根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
具体地,图像检索装置可以通过数值的比较等方式,在预存图像中选出相似度数值大于该相似度阈值的预存图像,作为候选图像。也即,候选图像的相似度数值下界为该相似度阈值,相似度数值小于该相似度阈值的预存图像失去作为检索结果的资格,实现了对预存图像的初步过滤,降低需排序的预存图像的数量级。
例如图1c中,各预存图像的相似度数值分别依次为2、7、3、4、1、0、8、2、6、5、3、1、4、8、7和1。若相似度阈值为5.5,则图像检索装置将相似度数值大于5.5的预存图像筛选出来,包括相似度数值依次为7、8、6、8、和7的预存图像,作为筛选得到的候选图像。
在一些实施例中,实际的计算过程中预存图像的相似度和相似度阈值均为预设位数的数组,例如,32位单精度的数组,为了提升运算速度,步骤“筛选出相似度数值大于相似度阈值的预存图像,作为候选图像”可以包括:根据相似度阈值,对预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于相似度阈值的预存图像,作为候选图像。
例如,图像检索装置分别将各预存图像的相似度与相似度阈值进行基于前缀和的数据选择,实现对各预存图像相似度数值与相似度数值的并行比较。
具体地,图像检索装置将预存图像相似度数组中各位次的数值分别与相似度阈值数组中同一位次的数值进行比较,得到结果数值。例如,同一位次,若预存图像相似度数组中该位次的数值大于相似度阈值数组中该位次的数值,则结果数值取1;若预存图像相似度数组中该位次的数值小于或等于相似度阈值数组中该位次的数值,则结果数值取0,由此,得到各位次的结果数值。
然后,对各位次的结果数值求前缀和,例如,位次N的前缀和ZN为前N-1项的数值之和,可使用如下公式计算:
ZN=Z1+……+ZN-1。
其中,Z1是位次1对应的数值,ZN-1是位次N-1对应的数值。
例如图1d中,各位次的结果数值分别为0、1、1、0、1、0、1和1。使用上述公式计算得到,第一位数值0的前缀和为0,第二位数值1的前缀和为1,第三位数值1的前缀和为2,第四位数值0的前缀和为2,第五位数值1的前缀和为3,第六位数值0的前缀和为3,第七位数值1的前缀和为4,第八位数值1的前缀和为5。由此,得到各位次的结果数值的前缀和,依次分别为0、1、2、2、3、3、4和5。
由此,图像检索装置分别计算各位次的结果数值的前缀和,得到前缀和数组。需要说明的是,各位次结果数值的前缀和即为预存图像相似度数组中各位次数值对应的排序结果。
然后,图像检索装置根据预存图像相似度数组中各位次数值对应的排序结果,对预存图像相似度数组与相似度阈值数组进行排序,得到预存图像相似度数值与相似度阈值的比较结果。若预存图像相似度数组的排序相较于相似度阈值数组排序靠前,则预存图像的相似度数值大于相似度阈值;若预存图像相似度数组的排序相较于相似度阈值数组排序靠后,则预存图像的相似度数值小于相似度阈值。
通过基于前缀和的并行数据选择,本实施例实现了对海量预存图像的相似度快速并行检测,充分利用了运算资源,节约了大量的运算时间。
在得到各预存图像相似度数值与相似度阈值的比较结果后,图像检索装置将相似度数值大于相似度阈值的预存图像作为候选图像。通过相似度阈值的筛选,剔除了部分与被检索图像相似度较低的预存图像,候选图像是全部预存图像中与被检索图像比较近似的,减轻了后续预存图像的排序工作量,提高了图像检索速度。
然后,图像检索装置根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
例如,图像检索装置可以使用并行双调排序等排序方法,对候选图像的相似度进行排序。在得到候选图像相似度的排序后,图像检索图像可对应确定各候选图像的排序,根据各候选图像的排序对各候选图像进行排序,得到候选图像序列。
由此,候选图像序列即为按照相似度数值从高至低的顺序依次排列的各候选图像。本实施例仅需要对部分预存图像进行排序操作,即可得到与被检索图像内容最接近的候选图像序列,减轻了大量无用的排序工作量。
104、在候选图像序列中选出目标图像。
其中,目标图像即为对被检索图像的检索结果,可以理解为预存图像中与被检索图像最为相似的一张或多张图像。
例如,图像检索装置可以将候选图像序列中的全部候选图像作为目标图像,或者,图像检索装置也可以将候选图像序列中排序首位的候选图像作为目标图像。
在一些实施例中,步骤104可以包括:按照相似度从高至低的排序,在候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
其中,预设排序区间内的候选图像是指排序位于该排序区间内的候选图像。例如,预设的排序区间为[1,k],则排序为1、1至k之间的全体实数以及k的候选图像,均为预设排序区间的候选图像。由此,得到排序前k个的候选图像。
得到目标图像后,图像检索装置可以通过显示装置例如显示屏等,按照相似度从高到低的排序,显示目标图像。
由上可知,本发明实施例通过获取被检索图像与预存图像的图像特征信息,以根据图像特征信息计算预存图像与被检索图像的相似度;然后,对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值,用于对预存图像机型筛选;对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列;在候选图像序列中选出目标图像。该方案在进行图像检索时,通过对预存图像进行抽样,确定相似度阈值,以初步对海量的预存图像进行过滤筛选,剔除相似度较低或不符合预期的图像,降低后期对预存图像排序的工作量,由此,该方案通过对相似度数值大于相似度阈值的部分预存图像进行排序,即可快速得到与被检索图像相似度较高的候选图像序列,进而得到高质量的图像检索结果。由此,该方案通过自动进行数据采样确定相似度阈值,作为预存图像排序结果的下界,对预存图像进行筛选,减少排序工作,仅需要对预存图像进行部分排序即可得到高质量的检索结果,缩短了图像检索的时间,减轻了资源占用,有效提高了图像检索效率。
根据前面实施例所描述的方法,以下将举例作进一步详细说明。
例如,参照图2,在本实施例中,将以该图像检索装置具体集成在服务器中进行说明。
201、获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度。
例如,服务器获取预设的被检索图像与预存图像的图像特征信息,根据图像特征信息分别计算各预存图像与被检索图像的相似度。具体实施方式可参照上述图像检索方法实施例101中的描述,在此不再赘述。
202、对预存图像进行抽样得到样本图像。
具体实施方式可参照上述图像检索方法实施例201中的描述,在此不再赘述。
203、根据样本图像的相似度,对样本图像进行排序得到样本图像序列。
例如,服务器可以根据相似度数值的大小,按照从高到低的顺序,对样本图像的相似度进行排序,进而根据样本图像的相似度排序确定样本图像的排序,得到样本图像序列。
在一些实施例中,图像检索装置可以使用并行双调排序等排序方法,对样本图像的相似度进行排序。
在一些实施例中,由于在实际运算的过程中,样本图像的相似度为预设位数的数组,例如32单精度的数组,则步骤203可以包括:对样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;根据样本相似度的排序对应确定样本图像的排序,得到样本图像序列。
例如,服务器可以按照从最低位至最高位的顺序,逐级分别对样本图像相似度数组中各位次的数据求前缀和;根据前缀和逐级确定样本图像相似度数组中各位次数据的排序结果位置;根据排序结果位置确定样本图像相似度数组的排序,即为样本图像相似度的排序。
其中,排序结果位置即为写入排序结果的位置。
具体地,按照从低位至高位的顺序,服务器从最低位次开始,对各样本图像相似度数组中最低位次的数据求前缀和,得到的前缀和即为各样本图像相似度数组中最低位次数据的排序结果位置。为便于区分,本实施例中,将最低位次数据的排序结果位置作为第一排序结果位置。服务器可根据第一排序结果位置,将各样本图像相似度数组中最低位次的分别数据写入对应的位置。
然后,服务器对各样本图像相似度数组中最低位次前一位的数据求前缀和,得到第二排序结果位置。服务器可根据第二排序位置,将各样本图像相似度数组中最低位次及前一位的数据写入对应的位置。
以此类推,服务器逐级分别根据样本图像相似度数组中各位次的数据前缀和确定排序结果位置,在最高位得到的排序结果位置即为样本图像相似度数组的排序,由此,得到了样本图像相似度数组的排序,实现了对多个样本图像的并行排序。
本实施例中,并行基数排序可以拆解为多次并行数据选择,基数排序中每一比特的排序过程,都可以视为两次数据选择操作。也即,将数值为1的数据进行一次筛选后放置于数组前段,数值为0的数据进行第二次筛选后放置于数组后段,实现对相似度数组的一次扫描和完成单个比特的排序。因此,本实施例中的基数排序可以通过前缀和的操作实现并行化操作。
服务器得到的样本图像相似度数组的排序,即为样本图像相似度的排序。需要说明的是,得到的样本图像相似度的排序是按照相似度数值从高到低排列的。
然后,服务器根据样本相似度的排序对应确定各样本图像的排序,得到样本图像序列。需要说明的是,样本图像序列中的样本图像是按照相似度数值从高到低排列的。
204、在样本图像序列中选出基准图像,将基准图像的相似度作为相似度阈值。
例如,服务器可以在样本图像序列中选取排序为中间值的样板图像作为基准图像,基准图像的相似度即为相似度阈值。具体地,若样本图像的总数为奇数a,则排序为(a+1)÷2的样本图像即为基准图像;若样本图像的总数为偶数a,则排序为a÷2或a÷2+1或a÷2-1的样本图像即为基准图像。
在一些实施例中,步骤“在样本图像序列中选出基准图像”可以包括:按照相似度从高至低的排序,在样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
例如,预设数值为K,则服务器可以将排序为第K个的样本图像作为基准图像,则其相似度即为相似度阈值。
205、筛选出相似度数值大于相似度阈值的预存图像,作为候选图像。
具体实施方式可参照上述图像检索方法实施例103中的描述,在此不再赘述。
206、根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
例如,图像检索装置可以对候选图像的相似度进行基于前缀和的并行基数排序,得到候选图像相似度的排序;根据候选图像相似度的排序对应确定候选图像的排序,得到候选图像序列。
具体地,候选图像相似度为预设位数的数组,基于前缀和的并行基数排序可以是图像检索装置按照从最低位至最高位的顺序,逐级分别对候选图像相似度数组中各位次的数据求前缀和;根据前缀和逐级确定候选图像相似度数组中各位次数据的排序结果位置;根据排序结果位置确定候选图像相似度数组的排序,即为候选图像相似度的排序,实现对候选图像的并行排序。
需要说明的是,得到的候选图像相似度的排序是按照数值由高向低的排序。因此,候选图像序列中的候选图像是按照相似度数值由高相抵排列的。
206、按照相似度从高至低的排序,在候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
在一些实施例中,预设排序区间内的最大序列值与步骤204中的K值相同,也即,预设排序区间为[1,K]。
由此,本实施例可以通过保持样本图像和候选图像排序规模的一致,减小缓存空间的大小,降低处理器设备的使用,提高单设备的最大排序规模,检索成本相对于现有技术较低。
由上可知,本发明实施例通过两次部分排序,实现了对海量预存图像的数量降级。由于样本图像对海量预存图像的代表性,因此,根据样本图像确定的相似度阈值可以有效的剔除相似度较低的预存图像,也即剔除与被检索图像内容不太相似的部分预存图像。进而,仅对筛选得到的候选图像进行排序,即可得到作为检索结果的目标图像,不仅保障了检索得到的目标图像质量,还减轻了服务的工作量,提高了图像检索效率。另外,通过基于前缀和的并行基数排序,不仅能够高性能的进行数据处理,而且降低了数据处理的成本,相对于现有技术实现了高性价比的图像排序,进而提升图像检索效率。
根据前面实施例所描述的方法,以下将举例作进一步详细说明。
例如,参照图3,在本实施例中,将以该图像检索装置具体集成在GPU(GraphicsProcessing Unit,图形处理器)中进行说明,可充分利用GPU的高访存带宽提升图像检索性能。
(一)、获取输入的图像检索请求。
例如,用户可以上传被检索图像,输入对该被检索图像的检索请求。
GPU接收输入的图像检索请求,确定被检索图像。
在一些实施例中,GPU可以接收输入的图像检索请求,确定对应的被检索图像;若被检索图像数量达到预设数量,则针对各被检索图像,分别转入执行步骤“获取被检索图像与预存图像的图像特征信息”及后续步骤,以实现批量图像的并行检索,从而在后续的图像检索处理过程中,充分发挥GPU的设备性能,提高检索效率。
其中,预设数量可以是16、32或64等预设数值。
(二)、批量合并缓存。
GPU可以将确定的被检索图像与此前确定的被检索图像进行批量合并,并缓存。
(三)、确定是否达到预设的数量。
GPU可以检测已缓存的被检索图像数量是否大于或等于预设的数量。
若被检索图像的数量等于预设的数量,则可以并行对各被检索图像分别进行相似度的计算,开始进行图像检索。
若被检索图像的数量小于预设的数量,则GPU继续获取输入的图像检索请求,将被检索图像进行批量合并缓存,直至缓存的被检索图像数量达到预设的数量。
(四)、计算相似度。
需要说明的是,多个被检索图像的检索是在GPU中并行执行的。本实施例中以单个图像的图像检索方法为例进行举例说明。
GPU可以获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度。其中,预存图像是预设的图像库中的图像,预存图像的图像特征可以是预先提取的。被检索图像的图像特征可以是GPU根据被检索图像提取的。
(五)、随机采样。
GPU可以根据预设的数量需求,对预存图像进行随机抽样,得到样本图像。
例如,预存图像的数量为N个,样本图像的数量需求为Ns个,则GPU可以通过随机抽样,在预存图像中提取出Ns个样本图像,作为本次的采样。
(六)、评估采样是否合格。
GPU可以确定样本图像的相似度是否满足预设的随机分布条件,若满足,则确定采样合格;若不满足,则确定采样不合格。
例如,GPU计算Ns个样本图像的相似度方差,若相似度方差大于或等于预设的方差阈值,则判定样本图像的相似度满足预设的随机分布条件,本次采样合格,可以进行样本图像排序。若相似度方差小于预设的方差阈值,则判定样本图像的相似度不满足预设的随机分布条件,本次采样不合格,GPU重新对预存图像进行随机抽样,并对随机抽样的样本图像进行评估,直至样本图像的相似度满足预设的随机分布条件,评估合格。
(七)、样本图像排序。
GPU可以根据样本图像的相似度,对样本图像进行排序得到样本图像序列。
具体地,GPU可以对样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;根据样本相似度的排序对应确定样本图像的排序,得到样本图像序列。
例如,GPU对Ns个样本图像进行基于前缀和的并行基数排序,得到样本图像相似度的排序,进而得到样本图像序列。
(八)、确定相似度阈值。
GPU可以在样本图像序列中选出基准图像,将基准图像的相似度作为相似度阈值。具体地,GPU可以按照相似度从高至低的排序,在样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
例如,预设数值为K,则GPU可以按照相似度从高至低的顺序,在样本图像序列中选出排序为第K个的样本图像,作为基准图像,该基准图像的相似度即为相似度阈值。
(九)、根据相似度阈值选取候选图像。
GPU可以在预存图像中筛选出相似度数值大于相似度阈值的预存图像,作为候选图像。具体地,GPU可以根据相似度阈值,对预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于相似度阈值的预存图像,作为候选图像。
例如,GPU根据相似度阈值,对N个预存图像进行基于前缀和的并行数据选择,得到Nc个相似度数值大于相似度阈值的预存图像,则该Nc个预存图像即为候选图像。
(十)、对候选图像进行排序。
GPU可以根据候选图像的相似度,对候选图像进行排序得到候选图像序列。具体地,GPU可以对候选图像的相似度进行基于前缀和的并行基数排序,得到候选图像相似度的排序;根据候选图像相似度的排序对应确定候选图像的排序,得到候选图像序列。
例如,GPU对Nc个候选图像进行基于前缀和的并行基数排序,得到候选图像相似度的排序,进而得到候选图像序列。
(十一)、确定检索结果。
GPU可以按照相似度从高至低的排序,在候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
例如,预设排序区间为[1,K],则GPU可以将候选图像序列中排序第1个至第K个候选图像全部作为目标图像,通过显示设备,按照相似度从高到低的顺序显示。
本发明实施例中,图像检索过程的时间复杂度T(f(N))可使用如下公式计算:
T(f(N))=T(fs(Ns))+T(fc(N))+T(fs(Nc))(公式一)。
其中,T(fs(Ns))为样本图像基于前缀和的并行基数排序时间复杂度,T(fc(N))对预存图像进行基于前缀和的并行数据选择时间复杂度,T(fs(Nc))为对候选图像进行基于前缀和的并行基数排序时间复杂度。
若预存图像的相似度为32位单精度数组,则公式一可转换为如下公式:
T(f(N))=T(32Ns)+T(N)+T(32Nc)=O(Ns)+O(N)+O(Nc)
(公式二)。
可以看出,本发明实施例中提供的图像检索方法相对于现有技术,时间复杂度较低,检索效率较高。经过实验,在图像特征维度为1024时,采用本发明实施例提供的图像检索方法,在品牌NVIDIA型号P40单卡上检索1600万数量级的预存图像库时,QPS(Quest PerSecond,每秒查询率)达到350,是现有技术的3倍以上。
由上可知,本发明实施例通过对样本图像和候选图像进行排序,实现了两次部分排序替代对海量预存图像的全部排序,降低了排序工作的数量级,提高了图像检索效率。本发明实施例有效利用GPU设备高访存带宽优势,进行批量图像的并行检索,尤其适用于高并发量的图像检索,实现了GPU的高效图像检索,能够提升GPU设备进行图像检索的性能,降低应用部署成本。因此,本发明实施例不仅能够有序处理高并发量的图像检索,还能提高在海量预存图像中进行图像检索的性能。并且,采用本发明实施例提供的图像检索方法,单服务器可扩展多块GPU,平摊服务器设备成本。而且,本发明实施例提供的图像检索方法也适用于多核、众核架构的设备,通用性强。相较于现有的图像检索方法,本发明实施例的图像检索方法在相同设备的情况下能够提升大幅检索QPS,在相同的QPS要求下可降低应用部署成本。
为了实施以上方法,本发明实施例还提供一种图像检索装置,该图像装置具体可以集成在网络设备如服务器或个人计算机等设备中。
例如,如图4a所示,该图像检索装置可以包括特征单元401、阈值单元402、候选单元403和结果单元404,如下:
(一)、特征单元401:
特征单元401,用于获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度。
其中,被检索图像即为本次需要检索的图像,例如人脸图像或车牌图像等等。
被检索图像的图像特征信息是量化描述被检索图像的数据,可以是用户输入的,也可以是特征单元401对用户输入的被检索图像进行图像特征提取而得到的。
预存图像可以是图像库中的图像,可从中选出与被检索图像相同和/或相似的图像。预存图像的特征信息是量化描述预存图像的数据,可以是预先配置的,也可以是特征单元401当前根据预存图像提取的。
特征单元401获取被检索图像和预存图像的图像特征信息后,需要分别计算各预存图像与被检索图像的相似度。
在一些实施例中,特征单元401可以计算预存图像与被检索图像的特征余弦距离,作为预存图像与被检索图像的相似度。需要说明的是,实际运算的过程中,被检索图像与预存图像的相似度可以是预设位数的数组,例如,32位单精度的数组。
(二)、阈值单元402:
阈值单元402,用于对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值。
例如,阈值单元402可以随机在预存图像中抽取出预设数量的图像作为样本图像,以确定相似度阈值。
为了避免采样的样本图像相似度分布不随机,导致样本图像不能反映预存图像的整体情况,在一些实施例中,阈值单元402还用于:确定样本图像的相似度是否满足预设的随机分布条件;若满足,则根据样本图像的相似度确定相似度阈值;若不满足,则重新抽取样本图像,确定重抽的样本图像相似度是否满足预设的随机分布条件。
其中,预设的随机分布条件包括数值区域条件和/或方差条件等,用于判断样本图像的相似度是否随机分布的。
数值区域条件是指样本图像的相似度数值所在的数值区域符合预设规则。预设的规则可以是样本图像的相似度数值不能全部位于零值区域,和/或样本图像的相似度数值至少分布在两个及以上的数值区域等。例如,阈值单元402可以根据样本图像的相似度数值以及预先划分的数值区域,将样本图像的相似度数值分配到对应的数值区域中;若样本图像的相似度数值所在的数值区域满足预设规则,则阈值单元402判定样本图像的相似度满足数值区域条件。例如,若样本图像的相似度数值全部为0,位于零值区域,则不符合预设规则。
方差条件是指样本图像的相似度数值方差不小于预设的方差阈值。若阈值单元402计算得到的样本图像相似度数值方差不小于预设的方差阈值,则判定样本图像的相似度满足方差条件。例如,预设的方差阈值为0.3,若样本图像的相似度数值方差大于0.3,则判定满足方差条件。
若样本图像的相似度满足预设的随机分布条件,则说明样本图像具有一定的代表性,可根据样本图像的相似度确定相似度阈值,用于减轻对预存图像的排序压力和工作量。
然后,阈值单元402根据样本图像的相似度确定相似度阈值。
在一些实施例中,阈值单元402具体用于:根据样本图像的相似度,对样本图像进行排序得到样本图像序列;在样本图像序列中选出基准图像,将基准图像的相似度作为相似度阈值。
例如,阈值单元402可以根据相似度数值的大小,按照从高到低的顺序,对样本图像的相似度进行排序,进而根据样本图像的相似度排序确定样本图像的排序,得到样本图像序列。
在一些实施例中,阈值单元402可以使用并行双调排序等排序方法,对样本图像的相似度进行排序。
在一些实施例中,由于在实际运算的过程中,样本图像的相似度为预设位数的数组,例如32单精度的数组,则阈值单元402具体可以用于:对样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;根据样本相似度的排序对应确定样本图像的排序,得到样本图像序列。
例如,阈值单元402可以按照从最低位至最高位的顺序,逐级分别对样本图像相似度数组中各位次的数据求前缀和;根据前缀和逐级确定样本图像相似度数组中各位次数据的排序结果位置;根据排序结果位置确定样本图像相似度数组的排序,即为样本图像相似度的排序。
其中,排序结果位置即为写入排序结果的位置。
具体地,按照从低位至高位的顺序,阈值单元402从最低位次开始,对各样本图像相似度数组中最低位次的数据求前缀和,得到的前缀和即为各样本图像相似度数组中最低位次数据的排序结果位置。为便于区分,本实施例中,将最低位次数据的排序结果位置作为第一排序结果位置。阈值单元402可根据第一排序结果位置,将各样本图像相似度数组中最低位次的分别数据写入对应的位置。
然后,阈值单元402对各样本图像相似度数组中最低位次前一位的数据求前缀和,得到第二排序结果位置。阈值单元402可根据第二排序位置,将各样本图像相似度数组中最低位次及前一位的数据写入对应的位置。
以此类推,阈值单元402逐级分别根据样本图像相似度数组中各位次的数据前缀和确定排序结果位置,在最高位得到的排序结果位置即为样本图像相似度数组的排序,由此,得到了样本图像相似度数组的排序,实现了对多个样本图像的并行排序。
本实施例中,并行基数排序可以拆解为多次并行数据选择,基数排序中每一比特的排序过程,都可以视为两次数据选择操作。也即,将数值为1的数据进行一次筛选后放置于数组前段,数值为0的数据进行第二次筛选后放置于数组后段,实现对相似度数组的一次扫描和完成单个比特的排序。因此,本实施例中的基数排序可以通过前缀和的操作实现并行化操作。
阈值单元402得到的样本图像相似度数组的排序,即为样本图像相似度的排序。需要说明的是,得到的样本图像相似度的排序是按照相似度数值从高到低排列的。
然后,阈值单元402根据样本相似度的排序对应确定各样本图像的排序,得到样本图像序列。需要说明的是,样本图像序列中的样本图像是按照相似度数值从高到低排列的。
然后,阈值单元402在样本图像序列中选出基准图像,将基准图像的相似度作为相似度阈值。例如,阈值单元402可以在样本图像序列中选取排序为中间值的样板图像作为基准图像,基准图像的相似度即为相似度阈值。
在一些实施例中,阈值单元402具体可以用于:按照相似度从高至低的排序,在样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
例如,预设数值为K,则阈值单元402可以将排序为第K个的样本图像作为基准图像,则其相似度即为相似度阈值。
由此,阈值单元402得到相似度阈值。
若样本图像的相似度不满足预设的随机分布条件,则说明当前的样本图像不具代表性,不是良好的采样,需要重新采样。阈值单元402舍弃本批次的样本图像,重新在预存图像中抽样,得到新的一批样本图像,并且,对重新抽样得到的样本图像相似度进行随机分布检测,确定是否满足预设的随机分布条件,直至抽样的样本图像相似度满足预设的随机分布条件。在确定样本图像后,阈值单元402根据样本图像与被检索图像的相似度确定相似度阈值。
(三)、候选单元403:
候选单元403,用于对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列。
例如,候选单元403具体可以用于:筛选出相似度数值大于相似度阈值的预存图像,作为候选图像;根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
具体地,候选单元403可以通过数值的比较等方式,在预存图像中选出相似度数值大于该相似度阈值的预存图像,作为候选图像。也即,候选图像的相似度数值下界为该相似度阈值,相似度数值小于该相似度阈值的预存图像失去作为检索结果的资格,实现了对预存图像的初步过滤,降低需排序的预存图像的数量级。
在一些实施例中,实际的计算过程中预存图像的相似度和相似度阈值均为预设位数的数组,例如,32位单精度的数组,为了提升运算速度,候选单元403具体可以用于:根据相似度阈值,对预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于相似度阈值的预存图像,作为候选图像。
例如,候选单元403分别将各预存图像的相似度与相似度阈值进行基于前缀和的数据选择,实现对各预存图像相似度数值与相似度数值的并行比较。
具体地,候选单元403将预存图像相似度数组中各位次的数值分别与相似度阈值数组中同一位次的数值进行比较,得到结果数值。例如,同一位次,若预存图像相似度数组中该位次的数值大于相似度阈值数组中该位次的数值,则结果数值取1;若预存图像相似度数组中该位次的数值小于或等于相似度阈值数组中该位次的数值,则结果数值取0,由此,得到各位次的结果数值。
然后,对各位次的结果数值求前缀和,例如,位次N的前缀和ZN为前N-1项的数值之和,可使用如下公式计算:
ZN=Z1+……+ZN-1。
其中,Z1是位次1对应的数值,ZN-1是位次N-1对应的数值。
由此,候选单元403分别计算各位次的结果数值的前缀和,得到前缀和数组。需要说明的是,各位次结果数值的前缀和即为预存图像相似度数组中各位次数值对应的排序结果。
然后,候选单元403根据预存图像相似度数组中各位次数值对应的排序结果,对预存图像相似度数组与相似度阈值数组进行排序,得到预存图像相似度数值与相似度阈值的比较结果。若预存图像相似度数组的排序相较于相似度阈值数组排序靠前,则预存图像的相似度数值大于相似度阈值;若预存图像相似度数组的排序相较于相似度阈值数组排序靠后,则预存图像的相似度数值小于相似度阈值。
通过基于前缀和的并行数据选择,本实施例实现了对海量预存图像的相似度快速并行检测,充分利用了运算资源,节约了大量的运算时间。
在得到各预存图像相似度数值与相似度阈值的比较结果后,候选单元403将相似度数值大于相似度阈值的预存图像作为候选图像。通过相似度阈值的筛选,剔除了部分与被检索图像相似度较低的预存图像,候选图像是全部预存图像中与被检索图像比较近似的,减轻了后续预存图像的排序工作量,提高了图像检索速度。
然后,候选单元403根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
例如,候选单元403可以使用并行双调排序等排序方法,对候选图像的相似度进行排序。在得到候选图像相似度的排序后,候选单元403可对应确定各候选图像的排序,根据各候选图像的排序对各候选图像进行排序,得到候选图像序列。
由此,候选图像序列即为按照相似度数值从高至低的顺序依次排列的各候选图像。本实施例仅需要对部分预存图像进行排序操作,即可得到与被检索图像内容最接近的候选图像序列,减轻了大量无用的排序工作量。
在一些实施例中,候选单元403可以对候选图像的相似度进行基于前缀和的并行基数排序,得到候选图像相似度的排序;根据候选图像相似度的排序对应确定候选图像的排序,得到候选图像序列。
具体地,候选图像相似度为预设位数的数组,基于前缀和的并行基数排序可以是候选单元403按照从最低位至最高位的顺序,逐级分别对候选图像相似度数组中各位次的数据求前缀和;根据前缀和逐级确定候选图像相似度数组中各位次数据的排序结果位置;根据排序结果位置确定候选图像相似度数组的排序,即为候选图像相似度的排序,实现对候选图像的并行排序。
需要说明的是,得到的候选图像相似度的排序是按照数值由高向低的排序。因此,候选图像序列中的候选图像是按照相似度数值由高相抵排列的。
(四)、结果单元404。
结果单元404,用于在候选图像序列中选出目标图像。
其中,目标图像即为对被检索图像的检索结果,可以理解为预存图像中与被检索图像最为相似的一张或多张图像。
例如,结果单元404可以将候选图像序列中的全部候选图像作为目标图像,或者,结果单元404也可以将候选图像序列中排序首位的候选图像作为目标图像。
在一些实施例中,结果单元404具体可以用于:按照相似度从高至低的排序,在候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
其中,预设排序区间内的候选图像是指排序位于该排序区间内的候选图像。例如,预设的排序区间为[1,k],则排序为1、1至k之间的全体实数以及k的候选图像,均为预设排序区间的候选图像。由此,得到排序前k个的候选图像。
得到目标图像后,结果单元404可以通过显示装置例如显示屏等,按照相似度从高到低的排序,显示目标图像。
由上可知,本发明实施例通过特征单元401获取被检索图像与预存图像的图像特征信息,以根据图像特征信息计算预存图像与被检索图像的相似度;然后,阈值单元402对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值,用于对预存图像机型筛选;候选单元403对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列;结果单元404在候选图像序列中选出目标图像。该方案在进行图像检索时,通过对预存图像进行抽样,确定相似度阈值,以初步对海量的预存图像进行过滤筛选,剔除相似度较低或不符合预期的图像,降低后期对预存图像排序的工作量,由此,该方案通过对相似度数值大于相似度阈值的部分预存图像进行排序,即可快速得到与被检索图像相似度较高的候选图像序列,进而得到高质量的图像检索结果。由此,该方案通过自动进行数据采样确定相似度阈值,作为预存图像排序结果的下界,对预存图像进行筛选,减少排序工作,仅需要对预存图像进行部分排序即可得到高质量的检索结果,缩短了图像检索的时间,减轻了资源占用,有效提高了图像检索效率。
此外,图像检索装置还可以包括缓存单元405,例如,如图4b所示,该图像检索装置可以包括特征单元401、阈值单元402、候选单元403、结果单元404和请求单元405。
其中,请求单元405,用于接收输入的图像检索请求,确定对应的被检索图像;若被检索图像数量达到预设数量,则针对各被检索图像,特征单元401、阈值单元402、候选单元403、结果单元404分别并行执行对各被检索图像的检索处理。
其中,预设数量可以是16、32或64等预设数值。
则请求单元405在收到图像检索请求后,确定其对应请求的被检索图像。然后,请求单元405检测当前被检索图像的数量是否达到预设数量。若达到,则请求单元405将各被检索图像发送给特征单元401,由特征单元401并行执行各被检索图像与预存图像相似度的计算。后续,阈值单元402并行执行各被检索图像相似度阈值的获取,候选单元403并行执行各被检索图像对应的候选图像的获取和处理,结果单元404并行确定各被检索图像的目标图像。
由此,实现了对批量图像的并行检索,尤其适用于高并发量的图像检索。本发明图像检索装置实施例不仅能够有序处理高并发量的图像检索,还能提高在海量预存图像中进行图像检索的性能,提高了图像检索效率。
本发明实施例还提供一种服务器,如图5所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元505等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如图像检索程序等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
服务器还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器501会按照如下的指令,将图像检索程序对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度;对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值;对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列;在候选图像序列中选出目标图像。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
根据样本图像的相似度,对样本图像进行排序得到样本图像序列;在样本图像序列中选出基准图像,将基准图像的相似度作为相似度阈值。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
对样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;根据样本相似度的排序对应确定样本图像的排序,得到样本图像序列。
样本图像的相似度为预设位数的数组,处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
按照从最低位至最高位的顺序,逐级分别对样本图像相似度数组中各位次的数据求前缀和;根据前缀和逐级确定样本图像相似度数组中各位次数据的排序结果位置;根据排序结果位置确定样本图像相似度数组的排序,即为样本图像相似度的排序。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
按照相似度从高至低的排序,在样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
确定样本图像的相似度是否满足预设的随机分布条件;若满足,则根据样本图像的相似度确定相似度阈值;若不满足,则重新抽取样本图像,确定重抽的样本图像相似度是否满足预设的随机分布条件。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
筛选出相似度数值大于相似度阈值的预存图像,作为候选图像;根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
根据相似度阈值,对预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于相似度阈值的预存图像,作为候选图像。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
按照相似度从高至低的排序,在候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
处理器501还可以运行存储在存储器502中的应用程序,实现如下功能:
接收输入的图像检索请求,确定对应的被检索图像;若被检索图像数量达到预设数量,则针对各被检索图像,分别转入执行步骤获取被检索图像与预存图像的图像特征信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本发明实施例还提供一种图形处理器,如图6所示,其示出了本发明实施例所涉及的图形处理器的结构示意图,具体来讲:
该图形处理器至少包括运算器601、存储器602及存储在存储器上并且可由运算器执行的图像检索程序,运算器601执行图像检索程序时实现下步骤:
获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度;对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值;对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列;在候选图像序列中选出目标图像。
运算器601执行图像检索程序时,还可以实现下步骤:
根据样本图像的相似度,对样本图像进行排序得到样本图像序列;在样本图像序列中选出基准图像,将基准图像的相似度作为相似度阈值。
运算器601执行图像检索程序时,还可以实现下步骤:
对样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;根据样本相似度的排序对应确定样本图像的排序,得到样本图像序列。
样本图像的相似度为预设位数的数组,运算器601执行图像检索程序时,还可以实现下步骤:
按照从最低位至最高位的顺序,逐级分别对样本图像相似度数组中各位次的数据求前缀和;根据前缀和逐级确定样本图像相似度数组中各位次数据的排序结果位置;根据排序结果位置确定样本图像相似度数组的排序,即为样本图像相似度的排序。
运算器601执行图像检索程序时,还可以实现下步骤:
按照相似度从高至低的排序,在样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
运算器601执行图像检索程序时,还可以实现下步骤:
确定样本图像的相似度是否满足预设的随机分布条件;若满足,则根据样本图像的相似度确定相似度阈值;若不满足,则重新抽取样本图像,确定重抽的样本图像相似度是否满足预设的随机分布条件。
运算器601执行图像检索程序时,还可以实现下步骤:
筛选出相似度数值大于相似度阈值的预存图像,作为候选图像;根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
运算器601执行图像检索程序时,还可以实现下步骤:
根据相似度阈值,对预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于相似度阈值的预存图像,作为候选图像。
运算器601执行图像检索程序时,还可以实现下步骤:
按照相似度从高至低的排序,在候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
运算器601执行图像检索程序时,还可以实现下步骤:
接收输入的图像检索请求,确定对应的被检索图像;若被检索图像数量达到预设数量,则针对各被检索图像,分别转入执行步骤获取被检索图像与预存图像的图像特征信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种图像检索方法中的步骤。例如,该指令可以执行如下步骤:
获取被检索图像与预存图像的图像特征信息,根据图像特征信息计算预存图像与被检索图像的相似度;对预存图像进行抽样得到样本图像,根据样本图像的相似度确定相似度阈值;对相似度数值大于相似度阈值的预存图像进行排序,得到候选图像序列;在候选图像序列中选出目标图像。
该指令可以执行还实现下步骤:
根据样本图像的相似度,对样本图像进行排序得到样本图像序列;在样本图像序列中选出基准图像,将基准图像的相似度作为相似度阈值。
该指令可以执行还实现下步骤:
对样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;根据样本相似度的排序对应确定样本图像的排序,得到样本图像序列。
样本图像的相似度为预设位数的数组,该指令可以执行还实现下步骤:
按照从最低位至最高位的顺序,逐级分别对样本图像相似度数组中各位次的数据求前缀和;根据前缀和逐级确定样本图像相似度数组中各位次数据的排序结果位置;根据排序结果位置确定样本图像相似度数组的排序,即为样本图像相似度的排序。
该指令可以执行还实现下步骤:
按照相似度从高至低的排序,在样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
该指令可以执行还实现下步骤:
确定样本图像的相似度是否满足预设的随机分布条件;若满足,则根据样本图像的相似度确定相似度阈值;若不满足,则重新抽取样本图像,确定重抽的样本图像相似度是否满足预设的随机分布条件。
该指令可以执行还实现下步骤:
筛选出相似度数值大于相似度阈值的预存图像,作为候选图像;根据候选图像的相似度,对候选图像进行排序得到候选图像序列。
该指令可以执行还实现下步骤:
根据相似度阈值,对预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于相似度阈值的预存图像,作为候选图像。
该指令可以执行还实现下步骤:
按照相似度从高至低的排序,在候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
该指令可以执行还实现下步骤:
接收输入的图像检索请求,确定对应的被检索图像;若被检索图像数量达到预设数量,则针对各被检索图像,分别转入执行步骤获取被检索图像与预存图像的图像特征信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种图像检索方法中的步骤,因此,可以实现本发明实施例所提供的任一种图像检索方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种图像检索方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种图像检索方法,其特征在于,包括:
当接收到图像检索请求时,确定所述图像检索请求对应的被检索图像,并将所述被检索图像存储在缓存中;
若所述缓存中的被检索图像的数量不小于预设数量,则获取被检索图像与预存图像的图像特征信息,根据所述图像特征信息计算所述预存图像与被检索图像的相似度;
对所述预存图像进行抽样得到样本图像,根据所述样本图像与所述被检索图像之间的相似度确定相似度阈值;
对相似度数值大于所述相似度阈值的预存图像进行排序,得到候选图像序列;
在所述候选图像序列中选出目标图像。
2.如权利要求1所述的方法,其特征在于,所述根据所述样本图像的相似度确定相似度阈值,包括:
根据所述样本图像的相似度,对所述样本图像进行排序得到样本图像序列;
在所述样本图像序列中选出基准图像,将所述基准图像的相似度作为相似度阈值。
3.如权利要求2所述的方法,其特征在于,所述根据所述样本图像的相似度,对所述样本图像进行排序得到样本图像序列,包括:
对所述样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序;
根据所述样本相似度的排序对应确定所述样本图像的排序,得到样本图像序列。
4.如权利要求3所述的方法,其特征在于,所述样本图像的相似度为预设位数的数组,所述对所述样本图像的相似度进行基于前缀和的并行基数排序,得到样本图像相似度的排序,包括:
按照从最低位至最高位的顺序,逐级分别对所述样本图像相似度数组中各位次的数据求前缀和;
根据所述前缀和逐级确定所述样本图像相似度数组中各位次数据的排序结果位置;
根据所述排序结果位置确定所述样本图像相似度数组的排序,即为所述样本图像相似度的排序。
5.如权利要求2所述的方法,其特征在于,所述在所述样本图像序列中选出基准图像,包括:
按照相似度从高至低的排序,在所述样本图像序列中选出排序为预设数值的样本图像,作为基准图像。
6.如权利要求1所述的方法,其特征在于,所述根据所述样本图像的相似度确定相似度阈值之前,还包括:
确定所述样本图像的相似度是否满足预设的随机分布条件;
若满足,则根据所述样本图像的相似度确定相似度阈值;
若不满足,则重新抽取样本图像,确定重抽的样本图像相似度是否满足预设的随机分布条件。
7.如权利要求1所述的方法,其特征在于,所述对相似度数值大于所述相似度阈值的预存图像进行排序,得到候选图像序列,包括:
筛选出相似度数值大于所述相似度阈值的预存图像,作为候选图像;
根据所述候选图像的相似度,对所述候选图像进行排序得到候选图像序列。
8.如权利要求7所述的方法,其特征在于,所述筛选出相似度数值大于所述相似度阈值的预存图像,作为候选图像,包括:
根据所述相似度阈值,对所述预存图像的相似度进行基于前缀和的并行数据选择,得到相似度数值大于所述相似度阈值的预存图像,作为候选图像。
9.如权利要求1所述的方法,其特征在于,所述在所述候选图像序列中选出目标图像,包括:
按照相似度从高至低的排序,在所述候选图像序列中选出预设排序区间内的候选图像,作为目标图像。
10.如权利要求1-9任一项所述的方法,其特征在于,所述获取被检索图像与预存图像的图像特征信息,之前包括:
接收输入的图像检索请求,确定对应的被检索图像;
若被检索图像数量达到预设数量,则针对各被检索图像,分别转入执行步骤获取被检索图像与预存图像的图像特征信息。
11.一种图像检索装置,其特征在于,包括:
特征单元,用于当接收到图像检索请求时,确定所述图像检索请求对应的被检索图像,并将所述被检索图像存储在缓存中;若所述缓存中的被检索图像的数量不小于预设数量,则获取被检索图像与预存图像的图像特征信息,根据所述图像特征信息计算所述预存图像与被检索图像的相似度;
阈值单元,用于对所述预存图像进行抽样得到样本图像,根据所述样本图像与所述被检索图像之间的相似度确定相似度阈值;
候选单元,用于对相似度数值大于所述相似度阈值的预存图像进行排序,得到候选图像序列;
结果单元,用于在所述候选图像序列中选出目标图像。
12.一种图形处理器,其特征在于,包括运算器、存储器及存储在所述存储器上并且可由所述运算器执行的图像检索程序,所述运算器执行所述图像检索程序时实现如权利要求1至10中任一项所述的图像检索方法中的步骤。
13.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至10任一项所述的图像检索方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811406387.5A CN109614510B (zh) | 2018-11-23 | 2018-11-23 | 一种图像检索方法、装置、图形处理器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811406387.5A CN109614510B (zh) | 2018-11-23 | 2018-11-23 | 一种图像检索方法、装置、图形处理器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109614510A CN109614510A (zh) | 2019-04-12 |
CN109614510B true CN109614510B (zh) | 2021-05-07 |
Family
ID=66005000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811406387.5A Active CN109614510B (zh) | 2018-11-23 | 2018-11-23 | 一种图像检索方法、装置、图形处理器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614510B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351332B (zh) * | 2019-05-30 | 2022-04-15 | 深圳壹账通智能科技有限公司 | 动态调整时间阈值的方法、装置、计算机设备和存储介质 |
CN112464011A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 数据检索方法及装置 |
CN112668597B (zh) * | 2019-10-15 | 2023-07-28 | 杭州海康威视数字技术股份有限公司 | 一种特征比对方法、装置及设备 |
CN111340082B (zh) * | 2020-02-19 | 2024-08-13 | 深圳市商汤科技有限公司 | 数据处理方法及装置、处理器、电子设备、存储介质 |
CN113535824B (zh) * | 2021-07-27 | 2024-06-07 | 杭州海康威视数字技术股份有限公司 | 数据搜索方法、装置、电子设备及存储介质 |
CN114422807B (zh) * | 2022-03-28 | 2022-10-21 | 麒麟软件有限公司 | 一种基于Spice协议的传输优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006097902A2 (en) * | 2005-03-18 | 2006-09-21 | Philips Intellectual Property & Standards Gmbh | Method of performing face recognition |
CN101847163A (zh) * | 2010-05-28 | 2010-09-29 | 广东工业大学 | 一种多特征融合的外观设计专利图像检索方法 |
CN103336801A (zh) * | 2013-06-20 | 2013-10-02 | 河海大学 | 基于多特征lsh索引组合的遥感图像检索方法 |
CN108763170A (zh) * | 2018-04-17 | 2018-11-06 | 佛山市顺德区中山大学研究院 | 常数工作空间并行构造后缀数组的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010504A1 (en) * | 2002-05-15 | 2004-01-15 | Hinrichs Steven H. | Custom sequence databases and methods of use thereof |
CN103714049B (zh) * | 2012-09-29 | 2017-10-03 | 北京音之邦文化科技有限公司 | 动态确认样本相似的方法及装置 |
CN106547744B (zh) * | 2015-09-16 | 2020-11-06 | 杭州海康威视数字技术股份有限公司 | 一种图像检索方法及系统 |
CN106951484B (zh) * | 2017-03-10 | 2020-10-30 | 百度在线网络技术(北京)有限公司 | 图片检索方法及装置、计算机设备及计算机可读介质 |
-
2018
- 2018-11-23 CN CN201811406387.5A patent/CN109614510B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006097902A2 (en) * | 2005-03-18 | 2006-09-21 | Philips Intellectual Property & Standards Gmbh | Method of performing face recognition |
CN101847163A (zh) * | 2010-05-28 | 2010-09-29 | 广东工业大学 | 一种多特征融合的外观设计专利图像检索方法 |
CN103336801A (zh) * | 2013-06-20 | 2013-10-02 | 河海大学 | 基于多特征lsh索引组合的遥感图像检索方法 |
CN108763170A (zh) * | 2018-04-17 | 2018-11-06 | 佛山市顺德区中山大学研究院 | 常数工作空间并行构造后缀数组的方法及系统 |
Non-Patent Citations (1)
Title |
---|
双边滤波理论及其在遥感图像处理中的应用研究;蒋辉;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140915(第 09 期);I140-551 * |
Also Published As
Publication number | Publication date |
---|---|
CN109614510A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614510B (zh) | 一种图像检索方法、装置、图形处理器和存储介质 | |
US20200057958A1 (en) | Identification and application of hyperparameters for machine learning | |
US6163622A (en) | Image retrieval system | |
CN111913955A (zh) | 数据的排序处理装置、方法和存储介质 | |
CN110321448B (zh) | 一种图像检索方法、装置和存储介质 | |
CN110110113A (zh) | 图像搜索方法、系统及电子装置 | |
WO2022089467A1 (zh) | 视频数据的排序方法、装置、计算机设备和存储介质 | |
KR101971114B1 (ko) | 이미지 분석 방법 및 시스템 | |
CN112000467A (zh) | 一种数据倾斜处理方法、装置、终端设备及存储介质 | |
CN112380003A (zh) | 一种gpu处理器上的k-nn的高性能并行实现装置 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN110442749B (zh) | 视频帧处理方法及装置 | |
CN117056465A (zh) | 一种向量搜索方法、系统、电子设备和存储介质 | |
CN113761003A (zh) | 用户画像数据处理方法和装置、电子设备和可读存储介质 | |
US11403302B1 (en) | Quantile data sketches based on frequent data items | |
EP1089198A2 (en) | Content-based image searching | |
US20030004973A1 (en) | Random sampling as a built-in function for database administration and replication | |
CN111198847A (zh) | 一种适用于大数据集的数据并行处理方法、装置及系统 | |
CN105468603B (zh) | 数据选择方法及装置 | |
US10706055B2 (en) | Partition aware evaluation of top-N queries | |
CN114757712A (zh) | 选址的推荐方法、装置、电子设备和可读存储介质 | |
CN110415006B (zh) | 广告点击率预估方法和装置 | |
KR101963198B1 (ko) | 3차원 안면 정면화 시스템 및 방법 | |
CN111209428A (zh) | 图像检索方法、装置、设备及计算机可读存储介质 | |
CN112214627A (zh) | 搜索方法、可读存储介质和电子设备 |
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 |