一种基于卷积神经网络的活体人脸检测方法

文档序号:10594580阅读:1512来源:国知局
一种基于卷积神经网络的活体人脸检测方法
【专利摘要】一种基于卷积神经网络的活体人脸检测方法,涉及机器学习以及模式识别领域。本发明是面向人脸识别中的欺骗问题提出的。传统的人脸识别技术很容易被攻击,攻击者经常采用照片、视频以及3D模型等方法对合法用户的人脸进行复制。如果人脸识别系统不能有效地区分真实人脸和假冒人脸,入侵者就很容易以假冒身份通过识别系统。基于这个问题,本发明提出了一种针基于卷积神经网络的活体人脸检测方法。本发明所提出的方法中的卷积神经网络是基于cuda_convnet框架实现的,网络结构包括四个卷积层,两个max?pooling层,以及一个全连接层和一个soft?max层,soft?max层包括两个神经元,用来预测真假人脸的概率分布。
【专利说明】
一种基于卷积神经网络的活体人脸检测方法
技术领域
[0001]本发明涉及机器学习和模式识别领域,具体涉及一种基于卷积神经网络的活体人脸检测的研究和实现。
【背景技术】
[0002]人脸识别是生物特征技术的一项热门的研究领域,与其他生物特征技术相比,人脸识别技术具有非接触性、友好性等优势。人脸识别系统已经在越来越多的场合进行使用,例如移动终端解锁系统、电脑开机登录系统、门禁系统。另外,人脸识别还应用在刑事侦查,监控系统等领域。但是,在人脸识别技术迅速发展的背后,存在着巨大的安全隐患。人脸识别系统可以判别人脸的真实身份,但是却无法判别摄像头前的人脸图像是来自合法用户还是非法用户。因为,非法用户可以使用合法用户的照片,视频,或者3D模型来欺骗人脸识别系统。国际知名的信息安全会议Black Hat指出,目前大部分的人脸识别系统都可以被一张彩色的打印照片所攻击。所以人脸识别技术目前还存在严重的安全隐患。针对上述人脸识别技术遇到的这一挑战,人脸活体检测技术应运而生。并且人脸活体检测技术的研究已经成为生物认证领域的一个研究热点。人脸识别技术的主要攻击包括:照片,视频,以及3D模型。人脸假冒欺骗手段的多样化给人脸欺骗检测技术的研究带来了极大的挑战。
[0003]真实人脸与假冒人脸两者的主要区别主要来自一下三个方面:(I)图像纹理:假冒的人脸图像经过了二次采集甚至更多次采集。经过多次采集之后,图像的纹理信息会发生变化。(2)三维结构:真实人脸是三维结构,而照片人脸以及视频人脸都是二维结构。(3)运动模式:运动模式包括两方面,一方面是人脸自身的运动,这种运动模式多种多样,例如眨眼运动,嘴唇运动以及表情的变化等等。照片人脸很难模拟出这样的运动,而视频可以通过人机交互将其区分开。二是人脸与背景间的相对运动。人脸照片或者屏幕往往比人脸区域要大,这一区域与人脸具有相同的运动模式,真实人脸与背景的运动模式是不相同的。因此可以通过人脸以及背景的运动模式进行比较来区分真实人脸与假冒人脸。本发明主要以图像纹理的区别来判断真实人脸以及假冒人脸。

【发明内容】

[0004]本发明提供了一种基于卷积神经网络的活体人脸检测方法。该方法可以判断人脸图像是活体的还是非活体的,从而防止非法用户使用合法用户的照片、视频进行欺骗。传统的活体人脸检测算法都是基于手工特征提取的,一种有效的手工特征需要经过很多实验以及改进算法,也需要经过很长时间才能设计出来,而卷积神经网络不需要手工设计特征,只需要设计网络结构,训练参数即可。
[0005]该方法主要步骤包括:
[0006]A、对摄像头采集的视频进行分帧采样;
[0007]B、对样本图像进行预处理,包括两种处理方法:1.对样本图像进行人脸检测,所使用的检测方法是基于adaboost的人脸检测算法,检测到人脸之后将人脸区域裁剪出来,并将所有人脸图像归一化到X*X像素;2.不进行人脸检测,直接将整幅图像(包括人脸区域以及背景区域)归一化到X*X像素。
[0008]C、利用卷积神经网络对归一化后的图像进行特征提取;
[0009]进一步,所述步骤C具体包括:
[0010]Cl、设计卷积神经网络的网络结构。该网络结构包括一个输入层,4个卷积层一个全连接层以及一个sof t-max层。输入层的图像大小是X*X,包括RGB三个通道,所以输入为X*X*3。输入层的图像在进行卷积神经网络处理前需要进行预处理,将X*X像素的图像的四个角进行裁剪,并将图像再以中心为基准进行裁剪,裁剪后总共得到5幅大小为S*S像素(S〈X)的图像,然后将5幅图像进行水平翻转。这样一幅图像经过裁剪以及翻转后可得到10幅图像。第一个卷积层与第二个卷积层的是权值共享的,它们分别包括64个卷积核,每个卷积核的大小为5*5。在第一个卷积层与第二个卷积层后面分别连接了一个max-pool ing层,max-pooling 层的大小为 3*3。 一幅S*S 像素的图像经过第一个卷积层后可得到64 个 S*S 的图像块,即特征图。经过第一个max-pool ing层后,得到64个S1*S1像素(SI = S/2)的特征图,特征图的大小变为原来的一半,也就是说经过max-pooling层后进行了降维,特征向量的维数变为原来的一半。这样,经过第二个卷积层与第二个max-pooling层后,特征图的大小为S2*S2像素(S2 = Sl/2),又缩减为原来的一半。第三个卷积层与第四个卷积层没有权值共享,它们分别包括32个卷积核,每个卷积核的大小为3*3。全连接层由η个神经元组成,它与第四个卷积层是全连接状态,所以,经过全连接层后,就可得到一个η维的特征向量。最后一层是sof t-max层,包括两个神经元,这两个神经元就对应着一幅图像在真实人脸与及假冒人脸的二分类上的概率分布。
[0011]C2、网络结构设计完成之后,需要对网络进行训练,但是在训练网络之前需要把数据库中的图像转换成卷积网络可读的文件类型,而且需要把训练集分成m(m>l)个batch。
[0012]C3、使用前m-1个batch进行训练,第m个batch进行验证,学习率为10—2,迭代次数为1000-1500;
[0013]C4、m个batch—起进行训练,仍然使用第m个batch进行验证,学习率为10—3,再迭代1000-1500次;
[0014]C5、学习率降低为10—4,最后再迭代500-100次。
[0015]D、统计测试集中每幅人脸图像的概率分布,将一段视频中所有样本人脸图像的概率最大值所对应的类别作为该视频的分类结果。
[0016]进一步,所述步骤D具体包括:
[0017 ] Dl、对测试集的图像经过步骤A,B的处理后生成batch文件,并将batch文件作为卷积网络的输入,进行特征提取以及真假概率分布的计算。
[0018]D2、将测试集中每段视频的所有样本人脸图像的概率最大值所对应的类别作为该视频的分类结果。
【附图说明】
:
[0019]图1是基于卷积神经网络的活体人脸检测框架示意图。
[0020]图2是卷积神经网络的网络结构示意图。
[0021]图3是网络(人脸图像作为输入)第一层滤波器可视化示意图
[0022]图4是网络(整幅图像作为输入)第一层滤波器可视化示意图
[0023]图5是在Replay-attack数据库的实验结果示意图。
[0024]图6是在CASIA-FASD数据库的实验结果示意图。
【具体实施方式】
:
[0025]下面将结合附图及实施案例对本发明的技术方案进行更详细的说明。
[0026]本发明的整体框架如说明书附图1所示,分为人脸检测,特征提取以及分类三个部分。
[0027]A、对摄像头采集的视频进行分帧采样,视频总共有270帧,每隔10帧采一张样本图像;
[0028]B、对样本图像进行预处理,包括两种处理方法:1.对样本图像进行人脸检测,所使用的检测方法是基于adaboost的人脸检测算法,检测到人脸之后将人脸区域裁剪出来,并将所有人脸图像归一化到32*32像素;2.不进行人脸检测,直接将整幅图像(包括人脸区域以及背景区域)归一化到32*32像素。
[0029]C、利用卷积神经网络对归一化后的图像进行特征提取,卷积神经网络的网络结构如说明书附图2所示;
[°03°]进一步,所述步骤C具体包括:
[0031]Cl、设计卷积神经网络的网络结构。该网络结构包括一个输入层,4个卷积层一个全连接层以及一个sof t-max层。输入层的图像大小是32*32,包括RGB三个通道,所以输入为32*32*3。输入层的图像在进行卷积神经网络处理前需要进行预处理,将32*32的图像的四个角进行裁剪,并将图像再以中心为基准进行裁剪,总共得到5幅大小为24*24像素的图像,然后将5幅图像进行水平翻转。这样一幅图像经过裁剪以及翻转后可得到10幅图像。第一个卷积层与第二个卷积层的是权值共享的,它们分别包括64个卷积核,每个卷积核的大小为5*5。在第一个卷积层与第二个卷积层后面分别连接了一个max-pool ing层,max-pool ing层的大小为3*3。一幅24*24像素的图像经过第一个卷积层后可得到64个24*24的图像块,即特征图。经过第一个max-pool ing层后,得到64个12*12的特征图,特征图的大小变为原来的一半,也就是说经过max-pooling层后进行了降维,特征向量的维数变为原来的一半。这样,经过第二个卷积层与第二个max-pool ing层后,特征图的大小为6*6,又缩减为原来的一半。第三个卷积层与第四个卷积层没有权值共享,它们分别包括32个卷积核,每个卷积核的大小为3*3。全连接层由160个神经元组成,它与第四个卷积层是全连接状态,所以,经过全连接层后,就可得到一个160维的特征向量。最后一层是soft-max层,包括两个神经元,这两个神经元就对应着一幅图像在真实人脸与及假冒人脸的二分类上的概率分布。
[0032]C2、网络结构设计完成之后,需要对网络进行训练,但是在训练网络之前需要把数据库中的图像转换成卷积网络可读的文件类型,而且需要把训练集分成4个batch。
[0033]C3、使用前3个batch进行训练,第4个batch进行验证,学习率为10—3,迭代次数为1200;
[0034]C4、4个batch—起进行训练,仍然使用第4个batch进行验证,学习率为10—3,再迭代1300次;
[0035]C5、学习率降低为10—4,最后再迭代600次。训练结束后第一个卷积层的的64个卷积核的可视化特征图如附图3和图4所示。
[0036]D、统计测试集中每幅人脸图像的概率分布,将一段视频中所有样本人脸图像的概率最大值所对应的类别作为该视频的分类结果。
[0037]进一步,所述步骤D具体包括:
[0038]Dl、对测试集的图像经过步骤A, B的处理后生成一个batch文件,并将batch文件作为卷积网络的输入,进行特征提取以及真假概率分布的计算。
[0039]D2、将测试集中每段视频的所有样本人脸图像的概率最大值所对应的类别作为该视频的分类结果。在本实例中,我们分别使用CASIA-FASD数据库与Replay-attack进行测试,并将本方法与现有的种方法进行比较,分别是:(I)基于LBP的活体人脸检测算法,(2)基于DMD+LBP+SVM的活体人脸检测算法,(3)基于Non-Rigid Detect1n(NRD)的活体人脸检测算法,(4)基于Face-Background Consistency(FBC)的活体人脸检测算法,(5)基于Fus1nof FBC and NRD的活体人脸检测算法,(6)基于LBP+LDA活体人脸检测算法等等。实验结果对比图如说明书附图5和附图6所示。只用人脸区域进行实验的方法用LFDNetp来表示,用整幅图像进行实验的方法用LFDNetw来表示。比较的基准包括检测正确率以及HTER(Half-Total Error Rate),HTER是错误拒绝率与错误接受率之和的一半。这里的错误拒绝率是指将真实人脸错判为假冒人脸的概率,错误接受率是指将假冒人脸错判为真实人脸的概率。从检测率以及HTER的结果可以看出,我们的算法性能与其他算法相比有所提高,而且使用整幅图像的识别率高于只使用人脸区域的方法,这是因为背景区域也同样包含真假信息,可以作为判别依据。
【主权项】
1.一种基于卷积神经网络的活体人脸检测方法,其特征在于,包括以下步骤: A、对摄像头采集的视频进行分帧采样; B、对样本图像进行归一化; C、利用卷积神经网络对归一化后的图像进行特征提取; 步骤C具体包括: Cl、设计卷积神经网络的网络结构; 该网络结构包括一个输入层,4个卷积层一个全连接层以及一个soft-max层;输入层的图像大小是X*X,包括RGB三个通道,所以输入为X*X*3 ;输入层的图像在进行卷积神经网络处理前需要进行预处理,将X*X像素的图像的四个角进行裁剪,并将图像再以中心为基准进行裁剪,裁剪后总共得到5幅大小为S*S像素(S〈X)的图像,然后将5幅图像进行水平翻转;这样一幅图像经过裁剪以及翻转后得到10幅图像;第一个卷积层与第二个卷积层的是权值共享的,它们分别包括64个卷积核,每个卷积核的大小为5*5 ;在第一个卷积层与第二个卷积层后面分别连接了一个max-pooling层,max-pooling层的大小为3*3;—幅S*S像素的图像经过第一个卷积层后得到64个S*S的图像块,即特征图;经过第一个max-pooling层后,得到64个SI*SI像素的特征图,SI = S/2,特征图的大小变为原来的一半,也就是说经过max-pooling 层后进行了降维,特征向量的维数变为原来的一半; 这样,经过第二个卷积层与第二个max-pool ing层后,特征图的大小为S2*S2像素,S2 = S1/2又缩减为原来的一半;第三个卷积层与第四个卷积层没有权值共享,它们分别包括32个卷积核,每个卷积核的大小为3*3;全连接层由η个神经元组成,它与第四个卷积层是全连接状态,所以,经过全连接层后,就得到一个η维的特征向量;最后一层是soft-max层,包括两个神经元,这两个神经元就对应着一幅图像在真实人脸与及假冒人脸的二分类上的概率分布; C2、网络结构设计完成之后,把数据库中的图像转换成卷积网络可读的文件类型,而且需要把训练集分成m个batch,m>l ; C3、使用前m-1个batch进行训练,第m个batch进行验证,学习率为10—2,迭代次数为1000-1500; C4、m个batch—起进行训练,仍然使用第m个batch进行验证,学习率为10—3,再迭代1000-1500次; C5、学习率降低为10—4,最后再迭代500-100次; D、统计测试集中每幅人脸图像的概率分布,将一段视频中所有样本人脸图像的概率最大值所对应的类别作为该视频的分类结果。2.根据权利要求1所述的一种基于卷积神经网络的活体人脸检测方法,其特征在于,所述步骤D具体包括: Dl、对测试集的图像经过步骤A,B的处理后生成batch文件,并将batch文件作为卷积网络的输入,进行特征提取以及真假概率分布的计算; D2、将测试集中每段视频的所有样本人脸图像的概率最大值所对应的类别作为该视频的分类结果。
【文档编号】G06K9/00GK105956572SQ201610320416
【公开日】2016年9月21日
【申请日】2016年5月15日
【发明人】毋立芳, 许晓, 漆薇, 贺娇瑜, 徐姚文, 张洪嘉
【申请人】北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1