CN112668597A - 一种特征比对方法、装置及设备 - Google Patents
一种特征比对方法、装置及设备 Download PDFInfo
- Publication number
- CN112668597A CN112668597A CN201910980095.0A CN201910980095A CN112668597A CN 112668597 A CN112668597 A CN 112668597A CN 201910980095 A CN201910980095 A CN 201910980095A CN 112668597 A CN112668597 A CN 112668597A
- Authority
- CN
- China
- Prior art keywords
- feature
- model
- gpu
- models
- library
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Processing (AREA)
- Debugging And Monitoring (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种特征比对方法、装置及设备,该方法包括:从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;将待检测特征发送给目标GPU,以使目标GPU根据待检测特征与第一特征库中的每个第一特征模型之间的相似度,将第一特征库中的多个第一特征模型的模型信息发送给CPU;根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据待检测特征与选取的每个第二特征模型之间的相似度,从多个第二特征模型中确定出至少一个目标特征模型;第一特征库中的第一特征模型的特征点数量小于第二特征库中的第二特征模型的特征点数量。通过本申请的技术方案,通过GPU加载小特征模型的方式,扩大GPU加载的特征模型数量,并保障比对精度。
Description
技术领域
本申请涉及图像处理技术领域,尤其是一种特征比对方法、装置及设备。
背景技术
机器学习是实现人工智能的一种途径,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习更加注重算法设计,使计算机能够自动地从数据中学习规律,并利用规律对未知数据进行预测。
在机器学习的相关技术中,特征比对作为一种有效手段,被广泛应用于人脸识别、人体识别、车辆识别等领域。特征比对是指将待检测特征与特征库中的特征模型进行一一比对,继而从特征库中筛选出符合要求的特征模型。
由于特征库中的特征模型的数量非常巨大,因此,在将待检测特征与特征库中的特征模型进行一一比对时,运算量会很大,导致特征比对的运算速度很慢,因此,如何提高特征比对的运算速度就成为目前需要解决的问题。
发明内容
本申请提供一种特征比对方法、装置及设备,以通过GPU加载小特征模型的方式,扩大了GPU可加载的特征模型数量,并且保障了比对精度。
本申请提供一种特征比对方法,应用于CPU,所述方法包括:
从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
本申请提供一种特征比对装置,所述装置包括:确定模块,用于从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
发送模块,用于将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
处理模块,用于根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;
其中,所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
本申请提供一种特征比对设备,包括:CPU和机器可读存储介质,所述机器可读存储介质存储有能够被所述CPU执行的机器可执行指令;
所述CPU用于执行机器可执行指令,以实现如下步骤:
从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
本申请提供一种特征比对设备,其特征在于,包括CPU和GPU,其中:
所述CPU,用于从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;将所述待检测特征发送给所述目标GPU;所述GPU,用于根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
所述CPU,还用于根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;
其中,所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
由以上技术方案可见,本申请实施例中,能够基于GPU和CPU实现特征比对过程,通过在GPU中加载第一特征库(包括特征点数量较少的第一特征模型),在指定存储介质中加载第二特征库(包括特征点数量较多的第二特征模型),能够提升GPU中的特征模型数量。GPU在对待检测特征进行特征比对时,由于第一特征模型的特征点数量较少,因此,会有少量精度损失。GPU向CPU输出多个比对结果,使得CPU基于多个比对结果对应的第二特征模型对待检测特征进行特征比对,由于第二特征模型的特征点数量较多,因此得到准确的特征比对结果。显然,上述方式通过在GPU加载小模型(即特征点数量较少的第一特征模型)、在指定存储介质加载大模型(即特征点数量较多的第二特征模型),在降低CPU计算量的同时,保障比对精度,提升特征库的容量和并发(并发指的是平均每秒可以有多少个待检测特征完成与特征模型的比对)。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的特征比对方法的流程图;
图2是本申请另一种实施方式中的特征比对方法的流程图;
图3是本申请一种实施方式中的特征库的加载示意图;
图4是本申请另一种实施方式中的特征比对方法的流程图;
图5是本申请一种实施方式中的特征比对装置的结构图;
图6是本申请一种实施方式中的特征比对设备的结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
特征比对被广泛应用于人脸识别、人体识别、车辆识别等领域。特征比对是指将待检测特征与特征库中的特征模型进行一一比对,继而从特征库中筛选出符合要求的特征模型。由于特征库中的特征模型的数量非常巨大,因此,在将待检测特征与特征库中的特征模型进行一一比对时,运算速度很慢,运算量会很大,如何提高特征比对的运算速度就成为目前需要解决的问题。
在一个实现方式中,由于特征比对实质上是特征库中的特征模型与待检测特征之间的线性运算,因此,通过提高CPU(Central Processing Unit,中央处理器)的主频或者使用多核CPU,能够同时将待检测特征与特征库中的多个特征模型进行特征比对,提高线性运算速度。但是,CPU主频的提高以及多核CPU技术均已达到发展瓶颈,已经很难进一步提高CPU主频或者采用更多核的CPU。
在另一个实现方式中,可以由GPU(Graphics Processing Unit,图形处理器)实现特征比对,由于可以部署大量的GPU,这样,每个GPU可以将待检测特征与特征库中的多个特征模型进行特征比对,从而提高线性运算速度。但是,GPU的存储空间(如显存)比较小(如1-24GB),导致无法存储特征库中的所有特征模型,只能存储特征库中的部分特征模型,继而导致GPU无法利用所有特征模型对待检测特征进行特征比对,从而无法得出准确的特征比对结果。
针对上述问题,本申请实施例中,基于GPU和CPU实现特征比对,通过在GPU加载小模型(本实施例中称为特征点数量较少的第一特征模型)、在指定存储介质加载大模型(本实施例中称为特征点数量较多的第二特征模型),在降低CPU计算量的同时,保障比对精度,提升特征库的容量和并发。
以下结合具体的实施例,对本申请实施例的技术方案进行详细说明。
本申请实施例中提出一种特征比对方法,可以应用于特征比对设备,该特征比对设备可以包括CPU(单核CPU或者多核CPU)和多个GPU。该特征比对设备可以是任意类型的设备,如个人计算机、服务器、成像设备、存储设备、笔记本电脑等,对此不做限制,只要包括CPU和多个GPU即可。参见图1所示,为该特征比对方法的流程示意图,该特征比对方法可以包括:
步骤101,CPU从所有GPU中确定出用于处理待检测特征的至少一个目标GPU,也就是说,目标GPU的数量可以为一个,也可以为多个。
在一个例子中,步骤101之前,CPU可以获取每个样本特征对应的第一特征模型和第二特征模型,该样本特征对应的第一特征模型的特征点数量小于该样本特征对应的第二特征模型的特征点数量。该样本特征对应的第一特征模型的模型标识与该样本特征对应的第二特征模型的模型标识具有映射关系。
根据所有第一特征模型的总数量N和设定阈值K确定所有第一特征模型需要占用的GPU数量M;对所有GPU进行分组,每个GPU组中GPU数量大于等于M;将所有第一特征模型分组得到M个第一特征库,将M个第一特征库存储至各GPU组中的GPU,也就是说,每个GPU组均能够存储M个第一特征库,且每个GPU存储一个第一特征库。每个第一特征库中第一特征模型数量小于等于K,K为GPU被允许存储的第一特征模型数量最大值。
将所有第二特征模型分组到第二特征库,并将所述第二特征库存储至指定存储介质(如内存或者高速存储区域等,对此指定存储介质不做限制)。
在一个例子中,CPU从所有GPU中确定出用于处理待检测特征的至少一个目标GPU,可以包括但不限于:若GPU组的数量为一个,则将GPU组中的每个GPU均确定为目标GPU。或者,若GPU组的数量为至少两个,则根据每个GPU组的负载情况,从所有GPU组中选择负载最轻的GPU组,并将负载最轻的GPU组中的所有GPU均确定为目标GPU。或者,若GPU组的数量为至少两个,则从所有GPU组中任意选择一个GPU组,将选择的GPU组中的所有GPU均确定为目标GPU。或者,若一个GPU能够存储所有第一特征模型(即M为1),则从所有GPU中任意选择一个GPU,将选择的一个GPU确定为目标GPU。
步骤102,CPU将待检测特征发送给目标GPU,以使目标GPU根据待检测特征与第一特征库中的每个第一特征模型之间的相似度,将第一特征库中的多个第一特征模型的模型信息发送给CPU。其中,第一特征模型的模型信息可以包括该第一特征模型的模型标识。或者,第一特征模型的模型信息可以包括该第一特征模型的模型标识、该第一特征模型与待检测特征之间的相似度。
具体的,若存在至少两个目标GPU,则CPU将待检测特征发送给每个目标GPU。每个目标GPU均根据待检测特征与第一特征库中的每个第一特征模型之间的相似度,将第一特征库中的多个第一特征模型的模型信息发送给CPU,也就是说,CPU能够接收到每个目标GPU发送的多个第一特征模型的模型信息。
步骤103,CPU根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型。其中,第一特征库中的第一特征模型的特征点数量小于第二特征库中的第二特征模型的特征点数量。
CPU从第二特征库中选取多个第二特征模型的过程,可以包括但不限于:
方式一、若模型信息包括模型标识,且同一个样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,则CPU基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与目标GPU发送的模型标识对应的第二特征模型。
方式二、若模型信息包括模型标识和相似度,且同一样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,则CPU根据目标GPU发送的多个第一特征模型的相似度(即第一特征模型与待检测特征之间的相似度),从目标GPU发送的多个第一特征模型的模型标识中选择目标模型标识;基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与目标模型标识对应的第二特征模型。
在方式二中,CPU可以基于目标GPU发送的多个第一特征模型的相似度,对目标GPU发送的多个第一特征模型的模型标识进行排序;基于排序结果,从目标GPU发送的多个第一特征模型的模型标识中选择指定数量个模型标识作为目标模型标识。例如,在按照相似度从高到低的顺序进行排序时,可以选择排序靠前的指定数量个模型标识作为目标模型标识。在按照相似度从低到高的顺序进行排序时,可以选择排序靠后的指定数量个模型标识作为目标模型标识。
进一步的,指定数量的确定方式包括但不限于:根据CPU的处理能力确定指定数量,例如,CPU的处理能力越好,指定数量越大,CPU的处理能力越差,指定数量越小。或者,根据GPU的并发输出情况确定指定数量,例如,若GPU向CPU输出S个第一特征模型的模型信息,则指定数量可以等于S。
由以上技术方案可见,本申请实施例中,能够基于GPU和CPU实现特征比对过程,通过在GPU中加载第一特征库(包括特征点数量较少的第一特征模型),在指定存储介质中加载第二特征库(包括特征点数量较多的第二特征模型),能够提升GPU中的特征模型数量。GPU在对待检测特征进行特征比对时,由于第一特征模型的特征点数量较少,因此,会有少量精度损失。GPU向CPU输出多个比对结果,使得CPU基于多个比对结果对应的第二特征模型对待检测特征进行特征比对,由于第二特征模型的特征点数量较多,因此得到准确的特征比对结果。显然,上述方式通过在GPU加载小模型(即特征点数量较少的第一特征模型)、在指定存储介质加载大模型(即特征点数量较多的第二特征模型),在降低CPU计算量的同时,保障比对精度,提升特征库的容量和并发(并发指的是平均每秒可以有多少个待检测特征完成与特征模型的比对)。
以下结合具体实施例,对特征模型的存储过程进行说明。
示例性的,可以采用传统建模算法建立样本特征库,该样本特征库可以包括大量样本特征,对此建立过程不做限制。例如,在人脸识别领域,建立用于进行人脸识别的样本特征库,该样本特征库包括大量人脸识别特征。在人体识别领域,建立用于进行人体识别的样本特征库,该样本特征库包括大量人体识别特征。在车辆识别领域,建立用于进行车辆识别的样本特征库,该样本特征库包括大量车辆识别特征。当然,上述只是样本特征库的示例,对此不做限制。
本实施例中,针对样本特征库中的每个样本特征(如用于识别同一目标的所有特征,通过这些特征能够识别出同一个目标,如同一个人脸、同一个人体、同一个车辆等),该样本特征可以对应第一特征模型和第二特征模型。
示例性的,针对每个样本特征来说,该样本特征对应的第一特征模型的特征点数量小于该样本特征对应的第二特征模型的特征点数量,即该样本特征对应的第一特征模型的复杂度小于该样本特征对应的第二特征模型的复杂度,复杂度可以指特征模型的特征点数量。例如,针对某个样本特征,可以通过100个特征点来表示这个样本特征,也可以通过10个特征点来表示这个样本特征,因此,基于100个特征点的特征模型称为第二特征模型,基于10个特征点的特征模型称为第一特征模型。显然,由于第二特征模型的特征点数量大于第一特征模型的特征点数量,因此,第二特征模型对样本特征的描述更加准确。
特征模型是通过算法对目标进行描述的一串二进制数据,当特征点数量越多时,则特征模型越长,即特征模型的数据量越多,特征模型占用的存储空间越大。当特征点数量越小时,则特征模型越短,即特征模型的数据量越少,特征模型占用的存储空间越小。综上所述,由于第二特征模型的特征点数量大于第一特征模型的特征点数量,因此,第二特征模型的数据量多于第一特征模型的数据量,第二特征模型占用的存储空间大于第一特征模型占用的存储空间。
示例性的,针对样本特征库中的每个样本特征,基于该样本特征获取第一特征模型和第二特征模型,即第一特征模型和第二特征模型均是基于样本特征获取的,对此获取方式不做限制。例如,可以通过100个特征点来表示这个样本特征,且基于100个特征点的特征模型称为第二特征模型,可以通过10个特征点来表示这个样本特征,且基于10个特征点的特征模型称为第一特征模型。
或者,针对样本特征库中的每个样本特征,基于样本特征获取第二特征模型,基于第二特征模型获取第一特征模型,即第二特征模型是基于样本特征获取,而第一特征模型是基于第二特征模型获取,对此获取方式不做限制。例如,可以通过100个特征点来表示这个样本特征,且基于100个特征点的特征模型称为第二特征模型。从第二特征模型的100个特征点中选取10个特征点,通过10个特征点来表示样本特征,且基于10个特征点的特征模型称为第一特征模型。
当然,上述方式只是获取第一特征模型和第二特征模型的一个示例,对此不做限制,只要能够获取每个样本特征对应的第一特征模型和第二特征模型即可,且第一特征模型的特征点数量小于第二特征模型的特征点数量。在实际应用中,第一特征模型还可以称为小模型,第二特征模型还可以称为大模型。
示例性的,针对样本特征库中的每个样本特征来说,该样本特征对应的第一特征模型具有模型标识,且该模型标识用于唯一表示这个第一特征模型,也就是说,不同的第一特征模型对应的模型标识可以不同。此外,该样本特征对应的第二特征模型具有模型标识,且该模型标识用于唯一表示这个第二特征模型,也就是说,不同的第二特征模型对应的模型标识可以不同。
针对每个样本特征来说,该样本特征对应的第一特征模型的模型标识与该样本特征对应的第二特征模型的模型标识具有映射关系。例如,第一特征模型的模型标识与第二特征模型的模型标识相同,对此不做限制,只要二者具有映射关系,能够通过第一特征模型的模型标识获知对应的第二特征模型即可。
例如,获取与样本特征1对应的第一特征模型1和第二特征模型1,第一特征模型1的模型标识(如A1)与第二特征模型1的模型标识(如A1或B1)具有映射关系。获取与样本特征2对应的第一特征模型2和第二特征模型2,第一特征模型2的模型标识(如A2)与第二特征模型2的模型标识(如A2或B2)具有映射关系,以此类推,后续以一万个样本特征为例,则可以获取一万个第一特征模型和第二特征模型,当然,样本特征数量远大于一万,对此不做限制。
基于上述应用场景,参见图2所示,为特征比对方法的流程示意图。
步骤201,CPU获取每个样本特征对应的第一特征模型和第二特征模型。
针对样本特征库中的每个样本特征,可以获取与该样本特征对应的第一特征模型和第二特征模型,该样本特征对应的第一特征模型的特征点数量小于该样本特征对应的第二特征模型的特征点数量,该样本特征对应的第一特征模型的模型标识与该样本特征对应的第二特征模型的模型标识具有映射关系。
例如,假设样本特征库中包括10000个样本特征,则CPU可以获取到10000个第一特征模型(后续记为第一特征模型1-第一特征模型10000)和10000个第二特征模型(后续记为第二特征模型1-第二特征模型10000)。
步骤202,CPU将所有第二特征模型分组到第二特征库,并将第二特征库存储至指定存储介质,也就是说,指定存储介质存储有所有第二特征模型。
例如,CPU将第二特征模型1-第二特征模型10000分组到第二特征库(即包括这些第二特征模型的集合),并将第二特征库存储至指定存储介质,这样,指定存储介质包括第二特征库中的第二特征模型1-第二特征模型10000。
其中,指定存储介质可以包括但不限于:内存、高速存储区域,该高速存储区域可以如SSD(Solid State Drive,固态硬盘)等,对此不做限制。
步骤203,CPU根据所有第一特征模型的总数量N和设定阈值K确定所有第一特征模型需要占用的GPU数量M,K为GPU存储的第一特征模型数量最大值,即,GPU显存能够存储的第一特征模型数量的最大值。
在一个可能的实施方式中,CPU对所有第一特征模型的总数量N除以设定阈值K向上取整,得到中间值。所有第一特征模型需要占用的GPU数量M可以大于或者等于该中间值。例如,假设所有第一特征模型的总数量N为10000,设定阈值K为2500,则对10000除以2500向上取整,得到中间值4,GPU数量M可以为4,也可以为大于4的其它数值,如5、6等,对此不做限制。
在另一个可能的实施方式中,CPU对所有第一特征模型的总数量N除以设定阈值K向上取整,得到中间值。所有第一特征模型需要占用的GPU数量M可以大于或者等于该中间值,且所有GPU的总数量是GPU数量M的整数倍。例如,假设所有第一特征模型的总数量N为10000,设定阈值K为2500,则对10000除以2500向上取整,得到中间值4。假设所有GPU的总数量是8,则GPU数量M可以为4或8。假设所有GPU的总数量是10,则GPU数量M可以为5或10。假设所有GPU的总数量是12,则GPU数量M可以为4、6或12。
在上述实施例中,设定阈值K为GPU存储的第一特征模型数量最大值。设定阈值K可以是根据经验配置的阈值,也可以是基于第一特征模型的大小和GPU显存中可用存储空间的大小确定的,例如,对GPU显存中可用存储空间的大小除以第一特征模型的大小向上取值,向上取值后的数值可以为设定阈值K。
步骤204,CPU对所有GPU进行分组,每个GPU组中GPU数量大于等于M。为了方便描述,本实施例中,以每个GPU组中GPU数量等于M为例。
例如,假设GPU数量M为4,所有GPU包括GPU1、GPU2、GPU3、GPU4、GPU5、GPU6、GPU7和GPU8,基于此,可以将GPU1、GPU2、GPU3和GPU4分组到GPU组1,并将GPU5、GPU6、GPU7和GPU8分组到GPU组2。
步骤205,CPU将所有第一特征模型分组得到M个第一特征库,并将M个第一特征库存储至各GPU组中的GPU,即存储至GPU的GPU显存中。也就是说,每个GPU组均能够存储M个第一特征库,且每个GPU可以存储一个第一特征库,每个第一特征库中第一特征模型数量可以小于等于K。
假设M为4,K为2500,将第一特征模型1-第一特征模型10000分组得到4个第一特征库,每个第一特征库中第一特征模型数量为2500。如第一特征库1包括第一特征模型1-第一特征模型2500,第一特征库2包括第一特征模型2501-第一特征模型5000,第一特征库3包括第一特征模型5001-第一特征模型7500,第一特征库4包括第一特征模型7501-第一特征模型10000。至此得到4个第一特征库,每个第一特征库是包括2500个第一特征模型的集合。
GPU组1包括GPU1、GPU2、GPU3和GPU4,因此,将第一特征库1存储至GPU1的GPU显存,GPU1的GPU显存包括第一特征库1中的2500个第一特征模型,且GPU1能够访问第一特征库1中的第一特征模型。将第一特征库2存储至GPU2的GPU显存,GPU2的GPU显存包括第一特征库2中的2500个第一特征模型,且GPU2能够访问第一特征库2中的第一特征模型。将第一特征库3存储至GPU3的GPU显存,GPU3的GPU显存包括第一特征库3中的2500个第一特征模型,且GPU3能够访问第一特征库3中的第一特征模型。将第一特征库4存储至GPU4的GPU显存,GPU4的GPU显存包括第一特征库4中的2500个第一特征模型,且GPU4能够访问第一特征库4中的第一特征模型。
GPU组2包括GPU5、GPU6、GPU7和GPU8,将第一特征库1存储至GPU5的GPU显存,将第一特征库2存储至GPU6的GPU显存,将第一特征库3存储至GPU7的GPU显存,将第一特征库4存储至GPU8的GPU显存。
参见图3所示,CPU将第二特征库存储至指定存储介质。CPU将第一特征库1存储至GPU组1中的GPU1的GPU显存,将第一特征库2加载到GPU组1中的GPU2的GPU显存,将第一特征库3加载到GPU组1中的GPU3的GPU显存,将第一特征库4加载到GPU组1中的GPU4的GPU显存。CPU将第一特征库1加载到GPU组2中的GPU5的GPU显存。将第一特征库2加载到GPU组2中的GPU6的GPU显存。将第一特征库3加载到GPU组2中的GPU7的GPU显存。将第一特征库4加载到GPU组2中的GPU8的GPU显存。
以下结合具体实施例,对待检测特征的特征比对过程进行说明。参见图4所示,为特征比对方法的流程示意图,该特征比对方法可以包括:
步骤401,CPU获取待检测特征,并从所有GPU中确定出用于处理该待检测特征的目标GPU,目标GPU的数量可以为一个或者多个。
示例性的,若GPU组的数量为多个,则可以根据每个GPU组的负载情况,从所有GPU组中选择负载最轻的GPU组,将负载最轻的GPU组中的所有GPU均确定为目标GPU。例如,CPU根据GPU组1和GPU组2的负载情况,从GPU组1和GPU组2中选择负载最轻的GPU组,假设负载最轻的GPU组为GPU组1,则将GPU组1中的GPU1、GPU2、GPU3和GPU4确定为目标GPU。
步骤402,CPU将待检测特征发送给目标GPU。
示例性的,若待检测特征的比对任务对实时性要求较高,则CPU直接将待检测特征输出给每个目标GPU。若待检测特征的比对任务对实时性要求较低,则CPU将待检测特征的比对任务添加到处理队列中。CPU按照顺序依次处理该处理队列中的比对任务,在处理到该待检测特征的比对任务时,将该待检测特征输出给每个目标GPU。CPU在处理该处理队列中的比对任务时,可以通过批量方式一次处理多个比对任务,即一次将多个待检测特征输出给目标GPU。
步骤403,目标GPU根据待检测特征与第一特征库中的每个第一特征模型之间的相似度,从第一特征库中选取多个第一特征模型,并向CPU发送所述多个第一特征模型的模型信息。其中,第一特征模型的模型信息可以包括该第一特征模型的模型标识。或者,第一特征模型的模型信息可以包括该第一特征模型的模型标识、该第一特征模型与待检测特征之间的相似度。
例如,GPU1接收到待检测特征后,确定待检测特征与第一特征库1中的每个第一特征模型(如第一特征模型1-第一特征模型2500)之间的相似度,对此确定方式不做限制。按照相似度从高到低的顺序,从第一特征库中选取相似度高的S个第一特征模型。S的取值可以根据经验配置,由于第一特征模型的特征点数量较少,因此,S的取值可以比较大,而不是2、3等比较小的数值,当然,为了避免消耗CPU的大量资源,S的取值也不能太大。如S可以为100,相似度高的S个第一特征模型可以如第一特征模型1-第一特征模型100。
然后,GPU1可以向CPU发送S个第一特征模型的模型信息(如模型标识,或者,模型标识和相似度)。例如,第一特征模型1的模型信息(如第一特征模型1的模型标识,或者,第一特征模型1的模型标识和第一特征模型1与待检测特征的相似度)、第一特征模型2的模型信息,以此类推。
GPU2接收到待检测特征后,处理方式参见GPU1,也可以向CPU发送S个第一特征模型的模型信息,即第一特征库2中的S个第一特征模型的模型信息。同理,GPU3也可以向CPU发送S个第一特征模型的模型信息,即第一特征库3中的S个第一特征模型的模型信息。GPU4也可以向CPU发送S个第一特征模型的模型信息,即第一特征库4中的S个第一特征模型的模型信息。
步骤404,CPU根据目标GPU发送的模型信息(即多个目标GPU分别发送的第一特征模型的模型信息),从第二特征库中选取多个第二特征模型。
方式一、第一特征模型的模型信息包括第一特征模型的模型标识。CPU基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与目标GPU发送的模型标识对应的第二特征模型。
例如,GPU1向CPU发送第一特征模型1-第一特征模型100的模型标识,CPU从第二特征库中选取与第一特征模型1的模型标识对应的第二特征模型1,从第二特征库中选取与第一特征模型2的模型标识对应的第二特征模型2,以此类推,最终从第二特征库中选取第二特征模型1-第二特征模型100。
GPU2向CPU发送第一特征模型2501-第一特征模型2600的模型标识,CPU从第二特征库中选取这些模型标识对应的第二特征模型,即从第二特征库中选取第二特征模型2501-第二特征模型2600。GPU3向CPU发送第一特征模型5001-第一特征模型5100的模型标识,CPU从第二特征库中选取第二特征模型5001-第二特征模型5100。GPU3向CPU发送第一特征模型7501-第一特征模型7600的模型标识,CPU从第二特征库中选取第二特征模型7501-第二特征模型7600。
至此,CPU从第二特征库中选取400个第二特征模型,并基于所述400个第二特征模型进行后续处理。
方式二、第一特征模型的模型信息包括第一特征模型的模型标识、第一特征模型与待检测特征之间的相似度。CPU根据目标GPU发送的多个第一特征模型的相似度,从目标GPU发送的多个第一特征模型的模型标识中选择目标模型标识。基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与目标模型标识对应的第二特征模型。
示例性的,针对从多个第一特征模型的模型标识中选择目标模型标识的过程,基于目标GPU发送的多个第一特征模型的相似度,对目标GPU发送的多个第一特征模型的模型标识进行排序;基于排序结果,从目标GPU发送的多个第一特征模型的模型标识中选择指定数量个模型标识作为目标模型标识。
例如,可以按照相似度从高到低的顺序,对目标GPU发送的多个第一特征模型的模型标识进行排序,并选择排序靠前的指定数量个模型标识作为目标模型标识。其中,指定数量的确定方式包括但不限于:根据CPU的处理能力确定指定数量,例如,CPU的处理能力越好,指定数量越大,CPU的处理能力越差,指定数量越小。或者,根据GPU的并发输出情况确定指定数量,例如,若GPU向CPU输出S个第一特征模型的模型信息,则指定数量可以等于S。
例如,GPU1向CPU输出S个第一特征模型的模型标识、S个第一特征模型与待检测特征的相似度;GPU2向CPU输出S个第一特征模型的模型标识、S个第一特征模型与待检测特征的相似度;GPU3向CPU输出S个第一特征模型的模型标识、S个第一特征模型与待检测特征的相似度;GPU4向CPU输出S个第一特征模型的模型标识、S个第一特征模型与待检测特征的相似度。
基于4S个第一特征模型的模型标识分别对应的相似度,CPU可以按照相似度从高到低的顺序,对4S个第一特征模型的模型标识进行排序,并从4S个第一特征模型的模型标识中选择排序靠前的指定数量个模型标识作为目标模型标识,如指定数量可以为S,即从4S个模型标识中选择排序靠前的S个模型标识作为目标模型标识。当然,上述方式只是一个示例,对此不做限制。
假设目标模型标识为第一特征模型1-第一特征模型100的模型标识,则CPU从第二特征库中选取与第一特征模型1的模型标识对应的第二特征模型1,从第二特征库中选取与第一特征模型2的模型标识对应的第二特征模型2,以此类推,最终从第二特征库中选取第二特征模型1-第二特征模型100。至此,从第二特征库中选取100个第二特征模型,并基于所述100个第二特征模型进行后续处理。
综上所述,基于方式一或者方式二,CPU可以从第二特征库中选取多个第二特征模型,且选取的第二特征模型数量远远小于第二特征模型总数量。例如,从第二特征库中选取100个第二特征模型,且第二特征模型总数量为10000。
步骤405,基于从第二特征库中选取的多个第二特征模型,CPU根据待检测特征与选取的每个第二特征模型之间的相似度,从多个第二特征模型中确定出至少一个目标特征模型,目标特征模型就是最终特征比对结果。
例如,CPU确定待检测特征与选取的每个第二特征模型(如100个第二特征模型)之间的相似度,对此确定方式不做限制。按照相似度从高到低的顺序,对每个第二特征模型进行排序,并选取排序靠前的T个第二特征模型,即相似度高的T个第二特征模型,所述T个第二特征模型就是目标特征模型。
T的取值可以根据经验进行配置,表示最终输出T个特征比对结果,例如,T可以为1、2、3等,对此不做限制。如T为3时,CPU选取排序靠前的3个第二特征模型,即特征比对结果为排序靠前的3个第二特征模型的模型标识。
在上述实施例中,CPU是从多个第二特征模型(如100个第二特征模型)中选取排序靠前的T个第二特征模型,而不是从第二特征库的所有第二特征模型(如10000个第二特征模型)中选取排序靠前的T个第二特征模型,由于100个第二特征模型的数量远远小于第二特征模型总数量,因此,上述方式通过在GPU加载特征点数量较少的小模型、在指定存储介质加载特征点数量较多的大模型,在降低CPU计算量的同时,保障比对精度,提升特征库的容量和并发(并发指的是平均每秒可以有多少个待检测特征完成与特征模型的比对)。
基于与上述方法同样的申请构思,本申请实施例中还提出一种特征比对装置,如图5所示,为所述特征比对装置的结构图,所述装置包括:确定模块51,用于从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
发送模块52,用于将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
处理模块53,用于根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;
其中,所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
在一个例子中,所述处理模块53根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型时具体用于:
若所述模型信息包括模型标识,且同一个样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,则基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与目标GPU发送的模型标识对应的第二特征模型;或者,若所述模型信息包括模型标识和相似度,且同一个样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,则根据所述目标GPU发送的多个第一特征模型的相似度,从所述目标GPU发送的多个第一特征模型的模型标识中选择目标模型标识;基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与所述目标模型标识对应的第二特征模型。
在一个例子中,所述处理模块53根据所述目标GPU发送的多个第一特征模型的相似度,从所述目标GPU发送的多个第一特征模型的模型标识中选择目标模型标识时具体用于:基于所述目标GPU发送的多个第一特征模型的相似度,对所述目标GPU发送的多个第一特征模型的模型标识进行排序;基于排序结果,从所述目标GPU发送的多个第一特征模型的模型标识中选择指定数量个模型标识作为目标模型标识。
所述确定模块51,还用于获取每个样本特征对应的第一特征模型和第二特征模型;根据所有第一特征模型的总数量N和设定阈值K确定所有第一特征模型需要占用的GPU数量M;对所有GPU进行分组,每个GPU组中GPU数量大于等于M;将所有第一特征模型分组得到M个第一特征库,将M个第一特征库存储至各GPU组中的GPU,每个GPU存储一个第一特征库,每个第一特征库中第一特征模型数量小于等于K,K为GPU存储的第一特征模型数量最大值;将所有第二特征模型分组到第二特征库,并将第二特征库存储至指定存储介质。
所述确定模块51从所有GPU中确定出用于处理待检测特征的至少一个目标GPU时具体用于:根据每个GPU组的负载情况,从所有GPU组中选择负载最轻的GPU组;将负载最轻的GPU组中的所有GPU均确定为所述目标GPU。
基于与上述方法同样的申请构思,本申请实施例中还提出一种特征比对设备,本申请实施例提供的特征比对设备,从硬件层面而言,特征比对设备的硬件架构示意图可以参见图6所示。特征比对设备可以包括:CPU61、机器可读存储介质62和GPU,所述机器可读存储介质62存储有能够被所述CPU 61执行的机器可执行指令;所述CPU 61用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,CPU 61用于执行机器可执行指令,以实现如下步骤:
从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,其中,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
例如,所述计算机指令被处理器执行时,能够实现如下步骤:
从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
基于与上述方法同样的申请构思,本申请实施例中还提出一种特征比对设备,所述特征比对设备可以包括但不限于CPU和GPU,其中:
所述CPU,用于从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;将所述待检测特征发送给所述目标GPU;
所述GPU,用于根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
所述CPU,还用于根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;
其中,所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种特征比对方法,其特征在于,应用于CPU,所述方法包括:
从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
2.根据权利要求1所述的方法,其特征在于,所述从所有GPU中确定出用于处理待检测特征的至少一个目标GPU之前,所述方法还包括:
获取每个样本特征对应的第一特征模型和第二特征模型;
根据所有第一特征模型的总数量N和设定阈值K确定所有第一特征模型需要占用的GPU数量M;对所有GPU进行分组,每个GPU组中GPU数量大于等于M;将所有第一特征模型分组得到M个第一特征库,将M个第一特征库存储至各GPU组中的GPU,每个GPU存储一个第一特征库,每个第一特征库中第一特征模型数量小于等于K,K为GPU存储的第一特征模型数量最大值;
将所有第二特征模型分组到第二特征库,并将所述第二特征库存储至指定存储介质。
3.根据权利要求2所述的方法,其特征在于,
所述从所有GPU中确定出用于处理待检测特征的至少一个目标GPU,包括:
根据每个GPU组的负载情况,从所有GPU组中选择负载最轻的GPU组;
将所述负载最轻的GPU组中的所有GPU均确定为所述目标GPU。
4.根据权利要求2所述的方法,其特征在于,
所述模型信息包括模型标识,同一个样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,所述根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型,包括:
基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与目标GPU发送的模型标识对应的第二特征模型。
5.根据权利要求2所述的方法,其特征在于,
所述模型信息包括模型标识和相似度,同一样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,所述根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型,包括:
根据所述目标GPU发送的多个第一特征模型的相似度,从所述目标GPU发送的多个第一特征模型的模型标识中选择目标模型标识;
基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与所述目标模型标识对应的第二特征模型。
6.根据权利要求5所述的方法,其特征在于,
所述根据所述目标GPU发送的多个第一特征模型的相似度,从所述目标GPU发送的多个第一特征模型的模型标识中选择目标模型标识,包括:
基于所述目标GPU发送的多个第一特征模型的相似度,对所述目标GPU发送的多个第一特征模型的模型标识进行排序;
基于排序结果,从所述目标GPU发送的多个第一特征模型的模型标识中选择指定数量个模型标识作为目标模型标识。
7.一种特征比对装置,其特征在于,所述装置包括:
确定模块,用于从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
发送模块,用于将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
处理模块,用于根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;
其中,所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
8.根据权利要求7所述的装置,其特征在于,所述处理模块根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型时具体用于:
若所述模型信息包括模型标识,且同一个样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,则基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与目标GPU发送的模型标识对应的第二特征模型;或者,
若所述模型信息包括模型标识和相似度,且同一个样本特征对应的第一特征模型的模型标识与第二特征模型的模型标识之间具有映射关系,则根据所述目标GPU发送的多个第一特征模型的相似度,从所述目标GPU发送的多个第一特征模型的模型标识中选择目标模型标识;基于第一特征模型的模型标识与第二特征模型的模型标识之间的映射关系,从第二特征库中选取与所述目标模型标识对应的第二特征模型。
9.一种特征比对设备,其特征在于,包括:CPU和机器可读存储介质,所述机器可读存储介质存储有能够被所述CPU执行的机器可执行指令;
所述CPU用于执行机器可执行指令,以实现如下步骤:
从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;
将所述待检测特征发送给所述目标GPU,以使所述目标GPU根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
根据目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
10.一种特征比对设备,其特征在于,包括CPU和GPU,其中:
所述CPU,用于从所有GPU中确定出用于处理待检测特征的至少一个目标GPU;将所述待检测特征发送给所述目标GPU;
所述GPU,用于根据所述待检测特征与第一特征库中的每个第一特征模型之间的相似度,将所述第一特征库中的多个第一特征模型的模型信息发送给所述CPU;
所述CPU,还用于根据所述目标GPU发送的模型信息,从第二特征库中选取多个第二特征模型;根据所述待检测特征与选取的每个第二特征模型之间的相似度,从所述多个第二特征模型中确定出至少一个目标特征模型;
其中,所述第一特征库中的第一特征模型的特征点数量小于所述第二特征库中的第二特征模型的特征点数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980095.0A CN112668597B (zh) | 2019-10-15 | 2019-10-15 | 一种特征比对方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980095.0A CN112668597B (zh) | 2019-10-15 | 2019-10-15 | 一种特征比对方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112668597A true CN112668597A (zh) | 2021-04-16 |
CN112668597B CN112668597B (zh) | 2023-07-28 |
Family
ID=75400341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910980095.0A Active CN112668597B (zh) | 2019-10-15 | 2019-10-15 | 一种特征比对方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668597B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050197977A1 (en) * | 2003-12-09 | 2005-09-08 | Microsoft Corporation | Optimizing performance of a graphics processing unit for efficient execution of general matrix operations |
US20100328462A1 (en) * | 2009-06-24 | 2010-12-30 | Xin Chen | Detecting Common Geographic Features in Images Based on Invariant Components |
CN102033927A (zh) * | 2010-12-15 | 2011-04-27 | 哈尔滨工业大学 | 一种基于gpu实现的快速音频检索方法 |
US20140215621A1 (en) * | 2013-01-25 | 2014-07-31 | REMTCS Inc. | System, method, and apparatus for providing network security |
US20140218377A1 (en) * | 2013-02-04 | 2014-08-07 | Hon Hai Precision Industry Co., Ltd. | Graphics processing unit expansion card and method for expanding and registering graphics processing units |
CN107341507A (zh) * | 2017-06-20 | 2017-11-10 | 华中科技大学 | 一种基于gpu与级联哈希的快速图像sift特征匹配方法 |
US20180198809A1 (en) * | 2017-01-06 | 2018-07-12 | Juniper Networks, Inc. | Apparatus, system, and method for accelerating security inspections using inline pattern matching |
CN108564084A (zh) * | 2018-05-08 | 2018-09-21 | 北京市商汤科技开发有限公司 | 文字检测方法、装置、终端及存储介质 |
US20190080154A1 (en) * | 2017-09-11 | 2019-03-14 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Integrated facial recognition method and system |
CN109492604A (zh) * | 2018-11-23 | 2019-03-19 | 北京嘉华科盈信息***有限公司 | 人脸模型特征统计分析*** |
CN109614510A (zh) * | 2018-11-23 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 一种图像检索方法、装置、图形处理器和存储介质 |
CN109657083A (zh) * | 2018-12-27 | 2019-04-19 | 广州华迅网络科技有限公司 | 纺织品图片特征库的建立方法和装置 |
CN109902547A (zh) * | 2018-05-29 | 2019-06-18 | 华为技术有限公司 | 动作识别方法和装置 |
CN109947811A (zh) * | 2017-11-29 | 2019-06-28 | 北京京东金融科技控股有限公司 | 通用特征库生成方法及装置、存储介质、电子设备 |
CN110084268A (zh) * | 2019-03-18 | 2019-08-02 | 浙江大华技术股份有限公司 | 图像比对方法、人脸识别方法及装置、计算机存储介质 |
CN110110113A (zh) * | 2019-05-20 | 2019-08-09 | 重庆紫光华山智安科技有限公司 | 图像搜索方法、***及电子装置 |
US20190258251A1 (en) * | 2017-11-10 | 2019-08-22 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
-
2019
- 2019-10-15 CN CN201910980095.0A patent/CN112668597B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050197977A1 (en) * | 2003-12-09 | 2005-09-08 | Microsoft Corporation | Optimizing performance of a graphics processing unit for efficient execution of general matrix operations |
US20100328462A1 (en) * | 2009-06-24 | 2010-12-30 | Xin Chen | Detecting Common Geographic Features in Images Based on Invariant Components |
CN102033927A (zh) * | 2010-12-15 | 2011-04-27 | 哈尔滨工业大学 | 一种基于gpu实现的快速音频检索方法 |
US20140215621A1 (en) * | 2013-01-25 | 2014-07-31 | REMTCS Inc. | System, method, and apparatus for providing network security |
US20140218377A1 (en) * | 2013-02-04 | 2014-08-07 | Hon Hai Precision Industry Co., Ltd. | Graphics processing unit expansion card and method for expanding and registering graphics processing units |
US20180198809A1 (en) * | 2017-01-06 | 2018-07-12 | Juniper Networks, Inc. | Apparatus, system, and method for accelerating security inspections using inline pattern matching |
CN107341507A (zh) * | 2017-06-20 | 2017-11-10 | 华中科技大学 | 一种基于gpu与级联哈希的快速图像sift特征匹配方法 |
US20190080154A1 (en) * | 2017-09-11 | 2019-03-14 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Integrated facial recognition method and system |
US20190258251A1 (en) * | 2017-11-10 | 2019-08-22 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
CN109947811A (zh) * | 2017-11-29 | 2019-06-28 | 北京京东金融科技控股有限公司 | 通用特征库生成方法及装置、存储介质、电子设备 |
CN108564084A (zh) * | 2018-05-08 | 2018-09-21 | 北京市商汤科技开发有限公司 | 文字检测方法、装置、终端及存储介质 |
CN109902547A (zh) * | 2018-05-29 | 2019-06-18 | 华为技术有限公司 | 动作识别方法和装置 |
CN109492604A (zh) * | 2018-11-23 | 2019-03-19 | 北京嘉华科盈信息***有限公司 | 人脸模型特征统计分析*** |
CN109614510A (zh) * | 2018-11-23 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 一种图像检索方法、装置、图形处理器和存储介质 |
CN109657083A (zh) * | 2018-12-27 | 2019-04-19 | 广州华迅网络科技有限公司 | 纺织品图片特征库的建立方法和装置 |
CN110084268A (zh) * | 2019-03-18 | 2019-08-02 | 浙江大华技术股份有限公司 | 图像比对方法、人脸识别方法及装置、计算机存储介质 |
CN110110113A (zh) * | 2019-05-20 | 2019-08-09 | 重庆紫光华山智安科技有限公司 | 图像搜索方法、***及电子装置 |
Non-Patent Citations (3)
Title |
---|
KONRAD MOREN等: "A framework for accelerating local feature extraction with OpenCL on multi-core CPUs and co-processors", 《JOURNAL OF REAL-TIME IMAGE PROCESSING》, pages 901 * |
李建超等: "基于移动平台的人脸检测与人脸识别算法研究", 《中国优秀硕士学位论文电子期刊》, pages 51 - 60 * |
柯涛等: "基于GPU的SIFT特征点快速匹配", 《测绘与空间地理信息》, pages 14 - 16 * |
Also Published As
Publication number | Publication date |
---|---|
CN112668597B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340237B (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
US20110307423A1 (en) | Distributed decision tree training | |
CN110462646A (zh) | 信息处理设备、信息处理方法以及计算机可读存储介质 | |
CN107341507B (zh) | 一种基于gpu与级联哈希的快速图像sift特征匹配方法 | |
CN109165307B (zh) | 一种特征检索方法、装置和存储介质 | |
CN112966754B (zh) | 样本筛选方法、样本筛选装置及终端设备 | |
CN111353062A (zh) | 一种图像检索方法、装置以及设备 | |
CN111259812A (zh) | 基于迁移学习的内河船舶重识别方法、设备及存储介质 | |
CN110135428B (zh) | 图像分割处理方法和装置 | |
CN111783997A (zh) | 一种数据处理方法、装置及设备 | |
CN110188798B (zh) | 一种对象分类方法及模型训练方法和装置 | |
CN113568836B (zh) | 多时间序列的样本特征提取方法以应用其的软件检测方法 | |
Masek et al. | Multi-GPU implementation of k-nearest neighbor algorithm | |
US9858293B2 (en) | Image processing apparatus and image processing method | |
CN114091597A (zh) | 基于自适应组样本扰动约束的对抗训练方法、装置及设备 | |
CN113360911A (zh) | 恶意代码同源分析方法、装置、计算机设备和存储介质 | |
CN113392867A (zh) | 一种图像识别方法、装置、计算机设备及存储介质 | |
CN112416301A (zh) | 深度学习模型开发方法及装置、计算机可读存储介质 | |
US11200056B2 (en) | Parallel union control device, parallel union control method, and storage medium | |
CN112668597B (zh) | 一种特征比对方法、装置及设备 | |
CN112906728B (zh) | 一种特征比对方法、装置及设备 | |
CN111767419A (zh) | 图片搜索方法、装置、设备及计算机可读存储介质 | |
CN108334935B (zh) | 精简输入的深度学习神经网络方法、装置和机器人*** | |
CN115526310A (zh) | 一种网络模型的量化方法、装置及设备 | |
US20220343146A1 (en) | Method and system for temporal graph neural network acceleration |
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 |