一种高效的人脸图片检索方法及装置与流程

文档序号:20617528发布日期:2020-05-06 20:21阅读:312来源:国知局
一种高效的人脸图片检索方法及装置与流程

本发明涉及一种人脸图片检索方法及装置,属于图像识别软件技术领域。



背景技术:

人脸识别作为生物身份识别的典型技术,由于不需要被检测个体的主动配合,近年来在人机交互、安防、身份验证等方面得到大量的应用。

在智慧城市、安防和公安等系统中,采集到的人脸图片数量可能多达几十亿张甚至更多。通常我们向系统提交一张待查询的人脸图片,由系统查询并返回待查询人脸图片在哪些摄像头出现过,以及出现的时间和当时的抓拍照片等信息。如果按照传统的方法,将待查询人脸图片特征向量与数据库中所有保存的人脸图片特征向量进行1:1比对,则要比较几十亿次甚至更多,效率非常低下。

在现有的方案中,每一个编号记录的是人脸图片组,每接收一张新的人脸图片都要与样本数据表中每个人的所有人脸图片特征向量进行比对,以确认样本数据表是否已有人员与之相似度满足要求。同样系统每提交一张待查询的人脸图片,也要与样本数据表中每个人的所有人脸图片特征向量进行比对,以获取满足条件的编号。这两个流程中,都涉及到与样本数据表每个人所有人脸图片特征向量进行比对,这种比对方式性能消耗较大,查询速度较慢,特别是随着每天新人脸图片数量和抓拍记录查询次数的不断递增,相同资源的情况下,查询的时延会越来越大,无法满足高实时性要求。



技术实现要素:

本发明提供一种高效的人脸图片检索方法及装置,旨在至少解决现有技术中存在的技术问题之一。

本发明的技术方案涉及一种人脸图片检索方法,所述方法包括以下步骤:

a、创建人脸比对样本数据表,该数据表中限定同一个人分配唯一编号,然后记录每一个人员的所有不同人脸图片的平均特征向量及其人脸图片数为k;

b、在接收到新的人脸图片并进行特征提取后,用新接收人脸图片特征向量与人脸比对样本数据表中的每个人的平均特征向量进行比对,并计算相似度;

c、判断新接收的人脸图片与所述的人脸比对样本数据表中已有人员的人脸图片的相似度是否达到一阈值,如果达到该阈值则认为新接收人脸图片中的人与所述的已有人员是同一个人,将新接收人脸图片标记为该已有人员的唯一编号,更新该编号的平均特征向量和对应的人脸图片数为k+1,再将图片和编号存入人脸抓拍记录表,如果所述相似度达不到该阈值则执行下一步骤;

d、分配一个新的唯一编号,并将新接收的人脸图片特征向量作为该编号的平均特征向量,并记录该编号对应人脸图片数为1,存入人脸比对样本数据表,再将图片和编号存入人脸抓拍记录表。

在本发明的一些方面,所述方法还包括:

e、对于待查询的人脸图片,先用其特征向量与人脸比对样本数据表中的每个人的平均特征向量进行比对,如果已有人员的相似度达到某一阈值,则获取该已有人员编号,用该编号到人脸抓拍记录表查询所有匹配的人脸抓拍记录。

在本发明的一些方面,所述步骤c包括:

c1、当接收到一张抓拍图片时,对图片进行特征向量计算,得到第一特征向量;

c2、用第一特征向量和人脸比对样本数据表进行比对;

c3、如果找到第一平均特征向量和第一特征向量超过相似度阈值,第一平均特征向量对应的人员信息id是第一id;

c4、如果找不到平均特征向量和第一特征向量超过相似度阈值,则在人脸比对样本数据表中创建一个新的人员信息,并分配人员信息id是第二id。

在本发明的一些方面,所述步骤c3包括:将该条人脸抓拍数据的人员编号记录为第一id,并保存到人脸抓拍记录表中;对第一平均特征向量进行更新计算。

在本发明的一些方面,所述步骤c4包括:将该条人脸抓拍数据的人员编号记录为第二id,并保存到人脸抓拍记录表中;将第一特征向量作为新创建人员第二id的第二平均特征向量;将第二平均特征向量和第二id关联为一条记录存入人脸比对样本数据表。

在本发明的一些方面,所述步骤c还包括:

对于新接收图片的p维特征向量配置为x1=(x11,x12,…,x1p),且对于查询到相似度满足要求的已有人员编号的图片的p维平均特征向量配置为x2=(x21,x22,…,x2p),其中维数p与图片数k对应;

对x1和x2计算平均特征向量,计算其中每一维分量的均值为

式中1≤j≤p;

更新该编号对应的平均特征向量为

在本发明的一些方面,所述步骤e包括:当用户提交一张查询图片时,对图片进行特征向量计算,得到查询第一特征向量;用查询第一特征向量和人脸比对样本数据表进行比对:如果找到第一平均特征向量超过一阈值,则用对应的人员第一id查询人脸抓拍记录表,返回查询结果作为人脸轨迹;如果找不到超过阈值的平均特征向量,则返回轨迹为空的结果。

本发明的技术方案还涉及一种计算机装置,包括存储器和处理器,所述处理器执行储存在所述存储器中的计算机程序时实施上述的方法。

本发明的技术方案还涉及一种计算机可读存储介质,其上储存有计算机程序指令,所述计算机程序指令被处理器执行时实施上述的方法。

本发明提出改进的高效的人脸图片检索方案,其中,每个人在比对样本数据表中的特征数量不需要很多个,节省了比对样本数据表的容量。同时,检索一个人的轨迹时,只需要先与比对样本数据表进行比对就行,而不需要与所有抓拍图片特征进行比对,查询性能预计提升数倍。从而,可以进一步提升人脸图片查询的效率,提升用户查询响应速度,同时降低对硬件计算资源的需求,降低硬件投资。

以一个城市100w人口为例,假设每天人脸抓拍图片为1000w张,一个月数据为3亿张,传统方案查询一个月数据要对3亿个特征进行比对,本方案只需要和100w人口的比对样本数据表进行比对,比对效率提升了数百倍。

附图说明

图1所示为根据本发明的方法的总体流程图。

图2所示为根据本发明的第一实施例的新接收人脸图片的处理流程图。

图3所示为根据本发明的第二实施例的待查询人脸图片的处理流程图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

参照图1,根据本发明的一种人脸图片检索方法,总体包括以下步骤:

a、创建人脸比对样本数据表,该数据表中限定同一个人分配唯一编号,然后记录每一个人员的所有不同人脸图片的平均特征向量及其人脸图片数为k;

b、在接收到新的人脸图片并进行特征提取后,用新接收人脸图片特征向量与人脸比对样本数据表中的每个人的平均特征向量进行比对,并计算相似度;

c、判断新接收的人脸图片与所述的人脸比对样本数据表中已有人员的人脸图片的相似度是否达到一阈值,如果达到该阈值则认为新接收人脸图片中的人与所述的已有人员是同一个人,将新接收人脸图片标记为该已有人员的唯一编号,更新该编号的平均特征向量和对应的人脸图片数为k+1,再将图片和编号存入人脸抓拍记录表,如果所述相似度达不到该阈值则执行下一步骤;

d、分配一个新的唯一编号,并将新接收的人脸图片特征向量作为该编号的平均特征向量,并记录该编号对应人脸图片数为1,存入人脸比对样本数据表,再将图片和编号存入人脸抓拍记录表。

e、对于待查询的人脸图片,先用其特征向量与人脸比对样本数据表中的每个人的平均特征向量进行比对,如果已有人员的相似度达到某一阈值,则获取该已有人员编号,用该编号到人脸抓拍记录表查询所有匹配的人脸抓拍记录。

在一实施例中,根据本发明的方法中的平均特征向量的计算方法如下。

假设新接收图片的特征向量是x1=(x11,x12,…,x1p)(p维特征向量),且查询到相似度满足要求的已有人员编号,其平均特征向量为x2=(x21,x22,…,x2p)(p维特征向量),该平均特征向量为k个特征向量的平均特征向量(对应的人脸图片数为k)。

对x1和x2计算平均特征向量,每一维分量的均值为:

则x1和x2的平均特征向量为

其中,k/10和1/10分别是两个特征向量对应的权值(权重值可以根据需要调整),x2是k张人脸图片的平均特征向量,而x1是新接收图片对应的特征向量,仅是1张人脸图片的特征向量,权重不一样。

参照图2,在根据本发明的方法的一实施例中,对于接收到人脸抓拍图片时的处理过程,具体举例及步骤如下:

1.当接收到一张抓拍图片时,对图片进行特征向量计算,得到特征向量1;

2.用特征向量1和人脸比对样本数据表进行比对:

a)如果找到平均特征向量1和特征向量1超过相似度阈值,平均特征向量1对应的人员信息id是id1

i.将该条人脸抓拍数据的人员编号记录为id1,并保存到人脸抓拍记录表中;

ii.对平均特征向量1进行更新计算,更新算法如上公式;

b)如果找不到平均特征向量和特征向量1超过相似度阈值,则在人脸比对样本数据表中创建一个新的人员信息,并分配人员信息id是id2

i.将该条人脸抓拍数据的人员编号记录为id2,并保存到人脸抓拍记录表中;

ii.将特征向量1作为新创建人员id2的平均特征向量,即平均特征向量2;

iii.将{平均特征向量2、id2}作为一条记录存入人脸比对样本数据表。

参照图3,在根据本发明的方法的一实施例中,对于查询到人脸抓拍轨迹的处理过程,具体举例及步骤如下:

1.当用户提交一张查询图片时,对图片进行特征向量计算,得到查询特征向量1;

2.用查询特征向量1和人脸比对样本数据表进行比对:

a)如果找到平均特征向量1超过阈值,则用对应的人员id1查询人脸抓拍记录表,返回查询结果作为人脸轨迹;

b)如果找不到超过阈值的平均特征向量,则返回轨迹为空的结果。

应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还可以包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1