首页> 中国专利> 基于树形神经网络结构的人脸活体检测方法

基于树形神经网络结构的人脸活体检测方法

摘要

一种基于树形神经网络结构的人脸活体检测方法,收集训练样本并标注后用于对基于树形神经网络结构的人脸活体检测模型进行训练,再将预处理后的待测图片输入训练后的人脸活体检测模型,实现活体检测。本发明在面对待检测图片多样的光线条件变化、摄像头条件变化以及多种非活体类型的攻击时,保证活体检测的检测准确性,显著提高人脸活体检测的可用性、可靠性和泛用性以及进行非活体攻击类型的判断。

著录项

  • 公开/公告号CN112464864A

    专利类型发明专利

  • 公开/公告日2021-03-09

    原文格式PDF

  • 申请/专利权人 上海交通大学;

    申请/专利号CN202011439243.7

  • 发明设计人 沈耀;薛迪;

    申请日2020-12-08

  • 分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);G06N20/10(20190101);G06T3/40(20060101);

  • 代理机构31201 上海交达专利事务所;

  • 代理人王毓理;王锡麟

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2023-06-19 10:08:35

说明书

技术领域

本发明涉及的是一种图像检测领域的技术,具体是一种基于树形神经网络结构的人脸活体检测方法。

背景技术

由于现有的人脸识别技术极易通过照片、视频,甚至仿真模具等方式进行复制,恶意者试图在识别过程中进行伪装,以图通过验证,达到非法入侵的目的。人脸活体检测由此而生,其主要采用的技术手段有:①图片活体检测:基于图片中人像的破绽(摩尔纹、成像畸形等)来判断目标对象是否为活体,可有效防止屏幕二次翻拍等作弊攻击,可使用单张或多张判断逻辑;②视频流活体检测:利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“运动”,从图像序列中得到各个像素点的运行信息,采用高斯差分滤波器、LBP特征和支持向量机进行数据统计分析。同时,光流场对物体运动比较敏感,利用光流场可以统一检测眼球移动和眨眼。这种活体检测方式可以在用户无配合的情况下实现盲测;红外双目摄像头活体检测,利用近红外成像原理,实现夜间或无自然光条件下的活体判断。其成像特点(如屏幕无法成像,不同材质反射率不同等)可以实现高鲁棒性的活体判断;3D摄像头活体检测,基于3D结构光成像原理,通过人脸表面反射光线构建深度图像,判断目标对象是否为活体,可强效防御图片、视频、屏幕、模具等攻击。缺点是需要额外设备且成本较高;动作配合活体检测,给出指定动作要求,用户需配合完成,通过实时检测用户眼睛,嘴巴,头部姿态的状态,来判断是否是活体,是现在被广泛使用的技术。

但现有的人脸活体检测技术均存在以下缺陷:使用额外设备以及不要求动作配合的静默检测的检测准确率较低;不能应对对特定检测方式的攻击;在各种不同的光线条件下的检测准确率不稳定;不能应对未知攻击的应对即方法的泛化性低。

发明内容

本发明针对现有技术存在的上述不足,提出一种基于树形神经网络结构的人脸活体检测方法,在面对待检测图片多样的光线条件变化、摄像头条件变化以及多种非活体类型的攻击时,保证活体检测的检测准确性,显著提高人脸活体检测的可用性、可靠性和泛用性以及进行非活体攻击类型的判断。

本发明是通过以下技术方案实现的:

本发明涉及一种基于树形神经网络结构的人脸活体检测方法,收集训练样本并标注后用于对基于树形神经网络结构的人脸活体检测模型进行训练,再将预处理后的待测图片输入训练后的人脸活体检测模型,实现活体检测。

所述的收集训练样本并标注是指:使用公开数据集,该数据集包括:在室内光环境下采集拍摄用于训练的活体样本视频及纸张打印和屏幕攻击的非活体样本视频,除此以外,还包括:从视频网站收集的用于训练的包含化妆、面具等攻击类型的非活体样本视频,并为非活体样本视频中每一帧通过MTCNN人脸检测算法进行人脸检测并制作作为训练监督数据的掩膜。

所述的用于训练的活体样本视频,为在自然光及室内下拍摄的活体样本视频。

所述的非活体样本视频为作为打印攻击的拍摄打印的人脸照片及作为屏幕攻击的屏幕展示人脸照片。

所述的非活体样本视频进一步包括:从视频网站收集的包括:部分面具、硅脂面具、纸张面具、假人模特、化妆模仿、纸张打印眼部眼镜等多种类型的非活体样本视频,增加非活体样本的类型数量,提升训练数据的丰富程度以提高模型的效果。并从训练样本视频中随机抽取10帧即共1626*10张图像作为训练数据,标注活体样本标签为0,非活体样本标签为1,从而以达到数据增强的效果。

所述的人脸检测是指:真实人脸部分为0,假体部分为1,具体为:真实人脸的掩膜即为人脸的区域为0,打印照片的掩膜为人脸的区域为1,眼部面具的掩膜即为眼部区域为1,脸部其他区域为0。

所述的训练是指:将活体和非活体样本视频打乱并随机抽取视频帧及其掩膜输入到树形神经网络进行训练,得到训练后的基于树形神经网络结构的人脸活体检测模型。

所述的基于树形神经网络结构的人脸活体检测模型为4层树形结构的神经网络,具体包括:7个特征提取模块、8个有监督训练模块和7个用于攻击样本的无监督聚类的路由模块,其中:树型神经网络上的非叶子节点均为先通过一个特征提取模块后连接一个路由模块,叶子结点均为一个有监督训练模块。

所述的网络输入批量大小(batch size)优选设置为32。

所述的特征提取模块包括:三个具有残差结构的卷积层和一个最大池化层,其中:卷积层的卷积核大小均为3*3大小,具使用ReLU作为激活函数并加入BN层分别在第一层、第二层、第三层得到128*128*40、64*64*40、32*32*40大小的特征图。

所述的无监督聚类是指:将输入的向量x通过路由函数

所使用的无监督聚类的路由模块的训练所采用的损失函数为

所述的路由模块将输入的特征图使用1*1的卷积对特征图进行降维并缩放至16*16*20大小,并将其reshape为一个16*16*20长度的向量,后将向量输入路由函数进行计算并得出路由的目标。

所述的有监督训练模块以32*32*40的特征图为输入,首先一个分支经过1*1的卷积层生成32*32*1的非活体掩膜图;另一分支经过两个卷积层,卷积核大小均为3*3,通道数均为40,后通过两层全连接层,维度分别为500和2,得到最后的是否为活体的结果,活体为0,非活体为1。

所述的预处理是指:对输入待检测图片进行人脸检测获取人脸位置后,根据获得的人脸位置对待检测图片进行裁切和缩放,具体为:使用MTCNN方法检测输入图片中的人脸位置坐标,当图片中包含多张人脸,则只选择最大的人脸做处理,当图片中不含人脸,则退出检测系统并返回无人脸异常;根据获得的人脸位置对待检测图片进行图片预处理,根据人脸检测得到的人脸位置坐标对图片进行裁切,裁切出人脸部分图片,缩放至固定大小256*256。

所述的活体检测是指:将待测图片预处理后输入训练后的人脸活体检测模型,得到包括:是否为活体的0/1数值以及图片中非活体部分的大小为32*32*1的掩膜作为检测结果,再针对检测结果进行活体判断以及根据掩膜进行非活体攻击类型判断,得到最终活体检测结果。

本发明涉及一种实现上述方法的系统,包括:数据预处理单元以及人脸活体检测单元,数据预处理单元接收待检测图片并进行预处理,将其处理为固定大小的只包含人脸部分的图片输入人脸活体检测单元;人脸活体检测单元与数据预处理单元相连,接收数据预处理后的图片数据进行图片中人脸的活体检测,产生图片中人脸为非活体的概率,以及图片中非活体部分的掩膜。

技术效果

与现有技术相比,本发明无需人的动作配合,增加了非活体部分掩膜作为监督信号,实现对非活体攻击的聚类,增强了在特征提取时提取到的特征语义的准确性,使模型效果摆脱对光线等条件的要求,进一步提高模型结果的可靠性;本发明可以进一步通过增加树形神经网络的层数或节点数量等进行网络结构的改动,可实现更细致的非活体攻击类型的聚类,提高对未知攻击类型的抵御能力。

附图说明

图1为本发明的训练流程示意图;

图2为本发明的检测流程示意图;

图3为本发明的树形神经网络结构示意图;

图4为本发明的树形神经网络的模块结构示意图;

图中:a)为特征提取模块结构图,b)为路由模块结构图,c)为叶子有监督训练模块结构图;

图5为实施例测试样本数据中部分图像及其非活体掩膜的示意图。

具体实施方式

如图1所示,为本实施例涉及一种基于树形神经网络结构的人脸活体检测方法,包括:以下步骤:

步骤S101、采集训练样本视频:使用公开数据集,在室内光环境下采集拍摄用于训练的活体样本视频及纸张打印和屏幕攻击的非活体样本视频,从视频网站收集用于训练的非活体样本视频,如图5所示,包括:部分面具、硅脂面具、纸张面具、假人模特、化妆模仿、纸张打印眼部眼镜,数据集共1626个视频。

步骤S102、将视频文件逐帧进行人脸检测,并根据人脸位置裁切图像并缩放,具体包括:

①对视频的每一帧图像,采用包括:但不限于MTCNN等方法进行人脸检测,得到人脸位置框的左上角和右下角的坐标(x

②根据人脸框坐标(x

步骤S103、根据视频帧图像人脸位置和非活体攻击类型标注是否为活体并制作非活体部分掩膜,其中:样本的标注方法为:标注活体样本标签为0,非活体样本标签为1;并为样本视频中每一帧进行人脸检测并制作掩膜,真实人脸部分为0假体部分为1,例如,真实人脸的掩膜即为人脸的区域为0,打印照片的掩膜为人脸的区域为1,眼部面具的掩膜即为眼部区域为1,脸部其他区域为0。

步骤S104、训练如图4所示的树形神经网络模型,该树形神经网络结构具有4层结构,由7个特征提取模块,8个用于活体检测结果的输出及非活体掩膜的输出的叶子有监督训练模块和7个路由模块。

如图4a)所示,树形神经网络模型中的特征提取模块由三个具有残差结构的卷积层和一个最大池化层构成,卷积层的卷积核大小均为3*3大小,具使用ReLU作为激活函数并加入BN层分别在第一层、第二层、第三层得到128*128*40、64*64*40、32*32*40大小的特征图。用于对图像的分层特征提取;

所述的路由模块,用于计算特征在网络中的前进方向。如图4b)所示,特征图进入路由模块,首先经过1*1大小卷积核的卷积层进行降维,将通道数40通过降维到通道数20,后经过双线性插值进行特征图的缩放,将特征图尺寸缩放至固定大小16*16,后将16*16*20大小的特征图重塑为一个向量,向量长度为16*16*20,后将向量输入路由函数

所述的路由模块的路由函数

所述的叶子有监督训练模块的输入为32*32*40的特征图,如图4c)所示,该模块包括:两个分支,具体为:一分支特征图经过一个卷积核大小为1*1的卷积层直接降维得到32*32*1的掩膜;另一分支特征图先后经过两个卷积核大小为3*3,通道数为40的卷积层,后连接两个全连接层,维度分别为500和2,后经softmax层得出结果为非活体的概率,活体为0,非活体为1。

所述的叶子有监督训练模块的非活体掩膜,通过损失函数

所述的叶子有监督训练模块的活体检测结果,即0/1二分类分支中,二分类损失函数使用改进后的focalloss损失函数,具体为:

所述的树形神经网络模型的训练使用的总体损失

步骤S105、如图2所示,对待测图片进行人脸检测:采用MTCNN等方法进行人脸检测,得到人脸位置框的左上角和右下角的坐标(x

步骤S106、待测图片预处理:根据步骤S201得到的人脸框坐标(x

步骤S107、将步骤S202中经过预处理的图片输入已训练好的树形神经网络模型中,得到推断出的非活体概率判断是否为活体及非活体部分掩膜结果。

步骤S108、根据是否为活体0/1结果判断图片中的人脸是否为活体,若为活体,则人脸活体检测成功,若为非活体,则返回非活体结果并根据掩膜结果推断非活体攻击类型。

在实际实验环境下设置批处理大小为32、学习率为0.001,学习率动量为0.999,以二分类损失函数中α=0.25,γ=2、总损失函数中α

与现有具有代表性的基于传统方法的人脸活体检测算法SVM+LBP的APCER=32.8±29.8,BPCER=21.0±2.9,以及具有代表性的基于深度学习的人脸活体检测算法Auxiliary的APCER=38.3±37.4,BPCER=8.9±2.0相比,本方法的APCER=3.62%,BPCER=12.56%,非活体误检率均低于现有技术,检测结果综合准确率高。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号