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

虚假人脸的检测方法、终端设备及计算机可读存储介质

文献发布时间:2023-06-19 12:19:35


虚假人脸的检测方法、终端设备及计算机可读存储介质

技术领域

本申请涉及人脸识别领域,尤其涉及一种虚假人脸的检测方法、终端设备及计算机可读存储介质。

背景技术

目前的人脸检测方法主要是直接人脸检测方法。直接人脸检测方法即通过摄像设备获取对应的人脸图像,再通过模型直接分析人脸图像,从而直接进行活体判定。由于将获取到的人脸图像输入至模型之前,没有对人脸图像进行统一的质量处理,从而使得输入模型中人脸图像的质量低。再者,由于直接将人脸图像通过模型进行活体检测,因此,需要模型的量级很大,以及复杂度很高,从而导致模型存在诸多的不稳定性和不确定性,从而使得人脸检测的准确度低。

发明内容

本申请的主要目的在于提供一种虚假人脸的检测方法、终端设备及计算机可读存储介质,旨在提高人脸检测的准确度。

为实现上述目的,本申请提供一种虚假人脸的检测方法,所述虚假人脸的检测方法包括步骤:

响应人脸检测请求,基于所述人脸检测请求获取对应的人脸图像,并对所述人脸图像进行图像质量检测;

若所述人脸图像通过所述图像质量检测,则基于所述人脸图像进行动作活体检测,确定对应的第一目标人脸图像;

将所述第一目标人脸图像发送至所述服务器,以供所述服务器对所述第一目标人脸图像进行静默活体检测。

可选地,所述对所述人脸图像进行图像质量检测的步骤包括:

基于图像灰度投影算法确定所述人脸图像中的人脸是否发生抖动;

若确定所述人脸图像中的人脸没有发生抖动,则基于第一预设神经网络确定所述人脸图像中人脸检测框的数量;

若所述数量符合预设数量要求,则基于所述人脸检测框的宽度与所述人脸图像的宽度,确定对应的宽度占比;

基于所述宽度占比和预设占比范围确定所述人脸图像是否通过所述图像质量检测。

可选地,所述基于图像灰度投影算法确定所述人脸图像中的人脸是否发生抖动的步骤包括:

获取所述人脸图像的前一帧人脸图像,并对所述前一帧人脸图像和所述人脸图像的行列投影进行互相关运算,得到对应的相关值曲线;

基于所述相关值曲线中的极值点确定对应的图像位移值;

若所述图像位移值小于或者等于预设位移阈值,则确定所述人脸图像中的人脸没有发生抖动;

若所述图像位移值大于所述预设位移阈值,则确定所述人脸图像中的人脸发生了抖动。

可选地,所述若所述人脸图像通过所述图像质量检测,则基于所述人脸图像进行动作活体检测,确定对应的第一目标人脸图像的步骤包括:

若所述人脸图像通过所述图像质量检测,则在终端设备的屏幕中显示对应的动作提示;

获取用户在所述人脸图像的基础上,根据所述动作提示执行对应动作后的第一待处理人脸图像;

基于所述第一待处理人脸图像进行动作活体检测,确定对应的第一目标人脸图像。

可选地,所述基于所述第一待处理人脸图像进行动作活体检测,确定对应的第一目标人脸图像的步骤包括:

基于第二预设神经网络确定所述第一待处理人脸图像对应的多个人脸关键点;

若基于各个所述人脸关键点确定所述第一待处理人脸图像中的眼睛为张开状态,则基于各个所述人脸关键点之间的相对距离,确定所述第一待处理人脸图像对应的目标动作;

若所述目标动作与所述动作提示一致,则将所述第一待处理人脸图像确定为所述第一目标人脸图像。

可选地,所述若基于各个所述人脸关键点确定所述第一待处理人脸图像中的眼睛为张开状态,则基于各个所述人脸关键点之间的相对距离,确定所述第一待处理人脸图像对应的目标动作的步骤之后,还包括:

若所述目标动作与所述动作提示不一致,则提示用户重新执行所述动作提示,并获取重新执行所述动作提示后的第二待处理人脸图像;

基于所述第二待处理人脸图像进行所述动作活体检测,确定对应的第二目标人脸图像。

可选地,所述将所述第一目标人脸图像发送至所述服务器,以供所述服务器对所述第一目标人脸图像进行静默活体检测的步骤包括:

将所述第一目标人脸图像发送至所述服务器,以供所述服务器基于预设神经网络模型确定所述第一目标人脸图像中的人脸是真实人脸还是伪造人脸。

可选地,所述响应人脸检测请求,基于所述人脸检测请求获取对应的人脸图像,并对所述人脸图像进行图像质量检测的步骤之后,还包括:

若所述人脸图像没有通过所述图像质量检测,则在终端设备的屏幕中显示对应的提示信息,以供用户基于所述提示信息执行对应的操作。

此外,为实现上述目的,本申请还提供一种终端设备,所述终端设备包括存储器、处理器和存储在所述存储器上并在所述处理器上运行的虚假人脸检测程序,所述虚假人脸检测程序被所述处理器执行时实现如上所述的虚假人脸的检测方法的步骤。

此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有虚假人脸检测程序,所述虚假人脸检测程序被处理器执行时实现如上所述的虚假人脸的检测方法的步骤。

此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括包括计算机程序,所述包括计算机程序被所述处理器执行时实现如上所述的虚假人脸的检测方法的步骤。

本申请提供了一种虚假人脸的检测方法、终端设备及计算机可读存储介质,通过响应人脸检测请求,基于人脸检测请求获取对应的人脸图像,并对人脸图像进行图像质量检测;若人脸图像通过图像质量检测,则基于人脸图像进行动作活体检测,确定对应的第一目标人脸图像;将第一目标人脸图像发送至对应的服务器,以供服务器对第一目标人脸图像进行静默活体检测。由此可知,本申请先对获取到的人脸图像进行图像质量检测,得到符合质量要求的人脸图像,再将符合质量要求的人脸图像进行动作活体检测和静默活体检测,从而将图像质量检测、动作活体检测和静默活体检测结合,提高了人脸检测的准确度。

附图说明

图1是本申请实施例方案涉及的硬件运行环境的终端设备结构示意图;

图2是本申请虚假人脸的检测方法第一实施例的流程示意图;

图3是本申请虚假人脸的检测方法第一实施例提示信息的示意图

图4是本申请虚假人脸的检测方法另一实施例的流程示意图;

图5是本申请虚假人脸的检测方法另一实施例的流程示意图;

图6是本申请虚假人脸的检测方法另一实施例的流程示意图;

图7是本申请虚假人脸的检测方法另一实施例的流程示意图;

图8是本申请虚假人脸的检测装置较佳的功能模块示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请实施例的主要解决方案是:响应人脸检测请求,基于人脸检测请求获取对应的人脸图像,并对人脸图像进行图像质量检测;若人脸图像通过图像质量检测,则基于人脸图像进行动作活体检测,确定对应的第一目标人脸图像;将第一目标人脸图像发送至对应的服务器,以供服务器对第一目标人脸图像进行静默活体检测。本申请先对获取到的人脸图像进行图像质量检测,得到符合质量要求的人脸图像,再将符合质量要求的人脸图像进行动作活体检测和静默活体检测,从而将图像质量检测、动作活体检测和静默活体检测结合,提高了人脸检测的准确度。

具体地,参照图1,图1为本申请实施例方案涉及的硬件运行环境的终端设备结构示意图。

如图1所示,终端设备可以为服务器,也可以为具有数据处理的移动终端,该终端设备可以包括:处理器1001,例如CPU(Central Processing Unit,中央处理器),存储器1005,用户接口1003,网络接口1004,通信总线1002。通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(board),用户接口1003可选的还可以包括标准的有线接口(如USB(Universal Serial Bus,通用串行总线)接口)、无线接口(如蓝牙接口)。网络接口1004可以包括标准的有线接口、无线接口(如WiFi(Wireless-Fidelity)接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。可选地,终端设备还可以包括RF(Radio Frequency,射频)电路,传感器、WiFi模块等。

本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及虚假人脸检测程序。其中,操作系统是管理和控制终端设备硬件和软件资源的程序,支持虚假人脸检测程序以及其它软件或程序的运行。

在图1所示的终端设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于供用户触发人脸检测请求;其中,处理器1001可以用于调用存储器1005中存储的虚假人脸检测程序,并执行如下操作:

响应人脸检测请求,基于所述人脸检测请求获取对应的人脸图像,并对所述人脸图像进行图像质量检测;

若所述人脸图像通过所述图像质量检测,则基于所述人脸图像进行动作活体检测,确定对应的第一目标人脸图像;

将所述第一目标人脸图像发送至所述服务器,以供所述服务器对所述第一目标人脸图像进行静默活体检测。

进一步地,处理器1001可以调用存储器1005中存储的虚假人脸检测程序,还执行以下操作:

基于图像灰度投影算法确定所述人脸图像中的人脸是否发生抖动;

若确定所述人脸图像中的人脸没有发生抖动,则基于第一预设神经网络确定所述人脸图像中人脸检测框的数量;

若所述数量符合预设数量要求,则基于所述人脸检测框的宽度与所述人脸图像的宽度,确定对应的宽度占比;

基于所述宽度占比和预设占比范围确定所述人脸图像是否通过所述图像质量检测。

进一步地,处理器1001可以调用存储器1005中存储的虚假人脸检测程序,还执行以下操作:

获取所述人脸图像的前一帧人脸图像,并对所述前一帧人脸图像和所述人脸图像的行列投影进行互相关运算,得到对应的相关值曲线;

基于所述相关值曲线中的极值点确定对应的图像位移值;

若所述图像位移值小于或者等于预设位移阈值,则确定所述人脸图像中的人脸没有发生抖动;

若所述图像位移值大于所述预设位移阈值,则确定所述人脸图像中的人脸发生了抖动。

进一步地,处理器1001可以调用存储器1005中存储的虚假人脸检测程序,还执行以下操作:

若所述人脸图像通过所述图像质量检测,则在终端设备的屏幕中显示对应的动作提示;

获取用户在所述人脸图像的基础上,根据所述动作提示执行对应动作后的第一待处理人脸图像;

基于所述第一待处理人脸图像进行动作活体检测,确定对应的第一目标人脸图像。

进一步地,处理器1001可以调用存储器1005中存储的虚假人脸检测程序,还执行以下操作:

基于第二预设神经网络确定所述第一待处理人脸图像对应的多个人脸关键点;

若基于各个所述人脸关键点确定所述第一待处理人脸图像中的眼睛为张开状态,则基于各个所述人脸关键点之间的相对距离,确定所述第一待处理人脸图像对应的目标动作;

若所述目标动作与所述动作提示一致,则将所述第一待处理人脸图像确定为所述第一目标人脸图像。

进一步地,处理器1001可以调用存储器1005中存储的虚假人脸检测程序,还执行以下操作:

若所述目标动作与所述动作提示不一致,则提示用户重新执行所述动作提示,并获取重新执行所述动作提示后的第二待处理人脸图像;

基于所述第二待处理人脸图像进行所述动作活体检测,确定对应的第二目标人脸图像。

进一步地,处理器1001可以调用存储器1005中存储的虚假人脸检测程序,还执行以下操作:

将所述第一目标人脸图像发送至所述服务器,以供所述服务器基于预设神经网络模型确定所述第一目标人脸图像中的人脸是真实人脸还是伪造人脸。

进一步地,处理器1001可以调用存储器1005中存储的虚假人脸检测程序,还执行以下操作:

若所述人脸图像没有通过所述图像质量检测,则在终端设备的屏幕中显示对应的提示信息,以供用户基于所述提示信息执行对应的操作。

本申请提供一种虚假人脸的检测方法,参照图2,图2为本申请虚假人脸的检测方法第一实施例的流程示意图。

本申请实施例提供了虚假人脸的检测方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。

本申请本实施例方法的执行主体以具有数据处理的移动终端作为执行主体进行举例,为了方便阐述,以下用移动终端简化具有数据处理的移动终端,其中,移动终端可以为安卓系统,也可以为IOS系统,本申请实施例不作限制。虚假人脸的检测方法包括:

步骤S10,响应人脸检测请求,基于所述人脸检测请求获取对应的人脸图像,并对所述人脸图像进行图像质量检测。

为了方便理解,本实施例以APP用户注册的人脸验证场景进行举例,以上场景只是为了更好地理解本实施,实际应用中不限制于以上场景,实际应用还可以包括实名认证阶段、消费付款场景和用户登陆场景。

需要说明的是,移动终端中至少包括移卡活体检测模块(SDK),移卡活体检测模块(SDK)主要用于人脸质量检测和动作活体检测。

具体如下,在APP用户注册时,当用户点击了用户注册按键时,也即用户触发了人脸检测请求。移动终端侦测到用户触发的人脸检测请求时,接收并响应用户触发的人脸检测请求,然后启动移动终端中的摄像头,通过摄像头拍摄用户的人脸图像。接着,移动终端通过移卡活体检测模块对拍摄到的人脸图像进行图像质量检测,以确定所拍摄到的人脸图像是否符合人脸检测的要求。其中,图像质量检测也即检测人脸图像中是否存在人脸;若存在人脸,则人脸的数量是否为1;用户人脸离移动终端屏幕的距离是否符合要求;在拍摄时,用户人脸是否存在抖动情况等。

步骤S20,若所述人脸图像通过所述图像质量检测,则基于所述人脸图像进行动作活体检测,确定对应的第一目标人脸图像。

若确定所拍摄到的人脸图像通过了图像质量检测,即所拍摄到的人脸图像符合了人脸检测的要求,也即所拍摄到的人脸图像存在人脸且人脸数量为1,且用户人脸离移动终端屏幕的距离符合要求,且拍摄时用户人脸不存在抖动,移动终端则将所拍摄到的人脸图像进行动作活体检测,进一步确定用于静默活体检测的目标人脸图像。其中,动作活体检测即移动终端提示用户作出对应的动作,动作包括但不限制于张嘴、眨眼、点头和摇头这4个动作,其中,点头包括上点头或/和下点头,摇头包括左摇头或/和右摇头。然后移动终端通过摄像头拍摄用户在执行动作后的人脸图像,并检测执行动作后的人脸图像的动作与提示用户作出对应的动作是否一致,若一致,则确定执行动作后的人脸图像通过了动作活体检测,并将执行动作后的人脸图像确定为用于静默活体检测的目标人脸图像。

进一步地,若所述人脸图像没有通过所述图像质量检测的情况如步骤a:

步骤a,若所述人脸图像没有通过所述图像质量检测,则在终端设备的屏幕中显示对应的提示信息,以供用户基于所述提示信息执行对应的操作。

若确定所拍摄到的人脸图像没有通过图像质量检测,即所拍摄到的人脸图像不符合人脸检测的要求,移动终端则在屏幕中显示对应的提示信息。如,拍摄时用户人脸存在抖动,移动终端则在屏幕中显示“请勿抖动”的提示信息,如图3所示,图3是本实施例提示信息的示意图。用户看到屏幕中的提示信息后,根据提示信息进行对应的修正,直至图像质量检测通过。

步骤S30,将所述第一目标人脸图像发送至所述服务器,以供所述服务器对所述第一目标人脸图像进行静默活体检测。

为了进一步提高静默活体检测的准确度,本实施例在进行动作活体检测时,需要采集用户执行张嘴后、眨眼后、点头后和摇头后的人脸图像,其中,点头后的人脸图像包括上点头后的人脸图像或/和下点头后的人脸图像、摇头后的人脸图像包括左摇头后的人脸图像或/和右摇头后的人脸图像,也即采集到的人脸图像包括以上6帧人脸图像中的至少4帧人脸图像,当然也可以是5帧人脸图像。也可以是6帧人脸图像,以及采集用户的一张正脸人脸图像作为目标人脸图像。也进一步可以理解为,目标人脸图像不是某一帧人脸图像,而是至少是包括5帧人脸图像,当然目标人脸图像也可以是6帧人脸图像,也可以是7帧人脸图像,本实施例不作限制,根据应用场景而设定。需要说明的是,张嘴和眨眼这两个动作是必须出现的,也即用户张嘴后的人脸图像和用户眨眼后的人脸图像是必须存在的。

例如在本实施例的应用场景中,由于APP用户注册要求相对宽松,因此目标人脸图像设定为5帧人脸图像,即5帧人脸图像分别为:用户正脸人脸图像,用户张嘴后的人脸图像,用户眨眼后的人脸图像,用户上点头后的人脸图像或用户下点头后的人脸图像中的其中一帧图像,以及用户左摇头后的人脸图像或用户右摇头后的人脸图像中的其中一帧图像。进一步需要说明的是,选取用户上点头后的人脸图像或用户下点头后的人脸图像中的其中一帧图像,以及选取用户左摇头后的人脸图像或用户右摇头后的人脸图像中的其中一帧图像是移动终端根据图像的质量选取的。

再如消费付款场景,这里的消费付款场景为小额消费场景(日常、超市便利店类型,有额度限制),可预见损失不大,因此消费付款场景的要求也不是很高,将消费付款场景的目标人脸图像设定为6帧人脸图像,6帧人脸图像分别为:用户正脸人脸图像,用户张嘴后的人脸图像,用户眨眼后的人脸图像,用户上点头后的人脸图像,用户下点头后的人脸图像,以及用户左摇头后的人脸图像或用户右摇头后的人脸图像中的其中一帧图像。或者,6帧人脸图像分别为:用户正脸人脸图像,用户张嘴后的人脸图像,用户眨眼后的人脸图像,用户左摇头后的人脸图像,用户右摇头后的人脸图像,以及用户上点头后的人脸图像或用户下点头后的人脸图像中的其中一帧图像。

再如实名认证场景,由于实名认证场景对准确率要求更高,因此目标人脸图像可以为7帧人脸图像,7帧人脸图像分别为:用户正脸人脸图像,用户张嘴后的人脸图像,用户眨眼后的人脸图像,用户上点头后的人脸图像,用户下点头后的人脸图像,用户左摇头后的人脸图像,用户右摇头后的人脸图像。

进一步需要说明的是,在本实施例中,用户张嘴动作、用户眨眼动作、用户点头动作和用户摇头动作的执行循环顺序是随机的,但是,一个循环中一定包含有张嘴动作、眨眼动作、点头动作和摇头动作这4个完整动作流程。

进一步地,需要补充的是,可以通过增加或者减少用户的执行动作,以减少采集的人脸图像帧数。如在应用登录场景,由于用户之前就已经实名验证过了,因此可以将张嘴、眨眼、点头和摇头这4个动作减少为2个动作,即只保留张嘴和眨眼这2个动作,在用户登录的过程中,在进行动作活体检测时,采集用户执行张嘴后的人脸图像和用户执行眨眼后的2帧人脸图像进行验证即可。不同的应用场景在张嘴、眨眼、点头和摇头这4个动作的基础上做不同的增加或者减少,但是在减少用户的执行动作的场景中,保留的用户的执行动作至少包含张嘴和眨眼这2个动作,也即不管什么场景,张嘴和眨眼这2个动作是必须存在的,保留张嘴和眨眼这2个动作的场景即为用户执行动作最简单的场景。如,将张嘴、眨眼、点头和摇头这4个动作减少为3个动作,这3个动作分别为:张嘴、眨眼和点头,或者,这3个动作分别为:张嘴、眨眼和摇头。

移动终端在得到目标人脸图像后,将包含有5帧人脸图像的目标人脸图像打包发送至对应的服务器中,服务器接收到目标人脸图像后,根据目标人脸图像进行静默活体检测,若静默活体检测通过,则确定用户验证正确,并执行对应的消费支付。若静默活体检测不通过,则返回对应的验证结果。

进一步地,所述步骤S30包括:

步骤S301,将所述第一目标人脸图像发送至所述服务器,以供所述服务器基于预设神经网络模型确定所述第一目标人脸图像中的人脸是真实人脸还是伪造人脸。

具体地,移动终端将包含有5帧人脸图像的目标人脸图像打包发送至对应的服务器,服务器接收到目标人脸图像后,通过在服务器上的预设神经网络模型对目标人脸图像进行静默活体检测。其中,预设神经网络模型是基于深度学习训练的大型神经网络模型,预设神经网络模型的训练用到了超过200万张原始图像数据集,原始图像数据集包括真实人脸图像、LCD屏人脸图像、OLED屏人脸图像、打印纸人脸图像、3D面具等各种类型的样本人脸图像。原始图像数据集还经过了数据增强,即数据量扩增,实际训练的图像超过了1000万张,可以看出本实施例中的预设神经网络模型的准确率能高达95%以上。静默活体检测的具体分析如下:服务器通过预设神经网络模型对移动终端发送过来的5帧人脸图像中的每张人脸图像从大、中、小三个尺度判断是否是活体,也即判断采集到的人脸是真实人脸还是伪造人脸,先看整体,后看人脸周边轮廓信息,再看人脸细节。在这个过程中,服务器通过预设神经网络模型对移动终端发送过来的5帧人脸图像分别预测,5帧人脸图像中有4帧或者5帧人脸图像被判定为活体人脸,则确定当前摄像头拍到的人脸是真实人脸,否则确定当前摄像头拍摄到的人脸是伪造人脸。

需要说明的是,图像质量检测、动作活体检测和静默活体检测中的每个检测步骤都有其对应的检测时长,只要每个检测步骤的检测所用时长在其对应的检测时长之内,则确定检测通过。只要任意一个检测步骤的检测所用时长超过了其对应的检测时长,则确定检测超时,检测不通过。进一步地,还可以理解为,图像质量检测、动作活体检测和静默活体检测中的每个检测步骤都通过时,人脸检测才确定通过。图像质量检测、动作活体检测和静默活体检测中只要有一个检测步骤没有通过,则确定不通过。

如,人脸图像的图片质量检测阶段,当人脸图像的质量异常(即没有通过图片质量检测),移动终端的屏幕提示异常的同时启动计时器,在6秒内恢复正常则计时器归0并关闭,又出现异常则重新启动计时。如果计时器超过6秒,超时退出,检测失败。动作活体检测阶段,每个动作开始时重新启动计时器,如果计时器超过8秒,超时退出,检测失败。整个模块启动时,会同时启动一个全程计时器,该计时器超过40秒,超时退出,检测失败。

本实施例通过响应人脸检测请求,基于人脸检测请求获取对应的人脸图像,并对人脸图像进行图像质量检测;若人脸图像通过图像质量检测,则基于人脸图像进行动作活体检测,确定对应的第一目标人脸图像;将第一目标人脸图像发送至对应的服务器,以供服务器对第一目标人脸图像进行静默活体检测。由此可知,本实施例先对获取到的人脸图像进行图像质量检测,得到符合质量要求的人脸图像,再将符合质量要求的人脸图像进行动作活体检测和静默活体检测,从而将图像质量检测、动作活体检测和静默活体检测结合,提高了人脸检测的准确度。

进一步地,参照图4,图4是本申请虚假人脸的检测方法另一实施例的流程示意图。所述步骤S10对所述人脸图像进行图像质量检测,包括:

步骤S101,基于图像灰度投影算法确定所述人脸图像中的人脸是否发生抖动;

步骤S102,若确定所述人脸图像中的人脸没有发生抖动,则基于第一预设神经网络确定所述人脸图像中人脸检测框的数量;

步骤S103,若所述数量符合预设数量要求,则基于所述人脸检测框的宽度与所述人脸图像的宽度,确定对应的宽度占比;

步骤S104,基于所述宽度占比和预设占比范围确定所述人脸图像是否通过所述图像质量检测。

具体地,移动终端首先需要通过图像灰度投影算法确定人脸图像中的人脸是否发生抖动,若确定人脸图像中的人脸发生了抖动,移动终端则在屏幕中显示“请勿抖动”的提示信息,如图3所示,图3是本实施例提示信息的示意图。然后间隔预设时长后在进行检测,其中,预设时长根据需求设定,若确定人脸图像中的人脸没有发生抖动,移动终端则通过第一预设神经网络推理出人脸图像中的人脸检测框,并确定人脸检测框的数量,其中,第一预设神经网络是小型的深度学习神经网络,快速前向推理可得到人脸检测框。进一步地,移动终端确定人脸检测框的数量符合预设数量要求,其中,在本实施例实际应用场景中,预设数量要求设定为数量1,也即所拍摄的人脸图像中只允许存在一个人脸,当然,数量1只限定于本实施例的应用场景,其他的应用场景根据实际情况设定预设数量要求。若确定人脸检测框的数量为0,即说明人脸图像中的人脸数量为0,也即在人脸图像中没有检测到人脸,此时需要提示用户将人脸对准摄像头,然后进行重新采集人脸图像。若确定人脸检测框的数量大于1,即说明人脸图像中存在多张人脸,此时需要提示用户让其他人离开摄像头的拍摄范围,然后进行重新采集人脸图像。若确定人脸检测框的数量为1,即说明人脸图像中的人脸数量为1,符合要求,移动终端则确定人脸检测框的宽度,并确定人脸检测框的宽度占人脸图像的宽度的比例,即确定人脸检测框的宽度与人脸图像的宽度之间的宽度比例。接着,移动终端确定宽度比例是否在在预设占比范围之内,其中,预设占比范围根据移动终端的屏幕大小以及移动终端的性能决定,本实施例不作限制。若确定宽度占比在预设占比范围之外,即说明用户人脸与移动终端屏幕之间的距离过近或者过远,则确定人脸图像没有通过图像质量检测,此时需要提示用户将调整人脸与移动终端屏幕之间的距离,然后进行重新采集人脸图像。若确定宽度占比在预设占比范围之内,即说明用户人脸与移动终端屏幕之间的距离符合要求,则确定人脸图像通过了图像质量检测。

需要说明的是,本实施例中,只有检测到人脸图像中人脸的数量为1,且人脸检测框的宽度与人脸图像的宽度之间的宽度比例在预设占比范围之内,且人脸图像中的人脸不抖动,才确定通过图像质量检测。只要有任意一个环节不通过,则确定没有通过图像质量检测。

本实施例基于图像灰度投影算法确定人脸图像中的人脸是否发生抖动;若确定人脸图像中的人脸没有发生抖动,则基于第一预设神经网络确定人脸图像中人脸检测框的数量;若数量符合预设数量要求,则基于人脸检测框的宽度与人脸图像的宽度,确定对应的宽度占比;基于宽度占比和预设占比范围确定人脸图像是否通过图像质量检测。由此可知,本实施例通过第一预设神经网络确定人脸图像中人脸检测框的数量,由于第一预设神经网络为小型神经网络,从而能够提升运行速度,加快推算出脸检测框的速度,而且小型神经网络算力要求低,使得移动终端更加省电。再者,通过小型神经网络能够速得到人脸检测框的数量,然后快速确定人脸检测框的宽度与人脸图像的宽度之间的宽度比例,从而快速的确定人脸图像是否通过图像质量检测,提高了人脸检测的准确度。

进一步地,参照图5,图5是本申请虚假人脸的检测方法另一实施例的流程示意图。所述步骤S101包括:

步骤S1011,获取所述人脸图像的前一帧人脸图像,并对所述前一帧人脸图像和所述人脸图像的行列投影进行互相关运算,得到对应的相关值曲线;

步骤S1012,基于所述相关值曲线中的极值点确定对应的图像位移值;

步骤S1013,若所述图像位移值小于或者等于预设位移阈值,则确定所述人脸图像中的人脸没有发生抖动;

步骤S1014,若所述图像位移值大于所述预设位移阈值,则确定所述人脸图像中的人脸发生了抖动。

具体地,移动终端检测到人脸图像中人脸的数量为1,且人脸检测框的宽度与人脸图像的宽度之间的宽度比例在预设占比范围之内的步骤之前,需要获取人脸图像的前一帧人脸图像作为参考图像,并对前一帧人脸图像和该人脸图像的行列投影分别进行互相关运算,得到对应的相关值曲线。接着,移动终端取相关值曲线中的极值点表示图像帧发生的位移,并取位移矢量绝对值作为图像位移值。最后,移动终端将图像位移值与预设位移阈值进行大小比较,其中,预设位移阈值是技术人员设定的,本实施例不作限制。若比较结果为图像位移值小于或者等于预设位移阈值,则说明人脸图像中的人脸没有发生抖动。若比较结果为图像位移值大于预设位移阈值,则说明人脸图像中的人脸发生了抖动。

本实施例通过获取人脸图像的前一帧人脸图像,并对前一帧人脸图像和人脸图像的行列投影进行互相关运算,得到对应的相关值曲线;基于相关值曲线中的极值点确定对应的图像位移值;若图像位移值小于或者等于预设位移阈值,则确定人脸图像中的人脸没有发生抖动;若图像位移值大于预设位移阈值,则确定人脸图像中的人脸发生了抖动。由此可知,本实施例通过图像灰度投影算法确定人脸图像中的人脸是否发生抖动,从而使得图像质量检测的准确度更高,进一步提高了人脸检测的准确度。

进一步地,参照图6,图6是本申请虚假人脸的检测方法另一实施例的流程示意图。所述步骤S20包括:

步骤S201,若所述人脸图像通过所述图像质量检测,则在终端设备的屏幕中显示对应的动作提示;

步骤S202,获取用户在所述人脸图像的基础上,根据所述动作提示执行对应动作后的第一待处理人脸图像;

步骤S203,基于所述第一待处理人脸图像进行动作活体检测,确定对应的第一目标人脸图像。

具体地,移动终端确定人脸图像通过图像质量检测后,会在移动终端的屏幕中显示对应的动作提示,其中,动作提示包括但不限制于张嘴动作、眨眼动作、点头动作和摇头动作这4个动作,其中,点头动作包括上点头动作或/和下点头动作,摇头动作包括左摇头动作或/和右摇头动作,动作提示中的动作顺序是随机的。需要说明的是,需要采集用户执行张嘴动作、眨眼动作、点头动作和摇头动作后的人脸图像,其中,点头动作的人脸图像包括上点头动作的人脸图像或/和下点头动作的人脸图像、摇头动作的人脸图像包括左摇头动作的人脸图像或/和右摇头动作的人脸图像,也即采集到的图像包括以上6帧人脸图像中的至少4帧人脸图像,当然也可以是5帧人脸图像。也可以是6帧人脸图像。

移动终端在屏幕中显示对应的动作提示后,用户需要根据动作提示执行张嘴动作、眨眼动作、点头动作或摇头动作,每一个动作执行完成之后,再进行下一个动作,直到完成屏幕中显示的所有动作提示。需要说明的是,用户是在上述所说的人脸图像的基础上执行相应动作,也即用户在执行相应动作的同时,需要保持人脸图像中人脸的数量为1,且人脸检测框的宽度与人脸图像的宽度之间的宽度比例在预设占比范围之内,且人脸图像中的人脸不能抖动。接着,移动终端获取用户根据动作提示执行张嘴动作、眨眼动作、点头动作或摇头动作得到的人脸图像中至少4帧人脸图像,作为动作后的待处理人脸图像,对待处理人脸图像进行动作活体检测,确定对应的目标人脸图像。

本实施例若人脸图像通过图像质量检测,则在终端设备的屏幕中显示对应的动作提示;获取用户在人脸图像的基础上,根据动作提示执行对应动作后的第一待处理人脸图像;基于第一待处理人脸图像进行动作活体检测,确定对应的第一目标人脸图像。由此可知,本实施例通过张嘴动作、眨眼动作、点头动作和摇头动作进行动作活体检测,使得动作功能更加齐全,从而使得动作活体检测的准确度更高,进一步提高了人脸检测的准确度。

进一步地,参照图7,图7是本申请虚假人脸的检测方法另一实施例的流程示意图。所述步骤S203包括:

步骤S2031,基于第二预设神经网络确定所述第一待处理人脸图像对应的多个人脸关键点;

步骤S2032,若基于各个所述人脸关键点确定所述第一待处理人脸图像中的眼睛为张开状态,则基于各个所述人脸关键点之间的相对距离,确定所述第一待处理人脸图像对应的目标动作;

步骤S2033,若所述目标动作与所述动作提示一致,则将所述第一待处理人脸图像确定为所述第一目标人脸图像;

步骤S2034,若所述目标动作与所述动作提示不一致,则提示用户重新执行所述动作提示,并获取重新执行所述动作提示后的第二待处理人脸图像;

步骤S2035,基于所述第二待处理人脸图像进行所述动作活体检测,确定对应的第二目标人脸图像。

具体地,移动终端将当前待处理人脸图像(第一待处理人脸图像)传输至移动终端的第二预设神经网络中进行处理,通过第二预设神经网络得到当前待处理人脸图像中的9个人脸关键点,其中,第二预设神经网络是小型的深度学习神经网络,快速确定人脸图像中的人脸关键点;9个人脸关键点包括左眼、右眼、左脸颊、右脸颊、左嘴角、右嘴角、上嘴唇中心、下嘴唇中心和鼻尖。接着,移动终端根据左眼关键点和右眼关键点确定当前待处理人脸图像中的左眼和右眼是否都处于张开状态。若确定当前待处理人脸图像中的左眼和右眼都处于张开状态,移动终端则根据当前待处理人脸图像中其他的人脸关键点,左脸颊、右脸颊、左嘴角、右嘴角、上嘴唇中心、下嘴唇中心和鼻尖关键点之间的相对距离,确定当前待处理人脸图像对应的目标动作,并将目标动作与移动终端屏幕显示的动作提示进行动作比较。若确定目标动作与动作提示一致,即说明用户根据屏幕中的动作提示作了相应的动作,移动终端则将当前待处理人脸图像确定为目标人脸图像。若确定目标动作与动作提示不一致,即说明用户没有根据屏幕中的动作提示作相应的动作,移动终端则提示用户重新执行屏幕中的动作提示,并获取用户重新执行该动作提示后的第二待处理人脸图像,然后通过第二预设神经网络对第二待处理人脸图像进行处理,得到第二待处理人脸图像中的9个人脸关键点,根据第二待处理人脸图像中的9个人脸关键点对第二待处理人脸图像进行动作活体检测,若确定第二待处理人脸图像通过动作活体检测,移动终端则将第二待处理人脸图像确定为目标人脸图像。若确定第二待处理人脸图像没有通过动作活体检测,移动终端在动作活体检测的规定检测时长内循环执行上述步骤,直至检测通过。进一步地,若确定当前待处理人脸图像中的左眼和右眼都处于闭合状态,或者左眼处于闭合状态,或者右眼处于闭合状态,移动终端则直接确定第一待处理人脸图像不符合要求,不必要执行后续步骤,此时需要通过对应的提示信息提示用户睁开眼睛。

本实施例基于第二预设神经网络确定第一待处理人脸图像对应的多个人脸关键点;若基于各个人脸关键点确定第一待处理人脸图像中的眼睛为张开状态,则基于各个人脸关键点之间的相对距离,确定第一待处理人脸图像对应的目标动作;若目标动作与动作提示一致,则将第一待处理人脸图像确定为第一目标人脸图像;若目标动作与动作提示不一致,则提示用户重新执行动作提示,并获取重新执行动作提示后的第二待处理人脸图像;基于第二待处理人脸图像进行动作活体检测,确定对应的第二目标人脸图像。由此可知,本实施例通过第一预设神经网络确定待处理人脸图像中的人脸关键点,由于第二预设神经网络为小型神经网络,从而能够提升运行速度,加快确定出待处理人脸图像中的人脸关键点的速度,从而快速的确定待处理人脸图像是否通过动作活体检测,提高了人脸检测的准确度。

进一步地,参照图8,图8是本申请虚假人脸的检测装置较佳的功能模块示意图。所述虚假人脸的检测装置包括:

获取模块10,用于响应人脸检测请求,基于所述人脸检测请求获取对应的人脸图像;

检测模块20,用于对所述人脸图像进行图像质量检测;

所述检测模块20还用于若所述人脸图像通过所述图像质量检测,则基于所述人脸图像进行动作活体检测,确定对应的第一目标人脸图像;

发送模块30,用于将所述第一目标人脸图像发送至所述服务器,以供所述服务器对所述第一目标人脸图像进行静默活体检测。

本申请虚假人脸的检测装置具体实施方式与上述虚假人脸的检测方法各实施例基本相同,在此不再赘述。

此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有虚假人脸检测程序,所述虚假人脸检测程序被处理器执行时实现如上所述的虚假人脸的检测方法的步骤。

本申请计算机可读存储介质具体实施方式与上述虚假人脸的检测方法各实施例基本相同,在此不再赘述。

此外,本申请实施例还提出一种计算机程序产品,所述计算机程序产品包括包括计算机程序,所述包括计算机程序被所述处理器执行时实现如上所述的虚假人脸的检测方法的步骤。

本申请计算机程序产品具体实施方式与上述虚假人脸的检测方法各实施例基本相同,在此不再赘述。

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

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多数据下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件货物的形式体现出来,该计算机软件货物存储在一个介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备完成本申请各个实施例所述的方法。

相关技术
  • 虚假人脸的检测方法、终端设备及计算机可读存储介质
  • 人脸检测方法、装置、终端设备及计算机可读存储介质
技术分类

06120113255039