一种三维脸部活体检测方法、脸部认证识别方法及装置
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种三维脸部活体检测方法、脸部认证识别方法及装置。
背景技术
为了提升认证安全性,已经开始使用当前比较流行的人脸识别检测技术。
在人脸识别系统中,最常见的欺骗方式是假冒攻击,即冒名顶替者使用某种具有相同表现形式的假冒特征来入侵人脸识别系统。目前,常用的假冒攻击手段主要有照片、视频和三维模型等。
目前,主要采用活体检测技术来防御类似攻击。通过下发的指令配合完成特定的活体动作,例如,眨眼、转头、张嘴等生理行为,从而可以从这些活体动作中识别出是否为活体。但是,这些活体检测方式的检测性能并不是很好,影响活体检测结果,进而影响认证识别的准确性。
发明内容
本说明书实施例提供一种三维脸部活体检测方法、脸部认证识别方法及装置,用以解决现有技术中存在的活体检测性能较差的问题。
为了解决上述技术问题,本说明书实施例采用下述技术方案:
第一方面,提供了一种三维脸部活体检测方法,包括:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测。
第二方面,提供了一种脸部认证识别方法,包括:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测;
根据活体检测结果确定认证识别是否通过。
第三方面,提供了一种三维脸部检测装置,包括:
获取模块,获取针对目标检测对象的多帧深度图像;
第一预处理模块,对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
归一化模块,将所述点云数据进行归一化处理得到灰度深度图像;
检测模块,基于所述灰度深度图像和活体检测模型,进行活体检测。
第四方面,提供了一种脸部认证识别装置,包括:
获取模块,获取针对目标检测对象的多帧深度图像;
第一预处理模块,对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
归一化模块,将所述点云数据进行归一化处理得到灰度深度图像;
检测模块,基于所述灰度深度图像和活体检测模型,进行活体检测;
识别模块,根据活体检测结果确定认证识别是否通过。
第五方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测。
第六方面,一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测;
根据活体检测结果确定认证识别是否通过。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测。
第八方面,一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的服务器执行时,使得所述服务器执行以下操作:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测;
根据活体检测结果确定认证识别是否通过。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过上述技术方案,获取针对目标检测对象的多帧深度图像,可以保证作为检测数据输入的图像的整体性能;而且通过对齐预处理对多帧深度图像进行预处理,以及将所述点云数据进行归一化处理得到灰度深度图像,可以保证灰度深度图像的完整性以及精度,弥补图像质量问题;最后,基于灰度深度图像和活体检测模型,进行活体检测,从而,可以提升活体检测的准确性,进而,还可以根据检测结果实施更为有效的安全验证或是攻击防御。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为本说明书实施例提供的三维脸部活体检测方法的步骤示意图之一;
图1b为本说明书实施例提供的三维脸部活体检测方法的步骤示意图之二;
图2a为本说明书实施例提供的活体检测模型生成方法的步骤示意图之一;
图2b为本说明书实施例提供的活体检测模型生成方法的步骤示意图之二;
图3为本说明书实施例提供的人脸活体检测方法的示意图;
图4为本说明书实施例提供的脸部认证识别方法的步骤示意图;
图5为本说明书实施例提供的电子设备的硬件结构示意图;
图6a为本说明书实施例提供的三维脸部活体检测装置的结构示意图之一;
图6b为本说明书实施例提供的三维脸部活体检测装置的结构示意图之二;
图6c为本说明书实施例提供的三维脸部活体检测装置的结构示意图之三;
图6d为本说明书实施例提供的三维脸部活体检测装置的结构示意图之四;
图7为本说明书实施例提供的脸部认证识别装置的结构示意图。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
实施例一
参照图1a所示,为本说明书实施例提供的三维脸部活体检测方法的步骤示意图,该方法可由三维脸部活体检测装置或是安装有三维脸部活体检测装置的移动终端执行。
该三维脸部活体检测方法可以包括以下步骤:
步骤102:获取针对目标检测对象的多帧深度图像。
应理解,在本说明书实施例中,所涉及的三维脸部活体检测,主要是针对人类的三维脸部活体检测,根据对三维人脸图像的分析,判定目标检测对象是否是活体,即是否为图像中目标检测对象本人。其实,所述的三维脸部活体检测的目标检测对象,并不限于是人类,还可以是可识别脸部的动物,本说明书实施例并不对此进行限定。
该活体检测可以判定当前的操作者是活体真人还是照片或者视频、面具等非真人。活体检测可以使用在上、下班打卡,刷脸支付等通过刷脸验证的使用场景。
其中,本说明书实施例中所述的多帧深度图像,是指针对目标检测对象的脸部区域通过摄像、红外等方式采集的图像,具体可以通过能够测量物体(目标检测对象)与相机之间距离的深度相机采集深度图像。其中,本说明书实施例所涉及的深度相机可以包括:基于结构光原理的成像技术的深度相机,或是,基于光飞行时间原理的成像技术的深度相机。此外,在获取深度图像的同时,还获取了针对目标检测对象的彩色图像,即RGB图像。由于在图像采集时,一般都会采集彩色图像,因此,本说明书中默认设置为在获取深度图像的同时也获取了彩色图像。
考虑到基于结构光原理的成像技术的深度相机对光照较为敏感,无法在光线较强的户外等场景下使用,本说明书实施例优选采用主动双目深度相机来采集目标检测对象的深度图像。
应理解,在本说明书实施例中,所述多帧深度图像可以是从外置在三维脸部活体检测装置的深度摄像设备(如上述提及的各种类型的深度相机)获取的,即这些深度图像由深度相机采集,并传输给三维脸部活体检测装置;或是从内置在三维脸部活体检测装置的深度摄像设备获取的,即这些深度图像是由三维脸部活体检测装置通过内置的深度相机获取的。本说明书并不对此进行限定。
步骤104:对所述多帧深度图像进行对齐预处理得到预处理后的点云数据。
应理解,步骤102中获取的深度图像大多是基于深度相机采集的,这些深度图像普遍存在不完整、精度受限等问题,因此,在使用深度图像之前,可以对深度图像进行预处理。
在本说明书实施例中,可对所述多帧深度图像进行对齐预处理,从而有效弥补深度相机的采集质量问题,对后续的三维脸部活体检测有更好的鲁棒性,提升整体检测准确性。
步骤106:将所述点云数据进行归一化处理得到灰度深度图像。
在本说明书实施例中,对深度图像的对齐预处理可以视为特征的提取过程,在提取特征并对齐预处理后,需要将点云数据归一化为后续算法可用的灰度深度图像。从而,进一步提升图像的完整性和精度。
步骤108:基于所述灰度深度图像和活体检测模型,进行活体检测。
应理解,在本说明书实施例中,在对目标检测进行活体检测时,对于活体和非活体的目标检测对象,深度图像会存在差异。以人脸活体检测为例,如果目标检测对象是人脸照片、视频和三维模型等,而不是活体人脸,则在检测时,会进行区分。本说明书基于该思路通过对获取的目标检测对象的深度图像进行检测,来判别目标检测对象是活体还是非活体。
通过上述技术方案,获取针对目标检测对象的多帧深度图像,可以保证作为检测数据输入的图像的整体性能;而且通过对齐预处理对多帧深度图像进行预处理,以及将所述点云数据进行归一化处理得到灰度深度图像,可以保证灰度深度图像的完整性以及精度,弥补图像质量问题;最后,基于灰度深度图像和活体检测模型,进行活体检测,从而,可以提升活体检测的准确性,进而,还可以根据检测结果实施更为有效的安全验证或是攻击防御。
本说明书实施例中活体检测模型可以是预先设置的普通活体检测模型,参照图2a所示,优选可以是基于以下方式得到:
步骤202:获取针对目标训练对象的多帧深度图像。
应理解,该步骤中针对目标训练对象的多帧深度图像,可以是从现有的深度图像数据库或是其他存储空间提取的历史深度图像。与步骤102中的深度图像不同的是,目标训练对象的类型(活体或者非活体)是已知的。
步骤204:对所述多帧深度图像进行对齐预处理得到预处理后的点云数据。
该步骤204的具体实现可参照步骤104。
步骤206:将所述点云数据进行归一化处理得到灰度深度图像样本。
基于上述步骤204对齐预处理后得到的点云数据,经过归一化处理后得到灰度深度图像样本。之所以作为样本,主要是将经过对齐预处理和归一化处理后的深度图像作为后续输入训练模型的已知类型的数据。这里的归一化处理方式与步骤106的实现相同。
步骤208:基于所述灰度深度图像样本和对所述灰度深度图像样本的标注数据,训练得到活体检测模型。
其中,所述灰度深度图像样本的标注数据可以是目标训练对象的类型标签,本说明书实施例中可以将类型标签简单设置为:活体或非活体。
应理解,本说明书实施例所涉及的方案中,可以选择卷积神经网络CNN结构作为训练模型,该CNN结构主要包括卷积层和池化层,其构建过程可包括:卷积、激活、池化、全连接等。该CNN结构可以对输入的图像数据以及训练对象的标签进行二分类训练,从而得到一个分类器。例如:将归一化处理后的灰度深度图像样本A1(标注数据:活体)、B1(标注数据:活体)、A2(标注数据:非活体)、B2(标注数据:活体)、A3(标注数据:活体)、B3(标注数据:非活体)等,作为数据输入至训练模型即CNN结构,之后,该CNN结构根据输入的数据进行模型训练,最终得到一个分类器,该分类器可以准确识别出输入的数据所对应的目标检测对象是否为活体,并输出检测结果。
需要说明的是,在实际的模型训练过程中,输入至训练模型的数据(灰度深度图像样本)的数量可以很多,足以支撑训练模型进行有效训练,本说明书实施例仅是为了示例才列举了部分。
其实,上述所提到的分类器可以理解为是训练得到的活体检测模型,由于训练时所输入的标签(即标注数据)仅是两类(活体或非活体),因此,该分类器可以是二分类器。
通过上述图2a得到的活体检测模型,由于是基于预处理以及归一化处理后的灰度深度图像样本作为输入数据进行CNN模型训练的,由此,可以得到更为准确的活体检测模型,进一步,基于该活体检测模型进行的活体检测更为准确。
可选地,在本说明书实施例中,步骤104可具体包括:
基于三维脸部关键点对所述多帧深度图像进行粗对齐;
基于迭代最近点ICP算法对经粗对齐处理后的深度图像进行精对齐,得到点云数据。
可见,该步骤104主要包括粗对齐和精对齐,下面对该对齐预处理进行简单介绍。
基于三维脸部关键点对所述多帧深度图像进行粗对齐,在具体实现时,可以使用RGB图像检测方式,确定深度图像中人脸关键点,然后对确定的这些人脸关键点进行点云粗对齐;其中,人脸关键点可以是人脸中的两个眼角、鼻尖、两个嘴角,这五个关键点。通过点云粗对齐,仅是将多帧深度图像进行了大致的配准,保证深度图像从大体上是对齐的。
基于迭代最近点ICP算法对经粗对齐处理后的深度图像进行精对齐,得到点云数据,在具体实现时,可以使用经粗对齐处理后的深度图像作为ICP算法的初始化,之后,采用ICP算法的迭代流程进行精准对齐;在本说明书实施例中,ICP算法选择关键点的过程中,结合了人脸的两个眼角、鼻尖、两个嘴角,这五个关键点的位置信息,进行RANSAC(随机抽样一致性算法)选点,同时,限制迭代次数,使得迭代不致于过多,从而,保证系统处理的速度。
可选地,在本说明书实施例中,参照图1b所示,在执行步骤104之前,还包括:
步骤110:对所述多帧深度图像中的每帧深度图像进行双边滤波处理。
应理解,在本说明书实施例中,由于获取得是多帧深度图像,而且每帧深度图像都可能存在图像质量问题,因此,可以对多帧深度图像中每帧深度图像进行双边滤波处理,从而提升每帧深度图的完整性。
具体地,可以参照以下公式实现对每帧深度图像的双边滤波处理:
其中,g(i,j)表示经双边滤波处理后的深度图像中像素点(i,j)的深度值,f(k,l)是双边滤波处理前的深度图像中像素点(k,l)的深度值,ω(i,j,k,l)是双边滤波的权重值。
进一步,双边滤波的权重值ω(i,j,k,l)可以通过以下公式计算得到:
其中,f
c(i,j)表示彩色图像中像素点(i,j)的彩色值,f
c(k,l)表示彩色图像中像素点(k,l)的彩色值,
为对应深度图像的滤波参数,
为对应彩色图像的滤波参数。
可选地,步骤106在将所述点云数据进行归一化处理得到灰度深度图像时,可具体实现为:
第一步,根据所述点云数据中三维脸部关键点,确定脸部区域的平均深度。
以三维脸部为人脸为例,根据人脸的五个关键点,采用平均加权等方式计算出人脸区域的平均深度。
第二步,对脸部区域进行分割,删除所述点云数据中前景和背景。
对人脸区域进行图像分割,例如,分割出鼻子、嘴巴、眼睛等关键点,然后删除点云数据中人脸以外的前景图像对应的点云数据和背景图像对应的点云数据,从而,排除前景图像和背景图像对点云数据的干扰。
第三步,将删除前景和背景的点云数据归一化到以所述平均深度为基准的前后预设数值范围内,得到灰度深度图像。
将排除前景和背景干扰的人脸区域的深度值,归一化到以第一步确定的平均深度为基准的前后预设数值范围内,其中,以平均深度为基准的前后预设数值范围,是指在所述平均深度至前方预设数值之间的深度范围以及在所述平均深度至后方预设数值之间的深度范围。所述前方指人脸区域面向深度相机的一侧,所述后方指人脸区域背向深度相机的一侧。
举例说明,假设之前确定的人脸区域的平均深度为D1,预设数值为D2,那么,归一化后人脸区域的深度值范围为[D1-D2,D1+D2]。应理解,考虑到人脸的轮廓的厚度有限,而且大致处于一定的范围内,因此,预设数值可以设置为30mm-50mm之间的任意数值,优选取40mm。
应理解,在本说明书实施例中,上述步骤106中所涉及的归一化处理操作,可以适用于图2a所示的模型训练的归一化处理中。
可选地,参照图2b所示,在步骤208执行之前,还包括:
步骤210:对所述灰度深度图像样本进行数据增广处理,所述数据增广处理包括如下至少一种:旋转操作、平移操作、缩放操作。
应理解,通过上述数据增广处理,可以增加灰度深度图像样本(活体、非活体)的数量,提升模型训练的鲁棒性,进而,提升活体检测的准确性。
较优的,在进行增广处理时,可根据灰度深度图像样本的三维数据信息,分别进行旋转、平移以及缩放操作。
可选地,为了提升模型训练以及后续活体检测的鲁棒性,所述活体检测模型为基于卷积神经网络结构训练得到的模型。
下面通过一个具体的实例对本说明书所涉及的三维脸部活体检测方案进行详细介绍。
需要说明的是,该三维脸部活体检测方案中,三维脸部以人脸为例,训练模型以CNN模型为例。
参照图3所示,为本说明书实施例提供的活体检测模型的训练以及人脸活体检测的示意图。其中,
在训练阶段,可包括:历史深度图像采集、历史深度图像预处理、点云数据归一化、数据增广以及二分类模型训练;在检测阶段,可包括:在线深度图像采集、在线深度图像预处理、点云数据归一化、基于二分类模型检测是否为活体等过程。其实,具体的训练阶段以及检测阶段可能还包括其它过程,本说明书实施例并未全部示出。
应理解,本说明书实施例中二分类模型即为图1a中所示的活体检测模型。其实,该训练阶段以及检测阶段的操作可以由具有深度图像采集功能的移动终端或是其他终端设备执行处理,下面以移动终端作为执行主体为例。具体地,图3所示的流程主要包括:
(1)历史深度图像采集
移动终端采集历史深度图像,这些历史深度图像中,有的是针对活体的人脸进行深度摄像采集得到,有的是针对非活体(例如图片、视频等)的人脸图像进行深度摄像采集得到。所述历史深度图像可以是基于主动双目深度相机采集得到,并作为历史深度图像存储在历史数据库中。移动终端在有模型训练需求和/或活体检测需求时,触发从历史数据库中采集历史深度图像。
应理解,本说明书实施例中所涉及的历史深度图像即为图2a中所述的针对目标训练对象的多帧深度图像。在采集历史深度图像时,还同时获取历史深度图像对应的标签(即标注数据),该标签用于表示历史深度图像对应的目标训练对象是活体或非活体。
(2)历史深度图像预处理
在完成历史深度图像的采集后,还可以对历史深度图像中单帧深度图像进行双边滤波处理,然后采用人脸关键点对经过双边滤波处理后的多帧深度图像进行粗对齐,最后采用ICP算法对粗对齐后的结果进行精对齐,实现对点云数据的精确配准,从而,能够得到更为完整、精准的训练数据。其中,双边滤波、人脸关键点的粗对齐、ICP算法的精对齐等操作的具体实现可参照上述实施例的相关描述,在此不做赘述。
(3)点云数据归一化
为了获得更为精准的训练数据,还可以将配准后的点云数据归一化为灰度深度图像,以便后续使用。首先,根据人脸RGB图像检测人脸关键点和深度图像D,计算出人脸区域的平均深度df,该df可以为一个数值,单位为mm。其次,对人脸区域进行图像分割,以排除前景和背景的干扰,例如,只保留深度值在df-40mm至df+40mm范围内的所有点云作为人脸的点云P{(x,y,z)|df+40>z>df-40}。最后,将排除前景和背景干扰的人脸区域的深度值归一化到平均深度的前、后40mm范围内(此时可以为一个数值范围)。
(4)数据增广
考虑到采集的采集的历史深度图像的数量可能有限,因此,为了增加模型训练时所需输入数据的数量,可以对归一化处理后的灰度深度图像进行增广处理。其中,增广处理具体可实现为旋转操作、平移操作、缩放操作中的至少一种。
举例说明,假设归一化的灰度深度图像M1、M2、M3,记旋转操作后的灰度深度图像为M1(x)、M2(x)、M3(x),平移操作后的灰度深度图像为M1(p)、M2(p)、M3(p),缩放操作后的灰度深度图像为M1(s)、M2(s)、M3(s)。这样,就将原本三个灰度深度图像,增广为十二个灰度深度图像,从而增加活体、非活体的输入数据,提升模型训练的鲁棒性。同时,还可以提升后续活体检测的检测性能。
应理解,上述归一化的灰度深度图像的个数仅作示例,并不限于三个,具体采集数量可以根据需求设置。
(5)二分类模型训练
在进行模型训练中,可将步骤(1)得到的深度图像作为训练数据,或者将步骤(2)预处理后得到的深度图像作为训练数据,或者将步骤(3)归一化处理后得到的灰度深度图像作为训练数据,或者将步骤(4)增广处理后得到的灰度深度图像作为训练数据。
显然,以步骤(4)增广处理后得到的灰度深度图像作为训练数据输入到CNN模型,训练出来的活体检测模型会更加准确。
在通过数据增广的方式处理归一化的灰度深度图像后,可以采用CNN结构从增广后的灰度深度图像中提取图像特征,然后基于提取的图像特征和CNN模型进行模型训练。
其实,在进行训练时,训练数据还包含灰度深度图像的标签,本说明书实施例中可以标注为“活体”或“非活体”。这样,在训练结束后就可以得到可以根据输入数据输出“活体”或“非活体”的二分类模型。
(6)在线深度图像采集
步骤(6)的具体实现可参照步骤(1)中的采集处理过程。
(7)在线深度图像预处理
步骤(7)的具体实现可参照步骤(2)的预处理过程。
(8)点云数据归一化
步骤(8)的具体实现可参照步骤(3)的归一化处理过程。
(9)基于二分类模型检测是否为活体
在本说明书实施例中,可以将步骤(6)中采集的在线深度图像作为二分类模型的输入,或者,将步骤(7)中预处理后的在线深度图像作为二分类模型的输入,或者,将步骤(8)中归一化处理后的在线灰度深度图像作为二分类模型的输入,以检测目标检测对象是否为活体。
应理解,本说明书实施例中,在检测阶段输入检测模型的数据的处理方式可以与训练阶段输入训练模型的数据的处理方式相同,例如,如果二分类模型是基于采集的历史深度图像训练得到,则采用步骤(6)中采集的在线深度图像作为二分类模型的输入进行检测。
在本说明书实施例中,为了保证活体检测的准确性,优选基于增广后的灰度深度图像训练得到的二分类模型,并将步骤(8)中归一化处理后的在线灰度深度图像作为输入,二分类模型即可根据输入数据输出“活体”或“非活体”的检测结果。
(10)将检测结果输出给活体检测装置
基于二分类模型,可得到检测结果。
此时,可将检测结果反馈给活体检测系统,以便活体检测系统执行相应的操作。例如,在支付场景中,如果检测结果为“活体”,则将该检测结果反馈给支付系统,以便支付系统执行支付;如果检测结果为“非活体”则将该检测结果反馈给支付系统,以便支付系统拒绝执行支付。由此,可以通过更为准确的活体检测方式提升认证安全性。
上述对本说明书特定实施例进行了描述。在一些情况下,在本说明书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
实施例二
参照图4所示,为本说明书实施例提供的脸部认证识别方法的步骤示意图,该方法可由脸部认证识别装置或是安装有脸部认证识别装置的移动终端执行。
该脸部认证识别方法可以包括以下步骤:
步骤402:获取针对目标检测对象的多帧深度图像。
步骤402的具体实现可参照步骤102。
步骤404:对所述多帧深度图像进行对齐预处理得到预处理后的点云数据。
步骤404的具体实现可参照步骤104。
步骤406:将所述点云数据进行归一化处理得到灰度深度图像。
步骤406的具体实现可参照步骤106。
步骤408:基于所述灰度深度图像和活体检测模型,进行活体检测。
步骤408的具体实现可参照步骤108。
步骤410:根据活体检测结果确定认证识别是否通过。
本说明书实施例中,可以根据步骤408的检测结果:活体或非活体,传输给认证识别系统,以便于认证识别系统确定是否通过认证,例如,如果检测结果为活体,则认证通过;如果检测结果为非活体,则认证不通过。
通过上述技术方案,获取针对目标检测对象的多帧深度图像,可以保证作为检测数据输入的图像的整体性能;而且通过对齐预处理对多帧深度图像进行预处理,以及将所述点云数据进行归一化处理得到灰度深度图像,可以保证灰度深度图像的完整性以及精度,弥补图像质量问题;最后,基于灰度深度图像和活体检测模型,进行活体检测,从而,可以提升活体检测的准确性,进而,还可以根据检测结果实施更为有效的安全验证或是攻击防御。
实施例三
下面参照图5详细介绍本说明书实施例的电子设备。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(Non-Volatile Memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral C omponent Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成三维脸部检测装置。处理器,执行存储器所存放的程序,并具体执行以下操作:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测。
或者执行以下操作:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测;
根据活体检测结果确定认证识别是否通过。
上述如本说明书实施例图1a-图3所示实施例揭示的三维脸部活体检测方法或图4揭示的脸部认证识别方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central P rocessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1a-图3的方法,并实现三维脸部活体检测装置在图1a-图3所示实施例的功能,以及可以执行图4的方法,并实现脸部认证识别装置在图4所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
实施例四
本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的服务器执行时,使得所述服务器执行以下操作:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测。
本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的服务器执行时,使得所述服务器执行以下操作:
获取针对目标检测对象的多帧深度图像;
对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
将所述点云数据进行归一化处理得到灰度深度图像;
基于所述灰度深度图像和活体检测模型,进行活体检测;
根据活体检测结果确定认证识别是否通过。
其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
实施例五
参照图6a所示,为本说明书实施例提供的三维脸部活体检测装置的结构示意图,该装置主要包括:
获取模块602,获取针对目标检测对象的多帧深度图像;
第一预处理模块604,对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
归一化模块606,将所述点云数据进行归一化处理得到灰度深度图像;
检测模块608,基于所述灰度深度图像和活体检测模型,进行活体检测。
通过上述技术方案,获取针对目标检测对象的多帧深度图像,可以保证作为检测数据输入的图像的整体性能;而且通过对齐预处理对多帧深度图像进行预处理,以及将所述点云数据进行归一化处理得到灰度深度图像,可以保证灰度深度图像的完整性以及精度,弥补图像质量问题;最后,基于灰度深度图像和活体检测模型,进行活体检测,从而,可以提升活体检测的准确性,进而,还可以根据检测结果实施更为有效的安全验证或是攻击防御。
可选地,作为一个实施例,在得到所述活体检测模型时,
所述获取模块602,获取针对目标训练对象的多帧深度图像;
第一预处理模块604,对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
归一化模块606,将所述点云数据进行归一化处理得到灰度深度图像样本;
此外,参照图6b所示,还包括:
训练模块610,基于所述灰度深度图像样本和对所述灰度深度图像样本的标注数据,训练得到活体检测模型。
可选地,所述第一预处理模块604具体用于:
基于三维脸部关键点对所述多帧深度图像进行粗对齐;
基于迭代最近点ICP算法对经粗对齐处理后的深度图像进行精对齐,得到点云数据。
可选地,参照图6c所示,所述三维脸部活体检测装置还包括:
第二预处理模块612,对所述多帧深度图像中的每帧深度图像进行双边滤波处理。
可选地,所述归一化处理模块604具体用于:
根据所述点云数据中三维脸部关键点,确定脸部区域的平均深度;
对脸部区域进行分割,删除所述点云数据中前景和背景;
将删除前景和背景的点云数据归一化到以所述平均深度为基准的前后预设数值范围内,得到灰度深度图像。
可选地,所述预设数值的取值范围为:30-50mm。
可选地,参照图6d所示,所述三维脸部活体检测装置还包括:
增广模块614,对所述灰度深度图像样本进行数据增广处理,所述数据增广处理包括如下至少一种:旋转操作、平移操作、缩放操作。
可选地,所述活体检测模型为基于卷积神经网络结构训练得到的模型。
可选地,所述多帧深度图像是基于主动双目式深度摄像装置获取得到的。
参照图7所示,为本说明书实施例提供的脸部认证识别装置的结构示意图,该装置主要包括:
获取模块702,获取针对目标检测对象的多帧深度图像;
第一预处理模块704,对所述多帧深度图像进行对齐预处理得到预处理后的点云数据;
归一化模块706,将所述点云数据进行归一化处理得到灰度深度图像;
检测模块708,基于所述灰度深度图像和活体检测模型,进行活体检测;
识别模块710,根据活体检测结果确定认证识别是否通过。
通过上述技术方案,获取针对目标检测对象的多帧深度图像,可以保证作为检测数据输入的图像的整体性能;而且通过对齐预处理对多帧深度图像进行预处理,以及将所述点云数据进行归一化处理得到灰度深度图像,可以保证灰度深度图像的完整性以及精度,弥补图像质量问题;最后,基于灰度深度图像和活体检测模型,进行活体检测,从而,可以提升活体检测的准确性,进而,还可以根据检测结果实施更为有效的安全验证或是攻击防御。
总之,以上所述仅为本说明书实施例的较佳实施例而已,并非用于限定本说明书实施例的保护范围。凡在本说明书实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书实施例中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。