一种基于深度图像的人脸活体检测方法及设备与流程

文档序号:17539749发布日期:2019-04-29 14:26阅读:320来源:国知局
一种基于深度图像的人脸活体检测方法及设备与流程

本发明涉及一种基于深度图像的人脸活体检测方法及设备。



背景技术:

人脸活体检测技术是面向人工智能领域的一项前沿技术,该技术以新型的3d传感器为依托,以深度学习技术为开发框架,诣在对人脸识别领域中,真实人脸和虚假人脸进行有效判断,从而抵抗非法虚假人脸对人脸识别系统的攻击,为具有人脸识别的应用提供安全性更高的应用环境。

静态人脸活体检测是一种从深度图像中检测其包含的人脸区域是否为当前设备采集到的真实人脸的技术。如果检测结果为真则输出1,为假则输出0。实现人脸活体检测的前提是构建人脸活体检测器。一般来说,现有技术通过如下几种方式构建人脸检测器。

技术一:利用翻拍的人脸彩色图像的纹理信息分析翻拍图像质量。由于翻拍的图像会产生较多的噪声。如果是对着电子屏幕进行翻拍,由于屏幕的时间分辨率与相机频率的不同会产生莫列干涉,从而使得图像上产生条带噪声,根据不同噪声进行分析判断是否为真实人脸。该技术中,当前部分拍照设备分辨率较高、图像信噪比较高,从而对噪声判断技术带来不确定的因素。

技术二:利用虚假人脸区域与其背景的一致性来判别。虚假人脸往往是通过打印或在硬件媒体上以播放的形式进行静态或动态展示。然而虚假人脸区域的领域或边缘背景在纸张或媒体硬件设备的运动过程中,与虚假人脸不产生运动差异,保持一致性。基于该特点,在视频图像中可利用运动检测与判定虚假人脸与否。该技术中需要利用视频帧信息,增加了系统的运算复杂度,同时用户体验性较差。

技术三:人脸局部信息的非刚性运动。虚假静态人脸图像无论出于何种运动都为刚性运动,而真实人脸在视频中会产生面部细微的非刚性变化,从而根据此差异可以判定真实人脸与否。该技术中,需要采用高时间分辨率的采集设备,同时从刚性的变化真实人脸运动中(如头部转动)提取非刚性面部信息,为活体检测时效性的提升和算法复杂度的降低带来困难。

技术四:人脸三维重构。真实人脸的3d信息与虚假的电子设备描述的人脸3d信息有很强的区分度。利用相机的多角度拍摄以及相机内部参数,重构出人脸关键点深度信息,根据关键点的深度信息进行有监督的人脸判定。该技术需要对相机内部参数进行标定,而相机内部参数的标定的准确性、拍摄不同图像的相机之间的旋转位移关系以及图像的质量对重构的人脸深度值有极大的影响,因此该方法对活体检测的误检率较高。



技术实现要素:

本发明的目的在于提出一种基于深度图像的人脸活体检测方法,

为此,本发明所提出的基于深度图像的人脸活体检测方法,包括如下步骤:s1、接收包含人脸的深度图像;s2、检测所述深度图像中的人脸区域;s3、对所述人脸区域深度图像预处理实现图像增强并提取有效人脸深度图像;s4、将有效人脸深度图像输入至经训练的深度卷积神经网络,以检测所述人脸是真实人脸或虚假人脸。

在本发明的一些实施例中,所述方法还可以包括如下技术特征:

步骤s4中所述深度卷积神经网络包括输入层、卷积层、池化层、全连接层、softimax层和输出层,输入层对所述有效人脸深度图像进行格式、大小调整,卷积层和池化层分别进行卷积、池化操作,输出层为一个全连接网络,经过sofimax层预测后得到一个大小为1×2的向量输出,用于人脸活体二分类判别。

在步骤s1中,在接收深度图像的同时还接收彩色图像,并对深度图像与彩色图像进行配准,即找到二者之间坐标的对应关系以消除视差。在步骤s2中,通过检测出彩色图像中的人脸区域,根据对应关系定位出深度图像的人脸区域。

步骤s2中检测所述深度图像中的人脸区域,具体包括如下内容:s21、根据检测算法判断在一幅包含人脸的彩色图像上检测到几个人脸,如果人脸个数等于1,则标记该人脸区域的矩形框左上顶点的坐标以及矩形框的长和宽,相关表达式表示为(x,y,width,height);s22、如果人脸个数大于1,记为n,则根据检测出的人脸区域矩形框的长和宽的值计算人脸矩形区域的面积si,i∈(1,…,n);将所有n个人脸区域的面积进行降序排列,选取最大值并输出对应人脸区域彩色图像的相关表达式(x,y,width,height);s23、再根据检测到的人脸区域彩色图像的坐标位置(x,y),对该彩色图像以及对应深度图像上进行人脸区域截取并保存。

步骤s3中,对检测到的人脸区域深度图像进行深度预处理,以获取有效人脸深度图像,具体包含如下步骤:s31、对人脸区域深度图像中没有深度信息的噪声区域进行修复;

s32、对修复完成的人脸区域深度图像l进行第一次归一化;s33、对人脸区域深度图像进行深度连通域分割;s34、对深度图像进行有效人脸深度图像提取;s35、对有效人脸深度图像进行二次归一化。

步骤s31具体包括:针对每一幅人脸区域深度图像,根据均值估计法对人脸区域深度图像中没有深度信息的噪声区域进行修复:首先设定第一滑动窗口,对较大的深度缺失区域进行第一遍深度修复,其次设定第二滑动窗口,对较小深度缺失区域进行第二遍深度修复,输出图像l;其中第一滑动窗口的大小大于第二滑动窗口的大小。

所述输入层用于对接收到的有效人脸深度图像进行图像大小和格式转换,包括:将正负人脸深度图像进行三次复制,并保存为三通道的彩色图像png格式,根据tensorflow的slim框架对三通道正负人脸深度图像进行tfrecord格式转换,并将图像大小归一化成指定大小。

所述深度卷积神经网络的训练步骤包括:步骤601、接收多幅人脸彩色图像和深度图像,检测人脸区域深度图像并保存到存储器;步骤602、对人脸区域深度图像分别进行深度预处理实现图像增强,并提取有效人脸深度图像;步骤603、将有效人脸深度图像输入至深度卷积神经网络进行训练,得到一个大小为1×2的向量输出,用于人脸活体二分类判别。

步骤601中,通过深度相机同时采集多幅经配准的包含人脸的彩色图像和深度图像,再通过人脸检测方案检测到多幅人脸区域深度图像并保存到存储器制作成人脸活体检测数据库。

所述人脸活体检测数据库包括人脸正样本数据库和人脸负样本数据库;其中,人脸正样本数据库包含采集人脸姿态在俯仰、航偏、翻滚角在(-30°,30°)范围内的包含人脸的深度图像;人脸负样本数据库通过模拟数据生成和虚假人脸拍摄两种手段完成。

本发明还提出一种基于深度图像的人脸活体检测设备,包括相机、处理器和存储器,所述相机用于采集包括深度图像在内的图像,所述存储器用于存储数据,包括存储所述相机采集的图像、所述处理器执行时所需的指令程序;处理器与所述存储器、相机连接,用于控制所述相机以及执行存储器内部保存的指令程序,所述指令程序用于执行上述的人脸活体检测方法。

本发明还提出一种计算机存储介质,其特征在于,其存储有计算机程序,所述计算机程序可用于执行以实现上述的人脸活体检测方法。

本发明的有益效果是:

本发明设计的深度卷积神经网络结构简单,采用单深度图作为网络输入,解决了传统的大中型卷积神经网络层次过深,易对小规模数据量的活体检测数据样本产生过拟合的问题,同时能够对非传统彩色图像进行端到端的二分类有效训练。

本发明采用对包含人脸的深度图像进行检测,并经图像处理得到有效人脸深度图像,利用经训练的深度卷积神经网络来以检测人脸是真实人脸或虚假人脸,深度相机可以较好地恢复出人脸三维信息,以此恢复三维信息来检测是比通过彩色相机检测更精确的,解决了传统的单目彩色相机无法较好恢复出人脸三维信息的问题,从而对识别率有较大的提升。从检测结果也得到了证实,识别率显而易见是提升了的。

附图说明

图1是根据本发明一个实施例的人脸活体检测设备的结构示意图。

图2是根据本发明一个实施例的人脸活体检测步骤示意图。

图3是根据本发明又一个实施例的人脸活体检测步骤示意图。

图4是依据配准的深度图像和彩色图像进行人脸区域深度图像检测的过程示意图。

图5是根据本发明一个实施例的深度卷积神经网络示意图。

图6是根据本发明一个实施例的深度卷积神经网络的训练步骤示意图。

具体实施方式

下面结合附图通过具体实施例对本发明进行详细的介绍,以便更好的理解本发明,但下述实施例并不限制本发明范围。另外,需要说明的是,下述实施例中所提供的图示仅以示意方式说明本发明的基本构思,附图中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的形状、数量及比例可为一种随意的改变,且其组件布局形态也可能更为复杂。

在介绍本发明实施例之前,我们先来看下现有技术出现各种问题的原因。

在背景技术中,我们介绍的上述四种人脸活体检测技术主要基于单帧彩色图像或者视频图像,技术一基于单帧彩色图像的技术,主要通过对图像的纹理进行特征挖掘对图像的噪声进行分析达到判定真实或虚假人脸的目的。技术二、三基于视频的图像,主要利用视频帧之间的连续性判断人体表情或者脸部姿态的细微变化,从而判定真实人脸与否。技术四是通过各个不同角度的相机拍摄,利用立体视觉技术重构出三维人脸关键点的深度信息分布,并结合有监督学习的方法判别真实人脸与否。

这些现有技术之所以存在各种问题,我们分析,其主要设计盲点和误区在于:所设计的活体检测方案过于依赖图像的彩色纹理信息,而忽略了真实人脸的三维信息,从而造成设计的模型复杂度过高,并且模型的泛化性能较弱。同时,现有技术主要依赖于传统的单目彩色相机,无法较好的恢复出人脸的三维信息,从而对识别率有较大的影响。本申请的下述实施例则避免了这些问题。

实施例一

图1是根据本发明一个实施例的人脸活体检测设备的结构示意图,设备10包括集成在同一设备中的相机101、处理器102和存储器103。相机101用于采集图像,比如深度图像、彩色图像、红外图像等;存储器103用于存储数据,比如存储相机101采集的图像、处理器102执行时所需的指令程序等;处理器102与存储器103、相机101连接,用于控制相机101以及执行存储器103内部保存的指令程序。设备10可以是手机、计算机、平板电脑、电视、游戏机等计算设备。

在利用设备10进行人脸活体检测时,由相机101采集包含人脸的深度图像,采集到的深度图像可以保存到存储器103中,也可以直接被处理器102接收,随后处理器102将调用保存在存储器103中的人脸活体检测程序,并执行相关的人脸活体检测指令。图2是根据本发明一个实施例的人脸活体检测步骤示意图,处理器将执行如图2所示的指令步骤,步骤201中接收到深度图像,其次在步骤202中检测深度图像中的人脸区域,然后在步骤203中对人脸区域的深度图像进行预处理以实现图像增强,同时提取有效人脸深度图像,最后在步骤204中将有效人脸深度图像输入至经训练的深度卷积神经网络,以检测所述人脸是真实人脸或虚假人脸。

可以理解的是,存储器103内部的指令存储105模块内部已包含了识别深度图像以及深度图像预处理的执行程序,还包含了经训练的深度卷积神经网络。

实施例二

图3所示的是根据本发明又一个实施例的人脸活体检测步骤示意图。在本实施例中,相机101在采集深度图像的同时采集彩色图像,深度图像与彩色图像被传输到处理器102中以执行人脸活体检测。在步骤301中,处理器接收深度图像与彩色图像,并对深度图像与彩色图像进行配准,即找到二者之间坐标的对应关系以消除视差;在步骤302中,通过检测出彩色图像中的人脸区域,根据对应关系定位出深度图像的人脸区域;在步骤303中,对人脸区域的深度图像进行预处理以实现图像增强,同时提取有效人脸深度图像,最后在步骤304中将有效人脸深度图像输入至经训练的深度卷积神经网络,以检测所述人脸是真实人脸或虚假人脸。

图4所示是依据配准的深度图像和彩色图像进行人脸区域深度图像检测的过程示意图。图中40包含了用深度相机101采集的包含人脸403的彩色图像401、包含人脸404的深度图像402、人脸区域彩色图像405和人脸区域深度图像406。需要说明的是,深度相机101采集的包含人脸的彩色图像401和包含人脸的深度图像402为多幅且一一配准,此外,在一幅包含人脸的彩色图像401上可能包含多个人脸403,在相应的人脸深度图像402中将有一一对应的人脸404。

在一个具体的实施例中是通过adaboost人脸检测算法检测人脸区域深度图像,具体实施步骤包括如下内容:

(1)根据检测算法判断在一幅包含人脸的彩色图像401上检测到几个人脸,如果人脸个数等于1,则标记该人脸区域的矩形框左上顶点的坐标以及矩形框的长和宽,相关表达式表示为(x,y,width,height);

(2)如果人脸个数大于1,记为n,则根据检测出的人脸区域矩形框的长和宽的值计算人脸矩形区域的面积si,i∈(1,…,n)。将所有n个人脸区域的面积进行降序排列,选取最大值并输出对应人脸区域彩色图像405的相关表达式(x,y,width,height);

(3)再根据检测到的人脸区域彩色图像305的坐标位置(x,y),对该彩色图像以及对应深度图像上进行人脸区域截取,并将截取的人脸区域的彩色图像405和深度图像406分别保存至存储器103中。

在上述人脸活体检测过程中,处理器102根据存储器103内部保存的执行指令,对检测到的人脸区域深度图像进行深度预处理,以获取有效人脸深度图像,在一个实施例中,预处理包含如下步骤:

(1)对人脸区域深度图像406中没有深度信息的噪声区域进行修复;

根据本发明的一个实施例,具体实施方式为,针对每一幅人脸区域深度图像406,根据均值估计法对人脸区域深度图像406中没有深度信息的噪声区域进行修复。首先设定滑动窗口的大小为5*5,对较大的深度缺失区域进行第一遍深度修复,其次设定滑动窗口大小为3*3,对较小深度缺失区域进行第二遍深度修复,输出图像l。

(2)对修复完成的人脸区域深度图像l进行第一次归一化;根据本发明的一个实施例,具体实施过程包含如下内容;

(a)设定背景移除阈值为t=3000;根据阈值t将人脸区域深度图像中深度值大于t的像素值设为零,此时图像记为i,对应深度值记为vz;

(b)根据背景深度置0后的人脸区域深度图像i计算前景区域(非0像素值)的最大深度值,记为vforground_max;

(c)将背景深度值为0的像素置为inf;并计算当前状态下人脸区域深度图像中像素值中的最小深度值,记为vforground_min;

(d)对当前人脸区域深度图像中的像素值进行归一化操作,归一化后图像记为j,对应深度值记为vnorm_face,公式如下:

vnorm_face=(vz-vforground_min)./(vforground_max-vforground_min)

(e)在人脸区域深度图像j中,查找深度值为之前置为inf的背景像素,将其置为1;此时,所述人脸区域深度图像的前景区域的像素值在(0~1)区间内,第一次归一化结束。

(3)对人脸区域深度图像进行深度连通域分割,根据本发明一个具体实施例,具体实施步骤包含如下内容;

(a)设置深度连续性参数tdepth为0.6,初始化标签i=0;

(b)将连通域表、连通域均值表均初始化,连通域表记为l,l具有一个与人脸区域深度图像j同等长和宽的全零矩阵,该表对应图像j中所有像素的类别标签;连通域均值表记为m;初始化为全零矩阵,大小与l矩阵相同;

(c)以从左到右、从上到下的顺序,查找第一个类别标签为0的像素,并将该像素设置为后续扫描的初始像素,记为pi,将其类别标签更新为i=i+1,并同时将连通域表l中对应像素pi坐标的值更新为i,随后将连通域均值表m中对应pi位置的值更新为pi深度值,记为vi;

(d)以当前pi为扫描初始点,再次以从左到右、从上到下的顺序,根据8邻域准则计算像素pi与其周围8邻域中每个像素pn深度值的绝对值平方差,记为e(i,n);如果像素pn与当前像素pi的e(i,n)小于深度连续性参数tdepth,则将连通域表l中对应像素pn坐标的值更新为i;

(e)查找l中值为i的元素的坐标,记为l(i);计算图像中坐标为l(i)所对应深度值的均值,记为m(i);

(f)更新连通域均值表m中坐标为l(i)的像素值m(i);

(g)根据(d)的计算规则,遍历整幅图像j,同时不断更新l,m;

(i)重复迭代(c)到(g)过程,直到连通域表l中所有的元素值不为零时,停止迭代,深度连通域分割结束并输出图像n;

(4)对深度图像n进行有效人脸深度图像提取,根据本发明一个实施例,具体实施过程包含如下内容;

(a)对深度图像n中所有平均深度值由小到大进行排列,并去除重复数值;

(b)计算(a)中每个深度值对应的像素个数;

(c)查找存在某个平均深度值最多的像素对应的坐标,并将此类像素坐标对应的深度值置为1,非此类像素坐标对应的深度值置为0,此时将深度图像记为nbinary;

(d)计算有效人脸深度图像为:nextract=nbinary∩inorm_face,对应深度值记为vextract。

(5)对有效人脸深度图像进行二次归一化,根据本发明一个实施例,具体实施步骤包含如下内容:

(a)找出有效人脸深度图像nextract中的最大深度值,记为vextract_max,同时将有效人脸深度图像中深度值为0的像素值置为inf;

(b)计算置inf后有效人脸深度深度图像nextract的最小深度值,记为vextract_min;

(c)对有效人脸深度图像进行二次归一化,输出图像nnorm_face,对应图像深度值记为v′normface计算公式如下:

v′norm_face=(vextract-vextract_min)./(vextract_max-vextract_min)

(d)查找此前深度值为inf的像素置为1,并输出有效人脸深度图像保存至存储器103中,此时,深度图像预处理结束。

在上述人脸活体检测过程中,处理器102根据存储器103内部的执行指令,将提取的有效人脸深度图像输入至经训练的深度卷积神经网络,以检测所述人脸是真实人脸或虚假人脸。

图5为根据本发明一个实施例的深度卷积神经网络示意图。该网络结构50由输入层501、卷积层502、池化层503、全连接层504、softmax层505和输出层506组成。其中,输入层501用于对接收到的有效人脸深度图像进行图像大小和格式转换,并输入至卷积层502,卷积层502包含cov1、cov2、cov3共三个卷积层对有效人脸深度信息进行卷积操作,池化层503包括pooll、pool2、pool3、pool4共四个池化层对有效人脸深度信息进行池化操作,第二层卷积神经网络(cov2)分别进行了两种不同大小(2×2)以及(4×4)的池化操作;有效人脸深度图像经过卷积层和池化层的运算操作后输入至全连接层504,全连接层504为一个长度为1×120的全连接网络,再经过softmax层505预测后得到一个大小为1×2的向量输出,用于人脸活体二分类判别。

在一个实施例中,输入层501用于对接收到的有效人脸深度图像进行图像大小和格式转换,包括:将正负人脸深度图像进行三次复制,并保存为三通道的彩色图像png格式,根据tensorflow的slim框架对三通道正负人脸深度图像进行tfrecord格式转换,并将图像大小归一化成55*47大小。

图6为根据本发明一个实施例的深度卷积神经网络的训练步骤示意图。步骤601为接收多幅人脸彩色图像和深度图像,检测人脸区域深度图像并保存到存储器103;再通过步骤602对人脸区域深度图像分别进行深度预处理实现图像增强,并提取有效人脸深度图像;最后通过步骤603将有效人脸深度图像输入至深度卷积神经网络进行训练,得到一个大小为1×2的向量输出,用于人脸活体二分类判别。

步骤601为接收多幅人脸彩色图像和深度图像,检测人脸区域深度图像并保存到存储器103中制作人脸活体检测数据库;在本发明一个实施例中,可通过上文中提到的人脸区域深度图像检测方案,即,通过深度相机同时采集多幅经配准的包含人脸的彩色图像和深度图像,再通过人脸检测方案检测到多幅人脸区域深度图像并保存到存储器103制作成人脸活体检测数据库。

在一个实施例中,人脸正样本数据库主要包含采集人脸姿态在俯仰、航偏、翻滚角在(-30°,30°)范围内的包含人脸的深度图像;人脸负样本数据库主要通过模拟数据生成和虚假人脸拍摄两种手段完成。

处理器102根据存储器103内部的指令程序执行步骤602,对人脸区域深度图像分别进行深度预处理实现图像增强,并提取有效人脸深度图像,在一个具体实施例中,可通过如上文提到的深度预处理技术对多幅人脸区域深度图像进行深度预处理,并将提取到的多幅有效人脸深度图像保存到存储器103中。

在一个实施例中,根据深度卷积神经网络的训练步骤进行了实时的训练并通过输入测试数据已得到良好的结果,具体参数值为:训练数据共9000幅,其中,预处理后的人脸正样本共4624幅,为深度相机采集并通过深度处理后得到的有效人脸深度图像;人脸负样本共4576幅,包括人工合成图像(平面、曲面拟合加噪声)与采集的虚假人脸图像(打印人脸、电子设备播放),同样为通过深度处理后的有效人脸深度图像;训练次数达40000次时,深度卷积神经网络完成训练。测试数据共4885幅,其中,正样本3139+25=3164幅,负样本1708+13=1721幅;将测试数据信息汇总如下表格中所示。

由表中数据可以看到,当训练次数达到40000次时,输入的4885幅包含人脸的图像,判定是否为真实人脸的准确率达到99.58%(即表中的0.9958),该方案的可行性已得到了良好的验证。

综上,本发明通过设计一种基于深度相机的人脸活体检测方法,由于解决了传统的单目彩色相机无法较好恢复出人脸三维信息的问题,从而对识别率有较大的提升。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

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