一种人脸活体检测方法、系统和设备与流程

文档序号:16470441发布日期:2019-01-02 23:02阅读:167来源:国知局

本发明涉及生物特征识别技术领域,更具体地,涉及一种人脸活体检测方法、系统和设备。



背景技术:

人体有诸多唯一的特征,比如人脸、指纹、虹膜、人耳等,这些特征被统称为生物特征。生物特征识别技术广泛应用于生活中的各个领域,其中,人脸识别技术因其特征采集方便、卫生等特点,应用最为广泛,例如,人脸识别应用于安防、门禁领域。随着人脸识别应用领域的扩展,也出现了越来越多的攻击人脸识别的方法。

常见的攻击方法包括使用人脸照片、视频和3d面具模型等介质模拟人脸在人脸识别设备前对人脸识别进行攻击。可见,现有技术中对人脸识别进行攻击采用的大多数是非活体介质,因此,对待识别的人脸进行活体检测,以抵御对识别进行的攻击,是一个亟待解决的问题。

现有技术中,进行人脸活体检测的方法主要分为两类:静态检测方法、动态检测方法。其中,动态检测方法大多采用指令式的交互方式,诸如眨眼、摇头、张嘴等,来判断参与检测活动的是否为真人,存在速度慢、参与者难配合等问题,在以视频做攻击媒介的情况下识别准确率较低;而静态的活体检测又存在准确率低,极易被攻破,难以在市场上应用。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的一种人脸活体检测方法、系统和设备。

根据本发明的第一个方面,提供一种人脸活体检测方法,包括:

获取待识别人脸的人脸深度图;

基于所述人脸深度图判断待识别人脸是否为活体,若所述人脸深度图满足预设条件,则判断待识别人脸为活体。

根据本发明的第二个方面,提供一种人脸活体检测系统,包括人脸图像获取模块、人脸深度图预测模块和判断模块;

所述人脸图像获取模块用于获取待识别人脸的人脸图像;

所述人脸深度图预测模块用于根据深度图像预测模型获取人脸深度图;

所述判断模块用于基于所述人脸深度图判断待识别人脸是否为活体,若所述人脸深度图满足预设条件,则判断待识别人脸为活体。

根据本发明的第三个方面,提供一种人脸活体检测设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述人脸活体检测方法。

根据本发明的第四个方面,提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述人脸活体检测方法。

本发明提出一种人脸活体检测方法、系统和设备,利用照片或视频的二次拍摄图像与真人的图像的人脸深度预测的差异,结合深度学习的模型的预测结果,抵御照片以及视频对人脸识别系统的攻击,基于卷积神经网络可以提取图片深层次的特征这一优势,通过卷积神经网络学习一个端到端的人脸图像到人脸深度图像的映射,利用真实人脸计算出的深度图和攻击人脸默认的零深度图来监督网络的学习,检测速度快,适用范围广,手机端和电脑端都可以适用,基于深度学习的框架,直观的表达了真实人脸和攻击人脸的本质差别。

附图说明

图1为根据本发明实施例的人脸活体检测方法示意图;

图2为根据本发明实施例的人脸活体检测流程示意图;

图3为根据本发明实施例的人脸活体检测设备示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

活体检测是指人脸识别系统中区分照片与真人、视频与真人的一种方法,现如今市场上的人脸活体检测大多采用指令式的交互方式,诸如眨眼、摇头、张嘴等,来判断参与检测活动的是否为真人,存在速度慢、参与者难配合等问题。而静态的活体检测又存在准确率低,极易被攻破,难以在市场上应用的问题。

但是现有技术中基于交互式动作的方法存在检测速度慢、用户难配合,且交互性差的问题,另外,对于实现录制的视频攻击辨别度低;现有其他方案诸如:基于三维图像建模技术的活体检测方法,计算量大,需要3d摄像头,硬件要求高;采用红外摄像头的活体检测方法,成本高,需要红外探测设备,硬件要求高;静态活体检测方法,准确率低,易受攻击。

为了现有技术中的缺点,在本实施例中,如图1所示,提供了一种人脸活体检测方法,其特征在于,包括:

获取待识别人脸的人脸深度图;

基于所述人脸深度图判断待识别人脸是否为活体,若所述人脸深度图满足预设条件,则判断待识别人脸为活体。

在本实施例中,由于由于真实人脸是凹凸不平的,所以人脸各个部位距离图像采集设备的距离不同,所以人脸图像各个点的深度可以作为活体判断的重要依据:视频照片攻击人脸为一个平面,真实人脸为一个凹凸的曲面。

在本实施例中,利用照片或视频的二次拍摄图像与真人的图像的人脸深度预测的差异,结合深度学习的模型的预测结果,抵御照片以及视频对人脸识别系统的攻击。检测速度快,适用范围广,手机端和电脑端都可以适用,基于深度学习的框架,直观的表达了真实人脸和攻击人脸的本质差别。

在上述实施例的基础上,获取待识别人脸的人脸深度图前,还包括:

以活体人脸图像与攻击人脸图像作为输入人脸图像样本,将真实人脸计算出的活体人脸深度图和攻击人脸图像默认的零深度图作为监督,输入到卷积神经网络中进行训练,得到深度图像预测模型。

在本实施例中,基于真实人脸的结构是凹凸不平的,而视频照片攻击人脸是平面的,所以两种形式的人脸深度是不同的,而我们无法通过直观的肉眼判断出照片人脸的真伪,但是卷积神经网络可以提取图片深层次的特征,因此我们选择用卷积神经网络学习一个端到端的人脸图像到人脸深度图像的映射,得到一个深度图像预测模型,通过该模型,可以直接获取活体人脸、攻击照片人脸、攻击视频人脸的深度图像,进而根据各自的深度图像差别进行活体识别,可以解决现有静态活体识别方法、交互式动作方法中,不能同时识别攻击照片、攻击视频的问题,且本实施例中,只需要一个摄像头和处理硬件即可,硬件成本低。

在上述各实施例的基础上,将活体人脸图像与攻击人脸图像作为输入人脸图像样本后,还包括:

获取活体人脸图像对应的活体人脸深度图,基于密集人脸对齐方法将所述活体人脸图像匹配到3d人脸模型上,并通过z-buffer方法对所述3d人脸模型进行处理,得到活体人脸深度图。

在本实施例中,提出了一种针对大角度人脸图像的一种3d密集人脸对齐算法,将人脸图像匹配到一个最佳的3d人脸模型上,这些3d人脸模型中包含数以千计的特征点,从而实现了密集的人脸对齐。

通过训练cnn模型利用人脸图像来估计3d人脸shape,利用该shape来fitting相应的3d人脸模型,不仅能够检测到人脸特征点,还能匹配人脸轮廓和sift特征点;具体的,通过增加两个额外的约束:一、预测的3d人脸轮廓和2d图像中检测到的人脸轮廓相匹配;二、同一个人脸的不同图像中关键sift特征点对应于3d模型中同一个特征点。

具体的,利用矩阵s来表示人脸的3dshape,根据3dmm的表示方法,可以表示如式(1)中所示:

上式中,有三部分组成:shape均值,个体差异的shape基函数(199个),表情差异的shape基函数(29个),每一个基函数都是53,215维数的向量,p为基函数的权重。

得到三维s之后可以利用投影矩阵来得到相应的密集人脸shapea:

其中a是投影矩阵,包含六个自由度,可以模拟尺度,旋转和线性变换。得到a以后可以通过正交二维投影矩阵pr投影到2d平面,对人脸图像进行关键点检测,可以得到n个人脸的关键点u:

u=pr·a(4)

其中a是投影矩阵,包含六个自由度,可以模拟尺度,旋转和线性变换。得到a以后可以通过正交二维投影矩阵pr投影到2d平面,得到矩阵u。

在2维平面中,z坐标变换系数m12设为0,根据投影矩阵的性质可以得到:

因而一个任意2d人脸图像的密集特征点可以通过计算8维的参数m和228维的系数p来实现,进而将3d的密集人脸对齐模型转化为参数m和p的计算问题。仅需将人脸图像通过预训练好的模型中得到m1~m8和199+29个p参数即可。

由此得到了人脸3d模型s。接下来利用z-buffer算法来得到人脸深度图。再用该深度图作为真实人脸的深度图来监督卷积神经网络的学习。

在本实施例中,z-buffer算法主要目的,就是去除人脸3d模型中的隐藏面,也就是hiddensurfaceelimination(或是找出可见面,visiblesurfacedetemination,这是同样意思)。在3d绘图中,只要有两个以上的三角面,就可能会出现某个三角面会遮住另一个三角面的情形。这是很明显的现象,因为近的东西总是会遮住远的。

zbuffer(z缓存),z-buffering是在为物件进行着色时,执行“隐藏面消除”工作的一项技术,所以隐藏物件背后的部分就不会被显示出来。在3d环境中每个像素中会利用一组数据资料来定义像素在显示时的纵深度(即z轴坐标值)。zbuffer所用的位数越高,则代表该显示卡所提供的物件纵深感也越精确。目前的3d加速卡一般都可支持16位的zbuffer,新推出的一些高级的卡已经可支持到32位的zbuffer。对一个含有很多物体连接的较复杂3d模型而言,能拥有较多的位数来表现深度感是相当重要的事情。

在上述各实施例的基础上,输入到卷积神经网络中进行训练,具体包括:

以所述活体人脸图像为输入、对应的活体人脸深度图为输出,以所述攻击人脸图像为输入、零深度图为输出,进行卷积神经网络训练。

在本实施例中,选择用卷积神经网络学习一个端到端的人脸图像到人脸深度图像的映射,利用真实人脸计算出的深度图和攻击人脸默认的零深度图来监督网络的学习。检测速度快,适用范围广,手机端和电脑端都可以适用,基于深度学习的框架,直观的表达了真实人脸和攻击人脸的本质差别。

在上述各实施例的基础上,获取待识别人脸的人脸深度图具体包括:

获取待识别人脸的人脸图像,并检测人脸图像中人脸框的位置,基于人脸框的位置对所述人脸图像进行裁剪,将裁剪后的人脸图像输入到深度图像预测模型中,得到待识别人脸的人脸深度图。

在本实施例中,基于真实人脸的结构是凹凸不平的,而视频照片攻击人脸是平面的,所以两种形式的人脸深度是不同的,而我们无法通过直观的肉眼判断出照片人脸的真伪,通过卷积神经网络训练出来的深度图像预测模型可以提取图片深层次的特征,进而识别待检测人脸是否为活体,在本实施例方法检测速度快,适用范围广,手机端和电脑端都可以适用,基于深度学习的框架,直观的表达了真实人脸和攻击人脸的本质差别。

在上述各实施例的基础上,基于所述人脸深度图判断待识别人脸是否为活体,具体包括:

对所述人脸深度图进行二值化处理,并对二值化处理后的人脸深度图求解二范数,若所述二范数大于设定阈值,则判断待检测人脸为活体。

图像的二值化处理就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。

在本实施例中,为了得到理想的二值图像,采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。

深度图像提供了场景的三维结构信息,这些信息为行为识别提供了比颜色和纹理更有力的判别信息;同时深度图像不受光照变化的影响,在本实施例中,在参数过多时,会导致模型复杂度上升,容易过拟合,也就是训练误差会很小。但训练误差小并不是本实施例的最终目标,本实施例的目标是希望模型的测试误差小,也就是能准确的预测新的样本。

在本实施例中,通过二范数防止模型预测结果的过拟合,提升模型的泛化能力,为最终判断结果提供可靠的依据。

如图2所示,在上述各实施例的基础上,本实施例的检测流程为,首先获取一张照片,使用人脸检测检测人脸,得到人脸框的位置,下一步,根据之前检测的人脸框,对图片进行裁剪,将裁剪后的图片输入到卷积神经网络训练后的深度图预测模型中,得到预测的人脸深度图,然后对深度图进行二值化,再对二值化后的深度图求解2-范数,再对该范数设定一定的阈值作为是否活体分类的依据,大于该阈值,则判断为活体通过我们的活体检测系统。

在上述各实施例的基础上,基于所述人脸深度图判断待识别人脸是否为活体前,还包括:

获取若干活体人脸图像对应的活体人脸深度图,对人脸深度图求解二范数,并基于求解后的二范数范围设定预设条件,即设定阈值。

本实施例中还提供了一种人脸活体检测系统,采用上述各实施例的人脸活体检测方法,包括人脸图像获取模块、人脸深度图预测模块和判断模块;

所述人脸图像获取模块用于获取待识别人脸的人脸图像;

所述人脸深度图预测模块用于根据深度图像预测模型获取人脸深度图;

所述判断模块用于基于所述人脸深度图判断待识别人脸是否为活体,若所述人脸深度图满足预设条件,则判断待识别人脸为活体。

图3是示出本申请实施例的人脸活体检测设备的结构框图。

参照图3,所述人脸活体检测设备,包括:处理器(processor)810、存储器(memory)830、通信接口(communicationsinterface)820和总线840;

其中,

所述处理器810、存储器830、通信接口820通过所述总线840完成相互间的通信;

所述通信接口820用于该测试设备与显示装置的通信设备之间的信息传输;

所述处理器810用于调用所述存储器830中的程序指令,以执行上述各方法实施例所提供的人脸活体检测方法,例如包括:

获取待识别人脸的人脸深度图;

基于所述人脸深度图判断待识别人脸是否为活体,若所述人脸深度图满足预设条件,则判断待识别人脸为活体。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行如上述的人脸活体检测方法,例如包括:

获取待识别人脸的人脸深度图;

基于所述人脸深度图判断待识别人脸是否为活体,若所述人脸深度图满足预设条件,则判断待识别人脸为活体。

本实施例中还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述的人脸活体检测方法,例如包括:

获取待识别人脸的人脸深度图;

基于所述人脸深度图判断待识别人脸是否为活体,若所述人脸深度图满足预设条件,则判断待识别人脸为活体。

综上所述,本发明实施例提出一种人脸活体检测方法、系统和设备,利用照片或视频的二次拍摄图像与真人的图像的人脸深度预测的差异,结合深度学习的模型的预测结果,抵御照片以及视频对人脸识别系统的攻击,基于卷积神经网络可以提取图片深层次的特征这一优势,通过卷积神经网络学习一个端到端的人脸图像到人脸深度图像的映射,利用真实人脸计算出的深度图和攻击人脸默认的零深度图来监督网络的学习,检测速度快,适用范围广,手机端和电脑端都可以适用,基于深度学习的框架,直观的表达了真实人脸和攻击人脸的本质差别。

以上所描述的显示装置的测试设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1