CN109165307B - 一种特征检索方法、装置和存储介质 - Google Patents
一种特征检索方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109165307B CN109165307B CN201811094210.6A CN201811094210A CN109165307B CN 109165307 B CN109165307 B CN 109165307B CN 201811094210 A CN201811094210 A CN 201811094210A CN 109165307 B CN109165307 B CN 109165307B
- Authority
- CN
- China
- Prior art keywords
- feature
- sample
- sample feature
- vector
- similarity
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种特征检索方法、装置和存储介质;本发明实施例可以获取待检索的特征向量;对多个样本特征向量进行划分,得到多个样本特征集;分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引;对特征向量在每个样本特征集中的最大相似度索引进行归并,得到特征向量对应的归并后索引;根据归并后索引对应的相似度,从归并后索引中选择特征向量的目标索引;根据目标索引进行特征检索,得到特征向量的特征检索结果;该方案可以在终端内存有限情况下,提升特征检索速度,从而提升特征检索效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种特征检索方法、装置和存储介质。
背景技术
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。采用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
目前人脸识别技术已经应用到各种场景中,比如,可以应用在门禁等场景中。具体地,终端可以采集当前用户的人脸图像,然后,对人脸图像进行识别,得到当前用户的身份,当用户的身份为预定身份时,则开启门禁。在人脸图像识别时,需要提取人脸图像的特征,并基于提取的特征进行特征检索,从而得到人脸图像的用户身份。
然而,由于终端硬件资源存在限制,比如,终端内存带宽大小受到限制,因此,在特征检索过程中,内存带宽往往会成为瓶颈,检索速度比较慢,从而导致检索效率较低。
发明内容
本发明实施例提供一种特征检索方法、装置和存储介质,可以提升检索效率。
本发明实施例提供一种特征检索方法,包括:
获取待检索的特征向量;
对多个样本特征向量进行划分,得到多个样本特征集;
分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引;
对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;
根据所述归并后索引对应的相似度,从所述归并后索引中选择所述特征向量的目标索引;
根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。
相应的,本发明实施例还提供一种特征检索装置,包括:
获取单元,用于获取待检索的特征向量;
划分单元,用于对多个样本特征向量进行划分,得到多个样本特征集;
索引获取单元,用于分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引;
归并单元,用于对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;
选择单元,用于根据所述归并后索引对应的相似度从所述归并后索引中选择所述特征向量的目标索引;
检索单元,用于根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。
此外,本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例提供的任一种特征检索方法中的步骤。
本发明实施例可以获取待检索的特征向量;对多个样本特征向量进行划分,得到多个样本特征集;分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引;对特征向量在每个样本特征集中的最大相似度索引进行归并,得到特征向量对应的归并后索引;根据归并后索引对应的相似度,从归并后索引中选择特征向量的目标索引;根据目标索引进行特征检索,得到特征向量的特征检索结果;由于该方案可以将样本特征向量(如特征库)划分成多个样本特征集,并且采用并行地的方式计算出特征向量在每个样本特征集中的最大相似度索引,因此,该方案可以在终端内存有限情况下,提升特征检索速度,从而提升特征检索效率、减少检索处理延迟。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的图像识别系统的场景示意图;
图1b是本发明实施例提供的特征检索方法的流程图;
图2a是本发明实施例提供的特征检索方法的另一流程图;
图2b是本发明实施例提供的并行特征检索示意图;
图2c是本发明实施例提供的内部数据存储器(IDM)的数据排布方式示意图;
图2d是本发明实施例提供的Ping Pong操作示意图;
图2e是本发明实施例提供的内部数据存储器(IDM)在Ping Pong操作下的数据排布方式示意图;
图3a是本发明实施例提供的特征检索装置的第一种结构示意图;
图3b是本发明实施例提供的特征检索装置的第二种结构示意图;
图3c是本发明实施例提供的特征检索装置的第三种结构示意图;
图4是本发明实施例提供的终端结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种特征检索方法、装置和存储介质。
本发明实施例提供了一种图像识别系统,包括本发明实施例任一提供的特征检索装置,该特征检索装置具体可以集成在终端中,该终端可以包括:小型计算终端设备(如图像处理盒子等)、手机、平板电脑、笔记本电脑或个人计算机(PC,Personal Computer)等。
此外,该图像识别系统还可以包括其他设备,比如图像采集设备,譬如,摄像头等。
例如,参考图1a,图像识别系统,包括终端和图像采集设备如摄像头设备,终端与图像采集设备连接。
其中,图像采集设备采集图像,并向终端发送采集到的图像;例如,摄像头可以实时向终端发送采集到的图像(如人脸图像等)。
终端可以从接收到的图像中提取相应的特征向量,得到待检索的特征向量;对多个样本特征向量进行划分,得到多个样本特征集(比如将特征数据库中特征向量划分成若干样本特征集等);分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引;对特征向量在每个样本特征集中的最大相似度索引进行归并,得到特征向量对应的归并后索引;根据归并后索引对应的相似度从归并后索引中选择目标索引;根据目标索引进行特征检索,得到特征向量的特征检索结果。终端还可以根据特征结果得到图像的类型,比如,人脸图像的用户身份信息等。
上述图1a的例子只是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1a所示的系统结构,基于该系统架构,提出本发明各个实施例。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
本实施例将从特征检索装置的角度进行描述,该特征检索装置具体可以集成在终端,该终端可以小型计算终端设备(如图像处理盒子等)、手机、平板电脑、笔记本电脑或个人计算机(PC,Personal Computer)等。
如图1b所示,提供了一种特征检索方法,该方法可以由终端的处理器执行,该特征检索方法的具体流程可以如下:
101、获取待检索的特征向量。
其中,特征向量为一个多维的特征向量,也即特征向量包括多个维度上的特征。比如,特征向量可以为P维特征向量,P为大于1的正整数。
其中,特征向量可以为图像的特征向量,比如,在图像识别中的待识别图像,该图像可以为人脸图像等。
因此,步骤“获取待检索的特征向量”可以包括:
对待识别图像进行特征提取,得到待识别图像的特征向量;
从待识别图像的特征向量中确定当前待检索的特征向量。
比如,可以直接将待识别图像的特征向量作为当前待检索的特征向量,又比如,当存在多个图像的特征向量时,可以从多个待识别图像的特征向量中选择当前待检索的特征向量。
其中,待识别图像可以从图像采集设备获取,比如,摄像头采集到图像并发送给特征检索装置。
本发明实施例中,待检索的特征向量数量可以为一个或者多个,当数量为1时,即对单个特征向量进行检索;当数量为多个时,即对多个特征向量进行检索,也就是批量检索。
通过批量检索的方式可以在读取一次特征库(存储有样本特征向量)的情况下,对多个待检索特征向量进行检索,由于特征检索计算时间相对于访存时间而言很小,因此,可以提升平均检索速度,比如,通过这种批量方式,若一次检索b个特征(b为大于1的正整数),总时间几乎不变,而平均检索速度近似增大了b倍。
由于批量检索在提高检索平均速度的同时,也降低了检索的实时性,因此,在一实施例中,为了提升检索的实时性,可以基于被检索数据的流量选择批量检索的个数,即选择待检索的特征向量数量。
本发明实施例中被检索数据的流量可以包括在预设时间段获取到的特征向量数量;此时,步骤“获取待检索的特征向量”,可以包括:
在预设时间段内获取多个特征向量;
根据在预设时间段内获取到的特征向量数量确定待检索的特征向量数量;
根据待检索的特征向量数量,从多个特征向量中确定待检索的特征向量。
在一实施例中,还可以基于预设时间段内获取到的特征向量数量计算出单位时间内获取到的特征向量数量(即特征向量获取频率),然后,根据特征向量获取频率确定待检索的特征向量数量;在另一实施例中,还可以直接基于特征向量数量确定待检索的特征向量数量。
在一实施例中,为了提升检索的实时性,可以当流量较大时,增大批量检索的个数;当流量较小时,减少批量检索的个数。当流量较大时,增大批量检索的个数,减少数据库的平均访问次数,从而提高平均检索速度;当流量较小时,采用单个检索或少批量检索,从而提高检索的实时性。
102、对多个样本特征向量进行划分,得到多个样本特征集。
其中,样本特征向量为一个多维的特征向量,也即样本特征向量包括多个维度上的样本特征。比如,样本特征向量可以为P维特征向量,P为大于1的正整数。
该样本特征向量同样为样本图像的特征向量,比如,可以为已知识别结果的样本图像的特征向量;譬如,已知身份的人脸图像的特征向量等等。
该样本特征向量可以预先存储在存储单元中,比如,可以存储在某个数据库中,该数据库可以称为特征数据库(简称特征库)。
本发明实施例,可以将特征库中样本特征向量划分成多个样本特征集,该样本特征集包括至少一个样本特征向量;比如,可以将特征库中N个P维的样本特征向量划分成多个样本特征集,N为正整数。
其中,特征向量的划分方式可以有多种,比如,在一实施例中,可以将样本特征向量等份成多个样本特征集,也即每个样本特征集包含的样本特征向量相等;在一实施例中,还可以将样本特征向量随机划分成多个样本特征集,其中,任意两个样本特征集包含的样本特征向量可以相等或者不相等。
为了提升特征检索速度和效率,本发明实施例可以采用并行地方式进行特征检索,比如,采用并行的方式分别计算特征向量在每个样本特征集中的相似度索引,然后,基于特征向量在每个样本特征集中的相似度索引进行特征检索。
具体地,可以采用多个加速器并行运算,比如,采用M个加速器并行地计算特征向量在每个样本特征集中的相似度索引,M为大于1的正整数。此时,可以根据并行运行的加速器个数对多个样本特征向量进行划分。
比如,在一实施例中,步骤“对多个样本特征向量进行划分,得到多个样本特征集”,可以包括:
根据并行运行的加速器个数对多个样本特征向量进行划分,得到多个样本特征集,其中,样本特征集的个数与加速器个数相等。
譬如,以特征库包括N个P维的样本特征向量、以及加速器个数为M为例,可以将N个P维的样本特征向量划分成M个样本特征集,或者等分成M个样本特征集(每个特征集的特征向量数量为N/M)。此外,在根据并行运行的加速器个数对多个样本特征向量进行划分,得到样本特征集时或之后,还可以将样本特征集分配给相应的加速器;比如,可以在切分特征库时将特征库中样本特征向量平均分配至各个加速器。其中,一个加速器对应一个样本特征集。
应当理解的是:步骤101和102的时序不受序号限制,在实际应用中,可以先执行步骤102然后执行步骤101,也可以同时执行步骤101和102。
103、分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引。
具体地,可以并行地根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引;也即采用并行地方式同时获取特征向量在每个样本特征集中的最大相似度索引。
比如,可以采用多个加速器并行地执行根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的相似度索引的过程。其中,加速器数量可以根据实际需求设定。
其中,相似度索引包括特征向量与样本特征集中某个样本特征向量之间的相似度的索引,该索引用于检索该相似度,通过该索引可以检索该相似度及其对应的样本特征向量等。
其中,特征向量在样本特征集中的最大相似度索引可以包括特征向量与样本特征集中样本特征向量之间的最大相似度的索引。
其中,最大相似度可以为特征向量在样本特征集中样本特征向量之间的最大的N个相似度,比如,最大相似度可以为特征向量在样本特征集中的topN相似度。此时,最大相似度索引可以为topN相似度的索引。
其中,topN相似度表示按照从大到小的顺序对相似度排序后,排在前N名的最大相似度。
其中,N为正整数,可以根据实际需求设定,比如,N=1,此时,最大相似度索引即为特征向量与样本特征集中样本特征向量之间的最大的一个相似度的索引;又比如,N=10,此时,最大相似度索引即为特征向量与样本特征集中样本特征向量之间的相似度中排名前十的最大相似度的索引。
本发明实施例,可以采用多个加速器并行地计算待检索特征向量在该加速器分配的样本特征集中的最大相似度索引。通过并行运行的方式可以提升特征检索的速度以及效率。
在一实施例中,为了解决终端内存有限的问题,从而进一步提升特征检索的速度,还可以采用分片读取方式读取样本特征集,也即,多次从样本特征集中读取相应数量的样本特征向量进行处理如计算相似度、更新最大相似度索引等。
比如,步骤“分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引”,可以包括:
从样本特征集中读取相应数量的样本特征向量,得到样本特征子集;
获取特征向量与样本特征子集中样本特征向量之间的相似度;
根据相似度对当前特征向量在样本特征集中的最大相似度索引进行更新;
确定样本特征集中所有特征向量是否均被读取;
若否,则返回从样本特征集中读取相应数量的样本的步骤;
若是,则输出特征向量在样本特征集中的最大相似度索引,得到特征向量在每个样本特征集中的候选相似度索引。
本发明实施例可以采用分片读取方式从样本特征集中读取相应数量的样本特征向量,对于每次读取的样本特征子集,计算待检索特征向量与子集中特征向量之间的相似度,并基于相似度对当前最大相似度索引进行更新;通过分片读取样本特征集样本特征向量,不断对特征向量在样本特征集中最大相似度索引循环更新,得到最终的最大相似度索引如最终topN相似度的索引。
比如,当某个加速器分配到样本特征集W0时,可以采用分片搬运方式从样本特征集W0中读取相应数量样本特征向量,比如,读取相应数量样本特征向量,得到样本特征子集W01,然后,计算待检索特征向量X与样本特征子集W01中向量之间的相似度,然后,基于相似度更新特征向量X在样本特征集W0中的最大相似度索引,如topN相似度的索引;加速器可以通过前述方式分多次搬运分配的特征集,并不断计算相似度,维护最大相似度索引,从而得到最终最大相似度索引。
实际应用中,对于每个加速器,待检索特征向量只读取一次,对于分配的样本特征集进行分片读取,这种方式可避免重复读取待检索特征造成访存时间的浪费,可以大大提升特征检索速度。同时,通过分片读取方式还可以解决片上数据存储器cache(芯片内高速缓存)容量有限的问题,也即终端内存容量有限的问题,以及提升了内存使用效率。
在一实施例中,可以将当前计算得到的相似度与当前最大相似度索引对应的相似度进行排序,并基于排序结果来更新当前最大相似度索引。比如,步骤“根据相似度对当前特征向量在样本特征集中的最大相似度索引进行更新”,可以包括:
对相似度与当前最大相似度索引对应的相似度进行排序,得到排序结果,最大相似度索引为特征向量在样本特征集中的最大相似度索引;
根据排序结果对当前最大相似度索引进行更新。
比如,可以从排序后相似度中选择最大相似度如topN相似度,并基于选择的最大相似度如topN相似度的索引对当前最大相似度索引如topN相似度索引进行更新;比如,可以将选择的最大相似度如topN相似度的索引直接作为当前最大相似度索引如topN相似度索引。
例如,以最大相似度为topN相似度为例,当某个加速器分配到样本特征集W0时,可以采用分片搬运方式从样本特征集W0中读取相应数量样本特征向量,比如,读取相应数量样本特征向量,得到样本特征子集W01,然后,计算待检索特征向量X与样本特征子集W01中向量之间的相似度;然后,对计算得到的相似度和topN相似度进行排序,从排序后相似度中选择topN相似度的索引作为特征向量X在特征样本特征集W0中的topN相似度索引。
在一实施例中,还可以从当前计算得到的相似度中选择最大相似度如topN相似度,并根据选择的最大相似度如topN相似度更新当前最大相似度索引。比如,可以将选择的最大相似度如topN相似度与当前最大相似度索引对应的相似度进行比较,根据比较结果更新当前最大相似度索引。
本发明实施例中,特征向量与样本特征向量之间的相似度可以有多种,比如,可以为余弦相似度。
其中,余弦相似度的可以基于向量乘积和向量的二范数来计算;比如,步骤“获取特征向量与样本特征子集中样本特征向量之间的相似度”,可以包括:
获取特征向量与样本特征子集中样本特征向量的向量乘积;
根据向量乘积、特征向量的二范数、以及样本特征向量的二范数,获取特征向量与样本特征子集中样本特征向量之间的余弦相似度。
比如,以计算p维特征向量X1与特征向量X2之间的余弦相似度为例;可以采用如下公式计算:
其中,||x||代表p维特征向量X的二范数:
本发明实施例中,在特征检索如数据库检索过程中,可以并行地执行:首先计算相似度矩阵,然后,基于相似度矩阵的相似度对最大相似度索引进行更新。
其中,计算相似度矩阵数学描述如下:
S=W·x,
其中,W是大小为N的特征库(比如,包括从分配给加速器的特征集中读取的子集),由N个归一化的p维特征向量组成;x是大小为p×b的b个待检索特征向量,在预处理阶段进行归一化;S是大小为N×b的相似度矩阵,包括每个索引对应的相似度值。
然后,根据相似度矩阵S对最大相似度索引如topN相似度索引进行更新。
在一实施例中,为了进一步提升特征检索速度,比如,当采用批量检索时如果增加批量检索个数时,计算时间相对访存时间的比重逐渐增大,降低了检索速度,因此,为了进一步提高检索速度,可以采用SIMD(Single Instruction Multiple Data,单指令多数据流)方式来计算相似度。
比如,步骤“获取特征向量与样本特征子集中样本特征向量的向量乘积”,可以包括:基于单指令流多数据流并行地计算特征向量与样本特征子集中样本特征向量的向量乘积。
实际应用中,通过SIMD,可以实现多个数据同时进行乘法运算,提升相似度的计算速度,发挥出加速器的最大运算性能,从而提升了特征检索速度。
在一实施例中,为了进一步提升特征检索速度,比如,当采用批量检索时如果增加批量检索个数时,计算时间相对访存时间的比重逐渐增大,降低了检索速度,因此,为了进一步提高检索速度,还可以采用乒乓(Ping Pong)机制依次读取样本特征并对最大相似度索引进行更新。
比如,步骤“分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引”
基于乒乓机制依次从样本特征集中读取样本特征子集,并根据读取的样本特征子集与特征向量之间的相似度,对特征向量在样本特征集中的最大相似度索引进行更新,得到特征向量在每个样本特征集中的最大相似度索引。
其中,乒乓(Ping Pong)是通过多缓存区进行并行运算和数据拷贝的一种技术。通过pingpong操作可以提高数据处理的效率。
比如,在数据处理过程中,上一级处理的结果不能马上被下一级所处理完成,这样上一级必须等待下一级处理完成才可以送新的数据,这样就会对性能产生很大的损失。
引入pingpong后可以不去等待下一级处理结束,而是将结果保存在pong路的缓存中,pong路的数据准备好的时刻,ping路的数据也处理完毕(下一级),然后无需等待直接处理pong路数据,上一级也无需等待,转而将结果存储在ping路。这样便提高了处理效率。
具体地,基于乒乓(Ping Pong)读取样本特征子集,并更新索引的过程可以如下:
依次从样本特征集中读取样本特征子集;
当第i次读取完样本特征子集时,根据第i-1次读取的样本特征子集与特征向量之间的相似度,对特征向量在样本特征集中的最大相似度索引进行更新,其中,i为大于2的正整数。
其中,特征读取和最大相似度索引更新可以参考上述的描述。
比如,采用Ping Pong时,加速器可以根据预设时间间隔依次从样本特征集W0中读取样本特征子集W0i;当加速度第3次读取样本特征子集W03时,可以对第2次读取的样本特征子集W02进行处理,具体地,计算待检索特征向量X与样本特征子集W02中向量之间的相似度,根据相似度对最大相似度索引进行更新;同时还可以对第1次读取的数据处理的结果进行缓存,比如,存储第一次更新后的最大相似度索引及其相似度。
本发明实施例,通过Ping Pong操作可以使得部分特征库如W1在读取(即搬运)的同时,部分特征库W2可用于计算,可以提升特征检索速度和效率。W1、W2为特征库W中的部分特征。
104、对特征向量在每个样本特征集中的最大相似度索引进行归并,得到特征向量对应的归并后索引。
通过上述步骤可以获取待检索特征向量在每个样本特征集中的最大相似度索引,然后,可以对特征向量在每个样本特征集中的最大相似度索引进行归并。其中,归并包括合并去除处理,比如,可以对多个相似度相等的索引进行去重等。
例如,通过上述步骤可以获取待检索特征向量X在每个部分特征库Wi中的topN相似度索引,然后,所有t部分特征库Wi的topN相似度索引进行归并。
105、根据归并后索引对应的相似度,从归并后索引中选择特征向量的目标索引。
比如,基于相似度选择目标索引的方式可以包括多种,比如,可以选择相似度最高的归并后索引作为目标索引,或者,还可以选择相似度第二高的索引作为目标索引等等。
在一实施例中,可以基于归并后索引的相似度对归并后索引进行排序(如按照相似度从大到小的顺序排序),可以根据预定规则从排序后索引中选择相应的索引作为目标索引。比如,可以从归并后索引中选择topN相似度(即排名前N的相似度)的索引作为目标索引。
106、根据目标索引进行特征检索,得到特征向量的特征检索结果。
其中,目标索引的数量可以为一个或者多个,当目标索引为一个情况下,可以根据该索引进行特征检索,比如,根据该索引查询其对应的相似度、相似度对应的样本特征向量,获取样本特征向量对应的预设信息如用户身份信息等信息。
例如,可以通过目标索引检索到相应的样本特征向量及其对应的用户ID。
在一实施例中,当目标索引为多个情况下,可以根据每个索引进行特征检索,得到多个特征检索结果;然后,对多个特征检索结果进行融合,得到最终的特征检索结果。
例如,可以分别通过多个目标索引检索到相应的样本特征向量及其对应的用户ID,得到多个用户ID,然后,对用户ID进行融合得到最终的用户ID。
其中,融合方式可以包括多种,比如,投票法、也即选择数量最多的用户ID作为最终的用户ID;加权法,也即计算用户ID的加权和值,将加权和值与预设阈值进行比较,从而确定用户ID。
由上可知,本发明实施例获取待检索的特征向量;对多个样本特征向量进行划分,得到多个样本特征集;分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引;对特征向量在每个样本特征集中的最大相似度索引进行归并,得到特征向量对应的归并后索引;根据归并后索引对应的相似度,从归并后索引中选择特征向量的目标索引;根据目标索引进行特征检索,得到特征向量的特征检索结果。由于该方案可以将样本特征向量(如特征库)划分成多个样本特征集,并且采用并行地的方式计算出特征向量在每个样本特征集中的最大相似度索引,因此,该方案可以在终端内存有限情况下,提升特征检索速度,从而提升特征检索效率、减少检索处理延迟。根据前面实施例所描述的方法,以下将以该特征检索装置具体集成在终端举例作进一步详细说明。
参考图2a,本发明实施例的特征检索方法的具体流程可以如下:
201、终端获取待检索的多个特征向量。
其中,特征向量可以为图像的特征向量,比如,在图像识别中的待识别图像,该图像可以为人脸图像等。比如,终端可以获取多个人脸图像的特征向量,得到待检索的多个特征向量。
其中,特征向量为一个多维的特征向量,也即特征向量包括多个维度上的特征。比如,特征向量可以为P维特征向量,P为大于1的正整数。
本发明实施例中,待检索的特征向量数量可以多个,也即本发明实施例可以实现批量检索。
由于批量检索在提高检索平均速度的同时,也降低了检索的实时性,因此,在一实施例中,为了提升检索的实时性,可以基于被检索数据的流量选择批量检索的个数,即选择待检索的特征向量数量。
在一实施例中,被检索数据的流量可以包括在预设时间段获取到的特征向量数量;此时,步骤“获取待检索的特征向量”,可以包括:
在预设时间段内获取多个特征向量;
根据在预设时间段内获取到的特征向量数量确定待检索的特征向量数量;
根据待检索的特征向量数量,从多个特征向量中确定待检索的特征向量。
在一实施例中,还可以基于预设时间段内获取到的特征向量数量计算出单位时间内获取到的特征向量数量(即特征向量获取频率),然后,根据特征向量获取频率确定待检索的特征向量数量;在另一实施例中,还可以直接基于特征向量数量确定待检索的特征向量数量。
在一实施例中,为了提升检索的实时性,可以当流量较大时,增大批量检索的个数;当流量较小时,减少批量检索的个数。当流量较大时,增大批量检索的个数,减少数据库的平均访问次数,从而提高平均检索速度;当流量较小时,采用单个检索或少批量检索,从而提高检索的实时性。
202、终端将特征库中样本特征向量划分成多个样本特征集。
比如,可以将特征库中样本特征向量等成多个样本特征集,也即也即每个样本特征集包含的样本特征向量相等。
在一实施例中,为了提升特征检索速度和效率,本发明实施例可以采用并行地方式进行特征检索;比如,可以采用多个加速器并行运算。
此时,终端可以根据并行运算的加速器个数将特征库中样本特征向量划分成多个样本特征集,其中,样本特征集数量与加速器数量相等;并将样本特征集分配给相应的加速器。
比如,终端可以在切分特征库时可以将特征库特征平均分配至各个加速器。
203、终端采用并行地方式分别根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引。
比如,终端可以采用多个加速器并行地执行根据每个样本特征集中样本特征向量与特征向量之间的相似度,获取特征向量在每个样本特征集中的最大相似度索引的过程。
其中,特征向量在样本特征集中的最大相似度索引可以包括特征向量与样本特征集中样本特征向量之间的最大相似度的索引。
其中,最大相似度可以为特征向量在样本特征集中样本特征向量之间的最大的N个相似度,比如,最大相似度可以为特征向量在样本特征集中的topN相似度。此时,最大相似度索引可以为topN相似度的索引。
其中,topN相似度表示按照从大到小的顺序对相似度排序后,排在前N名的最大相似度。
其中,N为正整数,可以根据实际需求设定,比如,N=1,此时,最大相似度索引即为特征向量与样本特征集中样本特征向量之间的最大的一个相似度的索引;又比如,N=10,此时,最大相似度索引即为特征向量与样本特征集中样本特征向量之间的相似度中排名前十的最大相似度的索引。
在一实施例中,为了解决终端内存有限的问题,从而进一步提升特征检索的速度,可以采用分片读取方式读取样本特征集内的特征进行处理如计算相似度、更新最大相似度索引等。
参考图2b,以两个加速器为例,对特征库进行切分,并将特征库内样本特征向量平均分配至各个加速器(每个加速器对应一个样本特征集如部分特征库);对于每个加速器,可以采用分片搬运方式从分配的样本特征集中读取样本特征,得到样本特征子集,然后,对每次样本特征子集进行处理;具体地,加速器可以从分配的样本特征集中读取相应数量的样本特征向量,得到样本特征子集,然后,计算待检索特征向量与样本特征子集中特征向量之间的相似度如余弦相似度;然后,根据相似度更新或维护待检索特征向量在该样本特征集中的最大相似度索引;接着判断是否读取完样本特征集中所有特征向量(如判断是否搬运完分配的部分特征库),若否,则继续从样本特征集中读取特征向量,循环执行相似度计算、最大相似度索引维护等操作,若是,则输出最大相似度索引。
每个加速器执行上述介绍的过程,可以得到待检索特征向量X在每个样本特征集如部分特征库W0、W0……Wn中最大相似度索引。
其中,余弦相似度的计算过程可以参考上述介绍,本发明实施例在数据库检索过程中,加速器可以并行地执行:首先计算相似度矩阵,然后,基于相似度矩阵的相似度对最大相似度索引进行更新。
其中,计算相似度矩阵数学描述如下:
S=W·x,
其中,W是大小为N的特征库(比如,包括从分配给加速器的特征集中读取的子集),由N个归一化的p维特征向量组成;x是大小为p×b的b个待检索特征向量,在预处理阶段进行归一化;S是大小为N×b的相似度矩阵,包括每个索引对应的相似度值。
其次,根据S筛选出相似度最大的若干索引y,如相似度topN的索引y。
例如,参考图2c,为检索过程的数据排布,将特征库W划分成为部分特征库W0……Wn后,加速器可以计算每个待检索特征向量如b+1个待检索特征向量X分别与部分特征库的相似度矩阵S00……Snb;然后,加速器可以基于相似度矩阵对待检索特征向量在部分特征库Wi中的最大相似度索引y进行更新(比如,可以从相似度矩阵中选择相似度最大的若干索引即topN相似度索引,对最大相似度索引y进行更新等),最终得到每个待检索特征向量在特征库W中的最大相似度索引,如b+1个特征向量在特征库W的最大相似度索引y0……yn。
从图2c可知,本发明实施例通过批量检索方式,若一次检索b+1个特征,总时间几乎不变,而平均检索速度近似增大了b+1倍。
在一实施例中,为了进一步提升特征检索速度,比如,当采用批量检索时如果增加批量检索个数时,计算时间相对访存时间的比重逐渐增大,降低了检索速度,因此,为了进一步提高检索速度,可以采用SIMD(Single Instruction Multiple Data,单指令多数据流)方式来计算相似度。
比如,可以基于单指令流多数据流并行地计算特征向量与样本特征子集中样本特征向量的向量乘积。
在一实施例中,为了进一步提升特征检索速度,比如,当采用批量检索时如果增加批量检索个数时,计算时间相对访存时间的比重逐渐增大,降低了检索速度,因此,为了进一步提高检索速度,还可以采用乒乓(Ping Pong)机制依次读取样本特征并对最大相似度索引进行更新。
比如,参考图2d,其中Load data对应于分片搬运特征库,Process data对应于计算相似度并维护最大索引,Store data对应于存储索引以及相似度值。如图2d所示,加速器可以根据预设时间间隔依次执行Load data以从样本特征集如部分特征库W0中读取样本特征子集W0i;当加速度第3次执行Load data读取样本特征子集W03时,可以对第2次读取的样本特征子集W02进行Process data数据处理,具体地,计算待检索特征向量X与样本特征子集W02中向量之间的相似度,根据相似度对最大相似度索引进行更新;同时还可以对第1次读取的数据处理的结果进行Store data即数据缓存。
参考图2e,为内部数据存储器(IDM)在Ping Pong操作下的数据排布方式,从图2e中可以看出在稳定的指令流水当中,W1部分特征库在通过DMA方式搬运的同时,W2部分可用于计算,反之亦然。
204、终端将特征向量在每个样本特征集中的最大相似度索引进行归并,得到特征向量对应的归并后索引。
比如,可以将各加速度中维护的最大相似度索引进行归并。
205、终端根据归并后索引对应的相似度,从归并后索引中选择特征向量的目标索引。
比如,基于相似度选择目标索引的方式可以包括多种,比如,可以选择相似度最高的归并后索引作为目标索引,或者,还可以选择相似度第二高的索引作为目标索引等等。
在一实施例中,可以基于归并后索引的相似度对归并后索引进行排序(如按照相似度从大到小的顺序排序),可以根据预定规则从排序后索引中选择相应的索引作为目标索引。比如,可以从归并后索引中选择topN相似度(即排名前N的相似度)的索引作为目标索引。
经过上述步骤可以得到每个待检索特征向量X(如X0-Xb)在部分特征库Wi中的最大相似度索引,然后,对于每个特征向量X,可以将其在各个部分特征库中的最大相似度索引进行归并,得到每个特征向量X对应的归并后索引,从每个特征向量X对应的归并后索引可以选出每个特征向量X对应的目标索引,如b+1个特征向量的索引y0……yb。
206、终端根据目标索引进行特征检索,得到特征向量的特征检索结果。
其中,目标索引的数量可以为一个或者多个,当目标索引为一个情况下,可以根据该索引进行特征检索,比如,根据该索引查询其对应的相似度、相似度对应的样本特征向量,获取样本特征向量对应的预设信息如用户身份信息等信息。
例如,可以通过目标索引检索到相应的样本特征向量及其对应的用户ID。
在一实施例中,当目标索引为多个情况下,可以根据每个索引进行特征检索,得到多个特征检索结果;然后,对多个特征检索结果进行融合,得到最终的特征检索结果。
例如,可以分别通过多个目标索引检索到相应的样本特征向量及其对应的用户ID,得到多个用户ID,然后,对用户ID进行融合得到最终的用户ID。
其中,融合方式可以包括多种,比如,投票法、也即选择数量最多的用户ID作为最终的用户ID;加权法,也即计算用户ID的加权和值,将加权和值与预设阈值进行比较,从而确定用户ID。
本发明实施例在得到每个待检索特征向量对应的目标索引,如b+1个特征向量的索引y0……yb,可以根据目标索引进行检索,得到每个待检索特征向量X对应的检索结果,从而实现批量检索。
由上可知,本发明实施例的方案可以通过并行运算提高运算速度,提升特征检索速度;并且采用分片搬运特征的方式,解决内存容量有限的问题,在内存容量有限的情况下实现大规模特征检索运算;并且还可以通过提高数据复用率,提高内存使用效率。
另外,本发明实施例的方案还可以根据被检索数据的流量,自动选择批量检索的个数。当流量较大时,增大批量检索的个数,减少数据库的平均访问次数,从而提高平均检索速度;当流量较小时,采用单个检索或少批量检索,从而提高检索的实时性。
最后,本发明实施例的方案采用SIMD指令提高特征相似度的计算速度;采用PingPong操作进一步提高整体运行速度和检索效率。
为了更好地实施以上方法,本发明实施例还可以提供一种特征检索装置,该特征检索装置具体可以集成在终端中,该终端可以包括:小型计算终端设备(如图像处理盒子等)、手机、平板电脑、笔记本电脑或个人计算机(PC,Personal Computer)等。
例如,如图3a所示,该特征检索装置可以包括获取单元301、划分单元302、索引获取单元303、归并单元304、选择单元305和检索单元306,如下:
获取单元301,用于获取待检索的特征向量;
划分单元302,用于对多个样本特征向量进行划分,得到多个样本特征集;
索引获取单元303,用于分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引;
归并单元304,用于对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;
选择单元305,用于根据所述归并后索引对应的相似度从所述归并后索引中选择所述特征向量的目标索引;
检索单元306,用于根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。
在一实施例中,参考图3b,所述索引获取单元303,包括:
读取子单元3031,用于从所述样本特征集中读取相应数量的样本特征向量,得到样本特征子集;
获取子单元3032,用于获取所述特征向量与所述样本特征子集中样本特征向量之间的相似度;
更新子单元3033,用于根据所述相似度对当前所述特征向量在所述样本特征集中的最大相似度索引进行更新;
确定子单元3034,用于确定所述样本特征集中所有特征向量是否均被读取;若否,则触发所述读取子单元执行从所述样本特征集中读取相应数量的样本的步骤;
输出子单元3035,用于当确定子单元3034确定为是时,输出所述特征向量在所述样本特征集中的最大相似度索引,得到所述特征向量在每个样本特征集中的最大相似度索引。
在一实施例中,所述更新子单元3033,可以具体用于:
对所述相似度与当前最大相似度索引对应的相似度进行排序,得到排序结果,所述最大相似度索引为所述特征向量在所述样本特征集中的最大相似度索引;
根据排序结果对当前最大相似度索引进行更新。
在一实施例中,参考图3c,获取单元301,可以包括:
特征获取子单元3011,用于在预设时间段内获取多个特征向量;
数量确定子单元3012,用于根据在预设时间段内获取到的特征向量数量确定待检索的特征向量数量;
特征确定子单元3013,用于根据所述待检索的特征向量数量,从多个特征向量中确定待检索的特征向量。
在一实施例中,获取子单元3032,可以具体用于:
获取所述特征向量与所述样本特征子集中样本特征向量的向量乘积;
根据所述向量乘积、所述特征向量的二范数、以及所述样本特征向量的二范数,获取所述特征向量与所述样本特征子集中样本特征向量之间的余弦相似度。
在一实施例中,获取子单元3032,可以具体用于:基于单指令流多数据流并行地计算所述特征向量与所述样本特征子集中样本特征向量的向量乘积;
根据所述向量乘积、所述特征向量的二范数、以及所述样本特征向量的二范数,获取所述特征向量与所述样本特征子集中样本特征向量之间的余弦相似度。
在一实施例中,索引获取单元303,可以用于:
本特征集中的最大相似度索引,包括:
基于乒乓机制依次从所述样本特征集中读取样本特征子集,并根据读取的样本特征子集与所述特征向量之间的相似度,对所述特征向量在所述样本特征集中的最大相似度索引进行更新,得到所述特征向量在每个样本特征集中的最大相似度索引。
在一实施例中,索引获取单元303,可以具体用于:
依次从所述样本特征集中读取样本特征子集;
当第i次读取样本特征子集时,根据第i-1次读取的样本特征子集与所述特征向量之间的相似度,对所述特征向量在样本特征集中的最大相似度索引进行更新,其中,i为大于2的正整数。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的特征检索装置通过获取单元301获取待检索的特征向量;由划分单元302对多个样本特征向量进行划分,得到多个样本特征集;由索引获取单元303分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引;由归并单元304对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;由选择单元305根据所述归并后索引对应的相似度从所述归并后索引中选择所述特征向量的目标索引;由检索单元306根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。由于该方案可以将样本特征向量(如特征库)划分成多个样本特征集,并且采用并行地的方式计算出特征向量在每个样本特征集中的最大相似度索引,因此,该方案可以在终端内存有限情况下,提升特征检索速度,从而提升特征检索效率、减少检索处理延迟。
本发明实施例还提供一种终端,该终端可以集成本发明实施例所提供的任一种特征检索装置。
例如,如图4所示,其示出了本发明实施例所涉及的终端的结构示意图,具体来讲:
该终端可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器401可包括一个或多个处理核心。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
在一些实施例中,终端还可以包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该终端还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的输入。
尽管未示出,终端还可以包括显示单元等,在此不再赘述。具体在本实施例中,终端中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待检索的特征向量;对多个样本特征向量进行划分,得到多个样本特征集;分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引;对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;根据所述归并后索引对应的相似度,从所述归并后索引中选择所述特征向量的目标索引;根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例的终端获取待检索的特征向量;对多个样本特征向量进行划分,得到多个样本特征集;分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引;对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;根据所述归并后索引对应的相似度,从所述归并后索引中选择所述特征向量的目标索引;根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。由于该方案可以将样本特征向量(如特征库)划分成多个样本特征集,并且采用并行地的方式计算出特征向量在每个样本特征集中的最大相似度索引,因此,该方案可以在终端内存有限情况下,提升特征检索速度,从而提升特征检索效率、减少检索处理延迟。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种特征检索方法中的步骤。例如,该指令可以执行如下步骤:
获取待检索的特征向量;对多个样本特征向量进行划分,得到多个样本特征集;分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引;对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;根据所述归并后索引对应的相似度,从所述归并后索引中选择所述特征向量的目标索引;根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种特征检索方法中的步骤,因此,可以实现本发明实施例所提供的任一种人特征检索方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种特征检索方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种特征检索方法,其特征在于,包括:
获取待检索的特征向量;
对多个样本特征向量进行划分,得到多个样本特征集;
分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,并行地获取所述特征向量在每个样本特征集中的最大相似度索引,其中所述并行地获取所述特征向量在每个样本特征集中的最大相似度索引包括,
从所述样本特征集中读取相应数量的样本特征向量,得到样本特征子集;
获取所述特征向量与所述样本特征子集中样本特征向量之间的相似度;
根据所述相似度对当前所述特征向量在所述样本特征集中的最大相似度索引进行更新,即每个样本特征集中的最大相似度索引由特征向量与样本特征子集中样本特征向量之间的相似度更新所得,其中,所述最大相似度索引包括特征向量在样本特征集中样本特征向量之间的最大的N个相似度索引,N为正整数;
对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引,其中,所述归并后索引包括特征向量在多个样本特征向量中的最大相似度索引;
根据所述归并后索引对应的相似度,从所述归并后索引中选择所述特征向量的目标索引;
根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。
2.如权利要求1所述的特征检索方法,其特征在于,对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后的索引之前,还包括:
确定所述样本特征集中所有特征向量是否均被读取;
当所述样本特征集中所有特征向量没有均被读取时,则返回从所述样本特征集中读取相应数量的样本的步骤;
当所述样本特征集中所有特征向量均被读取时,则输出所述特征向量在所述样本特征集中的最大相似度索引,得到所述特征向量在每个样本特征集中的候选相似度索引。
3.如权利要求1所述的特征检索方法,其特征在于,根据所述相似度对当前所述特征向量在所述样本特征集中的最大相似度索引进行更新,包括:
对所述相似度与当前最大相似度索引对应的相似度进行排序,得到排序结果,所述最大相似度索引为所述特征向量在所述样本特征集中的最大相似度索引;
根据排序结果对当前最大相似度索引进行更新。
4.如权利要求1所述的特征检索方法,其特征在于,获取待检索的特征向量,包括:
在预设时间段内获取多个特征向量;
根据在预设时间段内获取到的特征向量数量确定待检索的特征向量数量;
根据所述待检索的特征向量数量,从多个特征向量中确定待检索的特征向量。
5.如权利要求1所述的特征检索方法,其特征在于,获取所述特征向量与所述样本特征子集中样本特征向量之间的相似度,包括:
获取所述特征向量与所述样本特征子集中样本特征向量的向量乘积;
根据所述向量乘积、所述特征向量的二范数、以及所述样本特征向量的二范数,获取所述特征向量与所述样本特征子集中样本特征向量之间的余弦相似度。
6.如权利要求5所述的特征检索方法,其特征在于,获取所述特征向量与所述样本特征子集中样本特征向量的向量乘积,包括:
基于单指令流多数据流并行地计算所述特征向量与所述样本特征子集中样本特征向量的向量乘积。
7.如权利要求1所述的特征检索方法,其特征在于,分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,获取所述特征向量在每个样本特征集中的最大相似度索引,包括:
基于乒乓机制依次从所述样本特征集中读取样本特征子集,并根据读取的样本特征子集与所述特征向量之间的相似度,对所述特征向量在所述样本特征集中的最大相似度索引进行更新,得到所述特征向量在每个样本特征集中的最大相似度索引。
8.如权利要求7所述的特征检索方法,其特征在于,基于乒乓机制依次从所述样本特征集中读取样本特征子集,并根据读取的样本特征子集与所述特征向量之间的相似度,对所述特征向量在所述样本特征集中的最大相似度索引进行更新,包括:
依次从所述样本特征集中读取样本特征子集;
当第i次读取样本特征子集时,根据第i-1次读取的样本特征子集与所述特征向量之间的相似度,对所述特征向量在样本特征集中的最大相似度索引进行更新,其中,i为大于2的正整数。
9.一种特征检索装置,其特征在于,包括:
获取单元,用于获取待检索的特征向量;
划分单元,用于对多个样本特征向量进行划分,得到多个样本特征集;
索引获取单元,用于分别根据每个样本特征集中样本特征向量与所述特征向量之间的相似度,并行地获取所述特征向量在每个样本特征集中的最大相似度索引;
归并单元,用于对所述特征向量在每个样本特征集中的最大相似度索引进行归并,得到所述特征向量对应的归并后索引;
选择单元,用于根据所述归并后索引对应的相似度从所述归并后索引中选择所述特征向量的目标索引,其中,所述归并后索引为特征向量在多个样本特征向量中的最大相似度索引;
检索单元,用于根据所述目标索引进行特征检索,得到所述特征向量的特征检索结果。
10.如权利要求9所述的特征检索装置,其特征在于,所述索引获取单元,包括:
读取子单元,用于从所述样本特征集中读取相应数量的样本特征向量,得到样本特征子集;
获取子单元,用于获取所述特征向量与所述样本特征子集中样本特征向量之间的相似度;
更新子单元,用于根据所述相似度对当前所述特征向量在所述样本特征集中的最大相似度索引进行更新,所述最大相似度索引为特征向量在样本特征集中样本特征向量之间的最大的N个相似度索引,其中N为正整数;
确定子单元,用于确定所述样本特征集中所有特征向量是否均被读取;当所述样本特征集中所有特征向量没有均被读取时,则触发所述读取子单元执行从所述样本特征集中读取相应数量的样本的步骤;
输出子单元,用于当确定子单元确定所述样本特征集中所有特征向量均被读取时,输出所述特征向量在所述样本特征集中的最大相似度索引,得到所述特征向量在每个样本特征集中的最大相似度索引。
11.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的特征检索方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811094210.6A CN109165307B (zh) | 2018-09-19 | 2018-09-19 | 一种特征检索方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811094210.6A CN109165307B (zh) | 2018-09-19 | 2018-09-19 | 一种特征检索方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165307A CN109165307A (zh) | 2019-01-08 |
CN109165307B true CN109165307B (zh) | 2021-02-02 |
Family
ID=64879618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811094210.6A Active CN109165307B (zh) | 2018-09-19 | 2018-09-19 | 一种特征检索方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165307B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861862A (zh) * | 2019-02-03 | 2019-06-07 | 江苏深度空间信息科技有限公司 | 一种网络流量检索方法、装置、电子设备及存储介质 |
CN110209895B (zh) * | 2019-06-06 | 2023-09-05 | 创新先进技术有限公司 | 向量检索方法、装置和设备 |
CN110321448B (zh) * | 2019-06-27 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 一种图像检索方法、装置和存储介质 |
CN112579809B (zh) * | 2019-09-27 | 2024-10-01 | 深圳云天励飞技术有限公司 | 一种数据处理方法和相关装置 |
CN112116106B (zh) * | 2019-12-07 | 2021-09-10 | 山东九州信泰信息科技股份有限公司 | 基于显示特征搜索的器件自查系统 |
CN111368020A (zh) * | 2020-02-10 | 2020-07-03 | 浙江大华技术股份有限公司 | 一种特征向量的比对方法、装置及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024065A (zh) * | 2011-01-18 | 2011-04-20 | 中南大学 | 基于simd优化的网页去重并行方法 |
CN103235825A (zh) * | 2013-05-08 | 2013-08-07 | 重庆大学 | 一种基于Hadoop云计算框架的海量人脸识别搜索引擎设计方法 |
CN104217222A (zh) * | 2014-09-25 | 2014-12-17 | 中国科学院自动化研究所 | 一种基于随机采样哈希表示的图像匹配方法 |
CN106649490A (zh) * | 2016-10-08 | 2017-05-10 | 中国人民解放军理工大学 | 一种基于深度特征的图像检索方法及装置 |
CN106909644A (zh) * | 2017-02-21 | 2017-06-30 | 中国科学院电子学研究所 | 一种面向海量遥感影像的多级组织和索引方法 |
CN107944020A (zh) * | 2017-12-11 | 2018-04-20 | 深圳云天励飞技术有限公司 | 人脸图像查找方法及装置、计算机装置和存储介质 |
CN108229358A (zh) * | 2017-12-22 | 2018-06-29 | 北京市商汤科技开发有限公司 | 索引建立方法和装置、电子设备、计算机存储介质、程序 |
CN108491430A (zh) * | 2018-02-09 | 2018-09-04 | 北京邮电大学 | 一种基于对特征方向进行聚类的无监督哈希检索方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI403912B (zh) * | 2006-06-08 | 2013-08-01 | Univ Nat Chiao Tung | 圖像檢索之方法及系統 |
CN101211355B (zh) * | 2006-12-30 | 2010-05-19 | 中国科学院计算技术研究所 | 一种基于聚类的图像查询方法 |
CN102110122B (zh) * | 2009-12-24 | 2013-04-03 | 阿里巴巴集团控股有限公司 | 一种建立样本图片索引表和图片过滤、搜索方法及装置 |
CN102654903A (zh) * | 2011-03-04 | 2012-09-05 | 井维兰 | 一种人脸比对方法 |
CN102508867B (zh) * | 2011-10-09 | 2013-04-24 | 南京大学 | 一种人体运动的运动图检索方法 |
CN105095435A (zh) * | 2015-07-23 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种图像高维特征的相似比较方法及装置 |
CN105205169B (zh) * | 2015-10-12 | 2018-06-15 | 中国电子科技集团公司第二十八研究所 | 一种分布式图像索引与检索方法 |
CN105808709B (zh) * | 2016-03-04 | 2019-10-29 | 智慧眼科技股份有限公司 | 人脸识别快速检索方法及装置 |
US10614379B2 (en) * | 2016-09-27 | 2020-04-07 | Disney Enterprises, Inc. | Robust classification by pre-conditioned lasso and transductive diffusion component analysis |
CN106855883A (zh) * | 2016-12-21 | 2017-06-16 | 中国科学院上海高等研究院 | 基于视觉词袋模型的人脸图像检索方法 |
CN107273926A (zh) * | 2017-06-12 | 2017-10-20 | 大连海事大学 | 一种基于余弦相似度加权的线性判别分析降维方法 |
CN108170732A (zh) * | 2017-12-14 | 2018-06-15 | 厦门市美亚柏科信息股份有限公司 | 人脸图片检索方法及计算机可读存储介质 |
-
2018
- 2018-09-19 CN CN201811094210.6A patent/CN109165307B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024065A (zh) * | 2011-01-18 | 2011-04-20 | 中南大学 | 基于simd优化的网页去重并行方法 |
CN103235825A (zh) * | 2013-05-08 | 2013-08-07 | 重庆大学 | 一种基于Hadoop云计算框架的海量人脸识别搜索引擎设计方法 |
CN104217222A (zh) * | 2014-09-25 | 2014-12-17 | 中国科学院自动化研究所 | 一种基于随机采样哈希表示的图像匹配方法 |
CN106649490A (zh) * | 2016-10-08 | 2017-05-10 | 中国人民解放军理工大学 | 一种基于深度特征的图像检索方法及装置 |
CN106909644A (zh) * | 2017-02-21 | 2017-06-30 | 中国科学院电子学研究所 | 一种面向海量遥感影像的多级组织和索引方法 |
CN107944020A (zh) * | 2017-12-11 | 2018-04-20 | 深圳云天励飞技术有限公司 | 人脸图像查找方法及装置、计算机装置和存储介质 |
CN108229358A (zh) * | 2017-12-22 | 2018-06-29 | 北京市商汤科技开发有限公司 | 索引建立方法和装置、电子设备、计算机存储介质、程序 |
CN108491430A (zh) * | 2018-02-09 | 2018-09-04 | 北京邮电大学 | 一种基于对特征方向进行聚类的无监督哈希检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109165307A (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165307B (zh) | 一种特征检索方法、装置和存储介质 | |
US9760970B2 (en) | Video analysis and post processing of multiple video streams | |
US20210279285A1 (en) | Method and apparatus for supporting machine learning algorithms and data pattern matching in ethernet ssd | |
US20210142069A1 (en) | Video retrieval method, and method and apparatus for generating video retrieval mapping relationship | |
CN106557521B (zh) | 对象索引方法、对象搜索方法及对象索引系统 | |
US20170054982A1 (en) | Real time video stream processing systems and methods thereof | |
WO2021179631A1 (zh) | 卷积神经网络模型压缩方法、装置、设备及存储介质 | |
US20220139085A1 (en) | Method and apparatus for video frame processing | |
CN111382270A (zh) | 基于文本分类器的意图识别方法、装置、设备及存储介质 | |
CN110909817B (zh) | 分布式聚类方法及系统、处理器、电子设备及存储介质 | |
WO2022007596A1 (zh) | 图像检索系统、方法和装置 | |
CN113239218B (zh) | 在具有npu的设备上并发执行人脸搜索的方法 | |
CN114077690A (zh) | 向量数据处理方法、装置、设备及存储介质 | |
CN110688223B (zh) | 数据处理方法及相关产品 | |
US10268912B2 (en) | Offline, hybrid and hybrid with offline image recognition | |
US11153725B2 (en) | Method and system for sending bulk notifications | |
CN113836332A (zh) | 存储设备 | |
CN114298182A (zh) | 资源召回方法、装置、设备及存储介质 | |
JP5923744B2 (ja) | 画像検索システム、画像検索方法及び検索装置 | |
WO2023036009A1 (zh) | 计算系统、存储设备 | |
CN114840692B (zh) | 图像库构建方法、图像检索方法、装置及相关设备 | |
Ueki et al. | Improving semantic video indexing: Efforts in Waseda TRECVID 2015 SIN system | |
CN116304253B (zh) | 数据存储方法、数据检索方法和识别相似视频的方法 | |
CN118733806A (zh) | 一种相似图像检索方法及装置 | |
Sato et al. | Fast and Memory Saving Instance Search with Approximate Reverse Nearest Neighbor Search Using Reverse Lookup |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40002489 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |