本发明涉及人脸识别技术领域,特别涉及一种基于深度信息的人脸活体检测方法。
背景技术:
二维人脸识别技术目前已经大量应用于考勤系统和门禁系统,金融领域也有逐渐引入人脸识别技术。但是二维人脸识别系统在实际的应用中存在一些问题,由于人脸容易获取,使得人脸容易被一些人用照片、视频等方式复制,而且人脸识别系统恰好不能很好的抵抗视频或者照片的攻击,也就是人脸识别系统活体检测或者防伪能力较薄弱。针对人脸识别系统的这个缺陷,一系列的人脸识别防伪方法或活体检测方法被提出,解决二维人脸识别系统不能抵抗照片或者视频攻击的缺陷。
现阶段人脸识别系统的防伪或活体检测方法可分为使用额外硬件和使用软件两大类。其中使用额外硬件的方法一般是外加可以探测到活体生物信息的硬件来判断识别对象是否为真实活人的人脸,比如说红外或近红外摄像头;而使用软件的方法则是基于数字图像处理,分析图像、视频或者视频帧的特征(比如眼部动作,嘴部动作)来区分识别对象是照片、视频还是真实人脸。
现有的使用软件的方法,数字图像处理分析的对象,不论是图像、视频还是视频帧,都是二维的数据,在运算过程中,数据的处理速度慢,效率低。而且,由于运算量较大,增加人脸活体识别需要额外配备硬件资源,不易与现有的移动终端集成。
技术实现要素:
本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于深度信息的人脸识别活体检测方法。
为了实现上述发明目的,本发明提供了以下技术方案:
一种基于深度信息的人脸活体检测方法,其特征在于,包括以下步骤:
步骤s1,获取目标的深度图像和rgb图像。
步骤s2,根据rgb图像中人脸特征点的检测结果,对获取的深度图像数据进行人脸尺寸归一化处理。
步骤s3,求取尺寸归一化后的深度图像像素的最大值和最小值,然后将图像中的所有像素点归一化处理,得到归一化后的深度图像。
步骤s4,用预先构建的pca模型对归一化处理后的深度图像进行降维,得到pca系数,计算公式如下:
其中,αi为pca系数,xi是s3所得的深度图像转化的列向量。
步骤s5,将pca系数输入预先训练的判别模型,得到判定为活体的得分。
步骤s6,将得分与阈值做比较,得出人脸活体检测结果。
上述步骤s4中,构建pca模型的步骤如下:
步骤s41,采集多个真实人脸的深度图像数据和rgb图像数据,形成深度图像数据集和rgb图像数据集;
步骤s42,针对获取的每一个人脸的深度图像数据,根据对应的rgb图像中人脸特征点的检测结果,进行尺寸归一化处理,得到尺寸归一化处理后的深度图像数据集;
步骤s43,求取尺寸归一化后每一个人脸深度图像数据像素的最大值和最小值,然后将图像中的所有像素点归一化处理,形成训练集;
步骤s44,计算训练集样本的均值,然后每个样本减去均值;
步骤s45,计算训练集中减均值后的样本的协方差矩阵;
步骤s46,求取协方差矩阵的特征值和特征向量;
步骤s47,选取特征向量,构建pca模型。
上述步骤5中,建立判别模型包括以下步骤:
步骤s51,另取多个真实人脸的深度图像数据构成训练集,求取该训练集中样本的均值,用pca模型处理该均值,得到pca系数
步骤s52,计算余弦相似性scos,将余弦相似性scos作为判别为活体的得分输出,余弦相似性scos计算公式为:
其中,αi是输入的待测深度图像数据的pca系数,
上述步骤s5中,判别模型的另一种方案为:拟合训练集所有样本pca系数αi,得到概率密度函数:
p是指pca系数的取值在某个确定的取值点附近的可能性,将p作为判别为活体的得分输出。
其中,概率密度函数
与现有技术相比,本发明的有益效果:
1、运用本方法对人脸深度图像数据通过pca模型处理,数据的维度明显下降,有效减少了计算量,提高了活体检测的效率。
2、运用本方法,可以将深度传感器和相机集成于市面上现有的移动终端设备,解决人脸识别活体检测的问题。
附图说明:
图1为本发明一种基于深度信息的人脸活体检测方法的检测流程图
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
实施例1
本发明设计的基于深度信息的人脸活体检测方法的实施步骤如下:
步骤s1,获取目标的深度图像和rgb图像。
步骤s2,根据rgb图像中人脸的特征点检测结果,对获取的深度图像数据进行人脸尺寸归一化处理。
对采集的包含人脸的rgb图像先进行人脸检测和人脸特征点检测,得到人脸区域位置以及5个面部特征点,特征点分别为左眼(x′le,y′le)、右眼(x′re,y′re)、鼻尖(x′n,y′n)、左嘴角(x′lm,y′lm)、右嘴角(x′rm,y′rm)。
根据面部5个特征点的位置,即左眼(xle,yle)、右眼(xre,yre)、鼻尖(xn,yn)、左嘴角(xlm,ylm)、右嘴角(xrm,xrm),用最小平方误差准则计算人脸尺寸归一化的相似变换参数(旋转参数r,平移参数t,缩放参数s)。即:
其中:
利用求得的相似变换参数,对深度图做尺寸归一化:
其中,d∈rh′×w′表示原始深度图;dn∈rh×w表示尺寸归一化后深度图。
步骤s3,求取尺寸归一化后的深度图像像素的最大值和最小值,然后将图像中的所有像素点归一化处理,得到归一化后的深度图像。
对于尺寸归一化的图像,求取图像中像素的最大值max和最小值min,然后将图像中的所有像素归一化到0到255,归一化公式为:
其中val为归一化后深度图的像素值。
将像素归一化后的深度图dn转化为一个列向量,即:
其中,dn(:,j)表示dn中的第j列,得到处理后的深度图像数据sx={xi}i=1,2…,n,xi∈rhw。
步骤s4,用预先构建的pca模型对归一化处理后的深度图像进行降维,得到pca系数。
pca系数计算公式为:
步骤s5,将pca系数输入预先训练的判别模型,得到判定为活体的得分。
步骤s6,将得分与阈值做比较,得出人脸活体检测结果。
阈值的确定与判别模型相关,若采用余弦相似性模型,则阈值为基于训练集计算出来的相似性scos;若采用概率密度函数,则阈值为基于训练集计算出来的概率密度函数值p,阈值也可以根据实际应用环境做适当的调整以满足具体需求。当得分大于预设阈值,判断为活体,否者,判断为非活体。
步骤s4中所述的pca模型计算步骤如下:
步骤s41,采集多个真实人脸的深度图像数据和rgb图像数据,形成深度图像数据集和rgb图像数据集。
步骤s42,针对获取的每一个人脸的深度图像数据,根据对应的rgb图像中人脸特征点的检测结果,进行尺寸归一化处理,得到尺寸归一化处理后的深度图像数据集。
步骤s43,求取尺寸归一化后每一个人脸深度图像数据像素的最大值和最小值,然后将图像中的所有像素点归一化处理,形成训练集。
步骤s44,计算训练集样本的均值,然后每个样本减去均值。
计算训练集样本的均值,计算公式为:
其中,μ是样本均值,xi是训练集的pca特征向量,
训练集数据sd={di}i=1,2…,n。
步骤s45,计算训练集中减均值后的样本的协方差矩阵。
计算协方差矩阵的公式为:
其中,st为训练集样本的协方差矩阵。
步骤s46,求取协方差矩阵的特征值和特征向量。
构建pca模型主成分矩阵,计算公式为:
其中,wopt为pca模型主成分矩阵。
步骤s47,选取特征向量,构建pca模型。
因为st是实对称矩阵,在实际计算的时候,可以用jacobi方法计算特征值以及特征向量,然后选取前m大的特征值对应的特征向量,m满足:
其中,λi为特征值。
步骤s5中,预先训练的判别模型,构建的步骤为:
步骤s51,另取多个真实人脸的深度图像数据构成训练集,求取该训练集中样本的均值,用pca模型处理该均值,得到pca系数
步骤s52,计算余弦相似性scos,将余弦相似性scos作为判别为活体的得分输出,余弦相似性scos计算公式为:
其中,αi是输入的待测深度图像数据的pca系数,
优选的,步骤s5中判别模型的另一种方案为:拟合所有pca系数αi,得到概率密度函数:
p是指pca系数的取值在某个确定的取值点附近的可能性,将p作为判别为活体的得分输出。
其中,概率密度函数