基于多任务自编码器的交互式人脸活体检测方法和装置的制造方法
【专利摘要】本发明公开了一种基于多任务自编码器的人脸活体检测方法和装置。方法包括:通过摄像头进行人脸检测并且跟踪,获得人脸图像;提示用户做指定动作;根据所获得的人脸图像,通过多任务自编码器进行人脸关键点检测以及面部器官状态的判定;多任务自编码器进行人脸位置跟踪,并通过一段时间的视频判断用户是否做指定的动作,同时获取用户图片;重复步骤S2?S4,经过预定时间后,根据用户完成指定动作情况判断活体检测是否成功。本发明通过多任务自编码器,既可以定位关键点,也可以自然的加入对指定各种动作的判断,在不增加额外模型运算的同时,能够有效的防止活体检测中的图像及视频攻击。
【专利说明】
基于多任务自编码器的交互式人脸活体检测方法和装置
技术领域
[0001] 本发明设及模式识别,计算机视觉,人脸检测和对齐等技术领域,具体设及一种基 于深度学习的交互式人脸活体检测方法和装置。
【背景技术】
[0002] 人脸识别技术在近年来得到快速的发展,由于其易用性越来越多的场合开始使用 人脸识别技术进行身份认定。由于人脸识别系统极易受到照片和视频片段的攻击,因此在 判断所采集的人脸图像和注册数据库中人脸图像进行比对的同时,还需要判定所采集的人 脸图像是否为真人,即活体检测,活体检测就是用于确定目标为有生命的个体的。目前,对 于人脸识别系统有=种较为常见的攻击方式:打印的人脸照片,显示屏上的人脸图像,人脸 面具和=维模型。由于伪造方式各种各样,所采用的材料、设备和技术也不尽相同,给人脸 活体检测带来了很大的挑战。
[0003] 为了检测运些常用的攻击手段,人们提出了各种活体检测方法。常用的活体检测 方法大致可W分为四类,第一类是检测人脸固有的特征,包括巧眼检测,频谱分析等。巧眼 检测根据用户无意识的行为特征,但是不能抵抗视频攻击,准确度和鲁棒性都难W做的很 好。依据照片的高频成分低于活体人脸图像的假设,频谱分析也是进行活体检测的一种方 法。只是此方法需要高分辨率的图像。第二类是利用光源或者传感设备等,热图像传感器在 红外光下,通过探测活体人脸和虚假图像的反射区别检测欺骗攻击。但是运一类方法需要 增加设备,加大花费的成本。第=类是从视频和音频中提取特征信息,人说话时嘴部运动和 声音是同步的。最后一类需要用户的参与,如用户被要求做指定的动作,通过动作判定验证 它们是否同步来进行活体检测,传统的交互式人脸活体检测需要单独进行人脸关键点定 位、姿态估计、嘴己张闭状态判断等各种任务,增加了模型的复杂度和计算时间,而且由于 没有考虑任务之间的关联性导致模型通用性能下降。
【发明内容】
[0004] 为了解决现有技术不足,本发明的目的是提供一种基于多任务自编码器的交互式 人脸活体检测方法,该方法把人脸面部关键点定位、姿态估计、人脸面部状态融合为一个目 标函数,用一个模型能够同时解决上述问题,W此来实现人脸活体检测。
[0005] 根据本发明一方面,提供了一种基于多任务自编码器的人脸活体检测方法,其特 征在于,包括:
[0006] 步骤Sl,通过摄像头进行人脸检测并且跟踪,获得人脸图像;
[0007] 步骤S2,按下预定按键,提示用户做指定动作;
[000引步骤S3,根据所获得的人脸图像,通过多任务自编码器进行人脸关键点检测W及 面部器官状态的判定;
[0009]步骤S4,多任务自编码器进行人脸位置跟踪,并通过一段时间的视频判断用户是 否做指定的动作,同时获取用户图片;
[0010] 步骤S5,重复步骤S2-S4,经过预定时间后,根据用户完成指定动作情况判断活体 检测是否成功。
[0011] 根据本发明另一方面,提供了一种基于多任务自编码器的人脸活体检测装置,其 特征在于,包括:
[0012] 人脸图像获取模块,用于通过摄像头进行人脸检测并且跟踪,获得人脸图像;
[0013] 提示模块,用于提示用户做指定动作;
[0014] 关键点检测模块,用于根据所获得的人脸图像,通过多任务自编码器进行人脸关 键点检测W及面部器官状态的判定;
[0015] 判断模块,利用多任务自编码器进行人脸位置跟踪,并通过一段时间的视频判断 用户是否做指定的动作,同时获取用户图片;
[0016] 结果判断模块,用于重复执行提示模块、关键点检测模块和判断模块,经过预定时 间后,根据用户完成指定动作情况判断活体检测是否成功。
[0017] 根据本发明的方法,可W把多种任务:人脸关键点检测、姿态估计、嘴己张闭、眼睛 张闭等融合为一个目标函数,通过一个目标函数求解所有相关的任务,提高了模型的通用 性能和泛化性能,能够自然的应用于交互式活体检测上,减小了模型的复杂度和运算开销, 增加了模型判断的精度,进而使得活体检测更加高效和鲁棒。
【附图说明】
[0018] 图1是本发明基于多任务自编码器的人脸活体检测方法的流程图。
【具体实施方式】
[0019] 为使本发明的目的、技术方案和优点更加清楚明白,W下结合具体实例,并参照附 图,对本发明进一步详细说明。所描述的实施例子仅旨在便于对本发明的理解,而对其不起 任何限定作用。
[0020] 本发明的目的是提供一种基于多任务自编码器的交互式人脸活体检测方法,该方 法把人脸关键点定位、姿态估计、面部状态融合为一个目标函数,用一个模型能够同时解决 上述问题,W此来实现人脸活体检测。
[0021] 如图1所示,本发明提出了一种基于多任务自编码器的人脸活体检测方法,包括如 下步骤:
[0022] 步骤Sl,通过摄像头进行人脸检测并且跟踪,获得人脸图像;
[0023] 所述步骤Sl包括:
[0024] 步骤Sll,在没有人脸图像情况下,开启人脸检测器,检测视频中的人脸;
[0025] 步骤S2,按下特定按键,提示用户做相应的特定动作;用户特定动作有W下形式: 左摇头,右摇头,点头,张嘴和巧眼,可W用键盘上指定的几个按键(比如数字键1、2、3、4、5 等)对应相应的动作。
[0026] 步骤S3,根据步骤Sl所获得人脸图像,通过多任务自编码器进行人脸关键点检测 W及面部器官状态的判定,进而判定被测试对象是否做了步骤S2中指定的动作;其中,多任 务自编码器如下训练得到:
[0027] 步骤S31,收集人脸图像数据,人工标定关键点位置Sg,头部姿态信息Pg,嘴己张闭 状态Mg,眼睛张闭状态巧;
[00%]步骤S32,把人脸图像缩放到指定分辨率大小,如50巧0;
[0029] 步骤S33,把缩放的人脸图像输入到第一阶段的多任务自编码器,检测初始的人脸 关键点位置坐标SO,同时得到头部姿态信息PO,嘴己张闭状态MO,眼睛张闭状态EO;
[0030] 在介绍多任务自编码器目标函数之前,我们先介绍一些基本的公式符号含义。假设收 集到脚长人脸图像化,...,li,.. .,In},人工标定关键点位置Sg可W表示为沪斗罕,…,巧,…,巧}, 头部姿态信息/% = [^产,...,听..,巧;[,嘴己张闭状击
,眼睛张闭状态 .护=(坪..,,巧,,..渴|,自编码器预测输出的关键点位置sp可W表示为护=(巧^...,《v..,、s',;}, 头部姿态信息严={巧...,巧V..,巧'},嘴己张闭状3
I眼睛张闭状态 怎'f =?{野,…,哗,…,巧;},i表示第i张人脸图像。假设自编码器的层数一共是T层,其中第t(t = 1,. . . ,T-1)层输出作为束t+l(t = l,. . . ,T-1)层输入,束t(t = l, . . . ,T)层的束i个输入可 W表示为蛛',例如第一层的第i张输入图像可W表示为X;。
[0031 ]所述多任务自编码器为叠加的T个多任务自编码器,迭代的进行非线性映射,前T- 1个自编码器形式如下,
[0032] xt = o(WV-i+bt),t = l,. . .,T-1
[0033] 其中,〇(?)是自编码器激活函数,例如,Sigmoid函数,tanh函数等。
[0034] Wt是第t层自编码器映射矩阵,其作用是对第t-1层输出(即第t层输入)进行线 性映射。bt是第t层自编码器的偏置量。
[0035] 第T层多任务自编码器形式如下,
[0036] xT=wTxT-i+bT
[0037] 其中/为最终T层自编码器输出。
[0038] 第一阶段多任务自编码器的目标函数为:
[0039]
[0040] 其中/;表示关键点检测的损失函数,乃表示头部姿态估计的损失函数,乃表示嘴 己张闭损失函数,,//表示眼睛张闭损失函数,Sg, pg,Mg,巧分别表示步骤S31中人工标定的人 脸关键点位置坐标、头部姿态信息、嘴己张闭状态和眼睛张闭状态,I为输入图像,f( ?)是 第一阶段自编码器的非线性映射函数形式。Wr表示基于回归的映射矩阵,表示基于分类的 映射矩阵。其中,用回归形式的平方误差损失函数表示
[0043] //2用分类形式的交叉赌损失函数表示,
[0041]
[0042]
[0044]
[0045] 其中N表示总共有N张人脸图像,K为分类类别,例如对嘴己和眼睛状态有两种化= 2):张和闭。
[0046] 嘴己状态被判断成第k化=1,. . .,K)类的概率为:
[0047]
[004引
[0049]
[(K)加]
[0051] 多任务自编码器的目标函数用基于异质任务的梯度下降法求解。
[0052] 步骤S34,第二阶段再次把图像缩放到预定分辨率大小,如80x80,同时根据第一阶 段人脸关键点位置坐标S0,计算出缩放后的人脸图像关键点位置坐标SOI;
[0053] 步骤S35,根据缩放后的人脸图像和第一阶段自编码器输出的人脸关键点位置坐 标SOl,在每个关键点周围提取特征,把运些特征串联起来输入到第二阶段的多任务自编码 器,得到最终的人脸关键点位置坐标S1、头部姿态信息PU嘴己张闭状态Ml和眼睛张闭状态 El;其中,在每个关键点周围提取的是SIFT特征,把运些特征串联起来输入到第二阶段的自 编码器,其目标函数为:
[0化4]
[0055]其中50,口0,10,60分别是第一阶段自编码器预测输出的人脸关键点坐标位置、头 部姿态信息、嘴己张闭状态和眼睛张闭状态,4 (SO)是在人脸图像关键点周围提取相应特 征描述子SIFT,并且把运些描述子串联起来形成的特征,
[0化6] AS = Sg-SO, A P = pg-P〇, AM = Mg-MO, A E = Eg-EO表示的是真实的人脸关键点坐 标位置、头部姿态信息、嘴己张闭状态和眼睛张闭状态和第一阶段自编码器预测输出的差 值,f( ?)是第二阶段自编码器的非线性映射函数形式,Wr表示基于回归的映射矩阵,表示 基于分类的映射矩阵。
[0057]同步骤S33类似,求解上述目标函数可W得到第二阶段自编码器相应参数,通过自 编码器输出可W得到最终的关键点位置坐标SI,头部姿态信息P1,嘴己张闭状态Ml,眼睛张 闭状态El;
[005引步骤S4,多任务自编码器进行人脸位置跟踪并输出关键点位置坐标,头部姿态信 息,嘴己张闭状态,眼睛张闭状态,通过一段时间的视频判断用户是否做指定的动作,同时 获取用户图片;本发明所指左摇头,右摇头、点头、张嘴和巧眼动作均是一个序列。摇头表示 从开始正面姿态到侧面姿态的过程,其中侧面姿态最大角度为35度。点头表示从正面姿态 到向下侧姿态过程,其中向下侧最大角度为24度。
[0059] 张嘴动作指的是从开始的闭嘴状态到张嘴状态的过程,巧眼指的是从开始的睁眼 状态到闭眼状态的过程。
[0060] 其中,获取的图片为正面图片,要求姿态信息角度在-20度到20度范围之内。
[0061] 步骤S5,重复步骤S2-S4,在规定时间内,根据用户完成情况判断活体检测是否成 功。所述规定时间为10-15s。
[0062] 步骤S6,若活体检测成功,则获取步骤S4中获取的照片,若活体检测失败则再次重 复步骤S1-S5;
[0063] 综上,本发明提出了一种基于多任务自编码器的交互式活体检测,其优点在于可 W用一个统一模型描述关键点检测、姿态估计、面部器官状态等问题,可W更加准确快速的 判断交互式活体检测各种动作。与其他传统的交互式活体检测相比,本发明更加鲁棒、准 确、快速。
[0064] W上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详 细说明,应理解的是,W上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在 本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
【主权项】
1. 一种基于多任务自编码器的人脸活体检测方法,其特征在于,包括如下步骤: 步骤Sl,通过摄像头进行人脸检测并且跟踪,获得人脸图像; 步骤S2,按下预定按键,提示用户做指定动作; 步骤S3,根据所获得的人脸图像,通过多任务自编码器进行人脸关键点检测以及面部 器官状态的判定; 步骤S4,多任务自编码器进行人脸位置跟踪,并通过一段时间的视频判断用户是否做 指定的动作,同时获取用户图片; 步骤S5,重复步骤S2-S4,经过预定时间后,根据用户完成指定动作情况判断活体检测 是否成功。2. 根据权利要求1所述的方法,其特征在于,步骤Sl包括: 步骤S11,在没有人脸图像情况下,开启人脸检测器,检测视频中人脸。3. 根据权利要求1所述的方法,其特征在于,所述步骤S2中指定动作包括以下的一种或 几种的组合:左摇头,右摇头,点头,张嘴和眨眼。4. 根据权利要求1所述的方法,其特征在于,所述步骤S3中多任务自编码器通过以下步 骤训练得到: 步骤S31,收集人脸图像数据,标定关键点位置坐标Sg、头部姿态信息Pg、嘴巴张闭状态 Mi^P眼睛张闭状态Eg; 步骤S32,把人脸图像缩放到第一指定分辨率大小 步骤S33,把缩放的人脸图像输入到第一阶段的多任务自编码器,检测人脸图像中初始 的人脸关键点位置坐标SO,同时得到头部姿态信息PO、嘴巴张闭状态MO和睛张闭状态EO; 步骤S34,再次把人脸图像缩放到第二指定分辨率大小,同时根据初始的人脸关键点位 置坐标S0,计算出缩放后的人脸图像关键点位置坐标S01; 步骤S35,根据缩放后的人脸图像和缩放后的人脸图像关键点位置坐标SOl,在每个人 脸关键点周围提取特征,将这些提取的特征串联起来输入到第二阶段的多任务自编码器, 得到最终的人脸关键点位置坐标Sl、头部姿态信息Pl、嘴巴张闭状态Ml和眼睛张闭状态El。5. 根据权利要求4所述的方法,其特征在于,所述步骤S31中,第一阶段多任务自编码器 的目标函数为: 其中./)表示关键点检测的损失函数,./,2表示头部姿态估计的损失函数, ./)表示嘴巴张闭损失函数,表示眼睛张闭损失函数,38#菁#分别是人脸关键点位 置坐标、头部姿态信息、嘴巴张闭状态和眼睛张闭状态,I为输入图像,f( ·)是第一阶段的 多任务自编码器的非线性映射函数,Wr表示基于回归的映射矩阵,11表示基于分类的映射矩 阵。6. 根据权利要求4所述的方法,其特征在于,所述步骤S35中,第二阶段的多任务自编码 器的目标函数为:其中30,?0,10^0分别是第一阶段多任务自编码器预测的人脸关键点位置坐标、头部 姿态信息、嘴巴张闭状态和眼睛张闭状态,Φ (SO)是从缩放后的人脸图像关键点周围提取 的特征,并且把这些特征串联起来得到的特征向量, AS = Sg-SO, AP = pg-P〇, AM=Mg-MO, AE = Eg-EO,分别表示人脸键点位置坐标、头部姿 态信息、嘴巴张闭状态和眼睛张闭状态的真实值和第一阶段多任务自编码器预测值的差 值,f( ·)是第二阶段自编码器的非线性映射函数。7. 根据权利要求5所述的方法,其特征在于,所述自编码器为叠加的T层自编码器,迭代 的进行非线性映射,前T-I层自编码器形式如下, Xt = O(WV^bt),t = I,. . . ,T-I 第T层自编码器形式如下, xT = ffTxT-l+bT 其中W= {W1,...,WT}为自编码器映射矩阵,χτ为最终输出。8. 根据权利要求5或6所述的方法,其特征在于,用回归形式的平方误差损失函数 表不:其中以疒#'/ Af1为多任务自编码器第T层映射函数,N表示人脸图像数目; ./),./,2用分类形式的交叉熵损失函数表示,其中K为目标任务的分类类别,目标任务被分成第k,k=l,...,K类的概率为:其中,:yf为名仵I白编码器对笛i个人睑图像预涮出的目标任务状态,包括嘴巴状态和 眼睛状;9. 根据权利要求4所述的方法,其特征在于,第一指定分辨率大小为50 X 50,第二指定 分辨率大小是80 X 80。10. -种基于多任务自编码器的人脸活体检测装置,其特征在于,包括: 人脸图像获取模块,用于通过摄像头进行人脸检测并且跟踪,获得人脸图像; 提示模块,用于提示用户做指定动作; 关键点检测模块,用于根据所获得的人脸图像,通过多任务自编码器进行人脸关键点 检测以及面部器官状态的判定; 判断模块,利用多任务自编码器进行人脸位置跟踪,并通过一段时间的视频判断用户 是否做指定的动作,同时获取用户图片; 结果判断模块,用于重复执行提示模块、关键点检测模块和判断模块,经过预定时间 后,根据用户完成指定动作情况判断活体检测是否成功。
【文档编号】G06K9/00GK106022264SQ201610339145
【公开日】2016年10月12日
【申请日】2016年5月19日
【发明人】赫然, 孙哲南, 谭铁牛, 李海青, 张曼, 李琦
【申请人】中国科学院自动化研究所