本发明实施例涉及图像处理技术领域,尤其涉及一种人脸识别方法、装置及设备。
背景技术
目前,基于人脸识别的安全性和便捷性,人脸识别技术在安防、金融、智能家居等多个领域得到广泛的应用。
在现有技术中,通常采用终端设备和服务器结合的方式进行人脸识别。具体的,在用户注册时,通过设备采集用户的人脸图像,并将人脸图像发送至给服务器,由服务器进行存储。在用户验证时,通过终端设备采集用户的多张人脸图像,并将多张人脸图像发送至服务器,由服务器对多张人脸图像进行处理,以确定是否验证通过,由于人脸识别的过程为一复杂的串行处理过程,需要依赖于服务器良好的处理性能。
然而,在现有技术中,由于人脸识别要依赖于服务器良好的处理性能,且需要在网络覆盖的情况下才能实现人脸识别,导致现有技术中的人脸识别技术的应用范围受到限制。
技术实现要素:
本发明实施例提供一种人脸识别方法、装置及设备,扩大了人脸识别的应用范围。
第一方面,本发明实施例提供一种人脸识别方法,包括:
对第一缓存中的第一人脸图像进行图像格式转换处理,并将图像格式转换处理后的第一人脸图像存储在第二缓存;
对第二缓存中的第二人脸图像进行人脸信息提取处理,并将通过人脸信息提取处理得到的第一人脸信息存储到第三缓存,所述第一人脸信息包括所述第二人脸图像对应的抠图图像和所述抠图图像的质量值;
根据所述第三缓存中的至少一个人脸信息,对所述至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理;
其中,所述图像格式转换处理、所述人脸信息提取处理、所述人脸识别处理并行执行。
在一种可能的实施方式中,对第二缓存中的第二人脸图像进行人脸信息提取处理,包括:
在所述第二人脸图像中获取第一人脸位置;
根据所述第一人脸位置,对所述第二人脸图像进行抠图处理,得到所述抠图图像;
对所述抠图图像进行图像质量检测,得到所述抠图图像的质量值。
在另一种可能的实施方式中,所述第一人脸信息还包括人脸标识;相应的,在所述第二人脸图像中获取人脸位置之后,还包括:
获取所述第二人脸图像的前一帧图像中的第二人脸位置,所述第二人脸图像的前一帧图像的帧标识比所述第二人脸图像的帧标识小1;
判断所述第一人脸位置和所述第二人脸位置之间的差值是否小于预设阈值;
若是,则将所述第二人脸图像的前一帧图像对应的人脸标识确定为所述第一人脸信息中的人脸标识;
若否,则将第一标识确定为所述第一人脸信息中的人脸标识,所述第一标识为所述第三缓存中不存在的一个标识。
在另一种可能的实施方式中,所述根据所述第三缓存中的至少一个人脸信息,对所述至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理,包括:
根据所述第三缓存中的至少一个人脸信息,在所述第三缓存中确定质量值最高的抠图图像;
在所述质量值最高的抠图图像中确定多个关键点位置,并在所述质量值最高的抠图图像对所述多个关键点位置中的图像进行校正处理,得到待识别图像,所述关键点位置为所述抠图图像中预设关键部位在所述抠图图像中的位置;
在所述待识别图像中提取第一特征信息;
根据所述第一特征信息和至少一个预设图像的第二特征信息,对所述待识别图像进行人脸识别。
在另一种可能的实施方式中,所述第一人脸信息还包括人脸标识;根据所述第三缓存中的至少一个人脸信息,在所述第三缓存中确定质量值最高的抠图图像,包括:
在所述第三缓存中获取人脸标识为预设人脸标识的多个人脸信息;
在人脸标识为所述预设人脸标识的多个人脸信息中确定所述质量值最高的抠图图像。
在另一种可能的实施方式中,所述对第一缓存中的第一人脸图像进行图像格式转换处理之前,还包括:
通过摄像装置对初始人脸图像进行采集处理,并将采集得到的初始人脸图像存储至所述第一缓存;
其中,所述采集处理、所述图像格式转换处理、所述人脸信息提取处理、所述人脸识别处理并行执行。
在另一种可能的实施方式中,所述根据所述第三缓存中的至少一个人脸信息,对所述至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理之后,还包括:
在所述第二缓存中获取所述质量值最高的抠图图像对应的第三人脸图像;
获取所述第三人脸图像中的人脸位置;
根据所述第三人脸图像中的人脸位置,在所述第三人脸图像中添加人脸框;
显示添加所述人脸框的第三人脸图像和识别结果,所述识别结果用于指示所述第三人脸图像对应的用户标识。
在另一种可能的实施方式中,所述第二人脸图像包括检测图像和追踪图像,所述对第二缓存中的第二人脸图像进行人脸信息提取处理,包括:
在所述第二缓存中获取所述检测图像,并对所述检测图像进行第一人脸信息提取处理,得到所述检测图像对应的人脸信息;
在所述第二缓存中获取所述追踪图像,并对所述追踪图像进行第二人脸信息提取处理,得到所述追踪图像对应的人脸信息;
其中,所述第一人脸信息提取处理和所述第二人脸信息提取处理并行执行。
第二方面,本发明实施例提供一种人脸识别装置,包括转换模块、存储模块、提取模块和识别模块,其中,
所述转换模块用于,对第一缓存中的第一人脸图像进行图像格式转换处理;
所述存储模块用于,将图像格式转换处理后的第一人脸图像存储在第二缓存;
所述提取模块用于,对第二缓存中的第二人脸图像进行人脸信息提取处理;
所述存储模块用于,将通过人脸信息提取处理得到的第一人脸信息存储到第三缓存,所述第一人脸信息包括所述第二人脸图像对应的抠图图像和所述抠图图像的质量值;
所述识别模块用于,根据所述第三缓存中的至少一个人脸信息,对所述至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理;
其中,所述转换模块执行的所述图像格式转换处理、所述提取模块执行的所述人脸信息提取处理、所述识别模块执行的所述人脸识别处理并行执行。
在一种可能的实施方式中,所述提取模块具体用于:
在所述第二人脸图像中获取第一人脸位置;
根据所述第一人脸位置,对所述第二人脸图像进行抠图处理,得到所述抠图图像;
对所述抠图图像进行图像质量检测,得到所述抠图图像的质量值。
在另一种可能的实施方式中,所述提取模块还用于:
获取所述第二人脸图像的前一帧图像中的第二人脸位置,所述第二人脸图像的前一帧图像的帧标识比所述第二人脸图像的帧标识小1;
判断所述第一人脸位置和所述第二人脸位置之间的差值是否小于预设阈值;
在判断所述第一人脸位置和所述第二人脸位置之间的差值小于预设阈值时,将所述第二人脸图像的前一帧图像对应的人脸标识确定为所述第一人脸信息中的人脸标识;
在判断所述第一人脸位置和所述第二人脸位置之间的差值大于或等于预设阈值时,将第一标识确定为所述第一人脸信息中的人脸标识,所述第一标识为所述第三缓存中不存在的一个标识,所述第一人脸信息还包括人脸标识。
在另一种可能的实施方式中,所述识别模块具体用于:
根据所述第三缓存中的至少一个人脸信息,在所述第三缓存中确定质量值最高的抠图图像;
在所述质量值最高的抠图图像中确定多个关键点位置,并在所述质量值最高的抠图图像对所述多个关键点位置中的图像进行校正处理,得到待识别图像,所述关键点位置为所述抠图图像中预设关键部位在所述抠图图像中的位置;
在所述待识别图像中提取第一特征信息;
根据所述第一特征信息和至少一个预设图像的第二特征信息,对所述待识别图像进行人脸识别。
在另一种可能的实施方式中,所述识别模块具体用于:
在所述第三缓存中获取人脸标识为预设人脸标识的多个人脸信息;
在人脸标识为所述预设人脸标识的多个人脸信息中确定所述质量值最高的抠图图像,所述第一人脸信息还包括人脸标识。
在另一种可能的实施方式中,所述装置还包括采集模块,其中,
所述采集模块用于,在所述转换模块对第一缓存中的第一人脸图像进行预处理之前,通过摄像装置对初始人脸图像进行采集处理;
所述存储模块还用于,将采集得到的初始人脸图像存储至所述第一缓存;
其中,所述采集模块执行的所述采集处理、所述转换模块执行的所述图像格式转换处理、所述提取模块执行的所述人脸信息提取处理、所述识别模块执行的所述人脸识别处理并行执行。
在另一种可能的实施方式中,所述装置还包括第二获取模块和显示模块,其中,
所述第二获取模块用于,在所述识别模块对所述至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理之后,在所述第二缓存中获取所述质量值最高的抠图图像对应的第三人脸图像;获取所述第三人脸图像中的人脸位置;
所述显示模块用于,根据所述第三人脸图像中的人脸位置,在所述第三人脸图像中添加人脸框,并显示添加所述人脸框的第三人脸图像和识别结果,所述识别结果用于指示所述第三人脸图像对应的用户标识。
在另一种可能的实施方式中,所述提取模块具体用于:
在所述第二缓存中获取所述检测图像,并对所述检测图像进行第一人脸信息提取处理,得到所述检测图像对应的人脸信息;
在所述第二缓存中获取所述追踪图像,并对所述追踪图像进行第二人脸信息提取处理,得到所述追踪图像对应的人脸信息;
其中,所述第一人脸信息提取处理和所述第二人脸信息提取处理并行执行。
第三方面,本发明实施例提供一种终端设备,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,以使得所述终端设备执行上述第一方面任一项所述的方法。
第四方面,本发明实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,如上述第一方面任意一项所述的方法被执行。
本发明实施例提供的一种人脸识别方法、装置及设备,对第一缓存中的第一人脸图像进行图像格式转换处理,并将图像格式转换处理后的第一人脸图像存储在第二缓存;对第二缓存中的第二人脸图像进行人脸信息提取处理,并将通过人脸信息提取处理得到的第一人脸信息存储到第三缓存,第一人脸信息包括第二人脸图像对应的抠图图像和抠图图像的质量值;根据第三缓存中的至少一个人脸信息,对至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理;其中,图像格式转换处理、人脸信息提取处理、人脸识别处理并行执行。在上述过程中,由于图像格式转换处理、人脸信息提取处理、人脸识别处理并行执行,使得终端设备的资源可以得到最大化的利用,这样,即使终端设备的处理能力有限,终端设备也可以实现复杂的人脸识别逻辑,使得在终端设备上进行人脸识别具有可行性,使得人脸识别可以不再依赖服务器、以及网络,进而可以提高人脸识别的应用范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的人脸识别方法的架构图;
图2为本发明实施例提供的人脸识别方法的流程示意图;
图3为本发明实施例提供的终端设备的结构示意图;
图4为本发明实施例提供的人脸识别装置的结构示意图一;
图5为本发明实施例提供的人脸识别装置的结构示意图二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的人脸识别方法的架构图。请参见图1,终端设备中设置有摄像装置、预处理模块、人脸信息提取模块和人脸识别模块。可选的,终端设备可以为智能家居设备(例如门禁设备等)、安防设备等。摄像装置、与处理模块、人脸信息提取模块以及人脸识别模块相互独立,即:摄像装置进行人脸图像采集,并将采集得到的原始格式的人脸图像存储到第一缓存中。在第一缓存中存在原始格式的人脸图像后,预处理模块即可对第一缓存中的原始格式的人脸图像进行格式转换,得到rgb格式的人脸图像,并将rgb格式的人脸图像存储在第二缓存中。在第二缓存中存在rgb格式的人脸图像后,人脸信息提取模块即可在第二缓存中的rgb格式的人脸图像中提取人脸信息,并将人脸信息存储在第三缓存中。在第三缓存中存在人脸信息之后,人脸识别模块即可根据第三缓存中的人脸信息进行人脸识别,以得到识别结果,并将识别结果存储在第四缓存。通过设置第一缓存至第四缓存,使得各个模块将其处理好的数据存储到对应的缓存中,在其它模块需要使用对应的数据时,直接在对应的缓存中读取即可。
在本申请中,各个模块之间无耦合,使得各个模块可以并行处理,进而使得在人脸识别的过程中,多个处理步骤可以并行处理,使得终端设备的资源可以得到最大化的利用,这样,即使终端设备的处理能力有限,终端设备也可以实现复杂的人脸识别逻辑,使得在终端设备上进行人脸识别具有可行性,使得人脸识别可以不再依赖服务器、以及网络,进而可以扩大人脸识别的应用范围。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
图2为本发明实施例提供的人脸识别方法的流程示意图。请参见图1,该方法可以包括:
s201、通过摄像装置对初始人脸图像进行采集处理,并将采集得到的初始人脸图像存储至第一缓存。
本发明实施例的执行主体可以为终端设备,也可以为设置在终端设备中的人脸识别装置。人脸识别装置可以通过软件实现,也可以通过软件和硬件的结合实现。
可选的,终端设备可以为门禁设备、人脸签到设备等。
当然,终端设备还可以为其它,在实际应用过程中,可以根据实际需要确定终端设备的类型,本发明实施例对此不作具体限定。
可选的,初始人脸图像为摄像装置采集得到的人脸图像。
可选的,初始人脸图像的格式通常为raw格式。
在实际应用过程中,摄像装置可以采集多张初始人脸图像,并将多张初始人脸图像存储在第一缓存中。例如,每采集得到一张初始人脸图像,就将该初始人脸图像存储在第一缓存中。
s202、对第一缓存中的第一人脸图像进行图像格式转换处理,并将图像格式转换处理后的第一人脸图像存储在第二缓存。
可选的,第一人脸图像可以为第一缓存中的任意一张初始人脸图像。
可选的,可以将第一缓存中的第一人脸图像转换成rgb格式。
可选的,可以按照第一缓存中的图像的帧标识,依次对第一缓存中的所有图像进行格式转换,并将格式转换后的图像存储在第二缓存中。例如,每对第一缓存中的一张图像进行格式转换后,就将格式转换后的图像存储在第二缓存中。
需要说明的是,只要第一缓存中存在未进行格式转换的人脸图像,s201和s202就可以并行处理。
例如,假设摄像装置需要采集100张初始人脸图像,当通过s201将采集得到的第1张人脸图像存储在第一缓存之后,即可通过s202对第一缓存中的人脸图像进行图像格式转换处理。之后,s201和s202即可并行处理,即,一边通过s201采集人脸图像,并将采集得到的人脸图像存储到第一缓存,一边通过s202对第一缓存中的人脸图像进行图像格式转换处理,并将图像格式转换处理后的人脸图像存储在第二缓存。
需要说明的是,在s202中,可以记录已进行图像格式转换处理的人脸图像的标识,以避免对相同的人脸图像进行重复的图像格式转换处理。
s203、对第二缓存中的第二人脸图像进行人脸信息提取处理,并将通过人脸信息提取处理得到的第一人脸信息存储到第三缓存。
其中,第一人脸信息包括第二人脸图像对应的抠图图像和抠图图像的质量值。
可选的,第一人脸信息还可以包括抠图图像在第二人脸图像中的人脸位置、人脸标识等。
当然,在实际应用过程中,可以根据实际需要设置人脸信息中包括的内容,本发明实施例对此不作具体限定。
可选的,第二人脸图像对应的抠图图像是指,对第二人脸图像进行人脸抠图得到的图像。
可选的,可以先在第二人脸图像中获取第一人脸位置,并根据第一人脸位置对第二人脸图像进行抠图处理,得到抠图图像。
可选的,可以对抠图图像进行图像质量检测,得到抠图图像的质量值,例如,可以通过抠图图像中关键特征(例如,眼睛、鼻子、嘴巴、眉毛等),确定抠图图像的质量。例如,抠图图像中的关键特征为自然状态(眼睛睁开、嘴巴闭合等)时,抠图图像的质量较高,抠图图像中的关键特征的清晰度较高时,抠图图像的质量较高。
当然,在实际应用过程中,还可以通过其它可行的实现方式确定抠图图像的质量,本发明实施例对此不作具体限定。
可选的,可以通过如下可行的实现方式确定人脸标识:获取第二人脸图像的前一帧图像中的第二人脸位置,第二人脸图像的前一帧图像的帧标识比第二人脸图像的帧标识小1;判断第一人脸位置和第二人脸位置之间的差值是否小于预设阈值;若是,则将第二人脸图像的前一帧图像对应的人脸标识确定为第一人脸信息中的人脸标识;若否,则将第一标识确定为第一人脸信息中的人脸标识,第一标识为第三缓存中不存在的一个标识,即,第一标识为新命名的一个标识。
例如,在对第二缓存中的第一张人脸图像进行人脸信息提取时,确定第一张人脸图像对应的人脸标识为人脸1,在对第二缓存中的第二张人脸图像进行人脸信息提取时,若第二张人脸图像中的人脸位置与第一张人脸图像中的人脸位置的差值较小,说明第二张人脸图像和第一张人脸图像为同一用户的人脸图像,则确定第二张人脸图像对应的人脸标识为人脸1。若第二张人脸图像中的人脸位置与第一张人脸图像中的人脸位置的差值较大,说明第二张人脸图像和第一张人脸图像不是同一用户的人脸图像,则将新命名的标识(例如人脸2)确定为第二人脸图像对应的人脸标识。
可选的,第一缓存中的图像包括检测图像和追踪图像。
例如,摄像装置采集的第一张人脸图像可以为检测图像,摄像装置采集的第二张至第六张人脸图像可以为第一张人脸图像的追踪图像。摄像装置采集的第八张人脸图像可以为检测图像,摄像装置采集的第九张至第十三张图像可以为第八张人脸图像的追踪图像。
当然,在实际应用过程中,可以根据实际需要设置检测图像和追踪图像,本发明实施例对此不作具体限定。
为了提高对第二缓存中的人脸图像进行人脸信息提取的效率,可以同时对检测图像和追踪图像进行人脸信息提取,具体的:在第二缓存中获取检测图像,并对检测图像进行第一人脸信息提取处理;在第二缓存中获取追踪图像,并对追踪图像进行第二人脸信息提取处理;其中,第一人脸信息提取处理和第二人脸信息提取处理并行执行。
需要说明的是,只要第二缓存中存在未进行人脸信息提取的人脸图像,s203就可以与s201和s202并行处理。
例如,假设摄像装置需要采集100张初始人脸图像,当通过s201将采集得到的第1张人脸图像存储在第一缓存之后,即可通过s202对第一缓存中的人脸图像进行图像格式转换处理,在通过s202将第一张进行图像格式转换处理后的人脸图像存储到第二缓存之后,即可通过s203对第二缓存中的人脸图像进行人脸信息提取。之后,s201、s202和s203即可并行处理,即,一边通过s201采集人脸图像,并将采集得到的人脸图像存储到第一缓存,一边通过s202对第一缓存中的人脸图像进行图像格式转换处理,并将图像格式转换处理后的人脸图像存储在第二缓存,还一边通过s203对第二缓存中的人脸图像进行人脸信息提取,并将提取到的人脸信息存储到第三缓存。
需要说明的是,在s203中,可以记录已进行人脸信息提取的人脸图像的标识,以避免对相同的人脸图像进行重复的人脸信息提取。
s204、根据第三缓存中的至少一个人脸信息,对至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理。
其中,采集处理、图像格式转换处理、人脸信息提取处理、人脸识别处理并行执行。
需要说明的是,在确定第三缓存中存在至少一个人脸信息时,再执行s204。可选的,至少一个人脸信息可以为3个、5个等,在实际应过程中,可以根据实际需要设置至少一个人脸信息的个数,本发明实施例对此不作具体限定。
可选的,可以通过如下可行的实现方式对至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理,具体请参见如下步骤a-步骤d:
步骤a、根据第三缓存中的至少一个人脸信息,在第三缓存中确定质量值最高的抠图图像。
可选的,若第一人脸信息中包括人脸标识,则需要在第三缓存中获取人脸标识为预设人脸标识的多个人脸信息,在人脸标识为预设人脸标识的多个人脸信息中确定质量值最高的抠图图像。
其中,预设人脸标识为需要进行身份认证的用户的人脸的标识。
步骤b、在质量值最高的抠图图像中确定多个关键点位置,并在质量值最高的抠图图像对多个关键点位置中的图像进行校正处理,得到待识别图像。
其中,关键点位置为抠图图像中预设关键部位在抠图图像中的位置。
可选的,关键点位置可以包括眼睛位置、鼻子位置、嘴巴位置、眉毛位置等。
当然,在实际应用过程中,可以根据实际需要设置关键点位置,本发明实施例对此不作具体限定。
例如,校正处理可以包括:将两只眼睛置于同一水平位置、将嘴巴调正等。
当然,在实际应用过程中,可以根据实际需要设置校正处理包括的内容,本发明实施例对此不作具体限定。
步骤c、在待识别图像中提取第一特征信息。
步骤d、根据第一特征信息和至少一个预设图像的第二特征信息,对待识别图像进行人脸识别。
可选的,若至少一个预设图像的第二特征信息中存在一个第二特征信息与第一特征信息的相似度大于预设阈值,则确定对待识别图像进行人脸识别成功。
需要说明的是,只要第三缓存中存在至少一个未进行人脸识别的人脸信息,s204就可以与s201-s203并行处理。
例如,假设摄像装置需要采集100张初始人脸图像,当通过s201将采集得到的第1张人脸图像存储在第一缓存之后,即可通过s202对第一缓存中的人脸图像进行图像格式转换处理,在通过s202将第一张进行图像格式转换处理后的人脸图像存储到第二缓存之后,即可通过s203对第二缓存中的人脸图像进行人脸信息提取,在通过s203对第二缓存中的至少一个人脸图像进行人脸信息提取,并将提取得到的至少一个人脸信息存储至第三缓存之后,即可通过s204根据至少一个人脸信息进行人脸识别处理。之后,s201、s202、s203和s204即可并行处理,即,一边通过s201采集人脸图像,并将采集得到的人脸图像存储到第一缓存,一边通过s202对第一缓存中的人脸图像进行图像格式转换处理,并将图像格式转换处理后的人脸图像存储在第二缓存,还一边通过s203对第二缓存中的人脸图像进行人脸信息提取,并将提取到的人脸信息存储到第三缓存,还一边通过s204根据第三缓存中的至少一个人脸信息进行人脸识别处理。
需要说明的是,在s204中,若通过一部分人脸信息未成功识别人脸,则继续执行s204,直至人脸识别成功,或者,依据了第三缓存中的所有人脸信息进行了人脸识别。
可选的,在通过s204进行人脸识别成功之后,可以暂停执行s201-s203,以避免执行无效的任务。
需要说明的是,在s204中,可以记录已进行人脸识别所依据的人脸信息的标识,以避免依据相同的人脸信息进行重复的人脸识别。
还需要说明的是,在s204之后,还可以在终端设备上显示人脸识别结果:在第二缓存中获取质量值最高的抠图图像对应的第三人脸图像;获取第三人脸图像中的人脸位置;根据第三人脸图像中的人脸位置,在第三人脸图像中添加人脸框;显示添加人脸框的第三人脸图像和识别结果,识别结果用于指示第三人脸图像对应的用户标识。
本发明实施例提供的一种人脸识别方法,对第一缓存中的第一人脸图像进行图像格式转换处理,并将图像格式转换处理后的第一人脸图像存储在第二缓存;对第二缓存中的第二人脸图像进行人脸信息提取处理,并将通过人脸信息提取处理得到的第一人脸信息存储到第三缓存,第一人脸信息包括第二人脸图像对应的抠图图像和抠图图像的质量值;根据第三缓存中的至少一个人脸信息,对至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理;其中,图像格式转换处理、人脸信息提取处理、人脸识别处理并行执行。在上述过程中,由于图像格式转换处理、人脸信息提取处理、人脸识别处理并行执行,使得终端设备的资源可以得到最大化的利用,这样,即使终端设备的处理能力有限,终端设备也可以实现复杂的人脸识别逻辑,使得在终端设备上进行人脸识别具有可行性,使得人脸识别可以不再依赖服务器、以及网络,进而可以扩大人脸识别的应用范围。
在图2所示实施例的基础上,可以由终端设备中不同的模块并行处理,以实现人脸识别过程中多个步骤的并行处理。下面,结合图3所示的终端设备的结构示意图,通过具体示例,对图2实施例所示的方法进行详细说明。
图3为本发明实施例提供的终端设备的结构示意图。请参见图3,终端设备中包括摄像装置、专用硬件单元、detect模块、track模块、score模块、第一task模块、第二task模块、关键点模块、识别模块、显示模块、第一缓存、第二缓存、第三缓存以及第四缓存。可选的,第一task模块和第二task模块可以为同一task模块,也可以为不同的task模块。
在实际应用过程中,摄像装置可以采集人脸图像,并将采集得到的人脸图像存储在第一缓存中。其中,摄像装置实时采集的人脸图像为原始格式的人脸图像。
在摄像装置采集人脸图像的过程中,当专用硬件单元确定第一缓存中存在原始格式的人脸图像时,则专用硬件单元开始对第一缓存中的人脸图像进行图像格式转换处理。具体的,专用硬件单元可以从第一缓存中获取人脸图像,将获取到的人脸图像的图像格式转换成rgb格式,并将rgb格式的人脸图像存储到第二缓存。
在摄像装置采集人脸图像的过程中、以及专用硬件单元进行图像格式转换的过程中,当detect模块确定第二缓存中存在检测图像(detect帧)时,detect模块在detect帧中确定人脸位置,并根据前一帧中的人脸位置,确定当前detect帧的人脸标识,detect模块可以调用第一task模块对detect帧进行人脸抠图,得到detect帧的抠图图像,并将detect帧的抠图图像给score模块,由score模块对detect帧的抠图图像的质量进行评估,以确定detect帧的抠图图像的质量值。detect模块确定得到的抠图图像、人脸位置、人脸标识,以及score模块确定得到的抠图图像的质量值形成可该detect帧的人脸信息,并将人脸信息存储至第三缓存。
在摄像装置采集人脸图像的过程中、以及专用硬件单元进行图像格式转换的过程中,当track模块确定第二缓存中存在追踪图像(track帧)时,track模块在track帧中确定人脸位置,并根据前一帧中的人脸位置,确定当前track帧的人脸标识,track模块可以调用第一task模块对track帧进行人脸抠图,得到track帧的抠图图像,并将track帧的抠图图像给score模块,由score模块对track帧的抠图图像的质量进行评估,以确定track帧的抠图图像的质量值。track模块确定得到的抠图图像、人脸位置、人脸标识,以及score模块确定得到的抠图图像的质量值形成可该track帧的人脸信息,并将人脸信息存储至第三缓存。
在摄像装置采集人脸图像的过程中、以及专用硬件单元进行图像格式转换的过程中、以及多个模块(detect模块、track模块、score模块和第一task模块)提取人脸信息的过程中,在确定第三缓存中存在n(n为大于1的正整数,n为预设值)个人脸信息时,关键点模块在第三缓存的n个人脸信息中确定质量值最高的抠图图像,并由关键点模块对质量值最高的抠图图像进行验证处理,得到待识别图像,识别模块对待识别图像进行人脸识别,以得到识别结果。
若识别模块进行人脸识别成功,则摄像装置、专用硬件单元、多个模块(detect模块、track模块、score模块和第一task模块)均可以暂停处理。
若识别模块进行人脸识别失败,则继续根据第三缓存中的其它人脸信息进行人脸识别,直至人脸识别成功,或者,对第三缓存中的所有人脸信息进行了人脸识别。
在确定得到人脸识别结果之后,通过显示模块在终端设备上显示人脸识别结果,具体的:若人脸识别失败,则在终端设备上显示“人脸识别失败”的提示信息。若人脸识别成功,则确定成功进行人脸识别的人脸图像,在第二缓存中获取该人脸图像,在第三缓存中获取该人脸图像的人脸位置,并根据人脸位置在该人脸图像中添加人脸框,显示添加了人脸框的该人脸图像,还可以显示识别得到的用户标识。
在上述过程中,各个模块可以根据自身负载和优先级,向终端设备申请资源,例如,若一个模块当前累积的未处理任务量较大,则可以向终端设备申请更多的资源。若一个模块的优先级较高,则可以向终端设备申请较多的资源。
在图3所示的实施例中,由于图像格式转换处理、人脸信息提取处理、人脸识别处理并行执行,使得终端设备的资源可以得到最大化的利用,这样,即使终端设备的处理能力有限,终端设备也可以实现复杂的人脸识别逻辑,使得在终端设备上进行人脸识别具有可行性,使得人脸识别可以不再依赖服务器、以及网络,进而可以扩大人脸识别的应用范围。
图4为本发明实施例提供的人脸识别装置的结构示意图一。请参见图4,该装置可以包括转换模块11、存储模块12、提取模块13和识别模块14,其中,
所述转换模块11用于,对第一缓存中的第一人脸图像进行图像格式转换处理;
所述存储模块12用于,将图像格式转换处理后的第一人脸图像存储在第二缓存;
所述提取模块13用于,对第二缓存中的第二人脸图像进行人脸信息提取处理;
所述存储模块12用于,将通过人脸信息提取处理得到的第一人脸信息存储到第三缓存,所述第一人脸信息包括所述第二人脸图像对应的抠图图像和所述抠图图像的质量值;
所述识别模块14用于,根据所述第三缓存中的至少一个人脸信息,对所述至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理;
其中,所述转换模块11执行的所述图像格式转换处理、所述提取模块13执行的所述人脸信息提取处理、所述识别模块14执行的所述人脸识别处理并行执行。
本发明实施例提供的人脸识别装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述提取模块13具体用于:
在所述第二人脸图像中获取第一人脸位置;
根据所述第一人脸位置,对所述第二人脸图像进行抠图处理,得到所述抠图图像;
对所述抠图图像进行图像质量检测,得到所述抠图图像的质量值。
在一种可能的实施方式中,所述提取模块13还用于:
获取所述第二人脸图像的前一帧图像中的第二人脸位置,所述第二人脸图像的前一帧图像的帧标识比所述第二人脸图像的帧标识小1;
判断所述第一人脸位置和所述第二人脸位置之间的差值是否小于预设阈值;
在判断所述第一人脸位置和所述第二人脸位置之间的差值小于预设阈值时,将所述第二人脸图像的前一帧图像对应的人脸标识确定为所述第一人脸信息中的人脸标识;
在判断所述第一人脸位置和所述第二人脸位置之间的差值大于或等于预设阈值时,将第一标识确定为所述第一人脸信息中的人脸标识,所述第一标识为所述第三缓存中不存在的一个标识,所述第一人脸信息还包括人脸标识。
在另一种可能的实施方式中,所述识别模块14具体用于:
根据所述第三缓存中的至少一个人脸信息,在所述第三缓存中确定质量值最高的抠图图像;
在所述质量值最高的抠图图像中确定多个关键点位置,并在所述质量值最高的抠图图像对所述多个关键点位置中的图像进行校正处理,得到待识别图像,所述关键点位置为所述抠图图像中预设关键部位在所述抠图图像中的位置;
在所述待识别图像中提取第一特征信息;
根据所述第一特征信息和至少一个预设图像的第二特征信息,对所述待识别图像进行人脸识别。
在另一种可能的实施方式中,所述识别模块14具体用于:
在所述第三缓存中获取人脸标识为预设人脸标识的多个人脸信息;
在人脸标识为所述预设人脸标识的多个人脸信息中确定所述质量值最高的抠图图像,所述第一人脸信息还包括人脸标识。
图5为本发明实施例提供的人脸识别装置的结构示意图二。在图4所示实施例的基础上,请参见图5,所述装置还包括采集模块15,其中,
所述采集模块15用于,在所述转换模块11对第一缓存中的第一人脸图像进行预处理之前,通过摄像装置对初始人脸图像进行采集处理;
所述存储模块12还用于,将采集得到的初始人脸图像存储至所述第一缓存;
其中,所述采集模块执行的所述采集处理、所述转换模块执行的所述图像格式转换处理、所述提取模块执行的所述人脸信息提取处理、所述识别模块执行的所述人脸识别处理并行执行。
在另一种可能的实施方式中,所述装置还包括第二获取模块16和显示模块17,其中,
所述第二获取模块16用于,在所述识别模块14对所述至少一个人脸信息中质量值最高的抠图图像进行人脸识别处理之后,在所述第二缓存中获取所述质量值最高的抠图图像对应的第三人脸图像;获取所述第三人脸图像中的人脸位置;
所述显示模块17用于,根据所述第三人脸图像中的人脸位置,在所述第三人脸图像中添加人脸框,并显示添加所述人脸框的第三人脸图像和识别结果,所述识别结果用于指示所述第三人脸图像对应的用户标识。
在另一种可能的实施方式中,所述提取模块13具体用于:
在所述第二缓存中获取所述检测图像,并对所述检测图像进行第一人脸信息提取处理,得到所述检测图像对应的人脸信息;
在所述第二缓存中获取所述追踪图像,并对所述追踪图像进行第二人脸信息提取处理,得到所述追踪图像对应的人脸信息;
其中,所述第一人脸信息提取处理和所述第二人脸信息提取处理并行执行。
本发明实施例提供的人脸识别装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本发明实施例提供一种终端设备,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,以使得所述终端设备执行上述任意方法实施例所述的方法。
本发明实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,如上述任意方法实施例所述的方法被执行。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。