CN114299569A - 一种基于眼球运动的安全人脸认证方法 - Google Patents
一种基于眼球运动的安全人脸认证方法 Download PDFInfo
- Publication number
- CN114299569A CN114299569A CN202111541072.3A CN202111541072A CN114299569A CN 114299569 A CN114299569 A CN 114299569A CN 202111541072 A CN202111541072 A CN 202111541072A CN 114299569 A CN114299569 A CN 114299569A
- Authority
- CN
- China
- Prior art keywords
- eye
- point
- sequence
- image
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本发明公开了一种基于眼球运动的安全人脸认证方法,通过注视点序列生成、视频帧采集与筛选、人脸图像处理、注视特征提取、眼周特征提取、用户合法性验证等六大步骤,利用眼球运动可预测性触发、具有个体独特性等特点,比较用户注视点与屏幕上随机点一致性,同时验证用户独特的眼周特征,辅助现有的人脸***抵御多种先进的攻击,实现了适用于智能手机等移动设备的快捷、低认知负荷、高安全性的安全人脸认证方法。
Description
技术领域
本发明属于人脸认证安全加强领域,具体涉及一种基于眼球运动的安全人脸认证方法。
背景技术
随着人脸认证技术的发展,人脸认证***凭借其高效便捷等特点备受青睐,逐渐成为了移动设备上的主流身份认证方式,被广泛应用于设备解锁、在线支付等日常生活场景中。与此同时,人脸认证的广泛使用,尤其是在诸如移动认证、移动支付等涉及个人隐私和财产安全的关键场景中的应用,也带来了许多隐私风险和安全问题。一方面,随着社交软件的流行,大量的人脸照片和面部视频被暴露在社交网络上,人脸信息触手可及,攻击者可以利用先进的机器学习技术进行人脸认证视频的伪造,甚至可以实时模仿各种面部表情并将其应用于受害者的3D人脸模型中,从而绕过基于简单应答(例如张嘴、眨眼等)和基于3D特征的人脸反欺骗机制。另一方面,利用对抗样本攻击方法,攻击者可以精心设计不易引起警觉的脸部佩饰(例如眼镜)或者妆容,让人脸认证***的神经网络将攻击者识别为目标用户,或者直接逃避人脸识别***的检测。此外,现有的安全性较强的人脸认证***往往对设备有较高的要求,例如iPhone的FaceID,利用深度传感器提供安全的3D人脸认证。但额外的硬件会消耗屏幕空间,且极大地提高了硬件成本,限制了高安全性的人脸认证***在智能手机上的普遍推广。人的眼球运动是敏捷且自发的,无法实时伪造,利用先进的眼球追踪技术可以在不依赖额外硬件的情况下使用智能手机的前置摄像头追踪人的注视点位置,从而建立更加快捷实用的应答机制,辅助人脸认证***完成活体检测。与此同时,利用眼球运动生物特征的个体独特性,可以验证用户的身份,防止攻击者通过佩戴面具或对抗眼镜伪造身份,使移动设备上的人脸认证***更加安全可靠。
眼球追踪是检测人的视线或注视位置的变化的技术,其核心是注视点估计。通过注视点估计,能够大致预测出人眼在手机屏幕上的注视点位置。因此,可以通过比较人眼的注视点位置与屏幕上显示的随机点位置(注视点序列)的一致性进行活体检测。此外,眼球运动还是一种敏捷的可触发的生物特征,除了眼球运动速度、反应时间等精细的特征以外,随眼球运动不断变化的眼周特征中也蕴含着丰富的个人身份信息。虽然眼周包含的生物软特征不足以单独作为身份认证的依据,但可以作为核实眼周对应的身份与全脸对应的身份是否一致的依据。而且眼球运动时眼周区域的形态变化能够用智能手机的前置摄像头捕捉到,因此可以利用眼周特征的动态变化来进行眼周认证。
3D面具攻击和对抗眼镜攻击可以用攻击者的实时眼动伪造受害者的眼动视频,但过程中攻击者必须佩戴受害者的面具或者精心设计的对抗眼镜,而这将会改变受害者的眼周特征,因此在进行眼球追踪的过程中需要实时关注并比对认证者的眼周特征,用以辅助眼球追踪完成活体检测。
在没有任何硬件辅助的前提下(仅使用手机前置摄像头),现有的眼球追踪方案的精度都较差,这极大地影响了使用眼球追踪进行活体检测的准确率,因此如何提高眼球追踪在移动设备上的表现是一个重要问题。此外,屏幕上随机点序列(注视点序列)组合的多样性和眼球追踪准确率等因素之间的权衡,也是需要加以考量的。
发明内容
为了解决上述技术问题,本发明提供了一种基于眼球运动的安全人脸认证方法。
本发明致力于利用普通摄像头检测眼球运动,将眼球运动作为人脸认证的活体检测方法,研究和探索出一种基于眼球运动的安全人脸认证方法,可以抵御现有的针对人脸认证***的视频重放攻击、3D面具攻击、对抗眼镜攻击等,提升智能手机等移动设备上的人脸认证***的安全性。
本发明所采用的技术方案是:一种基于眼球运动的安全人脸认证方法,包括以下步骤:
步骤1,注视点序列生成,即在预设的注视点序列范围内随机选取注视点序列,并在屏幕上依次显示;
步骤2,视频帧采集与筛选,并将筛选后的视频帧作为待处理的图像;
步骤3,人脸图像处理,包括去除非注视状态的视频过渡帧,并对处理后的视频帧提取人脸关键点,根据后续认证的需求裁剪出人眼图像;
步骤4,注视点特征提取,包括构建蕴含注视信息的输入序列,搭建并训练注视点估计模型,然后利用注视点估计模型提取注视点特征;
步骤5,眼周特征提取,包括构建蕴含眼周特征的图像输入序列,搭建并训练眼周特征提取模型,然后利用眼周特征提取模型提取眼周特征;
步骤6,用户合法性验证,包括比较每次身份验证阶段和用户注册阶段的注视点特征和眼周特征的相似度,以验证用户的合法性,当且仅当用户同时通过注视点认证和眼周认证,才将其视为合法用户。
进一步的,步骤1的具体实现过程包括以下子步骤;
步骤1.1,注视点序列范围选取;从屏幕上均匀分布的若干个点中选取随机点,记为P={p1,p2,…,pn},pi=(xi,yi),屏幕上显示的不同随机点之间保持一定的间隔,其中n表示选取的随机点的个数,xi是对应的i点到屏幕左边缘的垂直距离,yi是对应的i点到屏幕上边缘的垂直距离,单位是像素;
步骤1.2,随机选取注视点序列;从P中随机选取K个组成注视点序列C={c1,c2,…,cK},ci∈P,其中K为注视点序列的长度;
步骤1.3,显示注视点序列;将步骤1.2生成的注视点序列按顺序依次在屏幕上显示,每个点持续一定时间。
进一步的,步骤2的具体实现过程如下;
使用普通的手机前置摄像头拍摄人脸认证视频,并从中筛选出稳定的高质量的视频帧作为待处理的图像,智能手机屏幕上会显示随机的K位注视点序列,用户需要及时注视屏幕上出现的点;同时,调用前置摄像头拍摄并保存用户追踪屏幕上点的视频帧framei,并记录屏幕上显示的随机点坐标(xi,yi),并将产生的视频帧暂存到一个缓冲区中等待处理;为了提高效率和减少缓存消耗,在采集视频帧的同时,记录每帧图像对应的设备加速度值用以反映拍摄该帧时设备的稳定程度,在上一帧图片处理完成之前,从采集到的所有帧中筛选出对应加速度值最小的帧,也就是最稳定的帧加入到缓冲区中,作为下一帧要处理的图像;
每当完成上一帧图像的处理后,读取缓冲区中的帧,进行后续处理。
进一步的,步骤3的具体实现过程如下;
步骤3.1,去除人眼过渡图像,对于每一张手机前置摄像头拍摄得到的人脸原始图像,计算瞳孔中心Op(xp,yp)与内眼角Oc(xc,yc)的距离:
移除在屏幕上两个随机点交替的间隙内距离dpc突变的人脸图像;
步骤3.2,图像裁剪,对步骤3.1处理后的人脸图像进行面部特征点提取,得到若干个面部特征点,根据这些面部特征点,裁剪出大小为N1×N1的左眼图像Il和右眼图像Ir,记录左右眼的眼角坐标L,左右眼的眼角坐标L是一个八维向量,包含人的左右眼的内外眼角坐标,记为L=((xr1,yr1),(xr2,yr2),(xl1,yl1),(xl2,yl2)),用于注视特征点提取,其中(xr1,yr1)表示右眼外眼角在原始人脸图像中的像素坐标,类似地,(xr2,yr2)、(xl1,yl1)、(xl2,yl2)分别对应右眼内眼角坐标、左眼内眼角坐标、左眼外眼角坐标;裁剪出大小为N2×N3的左眼眼周图像El和右眼眼周图像Er,用于眼周特征提取。
进一步的,步骤4的具体实现过程如下;
步骤4.1,构建输入序列,注视点估计模型的输入序列,记为sequence,包含:左眼图像Il,右眼图像Ir,人眼网格G和左右眼的眼角坐标L;其中左眼图像Il和右眼图像Ir向注视点估计模型提供双眼的眼球位置信息,人眼网格G是规格为25×25的二值掩码,向神经网络提供人眼相对于摄像头的位置信息;人眼网格G的生成过程是:首先将原始的人脸图像通过仿射变换映射为一个25×25的掩码区域,然后将人的双眼在该图像中的位置映射到该掩码区域中,并标记为1,其余非人眼区域标记为0;左右眼的眼角坐标L是一个八维向量,包含人的左右眼的内外眼角坐标,记为L=((xr1,yr1),(xr2,yr2),(xl1,yl1),(xl2,yl2)),其中(xr1,yr1)表示右眼外眼角在原始人脸图像中的像素坐标,类似地,(xr2,yr2)、(xl1,yl1)、(xl2,yl2)分别对应右眼内眼角坐标、左眼内眼角坐标、左眼外眼角坐标,它向注视点估计模型提供了人的头部姿态信息;
整体的注视点估计模型的输入序列表示为sequence(Il,Ir,G,L);
步骤4.2,搭建注视点估计模型,对于输入序列sequence中的左眼图像Il与右眼图像Ir,依次经过:第一卷积层CONV1,最大池化层,第二卷积层CONV2,最大池化层,第三卷积层CONV3,第四卷积层CONV4,以及全连接层FC1,得到从眼睛图像中提取出的特征向量feaI;
对于输入序列sequence中的人眼网格G,依次经过两个全连接层FC2、FC3,得到从人眼网格中提取出的特征向量feaG;
对于输入序列sequence中的左右眼的眼角坐标L,依次经过三个全连接层FC4、FC5、FC6,得到从眼角坐标中提取出的特征向量feaL;
连接上述特征向量feaI,feaG,feaL,得到注视点估计模型的中间输出特征向量:
feaIGL=(featI,featG,featL)
对于feaIGL,依次经过两个全连接层FC7、FC8,得到注视点估计模型最终估计的注视点坐标。
步骤4.3,训练注视点估计模型,用均方误差作为模型训练过程中的损失函数,均方误差计算公式为:
Loss(xpre,xtrue)=(xpre-xtrue)2
其中xtrue为屏幕上显示的随机点坐标,xpre为模型预测得到的注视点坐标,将训练数据Strain=sequence1,sequence2,…,sequencen输入模型进行训练,其中n为训练集大小,将测试数据Sval=sequence1,sequence2,…,sequencem输入模型进行验证,其中m为验证集大小,用来观察模型训练情况,及时调整模型相关参数;
步骤4.4,提取注视特征,将预先训练好的注视点估计模型作为注视特征提取器E,将人眼正在注视的点pi对应的输入序列sequencei输入模型,其中pi属于注视点集合P,取出模型在全连接层FC7后输出的向量作为注视点特征其中与为注视点是pi时的左右眼图像,为注视点是pi时的人眼网格,为注视点是pi时的左右眼眼角坐标。
进一步的,第一卷积层CONV1,使用96个大小为11×11的卷积核对输入图像进行卷积操作;第二卷积层CONV2,使用256个大小为5×5的卷积核;第三卷积层CONV3,使用384个大小为3×3的卷积核;第四个卷积层CONV4,使用64个大小为1×1的卷积核。
进一步的,步骤5的具体实现过程如下:
步骤5.1,构建输入序列,使用步骤3.2裁剪出的左右眼眼周图像eyes(El,Er)作为眼周特征提取模型的输入;
步骤5.2,搭建眼周特征提取模型,对于输入的左眼图片El和右眼图片Er,依次经过:第一卷积层CONV11,第二卷积层CONV12,第三卷积层CONV13,第四卷积层CONV14,每个卷积层后都连接一个最大池化层,最终得到左眼特征和右眼特征,拼接后得到眼周特征;
步骤5.3,训练眼周特征提取模型,结合soft-max loss和center loss作为损失函数,训练眼周特征提取模型,Soft-max loss的计算公式为:
其中N表示总的分类类别数;labeli是一个1×N的向量,其中表示该样本真实标签的那一项为1,其他项全部为0;Dj是soft-max的输出向量D的第j个值,表示的是这个样本属于第j个类别的概率;
Center loss的计算公式为:
最终用于训练模型的损失函数表示为:
Loss=Losssoftmax+a*Loss_{center}
其中,a为常数,将训练数据Etrain=eyes1,eyes2,…,eyesn输入模型进行训练,其中n为训练集大小,将测试数据Eval=eyes1,eyes2,…,eyesm输入模型进行验证,其中m为验证集大小,用来观察模型训练情况,及时调整模型相关参数;
步骤5.4,提取眼周特征,将左眼和右眼的眼周图像输入到步骤5.3中训练好的眼周特征提取模型中,输出眼周特征向量,作为用户的眼周特征fperi。
进一步的,第一卷积层CONV11,使用20个4×4的卷积核;第二卷积层CONV12,使用40个3×3的卷积核;第三卷积层CONV13,使用60个3×3的卷积核;第四卷积层CONV14,使用120个2×2的卷积核。
进一步的,步骤6的具体实现过程如下;
步骤6.1,确定判定阈值,分别计算眼周特征提取模型和注视点估计模型的等错误率EER,以能够使测试数据中超过(1-EER)比例的正样本通过验证的余弦相似度值作为阈值,该步骤采用余弦相似度作为衡量指标进行特征比较,余弦相似度的计算公式如下:
其中A表示第一个N维向量,B表示第二个N维向量,余弦相似度越大,表明两个特征向量越接近;
步骤6.2,注视点特征相似度比较,按照步骤1中生成的注视点序列,将步骤4获取的使用者注视点特征,与合法用户注册时录入的对应注视点的特征进行比较,带入公式计算两者的余弦相似度pi表示注视点,记步骤6.1中选定的注视点认证阈值为thrE,如果则判定注视点认证通过,否则不通过;
步骤6.3,眼周特征相似度比较,将步骤5获取的使用者的眼周特征与合法用户注册时录入的眼周特征进行比较,带入余弦相似度公式进行计算得到cos(θperi),记步骤6.1中选定的眼周认证阈值为threperi,当cos(θperi)>threperi时,则判定眼周认证通过,否则不通过。
进一步的,步骤3.1中采用Face++提取的人脸关键点。
与现有技术相比,本发明的优点和有益效果在于:实现了适用于智能手机等移动设备的高安全性、低认知负荷、易于推广的安全人脸认证。本发明的高安全性表现在,它可以防御基于媒体的人脸伪造(MFF)攻击、3D面具攻击等针对人脸认证的最先进的攻击。本发明的低认知负荷表现在整个过程只涉及眼球的运动,操作简单,不需要记忆密码或学习特殊操作。本发明的易于推广表现在不需要额外硬件的支持,所以本发明可以在任何配备前置摄像头的普通智能手机上使用,而且现有的应答式认证(例如摇头,张嘴)动作往往较为夸张,尤其在公共场合进行认证时,容易引起尴尬,本发明使用的眼球运动则不易被他人察觉,适用于各种应用场景。
附图说明
图1是本发明的注视点示意图。其中图1(a)是注视点的十五个侯选位置;图1(b)展示了一个注视点序列的示例。
图2是本发明的注视点动态效果示意图。
图3是本发明注视点估计模型的结构图。
图4是本发明实施例的原理图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明主要基于人脸认证安全加强领域,考虑人的眼球运动具有自发性和敏捷性,通过比较用户注视点与屏幕上随机点的一致性,同时验证用户独特的眼周特征,辅助现有的人脸***抵御多种先进的攻击。本发明提出一种基于眼球运动的安全人脸认证方法。该方法可以作为现有人脸认证活体检测方法的补充,提高人脸认证***的鲁棒性和实用性。
本发明提供的方法能够用计算机软件技术实现流程,参见图4。本发明提供的一种基于眼球运动的安全人脸认证方法,包括以下步骤:
步骤1,注视点序列生成,具体实现过程是:
在预设的注视点序列范围内随机选取注视点序列,并在屏幕上依次显示。包括以下子步骤:
步骤1.1:注视点序列范围选取。对于现有的眼球追踪技术,最小的注视点估计误差在1.4cm左右。因此,为了保证眼球追踪的准确性,屏幕上显示的不同随机点之间至少间隔2.8cm。鉴于目前主流的手机尺寸为5.4~6.7英寸(5.4英寸相当于长13.7cm,宽6.42cm),从屏幕上均匀分布的十五个点中选取随机点,能够在保证眼球追踪准确性的基础上最大化注视点序列的组合多样性。因此,本发明使用如图1(a)所示的十五个固定位置作为随机点的选择范围,记为P={p1,p2,…,p15},pi=(xi,yi),其中xi是对应的点到屏幕左边缘的垂直距离,yi是对应的点到屏幕上边缘的垂直距离,单位是像素。
步骤1.2:随机选取注视点序列。从15个固定位置P中随机选取K个点组成注视点序列C={c1,c2,…,cK},ci∈P,其中K为注视点序列的长度,图1(b)展示了当K=4时注视点序列的一个示例。
步骤1.3:显示注视点序列。将步骤1.2生成的注视点序列按顺序依次在屏幕上显示,每个点持续1秒。为了减少由于使用者注意不集中而没有及时注视屏幕上点的情况,本发明给屏幕上的随机点增加了动态效果来吸引使用者注意力,参见图2。
步骤2,视频帧采集与筛选,具体实现过程是:
使用普通的手机前置摄像头拍摄人脸认证视频,并从中筛选出稳定的高质量的视频帧作为待处理的图像。智能手机屏幕上会显示随机的K位注视点序列,用户需要及时注视屏幕上出现的点。同时,***调用前置摄像头拍摄并保存用户追踪屏幕上点的视频帧framei,并记录屏幕上显示的随机点坐标(xi,yi)。因为视频帧产生的速度比图像处理的速度要快,所以需要将产生的视频帧暂存到一个缓冲区中等待处理。此外,为了提高效率和减少缓存消耗,本发明在采集视频帧的同时会通过手机内置的加速度传感器获取每帧图像对应的设备加速度值用以反映拍摄该帧时设备的稳定程度。在上一帧图片处理完成之前,从采集到的所有帧中筛选出对应加速度值最小的帧,也就是最稳定的帧加入到缓冲区中,作为下一帧要处理的图像。
每当完成上一帧图像的处理后,读取缓冲区中的帧,进行后续处理。
步骤3,人脸图像处理,具体实现过程是:
去除非注视状态的视频过渡帧,并就处理后的视频帧提取人脸关键点,根据后续认证的需求裁剪出人眼图像。包括以下子步骤:
步骤3.1:去除人眼过渡图像。根据步骤1,屏幕上的随机点是依次交替显示的,从注视一个点转换到注视下一个点的过程中,使用者的眼球处于不稳定的过渡状态,而非凝视状态。为了排除这些处于过渡状态的帧对注视点估计的干扰,需要检测并去除过渡帧。对于每一张手机前置摄像头拍摄得到的人脸原始图像,计算瞳孔中心Op(xp,yp)与内眼角Oc(xc,yc)的距离:
移除在屏幕上两个随机点交替的间隙内距离dpc突变的人脸图像。
步骤3.2:图像裁剪。使用Face++对步骤3.1处理后的人脸图像进行关键点提取,得到81个人脸关键点。Face++是新一代云端视觉服务平台,提供基础的人脸检测、人脸关键点定位、人脸属性分析等视觉服务。根据通过Face++提取的人脸关键点,裁剪出大小为224×224的左眼图像Il和右眼图像Ir,记录左右眼的眼角坐标L,用于注视特征提取;裁剪出大小为28×56的左眼眼周图像El和右眼眼周图像Er,用于眼周特征提取。
步骤4,注视点特征提取,具体实现过程是:
构建蕴含注视信息的输入序列,搭建并训练注视点估计模型,然后利用该模型提取注视点特征。包括以下子步骤:
步骤4.1:构建输入序列。注视点估计的神经网络的输入序列(记为sequence)包含:左眼图像Il,右眼图像Ir,人眼网格G和左右眼的眼角坐标L。其中左眼图像Il和右眼图像Ir向神经网络提供了双眼的眼球位置信息。人眼网格G是规格为25×25的二值掩码,向神经网络提供了人眼相对于摄像头的位置信息。人眼网格G的生成过程是:首先将原始的人脸图像通过仿射变换映射为一个25×25的掩码区域,然后将人的双眼在该图像中的位置映射到该掩码区域中,并标记为1,其余非人眼区域标记为0。左右眼的眼角坐标L是一个八维向量,包含人的左右眼的内外眼角坐标,记为L=((xr1,yr1),(xr2,yr2),(xl1,yl1),(xl2,yl2)),其中(xr1,yr1)表示右眼外眼角在原始人脸图像中的像素坐标,类似地,(xr2,yr2)、(xl1,yl1)、(xl2,yl2)分别对应右眼内眼角坐标、左眼内眼角坐标、左眼外眼角坐标。它向神经网络提供了人的头部姿态信息,例如当图像中人的头部向左偏转时,左眼的眼角间距会明显小于右眼的眼角间距。
整体的注视点估计输入序列可以表示为sequence(Il,Ir,G,L)。
步骤4.2:搭建注视点估计模型,注视点估计模型的结构如图3所示。
对于输入序列sequence中的左眼图像Il与右眼图像Ir,依次经过:第一个卷积层CONV1,使用96个大小为11×11的卷积核对输入图像进行卷积操作,随后进行最大池化;第二个卷积层CONV2,使用256个大小为5×5的卷积核,同样也带有最大池化层;第三个卷积层CONV3,使用384个大小为3×3的卷积核,无池化;第四个卷积层CONV4,使用64个大小为1×1的卷积核。随后经过一层全连接层FC1(128),得到从眼睛图像中提取出的特征向量feaI。
对于输入序列sequence中的人眼网格G,依次经过两个全连接层FC2(256)、FC3(128),得到从人眼网格中提取出的特征向量feaG。
对于输入序列sequence中的左右眼的眼角坐标L,依次经过三个全连接层FC4(100)、FC5(16)、FC6(16),得到从眼角坐标中提取出的特征向量feaL。
连接上述特征向量feaI,feaG,feaL,得到模型的中间输出特征向量:
feaIGL=(featI,featG,featL)
对于feaIGL,依次经过两个全连接层FC7(128)、FC8(2),得到模型最终估计的注视点坐标。
步骤4.3:训练注视点估计模型。用均方误差作为模型训练过程中的损失函数,均方误差计算公式为:
Loss(xpre,xtrue)=(xpre-xtrue)2
其中xtrue为屏幕上显示的随机点坐标,xpre为模型预测得到的注视点坐标。将训练数据Strain=sequence1,sequence2,…,sequencen输入模型进行训练,其中n为训练集大小。将测试数据Sval=sequence1,sequence2,…,sequencem输入模型进行验证,其中m为验证集大小,用来观察模型训练情况,及时调整模型相关参数。
步骤4.4:提取注视特征。将预先训练好的注视点估计模型作为注视特征提取器E。将人眼正在注视的点pi对应的输入序列sequencei喂入模型,其中pi属于15个可能的注视点集合P,取出模型在全连接层FC7(128)后输出的128维向量作为注视点特征其中与为注视点是pi时的左右眼图像,为注视点是pi时的人眼网格,为注视点是pi时的左右眼眼角坐标。
步骤5,眼周特征提取,具体实现过程是:
构建蕴含眼周特征的图像输入序列,搭建并训练眼周特征提取模型,然后利用该模型提取眼周特征。包括以下子步骤:
步骤5.1:构建输入序列。使用步骤3.2裁剪出的左右眼眼周图像eyes(El,Er)作为眼周特征提取网络的输入,需要注意的是,这里的双眼图像区别于注视点估计的双眼图像,只包括眼睛,不包括眉毛等其他区域。每个图像尺寸调整成28×56的大小。
步骤5.2:搭建眼周特征提取模型。对于输入的28×56尺寸大小的左眼图片El和右眼图片Er,依次经过:第一个卷积层CONV1,使用20个4×4的卷积核;第二个卷积层CONV2,使用40个3×3的卷积核;第三个卷积层CONV3,使用60个3×3的卷积核;第四个卷积层CONV4,使用120个2×2的卷积核。每个卷积层后都连接一个最大池化层,最终得到160维的左眼特征和右眼特征,拼接后得到一个320维的眼周特征。
步骤5.3:训练眼周特征提取模型。本发明结合soft-max loss和center loss作为损失函数,训练眼周特征提取模型。Soft-max loss常用于分类任务中,可以增加输出特征的类间距离,其计算公式为:
其中N表示总的分类类别数;labeli是一个1×N的向量,其中表示该样本真实标签的那一项为1,其他项全部为0;Dj是soft-max的输出向量D的第j个值,表示的是这个样本属于第j个类别的概率。
Center loss可以减少输出特征的类内距离,其计算公式为:
最终用于训练模型的损失函数可表示为:
Loss=Losssoftmax+0.3*Loss_{center}
将训练数据Etrain=eyes1,eyes2,…,eyesn输入模型进行训练,其中n为训练集大小。将测试数据Eval=eyes1,eyes2,…,eyesm输入模型进行验证,其中m为验证集大小,用来观察模型训练情况,及时调整模型相关参数。
步骤5.4:提取眼周特征。将左眼和右眼的眼周图像输入到步骤5.3中训练好的眼周特征提取模型中,输出一个320维的眼周特征向量,作为用户的眼周特征fperi。
步骤6,用户合法性验证,具体实现过程是:
比较每次身份验证阶段和用户注册阶段的注视点特征和眼周特征的相似度,以验证用户的合法性,当且仅当用户同时通过注视点认证和眼周认证,才将其视为合法用户。包括以下子步骤:
步骤6.1:确定判定阈值。分别计算眼周特征提取模型和注视点估计模型的EER,以能够使测试数据中超过(1-EER)比例的正样本通过验证的余弦相似度值作为阈值。EER(Equal Error Rate)是等错误率,当模型分类的错误接受率和错误拒绝率相等时,这个公共的值就是该模型的EER。EER值越小,表示模型分类准确率越高,EER对应的判定阈值即为使模型达到最佳性能的判定阈值。该步骤采用余弦相似度作为衡量指标进行特征比较。余弦相似度计算公式如下:
其中A表示第一个N维向量,B表示第二个N维向量。余弦相似度越大,表明两个特征向量越接近。
步骤6.2:注视点特征相似度比较。按照步骤1中生成的注视点序列,将步骤4获取的使用者注视点特征C=c1,c2,…,cK,ci∈P,与合法用户注册时录入的对应注视点的特征进行比较。令带入公式计算两者的余弦相似度记步骤6.1中选定的注视点认证阈值为thrE,如果则判定注视点认证通过,否则不通过。
步骤6.3:眼周特征相似度比较。将步骤5获取的使用者的眼周特征fperi与合法用户注册时录入的眼周特征fperi′进行比较。令A=fperi,B=fperi′,带入余弦相似度公式进行计算得到cos(θperi)。记步骤6.1中选定的眼周认证阈值为threperi,当cos(θperi)>threperi时,则判定眼周认证通过,否则不通过。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (10)
1.一种基于眼球运动的安全人脸认证方法,其特征在于,包括以下步骤:
步骤1,注视点序列生成,即在预设的注视点序列范围内随机选取注视点序列,并在屏幕上依次显示;
步骤2,视频帧采集与筛选,并将筛选后的视频帧作为待处理的图像;
步骤3,人脸图像处理,包括去除非注视状态的视频过渡帧,并对处理后的视频帧提取人脸关键点,根据后续认证的需求裁剪出人眼图像;
步骤4,注视点特征提取,包括构建蕴含注视信息的输入序列,搭建并训练注视点估计模型,然后利用注视点估计模型提取注视点特征;
步骤5,眼周特征提取,包括构建蕴含眼周特征的图像输入序列,搭建并训练眼周特征提取模型,然后利用眼周特征提取模型提取眼周特征;
步骤6,用户合法性验证,包括比较每次身份验证阶段和用户注册阶段的注视点特征和眼周特征的相似度,以验证用户的合法性,当且仅当用户同时通过注视点认证和眼周认证,才将其视为合法用户。
2.根据权利要求1所述的基于眼球运动的安全人脸认证方法,其特征在于:步骤1的具体实现过程包括以下子步骤;
步骤1.1,注视点序列范围选取;从屏幕上均匀分布的若干个点中选取随机点,记为P={p1,p2,...,pn},pi=(xi,yi),屏幕上显示的不同随机点之间保持一定的间隔,其中n表示选取的随机点的个数,xi是对应的i点到屏幕左边缘的垂直距离,yi是对应的i点到屏幕上边缘的垂直距离,单位是像素;
步骤1.2,随机选取注视点序列;从P中随机选取K个组成注视点序列C={c1,c2,...,cK},ci∈P,其中K为注视点序列的长度;
步骤1.3,显示注视点序列;将步骤1.2生成的注视点序列按顺序依次在屏幕上显示,每个点持续一定时间。
3.根据权利要求1所述的基于眼球运动的安全人脸认证方法,其特征在于:步骤2的具体实现过程如下;
使用普通的手机前置摄像头拍摄人脸认证视频,并从中筛选出稳定的高质量的视频帧作为待处理的图像,智能手机屏幕上会显示随机的K位注视点序列,用户需要及时注视屏幕上出现的点;同时,调用前置摄像头拍摄并保存用户追踪屏幕上点的视频帧framei,并记录屏幕上显示的随机点坐标(xi,yi),并将产生的视频帧暂存到一个缓冲区中等待处理;为了提高效率和减少缓存消耗,在采集视频帧的同时,记录每帧图像对应的设备加速度值用以反映拍摄该帧时设备的稳定程度,在上一帧图片处理完成之前,从采集到的所有帧中筛选出对应加速度值最小的帧,也就是最稳定的帧加入到缓冲区中,作为下一帧要处理的图像;
每当完成上一帧图像的处理后,读取缓冲区中的帧,进行后续处理。
4.根据权利要求1所述的基于眼球运动的安全人脸认证方法,其特征在于:步骤3的具体实现过程如下;
步骤3.1,去除人眼过渡图像,对于每一张手机前置摄像头拍摄得到的人脸原始图像,计算瞳孔中心Op(xp,yp)与内眼角Oc(xc,yc)的距离:
移除在屏幕上两个随机点交替的间隙内距离dpc突变的人脸图像;
步骤3.2,图像裁剪,对步骤3.1处理后的人脸图像进行面部特征点提取,得到若干个面部特征点,根据这些面部特征点,裁剪出大小为N1×N1的左眼图像Il和右眼图像Ir,记录左右眼的眼角坐标L,左右眼的眼角坐标L是一个八维向量,包含人的左右眼的内外眼角坐标,记为L=((xr1,yr1),(xr2,yr2),(xl1,yl1),(xl2,yl2)),用于注视特征点提取,其中(xr1,yr1)表示右眼外眼角在原始人脸图像中的像素坐标,类似地,(xr2,yr2)、(xl1,yl1)、(xl2,yl2)分别对应右眼内眼角坐标、左眼内眼角坐标、左眼外眼角坐标;裁剪出大小为N2×N3的左眼眼周图像El和右眼眼周图像Er,用于眼周特征提取。
5.根据权利要求4所述的基于眼球运动的安全人脸认证方法,其特征在于:步骤4的具体实现过程如下;
步骤4.1,构建输入序列,注视点估计模型的输入序列,记为sequence,包含:左眼图像Il,右眼图像Ir,人眼网格G和左右眼的眼角坐标L;其中左眼图像Il和右眼图像Ir向注视点估计模型提供双眼的眼球位置信息,人眼网格G是规格为25×25的二值掩码,向神经网络提供人眼相对于摄像头的位置信息;人眼网格G的生成过程是:首先将原始的人脸图像通过仿射变换映射为一个25×25的掩码区域,然后将人的双眼在该图像中的位置映射到该掩码区域中,并标记为1,其余非人眼区域标记为0;左右眼的眼角坐标L是一个八维向量,包含人的左右眼的内外眼角坐标,记为L=((xr1,yr1),(xr2,yr2),(xl1,yl1),(xl2,yl2)),其中(xr1,yr1)表示右眼外眼角在原始人脸图像中的像素坐标,类似地,(xr2,yr2)、(xl1,yl1)、(xl2,yl2)分别对应右眼内眼角坐标、左眼内眼角坐标、左眼外眼角坐标,它向注视点估计模型提供了人的头部姿态信息;
整体的注视点估计模型的输入序列表示为sequence(Il,Ir,G,L);
步骤4.2,搭建注视点估计模型,对于输入序列sequence中的左眼图像Il与右眼图像Ir,依次经过:第一卷积层CONV1,最大池化层,第二卷积层CONV2,最大池化层,第三卷积层CONV3,第四卷积层CONV4,以及全连接层FC1,得到从眼睛图像中提取出的特征向量feaI;
对于输入序列sequence中的人眼网格G,依次经过两个全连接层FC2、FC3,得到从人眼网格中提取出的特征向量feaG;
对于输入序列sequence中的左右眼的眼角坐标L,依次经过三个全连接层FC4、FC5、FC6,得到从眼角坐标中提取出的特征向量feaL;
连接上述特征向量feaI,feaG,feaL,得到注视点估计模型的中间输出特征向量:
feaIGL=(featI,featG,featL)
对于feaIGL,依次经过两个全连接层FC7、FC8,得到注视点估计模型最终估计的注视点坐标。
步骤4.3,训练注视点估计模型,用均方误差作为模型训练过程中的损失函数,均方误差计算公式为:
Loss(xpre,xtrue)=(xpre-xtrue)2
其中xtrue为屏幕上显示的随机点坐标,xpre为模型预测得到的注视点坐标,将训练数据Strain=sequence1,sequence2,...,sequencen输入模型进行训练,其中n为训练集大小,将测试数据Sval=sequence1,sequence2,...,sequencem输入模型进行验证,其中m为验证集大小,用来观察模型训练情况,及时调整模型相关参数;
6.根据权利要求5所述的基于眼球运动的安全人脸认证方法,其特征在于:第一卷积层CONV1,使用96个大小为11×11的卷积核对输入图像进行卷积操作;第二卷积层CONV2,使用256个大小为5×5的卷积核;第三卷积层CONV3,使用384个大小为3×3的卷积核;第四个卷积层CONV4,使用64个大小为1×1的卷积核。
7.根据权利要求4所述的基于眼球运动的安全人脸认证方法,其特征在于:步骤5的具体实现过程如下:
步骤5.1,构建输入序列,使用步骤3.2裁剪出的左右眼眼周图像eyes(El,Er)作为眼周特征提取模型的输入;
步骤5.2,搭建眼周特征提取模型,对于输入的左眼图片El和右眼图片Er,依次经过:第一卷积层CONV11,第二卷积层CONV12,第三卷积层CONV13,第四卷积层CONV14,每个卷积层后都连接一个最大池化层,最终得到左眼特征和右眼特征,拼接后得到眼周特征;
步骤5.3,训练眼周特征提取模型,结合soft-max loss和center loss作为损失函数,训练眼周特征提取模型,Soft-max loss的计算公式为:
其中N表示总的分类类别数;labeli是一个1×N的向量,其中表示该样本真实标签的那一项为1,其他项全部为0;Dj是soft-max的输出向量D的第j个值,表示的是这个样本属于第j个类别的概率;
Center loss的计算公式为:
最终用于训练模型的损失函数表示为:
Loss=Losssoftmax+a*Loss_{center}
其中,a为常数,将训练数据Etrain=eyes1,eyes2,...,eyesn输入模型进行训练,其中n为训练集大小,将测试数据Eval=eyes1,eyes2,...,eyesm输入模型进行验证,其中m为验证集大小,用来观察模型训练情况,及时调整模型相关参数;
步骤5.4,提取眼周特征,将左眼和右眼的眼周图像输入到步骤5.3中训练好的眼周特征提取模型中,输出眼周特征向量,作为用户的眼周特征fperi。
8.根据权利要求7所述的基于眼球运动的安全人脸认证方法,其特征在于:第一卷积层CONV11,使用20个4×4的卷积核;第二卷积层CONV12,使用40个3×3的卷积核;第三卷积层CONV13,使用60个3×3的卷积核;第四卷积层CONV14,使用120个2×2的卷积核。
9.根据权利要求1所述的基于眼球运动的安全人脸认证方法,其特征在于:步骤6的具体实现过程如下;
步骤6.1,确定判定阈值,分别计算眼周特征提取模型和注视点估计模型的等错误率EER,以能够使测试数据中超过(1-EER)比例的正样本通过验证的余弦相似度值作为阈值,该步骤采用余弦相似度作为衡量指标进行特征比较,余弦相似度的计算公式如下:
其中A表示第一个N维向量,B表示第二个N维向量,余弦相似度越大,表明两个特征向量越接近;
步骤6.2,注视点特征相似度比较,按照步骤1中生成的注视点序列,将步骤4获取的使用者注视点特征,与合法用户注册时录入的对应注视点的特征进行比较,带入公式计算两者的余弦相似度pi表示注视点,记步骤6.1中选定的注视点认证阈值为thrE,如果则判定注视点认证通过,否则不通过;
步骤6.3,眼周特征相似度比较,将步骤5获取的使用者的眼周特征与合法用户注册时录入的眼周特征进行比较,带入余弦相似度公式进行计算得到cos(θperi),记步骤6.1中选定的眼周认证阈值为threperi,当cos(θperi)>threperi时,则判定眼周认证通过,否则不通过。
10.根据权利要求4所述的基于眼球运动的安全人脸认证方法,其特征在于:步骤3.1中采用Face++提取的人脸关键点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111541072.3A CN114299569A (zh) | 2021-12-16 | 2021-12-16 | 一种基于眼球运动的安全人脸认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111541072.3A CN114299569A (zh) | 2021-12-16 | 2021-12-16 | 一种基于眼球运动的安全人脸认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114299569A true CN114299569A (zh) | 2022-04-08 |
Family
ID=80968159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111541072.3A Pending CN114299569A (zh) | 2021-12-16 | 2021-12-16 | 一种基于眼球运动的安全人脸认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114299569A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114939272A (zh) * | 2022-06-15 | 2022-08-26 | 广州汽车集团股份有限公司 | 一种基于hud的车载互动游戏方法与*** |
-
2021
- 2021-12-16 CN CN202111541072.3A patent/CN114299569A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114939272A (zh) * | 2022-06-15 | 2022-08-26 | 广州汽车集团股份有限公司 | 一种基于hud的车载互动游戏方法与*** |
CN114939272B (zh) * | 2022-06-15 | 2023-08-04 | 广州汽车集团股份有限公司 | 一种基于hud的车载互动游戏方法与*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020207189A1 (zh) | 身份验证方法、装置、存储介质和计算机设备 | |
WO2020151489A1 (zh) | 基于面部识别的活体检测的方法、电子设备和存储介质 | |
Tang et al. | Face flashing: a secure liveness detection protocol based on light reflections | |
US9652663B2 (en) | Using facial data for device authentication or subject identification | |
Galdi et al. | Multimodal authentication on smartphones: Combining iris and sensor recognition for a double check of user identity | |
CN108182409B (zh) | 活体检测方法、装置、设备及存储介质 | |
Killioğlu et al. | Anti-spoofing in face recognition with liveness detection using pupil tracking | |
CN107590430A (zh) | 活体检测方法、装置、设备及存储介质 | |
US9965494B2 (en) | Sharing photos | |
US10922399B2 (en) | Authentication verification using soft biometric traits | |
CN111539249A (zh) | 多因子人脸活体检测***和方法 | |
CN111666835A (zh) | 一种人脸活体检测方法和装置 | |
Farrukh et al. | FaceRevelio: a face liveness detection system for smartphones with a single front camera | |
CN111767879A (zh) | 一种活体检测方法 | |
Anthony et al. | A review of face anti-spoofing methods for face recognition systems | |
RU2316051C2 (ru) | Способ и система автоматической проверки присутствия лица живого человека в биометрических системах безопасности | |
Zuo et al. | Face liveness detection algorithm based on livenesslight network | |
Samangooei et al. | On acquisition and analysis of a dataset comprising of gait, ear and semantic data | |
Qi et al. | A real-time face detection method based on blink detection | |
Song et al. | Video understanding-based random hand gesture authentication | |
CN114299569A (zh) | 一种基于眼球运动的安全人脸认证方法 | |
Ma et al. | Multi-perspective dynamic features for cross-database face presentation attack detection | |
Shen et al. | Iritrack: Face presentation attack detection using iris tracking | |
Yaseen et al. | A novel approach based on multi-level bottleneck attention modules using self-guided dropblock for person re-identification | |
Benlamoudi | Multi-modal and anti-spoofing person identification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |