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

人脸活体检测方法、装置、电子设备及计算机存储介质

文献发布时间:2023-06-19 10:27:30


人脸活体检测方法、装置、电子设备及计算机存储介质

技术领域

本申请涉及计算机技术领域,特别涉及一种人脸活体检测方法、装置、电子设备及计算机存储介质。

背景技术

自从商业性人脸识别系统进入市场,被广泛的应用于身份鉴定、电子商务、人机交互、信息安全等领域。人脸活体识别变得越来越重要,在很多需要人脸识别的场景,都需要先做人脸活体检测,否则人脸识别没有意义,比如,人脸支付场景,人脸识别前必须确保人脸图像来自真人,否则的话,A可能拿着B的照片通过了人脸识别,会造成严重的安全隐患。

目前,人脸活体检测的方法通常采用纹理特征的方法或时间进行人脸活体检测的方法。然而,利用纹理特征的进行人脸活体检测的方法为:使用单帧人脸图像做活体检测,虽然速度相对较快,但无法保证人脸活体检测的精确度;基于时间进行人脸活体检测的方法为:用视频(连续多帧)做人脸活体检测,虽精确度较高,但是速度相对较慢。可以看出,目前的人脸活体检测方法,无法在移动设备上同时兼顾检测速度与精确度。

发明内容

有鉴于此,本申请提供一种人脸活体检测方法、装置、电子设备及计算机存储介质,用于进行人脸活体检测时,同时兼顾检测速度与精确度。

本申请第一方面提供了一种人脸活体检测方法,包括:

获取待检测人脸图像;

将所述待检测人脸图像输入至人脸活体检测模型中,得到所述待检测人脸图像的活体预测值;其中,所述人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;所述人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;所述深度学习模型为包含分类模型结构的深度学习模型;所述分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构;

若所述待检测人脸图像的活体预测值大于阈值,则确定所述待检测图像中的人脸为活体。

可选的,所述人脸活体检测模型的构建方法,包括:

构建人脸图像的训练样本集;其中,所述人脸图像的训练样本集包括多个人脸图像的训练样本;所述多个人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;

针对每一个人脸图像的训练样本,将所述人脸图像的训练样本输入至深度学习模型中的连续的多个密集网络层,得到所述人脸图像的训练样本是否为活体的第一预测结果,以及所述人脸图像的训练样本在多个场景下是否为活体的第二预测结果;

根据所述人脸图像的训练样本是否为活体的第一预测结果,所述人脸图像的训练样本在多个场景下是否为活体的第二预测结果、每一个所述密集网络层的输出值、所述人脸图像的训练样本是否为活体的真实结果,以及所述人脸图像的训练样本在多个场景下是否为活体的真实结果,计算得到所述人脸图像的训练样本的最终损失函数值;

若所述最终损失函数值不满足预设的收敛条件,则对所述深度学习模型中的参数进行调整,直至调整后的所述深度学习模型计算得到的最终损失函数值满足预设的收敛条件,将所述深度学习模型作为人脸活体检测模型。

可选的,所述根据所述人脸图像的训练样本是否为活体的第一预测结果,所述人脸图像的训练样本在多个场景下是否为活体的第二预测结果、每一个所述密集网络层的输出值、所述人脸图像的训练样本是否为活体的真实结果,以及所述人脸图像的训练样本在多个场景下是否为活体的真实结果,计算得到所述人脸图像的训练样本的最终损失函数值,包括:

将每一个所述密集网络层的输出值合并,得到一个串联的特征图;

将所述串联的特征图输入至空间注意力输出层,得到所述人脸图像的训练样本是否为活体的第三预测结果;

根据所述人脸图像的训练样本是否为活体的第三预测结果、以及所述人脸图像的训练样本是否为活体的真实结果,确定所述人脸图像的训练样本的第一损失函数值;

根据所述人脸图像的训练样本是否为活体的第一预测结果、以及与所述人脸图像的训练样本是否为活体的真实结果,确定所述人脸图像的训练样本的第二损失函数值;

根据所述人脸图像的训练样本在多个场景下是否为活体的第二预测结果、以及与所述人脸图像的训练样本在多个场景下是否为活体的真实结果,确定所述人脸图像的训练样本的第三损失函数值;

将所述第一损失函数值、所述第二损失函数值以及所述第三损失函数值的和,作为所述最终的损失函数值。

可选的,所述深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型,所述将所述待检测人脸图像输入至人脸活体检测模型中,得到所述待检测人脸图像的活体预测值,包括:

将所述待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个所述密集网络层的输出值;

将所述每一个所述密集网络层的输出值合并,得到一个串联的特征图;

将所述串联的特征图输入至所述空间注意力输出层,得到所述待检测人脸图像的活体预测值。

可选的,所述深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型,所述将所述待检测人脸图像输入至人脸活体检测模型中,得到所述待检测人脸图像的活体预测值,包括:

将所述待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个所述密集网络层的输出值;

将所述每一个所述密集网络层的输出值合并,得到一个串联的特征图;

将所述串联的特征图输入至所述空间注意力输出层,得到所述待检测人脸图像的第一活体预测值;

将所述待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层中的最后一个密集网络层中的输出值,作为所述待检测人脸图像的第二活体预测值;

根据所述第一活体预测值和所述第二活体预测值,确定所述待检测人脸图像的活体预测值。

本申请第二方面提供了一种人脸活体检测装置,包括:

获取单元,用于获取待检测人脸图像;

第一输入单元,用于将所述待检测人脸图像输入至人脸活体检测模型中,得到所述待检测人脸图像的活体预测值;其中,所述人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;所述人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;所述深度学习模型为包含分类模型结构的深度学习模型;所述分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构;

第一确定单元,用于若所述待检测人脸图像的活体预测值大于阈值,则确定所述待检测图像中的人脸为活体。

可选的,所述人脸活体检测模型的构建单元,包括:

训练样本集构建单元,用于构建人脸图像的训练样本集;其中,所述人脸图像的训练样本集包括多个人脸图像的训练样本;所述多个人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;

第二输入单元,用于针对每一个人脸图像的训练样本,将所述人脸图像的训练样本输入至深度学习模型中的连续的多个密集网络层,得到所述人脸图像的训练样本是否为活体的第一预测结果,以及所述人脸图像的训练样本在多个场景下是否为活体的第二预测结果;

计算单元,用于根据所述人脸图像的训练样本是否为活体的第一预测结果,所述人脸图像的训练样本在多个场景下是否为活体的第二预测结果、每一个所述密集网络层的输出值、所述人脸图像的训练样本是否为活体的真实结果,以及所述人脸图像的训练样本在多个场景下是否为活体的真实结果,计算得到所述人脸图像的训练样本的最终损失函数值;

调整单元,用于若所述最终损失函数值不满足预设的收敛条件,则对所述深度学习模型中的参数进行调整,直至调整后的所述深度学习模型计算得到的最终损失函数值满足预设的收敛条件,将所述深度学习模型作为人脸活体检测模型。

可选的,所述计算单元,包括:

第一合并单元,用于将每一个所述密集网络层的输出值合并,得到一个串联的特征图;

第三输入单元,用于将所述串联的特征图输入至空间注意力输出层,得到所述人脸图像的训练样本是否为活体的第三预测结果;

第二确定单元,用于根据所述人脸图像的训练样本是否为活体的第三预测结果、以及所述人脸图像的训练样本是否为活体的真实结果,确定所述人脸图像的训练样本的第一损失函数值;

所述第二确定单元,还用于根据所述人脸图像的训练样本是否为活体的第一预测结果、以及与所述人脸图像的训练样本是否为活体的真实结果,确定所述人脸图像的训练样本的第二损失函数值;

所述第二确定单元,还用于根据所述人脸图像的训练样本在多个场景下是否为活体的第二预测结果、以及与所述人脸图像的训练样本在多个场景下是否为活体的真实结果,确定所述人脸图像的训练样本的第三损失函数值;

第三确定单元,用于将所述第一损失函数值、所述第二损失函数值以及所述第三损失函数值的和,作为所述最终的损失函数值。

可选的,所述深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型,所述第一输入单元,包括:

第一输入子单元,用于将所述待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个所述密集网络层的输出值;

第二合并单元,用于将所述每一个所述密集网络层的输出值合并,得到一个串联的特征图;

所述第一输入子单元,还用于将所述串联的特征图输入至所述空间注意力输出层,得到所述待检测人脸图像的活体预测值。

可选的,所述深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型,所述第一输入单元,包括:

第一输入子单元,用于将所述待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个所述密集网络层的输出值;

第二合并单元,用于将所述每一个所述密集网络层的输出值合并,得到一个串联的特征图;

所述第一输入子单元,还用于将所述串联的特征图输入至所述空间注意力输出层,得到所述待检测人脸图像的第一活体预测值;

所述第一输入子单元,还用于将所述待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层中的最后一个密集网络层中的输出值,作为所述待检测人脸图像的第二活体预测值;

第四确定单元,用于根据所述第一活体预测值和所述第二活体预测值,确定所述待检测人脸图像的活体预测值。

本申请第三方面提供了一种电子设备,包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面任意一项所述的方法。

本申请第四方面提供了一种计算机存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如第一方面任意一项所述的方法。

由以上方案可知,本申请提供的一种人脸活体检测方法、装置、电子设备及计算机存储介质中,所述人脸活体检测方法包括:首先,获取待检测人脸图像;然后,将所述待检测人脸图像输入至人脸活体检测模型中,得到所述待检测人脸图像的活体预测值;其中,所述人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;所述人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;所述深度学习模型为包含分类模型结构的深度学习模型;所述分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构;最终,若所述待检测人脸图像的活体预测值大于阈值,则确定所述待检测图像中的人脸为活体。从而达到进行人脸活体检测时,同时兼顾检测速度与精确度的目的。

附图说明

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

图1为本申请实施例提供的一种人脸活体检测方法的具体流程图;

图2为现有技术中的密集网络层的示意图;

图3为本申请实施例提供的一种密集网络层的示意图;

图4为本申请实施例提供的一种人脸活体检测模型的构建方法的流程图;

图5为本申请实施例提供的一种计算最终损失函数值的流程图;

图6为本申请实施例提供多个一种空间注意力输出层的示意图;

图7为本申请另一实施例提供的一种人脸活体检测方法的具体流程图;

图8为本申请另一实施例提供的一种人脸活体检测方法的具体流程图;

图9为本申请另一实施例提供的一种人脸活体检测装置的示意图;

图10为本申请另一实施例提供的一种实现人脸活体检测方法的电子设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系,而术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本申请实施例提供了一种人脸活体检测方法,如图1所示,具体包括以下步骤:

S101、获取待检测人脸图像。

具体的,首先在需要进行人脸活体识别的场景下,如:身份验证、人机交互、视频监控等,通过摄像头等拍摄包含人脸的图像,再通过现有的人脸检测系统对拍摄到的图像中进行提取,得到待检测人脸图像。

S102、将待检测人脸图像输入至人脸活体检测模型中,得到待检测人脸图像的活体预测值。

其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为包含分类模型结构的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构。

空洞卷积可以在不增加计算量的同时增加卷积神经元的感知野,它的原理如下:

现有技术中的分类模型中的每一个密集网络层为通过多个原始卷积进行实现,如图2所示,Filter concatenate表示特征串联,Previous layer表示之前的网络层,conv表示卷积,可以看出现有的密集网络层为获得不同的感知野,需要采用1个3×3的原始卷积和2个连续的3×3的原始卷积来实现,分别对应图2中的左侧和右侧部分。参见图3,为本申请中融合了原始卷积和空洞卷积的网络结构的密集网络层的示意图,其中,atous conv.r=2表示空洞率为2的空洞卷积,可以看出,融合了原始卷积和空洞卷的网络结构的密集网络层,只需1个3×3的原始卷积和1个空洞卷积,就可以达到图2中的密集网络层的效果,也就是说,采用融合了原始卷积和空洞卷的网络结构的密集网络层,于现有技术中的密集网络层相比,可以在获得同样的大小的感知野的同时,减少模型的参数量和计算量。

需要说明的是,密集网络层的层数以及密集网络层中的特征的数量是可以根据实际应用的情况进行更改的,此处不做限定。同样,空洞卷积的空洞率,也是可以根据实际的应用情况进行更改的,此处不做限定。

可选的,在本申请的另一实施例中,人脸活体检测模型的构建方法的一种实施方式,如图4所示,包括:

S401、构建人脸图像的训练样本集。

其中,人脸图像的训练样本集包括多个人脸图像的训练样本;多个人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像。

具体的,可以利用数据采集系统采集各种场景下包含人脸的图像,例如:不同的光照条件、不同的摄像头的距离的情况下、不同的攻击模式、不同的姿势、不同的角度等,此处不做限定。并用人脸检测系统提取图像中的人脸图像。并为人脸图像的训练样本贴上标签,例如:人脸图像的训练样本为活体,那么可以设置一个标签为gt_label_1为1;人脸图像的训练样本为非活体为,那么可以设置一个标签为gt_label_1为0。

并且,为了使深度学习模型学习到人脸活体的本质特征,其中,本质特征为人脸活体不随场景变化的特征。增加深度学习模型在不同场景下的泛化能力,因此,在模型训练时还会增加了辅助分类任务,对不同场景下的活体贴标签为0,对不同场景下非活体的贴不同的标签,假设有三个场景,则三个场景下的非活体标签分别为1,2,3。例如:在场景a下人脸图像的训练样本为非活体,那么可以设置一个标签gt_label_2为a;在场景b下人脸图像的训练样本为非活体,那么可以设置一个标签gt_label_2为b;在场景c下人脸图像的训练样本为非活体,那么可以设置一个标签gt_label_2为c;无论在那个场景下,只要人脸图像的训练样本为活体,那么可以设置一个标签gt_label_2为0。

因此,每一张人脸图像的训练样本均会对应两个标签,一个为表示人脸图像的训练样本为活体或非活体的标签,另一个为人脸图像的训练样本在不同场景下为活体0或在某一场景下为非活体的标签。

S402、针对每一个人脸图像的训练样本,将人脸图像的训练样本输入至深度学习模型中的连续的多个密集网络层,得到人脸图像的训练样本是否为活体的第一预测结果,以及人脸图像的训练样本在多个场景下是否为活体的第二预测结果。

S403、根据人脸图像的训练样本是否为活体的第一预测结果,人脸图像的训练样本在多个场景下是否为活体的第二预测结果、每一个密集网络层的输出值、人脸图像的训练样本是否为活体的真实结果,以及人脸图像的训练样本在多个场景下是否为活体的真实结果,计算得到人脸图像的训练样本的最终损失函数值。

需要说明的是,随着深度学习的密集网络层的层数增加,输出的密集网络层的输出值的尺寸规模,可能会发生变化,那么可以将相同规格的密集网络层作为同一密集网络层,只计算一个密集网络层即可,从而进一步的减少计算量。

可选的,在本申请的另一实施例中,步骤S403的一种实施方式,如图5所示,包括:

S501、将每一个密集网络层的输出值合并,得到一个串联的特征图。

S502、将串联的特征图输入至空间注意力输出层,得到人脸图像的训练样本是否为活体的第三预测结果。

其中,空间注意力输出层的结构及对应的损失函数有助于提高分类模型的精确度而不增加计算量。

图6中的虚线部分是空间注意力输出层的一个示意图,feature表示空间注意力输出层前边的密集网络层的输出的特征,并将多个特征进行连接后,即上述合并,得到一个串联的特征图输入至空间注意力输出层,需要说明的是,将多个特征进行连接后输入至空间注意力输出层时,可以根据需要选择输入使用哪些层的特征进行连接,因此,参与连接的特征通道数可能不同;K表示分类任务的类别数;ConvBlock表示空间注意力图;SpatialAttentionMap表示空间注意力图,空间注意力图的规模为m×n,代表有m行,n列的矩阵,每一个值的大小能反映对应位置特征的重要程度,空间注意力图中的所有像素和为1;Spatial Logits表示空间逻辑,空间逻辑的规模为m×n×K的3维矩阵,空间逻辑里的每一个位置对应K个值,可以理解成总共存在m×n个长度为K的1维向量,也就是从图像中正面往穿透纸面的那个方向看,正对咱们是m×n个正方形,每一个正方形表示的是一个长度为K的向量。

S503、根据人脸图像的训练样本是否为活体的第三预测结果、以及人脸图像的训练样本是否为活体的真实结果,确定人脸图像的训练样本的第一损失函数值。

具体的,可以利用预设的第一损失函数值的计算公式,计算得到人脸图像的训练样本的第一损失函数值。其中,预设的第一损失函数值的计算公式为:

S504、根据人脸图像的训练样本是否为活体的第一预测结果、以及与人脸图像的训练样本是否为活体的真实结果,确定人脸图像的训练样本的第二损失函数值。

具体的,可以利用预设的第二损失函数值的计算公式,计算得到人脸图像的训练样本的第二损失函数值。其中,预设的第二损失函数值的计算公式为:

S505、根据人脸图像的训练样本在多个场景下是否为活体的第二预测结果、以及与人脸图像的训练样本在多个场景下是否为活体的真实结果,确定人脸图像的训练样本的第三损失函数值。

具体的,可以利用预设的第三损失函数值的计算公式,计算得到人脸图像的训练样本的第三损失函数值。其中,预设的第二损失函数值的计算公式为:

其中,L

S506、将第一损失函数值、第二损失函数值以及第三损失函数值的和,作为最终的损失函数值。

需要说明的是,可以根据实际情况,分别为第一损失函数值、第二损失函数值和第三损失函数值设置权重参数,起始的权重参数默认为1,此处不做限定。

S404、判断最终损失函数值是否满足预设的收敛条件。

其中,预设的收敛条件是技术人员等进行预先设置的,并且是可以根据实际的应用情况,应用场景等进行调整的,此处不做限定。

具体的,若判断出最终损失函数值不满足预设的收敛条件,则执行步骤S405;若判断出最终损失函数值满足预设的收敛条件,则执行步骤S406。

S405、对深度学习模型中的参数进行调整。

S406、将深度学习模型作为人脸活体检测模型。

可以理解的是,本实施例在实施的过程中,也可以采用预设一个最大训练轮数的方式,持续训练深度学习模型直至达到最大训练轮数,将达到最大训练轮数的深度学习模型作为人脸活体检测模型。

S103、判断待检测人脸图像的活体预测值是否大于阈值。

需要说明的是,阈值是当人脸活体检测模型训练完成后,将验证集上所有数据输入训练完成的模型,得到所有的输出,并将所有输出的结果控制在0到1之间,从0开始,每增加1/10000的值作为阈值,并统计对应阈值下的活体检测率,获得活体检测率最大时所对应的阈值作为模型最终的活体检测阈值。其中,验证集是构建人脸图像的训练样本集,同时构建的人脸图像的验证集,构建方法可以相应的参见构建人脸图像的训练样本集的方式,人脸图像的训练样本集与人脸图像的验证集并没有交叉。

可以理解的是,确定阈值的方法,不仅限于上述方法,例如:可以取在验证集上达到等错率时阈值作为最终的阈值,也可以取FAR等于特定值时的阈值等。

并且,人脸活体检测模型在确定阈值时阈值间隔和起始结束值可以根据需求自己确定。

具体的,若判断出待检测人脸图像的活体预测值大于阈值,则执行步骤S104;若判断出待检测人脸图像的活体预测值大于阈值,则执行步骤S105。

S104、确定待检测图像中的人脸为活体。

S105、确定待检测图像中的人脸为非活体。

由以上方案可知,本申请提供的一种人脸活体检测方法,首先,获取待检测人脸图像;然后,将待检测人脸图像输入至人脸活体检测模型中,得到待检测人脸图像的活体预测值;其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为包含分类模型结构的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构;最终,若待检测人脸图像的活体预测值大于阈值,则确定待检测图像中的人脸为活体。从而达到进行人脸活体检测时,同时兼顾检测速度与精确度的目的。

可选的,在本申请的另一实施例中,人脸活体检测方法的一种实施方式,如图7所示,包括:

S701、获取待检测人脸图像。

需要说明的是,步骤S701的具体实现过程与上述步骤S101的具体实现过程相同,可相互参见。

S702、将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个密集网络层的输出值。

其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构。

S703、将每一个密集网络层的输出值合并,得到一个串联的特征图。

需要说明的是,步骤S703的具体实现过程与上述步骤S501的具体实现过程相同,可相互参见。

S704、将串联的特征图输入至空间注意力输出层,得到待检测人脸图像的活体预测值。

需要说明的是,虽然,步骤S704是在人脸活体检测模型实际的应用该程中的步骤,步骤S502是在人脸活体检测模型构建过程中的步骤,但是,步骤S704的具体实现过程与上述步骤S502的具体实现过程相同,因此,可相互参见。

S705、判断待检测人脸图像的活体预测值是否大于阈值。

S706、确定待检测图像中的人脸为活体。

S707、确定待检测图像中的人脸为非活体。

需要说明的是,步骤S705至步骤S707的具体实现过程与上述步骤S103至S105的具体实现过程相同,可相互参见。

由以上方案可知,本申请提供的一种人脸活体检测方法,首先,获取待检测人脸图像;然后,将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个密集网络层的输出值。其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构;将每一个密集网络层的输出值合并,得到一个串联的特征图;将串联的特征图输入至空间注意力输出层,得到待检测人脸图像的活体预测值;最终,若待检测人脸图像的活体预测值大于阈值,则确定待检测图像中的人脸为活体。从而达到进行人脸活体检测时,同时兼顾检测速度与精确度的目的。

可选的,在本申请的另一实施例中,人脸活体检测方法的一种实施方式,如图8所示,包括:

S801、获取待检测人脸图像。

需要说明的是,步骤S801的具体实现过程与上述步骤S101的具体实现过程相同,可相互参见。

S802、将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个密集网络层的输出值。

其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构。

S803、将每一个密集网络层的输出值合并,得到一个串联的特征图。

需要说明的是,步骤S803的具体实现过程与上述步骤S501的具体实现过程相同,可相互参见。

S804、将串联的特征图输入至空间注意力输出层,得到待检测人脸图像的第一活体预测值。

需要说明的是,虽然,步骤S804是在人脸活体检测模型实际的应用该程中的步骤,步骤S502是在人脸活体检测模型构建过程中的步骤,但是,步骤S704的具体实现过程与上述步骤S502的具体实现过程相同,因此,可相互参见。

S805、将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层中的最后一个密集网络层中的输出值,作为待检测人脸图像的第二活体预测值。

需要说明的是,第二活体预测值也可以等同于步骤S102中输出的待检测人脸图像的活体预测值。

S806、根据第一活体预测值和第二活体预测值,确定待检测人脸图像的活体预测值。

具体的,将第一活体预测值和所述第二活体预测值的平均值,作为待检测人脸图像的活体预测值;也可以将第一活体预测值和所述第二活体预测值进行加权平均后的值,作为待检测人脸图像的活体预测值,方式十分多样化,此处不做限定。其中,权重可以根据实际的使用情况进行调整,此处同样不做限定。

S807、判断待检测人脸图像的活体预测值是否大于阈值。

S808、确定待检测图像中的人脸为活体。

S809、确定待检测图像中的人脸为非活体。

需要说明的是,步骤S707至步骤S709的具体实现过程与上述步骤S103至S105的具体实现过程相同,可相互参见。

由以上方案可知,本申请提供的一种人脸活体检测方法,首先,获取待检测人脸图像;然后,将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个密集网络层的输出值。其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构;将每一个密集网络层的输出值合并,得到一个串联的特征图;将串联的特征图输入至空间注意力输出层,得到待检测人脸图像的第一活体预测值;将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层中的最后一个密集网络层中的输出值,作为待检测人脸图像的第二活体预测值;根据第一活体预测值和所述第二活体预测值,确定待检测人脸图像的活体预测值;最终,若待检测人脸图像的活体预测值大于阈值,则确定待检测图像中的人脸为活体。从而达到进行人脸活体检测时,同时兼顾检测速度与精确度的目的。

本申请另一实施例提供了一种人脸活体检测装置,如图9所示,具体包括:

获取单元901,用于获取待检测人脸图像。

第一输入单元902,用于将待检测人脸图像输入至人脸活体检测模型中,得到待检测人脸图像的活体预测值。

其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为包含分类模型结构的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构。

第一确定单元903,用于若待检测人脸图像的活体预测值大于阈值,则确定待检测图像中的人脸为活体。

本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图1所示,此处不再赘述。

由以上方案可知,本申请提供的一种人脸活体检测装置,首先,获取单元901获取待检测人脸图像;然后,第一输入单元902将待检测人脸图像输入至人脸活体检测模型中,得到待检测人脸图像的活体预测值;其中,人脸活体检测模型由多个人脸图像的训练样本对深度学习模型进行训练得到;人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像;深度学习模型为包含分类模型结构的深度学习模型;分类模型结构中的每一个密集网络层均为融合了原始卷积和空洞卷积的网络结构;最终,若待检测人脸图像的活体预测值大于阈值,则第一确定单元903确定待检测图像中的人脸为活体。从而达到进行人脸活体检测时,同时兼顾检测速度与精确度的目的。

可选的,在本申请的另一实施例中,人脸活体检测模型的构建单元的一种实施方式,包括:

训练样本集构建单元,用于构建人脸图像的训练样本集。

其中,人脸图像的训练样本集包括多个人脸图像的训练样本;多个人脸图像的训练样本包括多个活体的人脸图像和多个非活体的人脸图像。

第二输入单元,用于针对每一个人脸图像的训练样本,将人脸图像的训练样本输入至深度学习模型中的连续的多个密集网络层,得到人脸图像的训练样本是否为活体的第一预测结果,以及人脸图像的训练样本在多个场景下是否为活体的第二预测结果。

计算单元,用于根据人脸图像的训练样本是否为活体的第一预测结果,人脸图像的训练样本在多个场景下是否为活体的第二预测结果、每一个密集网络层的输出值、人脸图像的训练样本是否为活体的真实结果,以及人脸图像的训练样本在多个场景下是否为活体的真实结果,计算得到人脸图像的训练样本的最终损失函数值。

调整单元,用于若最终损失函数值不满足预设的收敛条件,则对深度学习模型中的参数进行调整,直至调整后的深度学习模型计算得到的最终损失函数值满足预设的收敛条件,将深度学习模型作为人脸活体检测模型。

本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图4所示,此处不再赘述。

可选的,在本申请的另一实施例中,计算单元的一种实施方式,具体包括:

第一合并单元,用于将每一个密集网络层的输出值合并,得到一个串联的特征图。

第三输入单元,用于将串联的特征图输入至空间注意力输出层,得到人脸图像的训练样本是否为活体的第三预测结果。

第二确定单元,用于根据人脸图像的训练样本是否为活体的第三预测结果、以及人脸图像的训练样本是否为活体的真实结果,确定人脸图像的训练样本的第一损失函数值。

第二确定单元,还用于根据人脸图像的训练样本是否为活体的第一预测结果、以及与人脸图像的训练样本是否为活体的真实结果,确定人脸图像的训练样本的第二损失函数值。

第二确定单元,还用于根据人脸图像的训练样本在多个场景下是否为活体的第二预测结果、以及与人脸图像的训练样本在多个场景下是否为活体的真实结果,确定人脸图像的训练样本的第三损失函数值。

第三确定单元,用于将第一损失函数值、第二损失函数值以及第三损失函数值的和,作为最终的损失函数值。

本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图5所示,此处不再赘述。

可选的,在本申请的另一实施例中,深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型,那么,第一输入单元的一种实施方式,包括:

第一输入子单元,用于将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个密集网络层的输出值。

第二合并单元,用于将每一个密集网络层的输出值合并,得到一个串联的特征图。

第一输入子单元,还用于将串联的特征图输入至空间注意力输出层,得到待检测人脸图像的活体预测值。

本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图7所示,此处不再赘述。

可选的,在本申请的另一实施例中,深度学习模型为结合分类模型结构和空间注意力输出层的深度学习模型,那么,第一输入单元的一种实施方式,包括:

第一输入子单元,用于将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层,得到每一个密集网络层的输出值。

第二合并单元,用于将每一个密集网络层的输出值合并,得到一个串联的特征图。

第一输入子单元,还用于将串联的特征图输入至空间注意力输出层,得到待检测人脸图像的第一活体预测值。

第一输入子单元,还用于将待检测人脸图像输入至人脸活体检测模型中的连续的多个密集网络层中的最后一个密集网络层中的输出值,作为待检测人脸图像的第二活体预测值。

第四确定单元,用于根据第一活体预测值和第二活体预测值,确定待检测人脸图像的活体预测值。

本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图8所示,此处不再赘述。

本申请另一实施例提供了一种电子设备,如图10所示,包括:

一个或多个处理器1001。

存储装置1002,其上存储有一个或多个程序。

当所述一个或多个程序被所述一个或多个处理器1001执行时,使得所述一个或多个处理器1001实现如上述实施例中任意一项所述的方法。

本申请另一实施例提供了一种计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述实施例中任意一项所述的方法。

在本申请公开的上述实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 人脸活体检测方法、装置、电子设备及计算机存储介质
  • 人脸活体检测方法、装置、电子设备及存储介质
技术分类

06120112553198