掌桥专利:专业的专利平台
掌桥专利
首页

一种人脸识别特征数据动态匹配方法、系统、装置和介质

文献发布时间:2024-04-18 20:01:30


一种人脸识别特征数据动态匹配方法、系统、装置和介质

技术领域

本发明涉及一种人脸识别方法,尤其涉及一种人脸识别特征数据动态匹配方法、系统、装置和介质,属于人工智能技术领域。

背景技术

现有技术中,智能终端上普遍存在的鉴权方式包括物理介质(银行卡、身份证等)、短信验证码、二维码、人脸识别等。其中,人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术,相比于其他鉴权方式,具有不依赖其他介质,通过用户自身的生物特征即可完成身份识别等优点。

目前,人脸识别技术主要通过提取人脸特征数据,并动态绑定到人脸识别算法来提供识别服务的。在没有人脸数据的前提下,人脸识别方法的流程如下:首先由管理员在人脸库页面中创建人员,并上传人员图片,调用人脸特征数据提取算法提取人员图片的人脸特征;然后对一批人员进行标签划分,将人员和标签绑定,并将标签绑定到人脸识别算法上,该人脸识别算法即可拥有此标签下全部的人脸特征数据,使得被绑定的人员能够被识别出来。并且,已提取的人脸特征数据可以跨平台使用,具备一次提取,多处使用的能力。

由此可见,以往的人脸识别方法具有如下技术缺陷:其一、人脸特征数据提取与算法绑定需要非常专业的人员才能操作,导致开发使用门槛非常高;其二、人脸特征样本数据少,导致人脸识别结果不理想,从而无法提供可靠的识别服务;其三、需要先对人脸特征进行提取,并将人脸特征数据内置到人脸识别算法里,如果人员和人脸特征数据出现变动,则需要重新制作人脸识别算法,这样无疑增加了开发人员的算法维护工作量,不仅增加了维护的难度,而且提高了使用成本。

因此,亟待研发一种新的人脸识别方法,以解决上述人脸识别算法识别准确率低,且不同的算法不能共用同一套人脸特征库的问题。

发明内容

针对上述现存的技术问题,本发明提供一种人脸识别特征数据动态匹配方法、系统、装置和介质,将人脸图像特征数据从人脸识别算法中抽离出来,并动态匹配到相应的人脸识别算法中,以达到提高人脸识别算法的识别准确率和可用性的技术目的。

为实现上述目的,本发明提供一种人脸识别特征数据动态匹配方法,包括如下步骤:

获取所有人员图片,并通过人脸图像特征提取算法提取每张人员图片的人脸图像特征数据;然后将人脸图像特征数据和对应的人员图片建立绑定关系;

将所有人员归类到标签中,并将每张人员图片的人脸图像特征数据与对应的标签建立绑定关系;然后将每个标签与对应的人脸识别算法建立绑定关系;再将每个人脸识别算法绑定的所有人脸图像特征数据合并成相应的人脸特征库;

选择人脸识别算法,并获取人脸识别请求;

获取选择的人脸识别算法的识别标识,并通过识别标识判断该人脸识别算法是否存在识别能力;

仅当选择的人脸识别算法存在识别能力,且当前处于启用状态时,根据人脸识别请求,通过该人脸识别算法对相应的人脸特征库进行检索匹配,得出匹配结果。

本发明方法进一步的,所述获取所有人员图片,包括:

获取鉴权信息,并进行鉴权校验;

若校验通过,则获取人员信息,并创建人员;

导入人员图片,并检测是否存在人脸图像特征提取算法;若是,则进行下一步。

本发明方法具体的,所述人脸图像特征提取算法采用ARCFace模型。

本发明方法进一步的,所述将所有人员归类到标签中,人员与标签为一对多的绑定关系,且标签与人员也是一对多的绑定关系。

本发明方法更进一步的,所述将每张人员图片的人脸图像特征数据与对应的标签建立绑定关系中,人脸图像特征数据与标签为一对多的绑定关系,且标签与人脸图像特征数据也是一对多的绑定关系。

本发明方法更进一步的,所述将每个标签与对应的人脸识别算法建立绑定关系中,标签与人脸识别算法为一对多的绑定关系,且人脸识别算法与标签也是一对多的绑定关系。

本发明方法进一步的,所述获取人脸识别请求,包括:

获取人脸识别请求,并存储在数据库中;

获取人脸识别请求的鉴权信息,并进行鉴权校验;若校验通过,则进入下一步。

由上述技术方案可知,本发明方法的工作原理和技术效果如下:

(1)通过对人脸特征库进行维护,本发明能够非常方便地将对人员图片进行人脸特征提取,从而快速形成高识别率的人脸识别服务。并且,由于本发明支持将人员与标签进行多对多的绑定,标签与人脸识别算法进行多对一的绑定,因此随着人员图片的丰富,人脸特征库也越来越丰富,人脸识别的准确率也越来越高。

(2)通过将标签与人脸识别算法进行绑定,本发明能够支持人员的变动,一旦人员变动后,与人脸识别算法绑定的人脸特征库会相应的进行更新,从而无需重新发布人脸识别算法。并且,通过人脸图像特征数据动态绑定的方式,大幅度提升了人脸识别算法的可用性,降低了开发人员的维护成本。

并且,本发明又提供一种人脸识别特征数据动态匹配系统,包括特征数据模块、人脸特征库模块、识别请求模块、识别能力模块、人脸识别模块;

所述特征数据模块,用于获取所有人员图片,并通过人脸图像特征提取算法提取每张人员图片的人脸图像特征数据;然后将人脸图像特征数据和对应的人员图片建立绑定关系;

所述人脸特征库模块,用于将所有人员归类到标签中,并将每张人员图片的人脸图像特征数据与对应的标签建立绑定关系;然后将每个标签与对应的人脸识别算法建立绑定关系;再将每个人脸识别算法绑定的所有人脸图像特征数据合并成相应的人脸特征库;

所述识别请求模块,用于选择人脸识别算法,并获取人脸识别请求;

所述识别能力模块,用于获取选择的人脸识别算法的识别标识,并通过识别标识判断该人脸识别算法是否存在识别能力;

所述人脸识别模块,用于仅当选择的人脸识别算法存在识别能力,且当前处于启用状态时,根据人脸识别请求,通过该人脸识别算法对相应的人脸特征库进行检索匹配,得出匹配结果。

接着,本发明再提供一种人脸识别特征数据动态匹配装置,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的一种人脸识别特征数据动态匹配方法。

此外,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种人脸识别特征数据动态匹配方法。

综上,本发明通过人脸图像特征提取算法对人员图片的人脸图像特征进行提取,同时将人脸图像特征数据从人脸识别算法中抽离出来,通过构建人脸特征库的方式动态匹配到相应的人脸识别算法上,不仅提高了人脸识别算法的可用性,还通过日常的算法识别服务的积累,大大的丰富了人脸特征库,并且提高了人脸识别算法的准确率。

相比现有技术,本发明的技术优势在于:

1、以人脸识别算法为维度,将每个人脸识别算法下的所有人脸图像特征数据合并成其特有的人脸特征库,并将人脸特征库动态提供给相应的人脸识别算法使用。

2、将人脸图像特征数据与人脸识别算法进行解耦,通过关系绑定的方式做到自由组合,无论人员的变动或标签的变动,还是人脸图像特征数据的扩充,都无需再重新制作人脸识别算法,不仅减少了开发人员的算法维护工作,还降低了使用和维护的成本。

3、由于同一份人脸图像特征数据可以绑定多个人脸识别算法,日常的人脸识别服务可以丰富人脸特征库的样本数据,从而提升被绑定算法的识别准确率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明方法中人脸图像特征提取与特征数据绑定阶段的流程图;

图2为本发明方法中人脸识别阶段的流程图;

图3为本发明系统的原理框图;

图4为本发明装置的原理框图。

具体实施方式

以下结合实施例和附图对本发明作进一步的阐述。所述的实施例仅为本发明一部分的实施例,这些实施例仅用于解释本发明,对本发明的范围并不构成任何限制。所述的附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

实施例1:本发明人脸识别特征数据动态匹配方法。

如图1、图2所示,本实施例提供一种人脸识别特征数据动态匹配方法,包括人脸图像特征提取与特征数据绑定阶段,以及人脸识别阶段,具体介绍如下。

如图1所示,所述人脸图像特征提取与特征数据绑定的流程阶段,包括如下步骤:

S1、获取所有人员图片,并通过人脸图像特征提取算法提取每张人员图片的人脸图像特征数据;然将人脸图像特征数据和对应的人员图片建立绑定关系,并保存到数据库中。

本实施例中,本步骤S1包括如下具体步骤:

S1-1、获取鉴权信息,如用户token(令牌),并进行鉴权校验,从而防止无效请求和攻击;若校验不通过,则返回鉴权失败,并结束流程;若校验通过,则进入下一步。

S1-2、获取人员信息,包括人员的姓名、性别以及所属部门等信息,并创建人员。

S1-3、导入人员图片,并检测是否已安装人脸图像特征提取算法;若否,则人脸图像特征提取算法未安装,无法进行人脸图像特征提取,并结束流程;若是,则人脸图像特征提取算法已安装,并进入下一步。

S1-4、通过人脸图像特征提取算法提取每张人员图片的人脸图像特征数据,并保存到数据库中。

具体实施时,人脸图像特征提取算法使用一个AI服务容器。首先,通过Kubernetes(简称 K8S,是用于自动部署、扩缩和管理容器化应用程序的开源系统)的接口启动人脸图像特征提取算法的AI服务容器,该AI服务容器加载人脸图像特征提取算法模型(比如ARCFace模型)。然后,该AI服务容器将导入的人员图片传输给ARCFace模型,并通过ARCFace模型提取人员图片的人脸图像特征数据。最后,将提取的人脸图像特征数据回调到该AI服务容器的API接口中,即可得到每张人员图片的人脸图像特征数据集。

S1-5、将提取的人脸图像特征数据和对应的人员图片进行绑定,并保存到数据库中。

S2、将所有人员归类到标签中,并将每张人员图片的人脸图像特征数据与对应的标签建立绑定关系;然后将每个标签与对应的人脸识别算法建立绑定关系;再将每个人脸识别算法绑定的所有人脸图像特征数据合并成相应的人脸特征库,并保存到对应人脸识别算法的AI服务容器中。

本实施例中,本步骤S2包括如下:

S2-1、将所有人员归类到标签中,并将每张人员图片的人脸图像特征数据与相应的标签建立绑定关系,并保存到数据库中。

具体实施时,先设定标签(分组),标签(分组)可以定义为某一个区域、某一个部门,例如研发部等。将人员归类到标签(分组)中,使得人员与对应的标签建立绑定关系,且支持一个人员归类到多个标签中,且一个标签归类给多个人员,并存储到数据库中。接着,将每个人员的人脸图像特征数据与对应的标签建立绑定关系。

S2-2、以标签为维度,将每个标签与对应的人脸识别算法建立绑定关系,并保存到数据库中。

具体实施时,支持一个人脸识别算法绑定多个标签,且一个标签可以绑定多个人脸识别算法。相应的,同一个人脸识别算法可以具备多份人脸图像特征数据,同一份人脸图像特征数据可以绑定多个人脸识别算法。

S2-3、汇总每个人脸识别算法下所有的人脸图像特征数据,将所有的人脸图像特征数据合并成一个特征矩阵数据文件,从而构建每个人脸识别算法特有的人脸特征库,并保存到对应人脸识别算法的AI服务容器中。

具体实施时,每个人脸识别算法分别使用一个AI服务容器,将特征矩阵数据文件保存到部署对应人脸识别算法的AI服务容器中,再通过数据卷映射到AI服务容器内的方式提供给对应的人脸识别算法使用。

需要说明的是,经过步骤S1-S2之后,各个人脸识别算法便具备了特有的人脸特征库。由于本发明将人脸特征库进行抽离,当出现人员变动或标签变动的情况,无需开发者重新发布人脸识别算法,只需重复步骤S1-S2即可。并且,日常的人脸识别服务可以丰富人脸特征库样本数据。此外,同一份人脸图像特征数据可以绑定多个人脸识别算法,从而提升这些人脸识别算法的识别准确率。

如图2所示,所述人脸识别阶段,包括如下步骤:

S3、选择人脸识别算法,获取人脸识别请求,并将人脸识别请求的数据存储在数据库中。

具体实施时,本步骤S3包括如下:

S3-1、在进行人脸识别前,先选择特定的人脸识别算法。

S3-2、获取人脸识别请求,当人脸识别请求到达应用系统后端服务,先将人脸识别请求的数据(包括请求参数、待识别的图片、请求的用户信息、请求方IP等信息)存储在数据库中,便于后续日志审查。

S3-3、获取人脸识别请求的鉴权信息,并进行鉴权校验,从而防止无效请求和攻击。若校验不通过,则返回鉴权失败,并结束流程;若校验通过,则进入下一步。

S4、根据选择的人脸识别算法,从数据库中获取该人脸识别算法的识别标识,并通过识别标识判断该人脸识别算法是否存在识别能力;若不存在,则直接反馈识别不存在,并结束流程;若存在,则进入下一步。

需要说明的是,由于所有的人脸识别算法都管理在数据库中,包含人脸识别算法的唯一ID、当前是否已启用,因此根据所选择的人脸识别算法,能够从数据库获取其唯一的识别标识(即存储在数据库中的人脸识别算法的唯一ID),以及该人脸识别算法当前是否处于启用状态。同时,由于每个人脸识别算法都会记录是否拥有识别能力的信息,所以能够通过识别标识判断对应的人脸识别算法是否存在,即是否存在对应人脸识别算法的识别能力。尤其是,仅当选择的人脸识别算法存在、且当前处于启用状态时,才可以进入下一步。

S5、根据人脸识别请求中的请求参数,通过选择的人脸识别算法对人脸特征库进行检索,将人脸识别请求中待识别的图片与人脸特征库数据进行匹配,得出匹配结果,并保存到数据库中。

具体实施时,当判断选择的人脸识别算法正常且拥有识别能力之后,本步骤S8包括如下:

S5-1、首先,通过K8S的接口启动选择的人脸识别算法的AI服务容器,AI服务容器启动成功后会加载相应的人脸识别算法模型,以及相应的人脸特征库。

S5-2、接着,应用系统后端服务通过API接口将人脸识别请求中的请求参数(包含辅助识别的标注区域等),以及待识别的图片发送到该人脸识别算法的AI服务容器中,通过人脸识别算法模型对相应的人脸特征库进行检索,将待识别的图片与人脸特征库数据进行匹配,待匹配完成后,再将匹配结果反馈给AI服务容器。

S5-3、最后,AI服务容器将匹配结果保存到数据库中,以便做识别记录,并将匹配结果返回给上层调用者服务。

由上可知,以往的人脸识别方法是将人脸特征库内置到人脸识别算法中,两者耦合性很高,一旦出现人员变动、标签变动等情况都需要重制人脸识别算法,而重新发布人脸识别算法不仅增加了开发者的工作量,而且提高人脸识别算法的识别精度也很困难。相较而言,本发明方法将人脸特征从人脸识别算法中抽离出来,并动态匹配到人脸识别算法,且能够与人脸识别算法自由组合,无论是应对人员变动的情况,还是满足提高人脸识别算法识别精度的要求,都无需开发者重新发布人脸识别算法,并且同一份人脸特征数据也可以提供给多个人脸识别算法使用,节约了内存的占用。

实施例2:本发明人脸识别特征数据动态匹配系统。

如图3所示,本实施例提供一种人脸识别特征数据动态匹配系统,包括特征数据模块、人脸特征库模块、识别请求模块、识别能力模块、人脸识别模块。

所述特征数据模块,用于获取所有人员图片,并通过人脸图像特征提取算法提取每张人员图片的人脸图像特征数据;然后将人脸图像特征数据和对应的人员图片建立绑定关系,并保存到数据库中。

所述人脸特征库模块,用于将所有人员归类到标签中,并将每张人员图片的人脸图像特征数据与对应的标签建立绑定关系;然后将每个标签与对应的人脸识别算法建立绑定关系;再将每个人脸识别算法绑定的所有人脸图像特征数据合并成相应的人脸特征库,并保存到对应的人脸识别算法AI服务容器中。

所述识别请求模块,用于选择人脸识别算法,获取人脸识别请求,并保存到数据库中。

所述识别能力模块,用于根据选择的人脸识别算法,从数据库中获取选择的人脸识别算法的识别标识,并通过识别标识判断该人脸识别算法是否存在识别能力。

所述人脸识别模块,用于仅当选择的人脸识别算法存在识别能力,且当前处于启用状态时,根据人脸识别请求中的请求参数,通过该人脸识别算法对相应的人脸特征库进行检索,将待识别的图片与人脸特征库数据进行匹配,得出匹配结果,并保存到数据库中。

综上,本发明系统将人脸特征数据与人脸识别算法进行解耦,通过关系绑定的方式做到自由组合,人员的变动和特征数据的扩充都无需再重新制作算法,减少了开发人员的算法维护工作。

实施例3:本发明人脸识别特征数据动态匹配装置。

如图4所示,本实施例提供一种人脸识别特征数据动态匹配装置,包括相互连接的存储器和处理器;所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的一种人脸识别特征数据动态匹配方法。

其中,所述存储器作为本发明装置的一个数据存储组件,用于存储输入数据和处理结果,可以使用数据库或其他分布式存储系统,以满足数据的持久化和高可用性需求。

具体实施时,所述处理器包括负载均衡器,与负载均衡器连接的应用系统后端服务,与应用系统后端服务连接的K8S接口,与K8S接口分别连接的多个AI服务容器。

所述应用系统后端服务通常是指在软件应用中负责处理数据、逻辑和业务功能的组件或模块,用于接收人脸识别请求,通过API接口将人脸识别请求中的请求参数(包含辅助识别的标注区域等),以及待识别的图片发送到对应人脸识别算法的AI服务容器中。

所述负载均衡器用于将请求均匀地分发给多个AI服务容器,以实现并发处理和水平扩展。为了提高本发明装置的性能和可扩展性,故而引入负载均衡器来分发请求。

所述K8S接口用于与K8S集群进行通信,实现对AI服务容器的管理和调度。并且,Kubernetes (简称 K8S)是一个容器编排和管理工具,提供了管理、调度和部署容器化应用的功能。

所述AI服务容器设有多个,用于提供不同的人工智能服务。这些AI服务容器可以运行着各种不同的算法模型,如人脸图像特征提取算法、人脸识别算法等。本实施例中,人脸图像特征提取算法使用一个AI服务容器,每个人脸识别算法各使用一个AI服务容器。并且,每个AI服务容器都提供一个API接口,用于接收输入数据并返回相应的处理结果。

并且,本发明装置中的各个组件之间需要进行网络通信,以传递数据和控制信息,可以使用常见的网络协议和技术,如HTTP、TCP/IP等。

此外,本发明装置的配置还需要考虑以下几个方面:

a、部署Kubernetes集群:需要配置和部署Kubernetes集群,包括Master节点和多个Worker节点。可以选择公有云提供的Kubernetes服务,也可以在私有云或本地环境中自己搭建集群。

b、部署AI服务容器:每个AI服务容器都需要配置相应的环境和依赖,包括算法模型、运行时环境、网络接口等。

c、配置数据存储:选择和配置适合的数据存储组件,以满足系统对数据的存储和访问需求。

d、配置网络通信:确保各个组件之间可以正常通信,设置正确的网络配置和安全策略。

实施例4:本发明计算机可读存储介质。

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种人脸识别特征数据动态匹配方法。

并且,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

技术分类

06120116561133