一种身份验证方法及装置与流程

文档序号:11520249阅读:245来源:国知局
一种身份验证方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种身份验证方法及装置。



背景技术:

随着终端技术的不断发展及普及,终端中的应用也在不断增加,而一些应用由于涉及用户的大量隐私,为保证信息安全性,在使用过程中需要进行登录操作,以确认用户身份。

目前,常见的用户登录方法主要为账号密码登录,这种登录方式需要用户在每次登陆时,手动输入账号密码,操作繁琐,针对这一问题,业界提出了基于人脸识别技术的人脸登录方法,其中,人脸识别技术是基于人的脸部特征信息进行身份识别的一种生物识别技术,该人脸登录方法主要是利用终端的摄像机或摄像头采集人脸图像,之后将该人脸图像与模板图像进行匹配,匹配成功则表明用户身份验证成功,可进入登录页面,免去了用户手动输入账号密码的繁琐,方法简单。然而,现有的身份验证方法存在一定的安全隐患,恶意用户可以通过多种非法手段(如通过社交网络获取静态相片、视频截取、偷拍等)获取用户的脸部图像来完成身份验证,安全性低,对用户的个人隐私或财产安全造成严重威胁。



技术实现要素:

本发明的目的在于提供一种身份验证方法及装置,以解决现有身份验证方法安全性低的技术问题。

为解决上述技术问题,本发明实施例提供以下技术方案:

一种身份验证方法,包括:

向待验证对象提供动作提示信息;

获取所述待验证对象的视频流数据,所述视频流数据为所述待验证对象根据所述动作提示信息做出相应动作时采集的连续帧人脸图像;

根据所述视频流数据确定目标人脸图像;

根据所述目标人脸图像确定所述待验证对象为活体的可信度;

根据所述可信度和目标人脸图像对所述待验证对象进行身份验证。

为解决上述技术问题,本发明实施例还提供以下技术方案:

一种身份验证装置,包括:

提供模块,用于向待验证对象提供动作提示信息;

获取模块,用于获取所述待验证对象的视频流数据,所述视频流数据为所述待验证对象根据所述动作提示信息做出相应动作时采集的连续帧人脸图像;

第一确定模块,用于根据所述视频流数据确定目标人脸图像;

第二确定模块,用于根据所述目标人脸图像确定所述待验证对象为活体的可信度;

验证模块,用于根据所述可信度和目标人脸图像对所述待验证对象进行身份验证。

本发明所述的身份验证方法及装置,通过向待验证对象提供动作提示信息,并获取所述待验证对象的视频流数据,所述视频流数据为所述待验证对象根据所述动作提示信息做出相应动作时采集的连续帧人脸图像,之后,根据所述视频流数据确定目标人脸图像,并根据所述目标人脸图像确定所述待验证对象为活体的可信度,之后,根据所述可信度和目标人脸图像对所述待验证对象进行身份验证,能在人脸识别过程中有效阻挡照片、视频和人头模型等各种类型的攻击,方法简单,安全性高。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1为本发明实施例提供的身份验证方法的流程示意图;

图2a为本发明实施例提供的身份验证方法的流程示意图;

图2b为本发明实施例提供的会议签到系统中用户身份验证的流程示意图

图3a为本发明实施例提供的身份验证装置的结构示意图;

图3b为本发明实施例提供的另一身份验证装置的结构示意图;

图3c为本发明实施例提供的验证子模块的结构示意图;

图4为本发明实施例提供的网络设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种身份验证方法、装置及系统。以下分别进行详细说明。需说明的是,以下实施例的编号并不作为对实施例优选顺序的限定。

第一实施例

本实施例将从身份验证装置的角度进行描述,该身份验证装置具体可以作为独立的实体来实现,也可以集成网络设备,比如终端或服务器中来实现。

一种身份验证方法,包括:向待验证对象提供动作提示信息,并获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像,之后,根据该视频流数据确定目标人脸图像,并根据该目标人脸图像确定该待验证对象为活体的可信度,之后,根据该可信度和目标人脸图像对该待验证对象进行身份验证。

如图1所示,该身份验证方法的具体流程可以如下:

s101、向待验证对象提供动作提示信息。

本实施例中,该动作提示信息主要用于提示用户做一些指定的动作,比如摇头或眨眼等,其可以通过提示框或提示界面等形式进行显示。当用户点击交互界面上的某个按钮,比如“刷脸登陆”时,可以触发该动作提示信息的提供操作。

s102、获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像。

本实施例中,该视频流数据可以是规定时间内(比如一分钟)采集的的一段视频,其主要针对的是用户脸部的图像数据,具体可以通过摄像头等视频采集设备进行采集。

s103、根据该视频流数据确定目标人脸图像。

例如,上述步骤s103具体可以包括:

1-1、获取该视频流数据中每一帧人脸图像的关键点集、以及该关键点集中每一关键点的位置信息。

本实施例中,该关键点集中的关键点主要指人脸图像中的特征点,也即图像灰度值发生剧烈变化的点,或者在图像边缘上曲率较大的点(即两个边缘的交点),比如眼睛、眉毛、鼻子、嘴巴和脸部外轮廓等。具体可以通过一些深度学习模型,比如asm(activeshapemodel,主动形状模型)或aam(activeappearancemodel,主动外观模型)等进行关键点的提取操作。该位置信息主要是针对某一参考坐标系(比如终端显示的人脸采集界面)的二维坐标。

1-2、根据每一帧人脸图像的关键点集和位置信息确定该待验证对象的运动轨迹。

本实施例中,该运动轨迹主要指待验证对象根据该动作提示信息做出相应动作时,整个人脸或者局部区域从开始动作到结束动作所形成的路线,比如眨眼轨迹、摇头轨迹等等。具体的,可以先根据每一帧人脸图像中一些重要关键点(比如眼睛、嘴角、脸颊边缘和鼻子等)的位置变化信息、以及这些重要关键点彼此之间的夹角和相对距离来确定该待验证对象的三维人脸模型,并得到每一关键点的三维坐标,之后,根据任一关键点的三维坐标确定该运动轨迹。

1-3、根据该运动轨迹从该视频流数据中确定目标人脸图像。

例如,上述步骤1-3具体可以包括:

判断该运动轨迹是否满足预设条件;

若是,则从该视频流数据中选取预设轨迹点对应的人脸图像,作为目标人脸图像;

若否,则生成指示该待验证对象为非法用户的验证结果。

本实施例中,该预设条件主要依据人体动作特点而定,考虑到人体动作具有连贯性,该预设条件可以设定为:该运动轨迹中包含多个指定轨迹点,比如5°偏向角点、15°偏向角点和30°偏向角点等,或者,该预设条件可以设定为:该运动轨迹中的轨迹点数量达到一定值,比如10个。该预设轨迹点可以根据实际需求而定,比如,考虑到人脸图像上的关键点越多,所得结论越准确,故可以选取0°偏向角点作为该预设轨迹点,也即选取正面人脸图像作为该目标人脸图像。当然,考虑到用户可能并非从0°偏向角点开始采集,该预设轨迹点可以为包括0°偏向角点在内的某个较小区间范围的点,而非单个点。

该非法用户主要存在两种:未知活体用户和虚拟用户,该未知活体用户主要指未在系统平台上进行注册或认证的活体用户,该虚拟用户主要指一些不法分子利用合法用户的单张照片或视频或者人头模型伪造而成(也即屏幕翻拍而成)的伪活体用户。具体的,当该运动轨迹满足指定条件时,说明该目标人脸图像并非单张照片或多张照片翻拍而成,此时,需要进一步根据图片纹理特点确认该目标人脸图像是否是通过视频翻拍或者人头模型伪造而成的。当该运动轨迹不满足指定条件,比如轨迹点只有少量的两三个时,则说明该待验证对象极有可能是通过翻拍用户的单张照片或多张照片伪造而成的伪活体用户,此时,可以直接判定为非法用户,并提示用户重新进行检测。

s104、根据该目标人脸图像确定该待验证对象为活体的可信度。

本实施例中,该可信度主要指该待验证对象为活体的可信程度,其可以表现为概率值或者分数值的形式。由于经屏幕翻拍而成的图片的纹理和正常图片的纹理不同,故可以通过对该目标人脸图像进行特征分析来确定该待验证用户的可信度,也即,上述步骤s104具体可以包括:

2-1、从该目标人脸图像的关键点集中确定至少一个目标关键点。

本实施例中,该目标关键点主要包括一些相对位置比较稳定且具有明显区分特征的特征点,比如左右两个瞳孔、左右两个嘴角以及鼻尖,等等,具体可以根据实际需求而定。

2-2、根据该目标关键点的位置信息和目标人脸图像确定归一化图像。

例如,上述步骤2-2具体可以包括:

获取每一目标关键点的预设位置;

计算每一预设位置和相应的位置信息之间的欧氏距离;

根据该欧氏距离对该目标人脸图像进行相似变换,得到归一化图像。

本实施例中,该预设位置可以根据标准人脸模型得到,该欧氏距离指每一目标关键点对应的预设位置和位置信息之间的距离。该相似变换可以包括旋转、平移和缩放等操作,通常,相似变换前的图像和相似变换后的图像具有相同的图形,也即所包含的图形形状不变。具体的,通过不断调整目标人脸图像的大小、旋转角度和坐标位置,可以使该目标关键点的预设位置和相应的位置信息之间的距离最小化,也即将该目标人脸图像归一化到标准人脸模型,得到归一化图像。

2-3、利用预设分类模型对该归一化图像进行计算,得到该待验证对象为活体的可信度。

本实施例中,该预设分类模型主要指训练好的深度神经网络,其可以由一些深度训练模型,比如cnn(convolutionalneuralnetworks,卷积神经网络)训练得到,其中,cnn是一种多层神经网络,由输入层、卷积层、池化层、全连接层和输出层组成,其支持将多维输入向量的图像直接输入网络,避免了特征提取和分类过程中数据的重建,极大降低了图像处理的复杂度。当将归一化图像输入cnn网络中时,信息会从输入层经过逐级的变换,传输到输出层,cnn网络执行的计算过程实际上就是将输入(归一化图像)与每层的权值矩阵相点乘,从而得到最终输出(也即该待验证对象的可信度)的过程。

容易理解的是,该预设分类模型需要提前根据样本和分类信息进行训练得到,也即,在利用预设分类模型对该归一化图像进行计算之前,该身份验证方法还可以包括:

获取预设人脸图像集、以及该预设人脸图集中每一预设人脸图像的类别信息;

根据该预设图像集和类别信息对卷积神经网络进行训练,得到预设分类模型。

本实施例中,由于该预设分类模型主要用于辨别该待验证用户是否是由屏幕翻拍伪造而成的虚拟用户,故该预设人脸图像集可以包括屏幕翻拍照片样本(负样本)以及正常照片样本(正样本),具体样本数量可以根据实际需求而定。该类别信息通常由人工标注而成,其可以包括翻拍照片和正常照片这两种。

该训练过程主要包括两个阶段:前向传播阶段和后向传播阶段,在前向传播阶段中,可以将每一样本xi(也即预设人脸图像)输入n层卷积神经网络中,得到实际输出oi,其中,oi=fn(…(f2(f1(xiw(1))w(2))...)w(n)),i为正整数,w(n)为第n层的权值,f为激活函数(比如sigmoid函数或者双曲线正切函数),通过向卷积神经网络输入该预设人脸图像集,可以得到权值矩阵,之后,在后向传播阶段,可以计算每一实际输出oi和理想输出yi的差,按极小化误差的方法反向传播调整权值矩阵,其中,yi是根据样本xi的类别信息得到的,比如,若样本xi为正常照片,则yi可以设为1,若样本xi为翻拍照片,则yi可以设为0,最后,根据调整后的权值矩阵确定训练好的卷积神经网络,也即该预设分类模型。

s105、根据该可信度和目标人脸图像对该待验证对象进行身份验证。

例如,上述步骤s105具体可以包括:

判断该可信度是否大于第一预设阈值;

若是,则根据目标人脸图像对该待验证对象进行身份验证;

若否,则生成指示该待验证对象为非法用户的验证结果。

本实施例中,该第一预设阈值可以根据实际应用领域而定,比如,当该身份验证方法主要应用于对安全性要求较高的金融领域时,该第一预设阈值可以设置的比较大,譬如0.9,当该身份验证方法主要应用于类似会议签到系统等这些对安全性要求相对较低的领域时,该第一预设阈值可以设置的比较小,比如0.5。

具体的,当计算出的可信度小于或等于该第一预设阈值时,说明该待验证对象极有可能是屏幕翻拍而成的虚拟用户,此时,为减少误判率,可以提示用户重新进行人脸图像采集。当计算出的可信度大于该第一预设阈值时,说明该待验证对象极有可能是活体用户,此时,需要进一步分析该活体用户是未知活体用户,还是已注册或认证的活体用户,也即,上述步骤“根据目标人脸图像对该待验证对象进行身份验证”具体可以包括:

3-1、根据该目标人脸图像的关键点集将目标人脸图像划分成多个人脸区域。

本实施例中,该人脸区域主要指五官区域,比如眼睛、嘴巴、鼻子、眉毛以及脸颊等,其主要基于各关键点之间的相对位置关系来对目标人脸图像进行分割。

3-2、根据该多个人脸区域确定目标特征信息。

例如,上述步骤3-2具体可以包括:

对该人脸区域进行特征提取操作,得到多条特征信息,每一人脸区域对应一条特征信息;

对该多条特征信息进行重组,得到目标特征信息。

本实施例中,可以通过深度学习网络对人脸区域进行特征提取,并将提取出的特征进行重组,得到特征串(也即该目标特征信息),由于不同人脸区域对应的几何模型不同,为提高提取效率和精准性,可以采用不同的深度学习网络对不同的人脸区域进行提取。

3-3、根据该目标特征信息对该待验证对象进行身份验证。

例如,上述步骤3-3具体可以包括:

3-3-1、获取已存储特征信息集、以及该已存储特征信息集中每一已存储特征信息对应的用户标识。

本实施例中,该用户标识是用户的唯一识别标志,其可以包括注册账号。该已存储特征信息集包括至少一条已存储特征信息,不同的已存储特征信息是根据不同注册用户的人脸图像得到的。实际应用过程中,需要预先将每一注册用户的用户标识和已存储特征信息进行关联,也即,在上述步骤3-3-1之前,该身份验证方法还可以包括:

获取用户注册请求,该用户注册请求携带待注册用户标识和待注册人脸图像;

根据该待注册人脸图像确定待注册特征信息;

将该待注册特征信息和待注册用户标识进行关联,并将该待注册特征信息添入已存储特征信息集。

本实施例中,可以利用步骤3-1和3-2中所涉及的方法对该待注册人脸图像进行处理,得到该待注册特征信息。该用户注册请求可以是自动触发生成的,比如当采集完用户的人脸图像之后,可以自动生成该用户注册请求,也可以是用户触发生成的,比如当用户点击“完成”按钮时,可以生成该用户注册请求,具体可以根据实际需求而定。该待注册人脸图像可以是现场采集的,也可以是用户提前拍摄好后上传的。

3-3-2、利用预设算法计算每一已存储特征信息和目标特征信息之间的相似度。

本实施例中,该预设算法可以包括联合贝叶斯算法,其是统计学的一种分类方法,主要思想是将一副人脸看做两部分构成,一部分是人与人之间的差异,另一部分是个体自身的差异(比如表情变动),根据这两部分的差异计算总体相似度。

3-3-3、根据该相似度和对应的用户标识对该待验证对象进行身份验证。

例如,上述步骤3-3-3具体可以包括:

判断计算出的所有相似度中是否存在不小于第二预设阈值的相似度;

若存在,则将该不小于第二预设阈值的相似度对应的用户标识作为目标用户标识,并生成指示该待验证对象为该目标用户标识的验证结果;

若不存在,则生成指示该待验证对象为非法用户的验证结果。

本实施例中,该第二预设阈值可以根据实际需求而定,比如可以预先采集大量用户的人脸图像,每一用户采集两张人脸图像,之后,根据每一用户采集的两张人脸图像计算对应的相似度,并统计其平均值,将其平均值作为该第二预设阈值,一般来说,由于个体自身的差异,同一用户在不同时间拍摄的两张人脸图像的相似度通常略小于1,从而该第二预设阈值也可以设置成略小于1,比如0.8。

需要指出的是,当生成指示该待验证对象为目标用户标识的验证结果时,说明该活体用户是已注册或认证的活体用户,此时,可以直接根据该目标用户标识进行登陆,无需用户手动输入密码和账号,方法简单,方便快捷。

由上述可知,本实施例提供的身份验证方法,通过向待验证对象提供动作提示信息,并获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像,之后,根据该视频流数据确定目标人脸图像,并根据该目标人脸图像确定该待验证对象为活体的可信度,之后,根据该可信度和目标人脸图像对该待验证对象进行身份验证,能在人脸识别过程中有效阻挡照片、视频和人头模型等各种类型的攻击,方法简单,安全性高。

第二实施例

根据实施例一所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以身份验证装置集成在网络设备中为例进行详细说明。

如图2a所示,一种身份验证方法,具体流程可以如下:

s201、网络设备获取用户注册请求,该用户注册请求携带待注册用户标识和待注册人脸图像。

譬如,在用户首次注册某应用系统(比如会议签到系统)时,可以要求该用户提供待注册账号和待注册人脸图像,该待注册人脸图像可以是现场采集的,也可以是用户提前拍摄好后上传的,之后,当用户点击“完成”按钮时,可以生成该用户注册请求。

s202、网络设备根据该待注册人脸图像确定待注册特征信息,之后,将该待注册特征信息和待注册用户标识进行关联,并将该待注册特征信息添入已存储特征信息集。

譬如,可以对该待注册人脸图像进行关键点提取,并根据提取出的关键点将该待注册人脸图像分割成多个区域,之后利用多个深度学习网络对分割的区域进行特征提取,并将这些特征进行重组,得到该待注册特征信息。通过将每一注册用户的用户标识和特征信息进行关联存储,从而后续在登录过程中,网络设备可以根据这些存储信息对用户身份进行验证。

s203、网络设备获取登陆请求,并根据该登陆请求向待验证对象提供动作提示信息。

譬如,请参见图2b,当待验证对象点击交互界面上的“刷脸登陆”按钮时,可以生成该登录请求,此时,该交互界面上可以显示一个动作提示框,以提示该待验证对象做出指定动作,比如摇头等。

s204、网络设备获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像。

譬如,该视频流数据可以是规定时间内(比如1分钟)采集的人脸数据。在实际采集过程中,交互界面上可以显示一个检测框,并提示用户将人脸放入检测框中,以引导用户站立在合适的位置进行视频流数据的采集。

s205、网络设备获取该视频流数据中每一帧人脸图像的关键点集、以及该关键点集中每一关键点的位置信息。

譬如,可以通过asm算法来提取每一帧人脸图像的关键点集,该关键点集中可以包括如眼睛、眉毛、鼻子、嘴巴和脸部外轮廓等在内的88个关键点。该位置信息可以是每一关键点在检测框中的显示坐标,当用户的人脸位于该检测框中时,可以自动定位出每一关键点的显示坐标。

s206、网络设备根据每一帧人脸图像的关键点集和位置信息确定该待验证对象的运动轨迹。

譬如,可以先根据如眼睛、嘴角和鼻子等这些重要关键点的位置变化信息,以及这些重要关键点彼此之间的夹角和相对距离等信息确定该待验证对象的三维人脸模型,并得到每一关键点的三维坐标,之后,根据任一关键点的三维坐标确定该运动轨迹。

s207、网络设备判断该运动轨迹是否满足预设条件,若是,则执行下述步骤s208,若否,则可以生成指示该待验证对象为非法用户的验证结果,并返回执行上述步骤s203。

譬如,若该预设条件为:包含5°偏向角点、10°偏向角点、15°偏向角和30°偏向角点,当该运动轨迹为用户的头部由正面(也即0°)旋转40°形成的,也即运动轨迹中包含0~40°的偏向角点时,可以判定满足预设条件。当该运动轨迹为用户的头部由正面(也即0°)旋转15°形成的,也即运动轨迹中只包含0~15°的偏向角点时,可以判定不满足预设条件,此时,可以进一步提示用户验证失败,并告知失败原因,比如当前照片不符合要求等,以便用户重新拍摄。

s208、网络设备从该视频流数据中选取预设轨迹点对应的人脸图像,作为目标人脸图像。

譬如,该预设轨迹点可以为0°偏向角点,此时,该目标人脸图像也即该视频流数据中0°偏向角点对应的人脸图像。

s209、网络设备从该目标人脸图像的关键点集中确定至少一个目标关键点,并根据该目标关键点的位置信息和目标人脸图像确定归一化图像。

例如,上述步骤s209具体可以包括:

获取每一目标关键点的预设位置;

计算每一预设位置和相应的位置信息之间的欧氏距离;

根据该欧氏距离对该目标人脸图像进行相似变换,得到归一化图像。

譬如,该目标关键点可以为左右两个瞳孔、左右两个嘴角以及鼻尖这五个点,该预设位置可以是标准人脸模型中这五个点针对于同一参考坐标系的二维坐标。通过将目标人脸图像和标准人脸模型放置在同一个参考坐标系中,并经由旋转、平移和缩放等相似变换方式对该目标人脸图像进行调整,使该目标人脸图像中的这五个点尽量靠近标准人脸模型中的相应点,可以实现该目标人脸图像的归一化处理,得到归一化图像。

s210、网络设备利用预设分类模型对该归一化图像进行计算,得到该待验证对象为活体的可信度,并判断该可信度是否大于第一预设阈值,若是,则执行下述步骤s211,若否,则可以生成指示该待验证对象为非法用户的验证结果,并返回执行上述步骤s203。

譬如,该预设分类模型可以是提前利用大量的屏幕翻拍照片样本(负样本)以及正常照片样本(正样本)对cnn训练得到的。当将归一化图像输入训练好的cnn中时,图像信息会从输入层经过逐级的变换,传输到输出层,最后经由输出层输出的是一个概率值,也即该可信度。该第一预设阈值可以为0.5,此时,若可信度为0.7,则可以判定为是,若可信度为0.3,则可以判定为否。

s211、网络设备根据该目标人脸图像的关键点集将目标人脸图像划分成多个人脸区域,并根据该多个人脸区域确定目标特征信息。

譬如,可以基于各关键点之间的相对位置关系来对目标人脸图像进行分割,得到包括如眼睛、嘴巴、鼻子、眉毛以及脸颊等在内的多个人脸区域,之后,通过不同的深度学习网络对不同的人脸区域进行特征提取,并将提取的特征进行重组,得到该目标特征信息。

s212、网络设备利用预设算法计算该已存储特征信息集中每一已存储特征信息和目标特征信息之间的相似度,并判断计算出的所有相似度中是否存在不小于第二预设阈值的相似度,若是,则执行下述步骤s213,若否,则可以生成指示该待验证对象为非法用户的验证结果,并返回执行上述步骤s203。

譬如,可以通过联合贝叶斯算法计算每一已存储特征信息和目标特征信息之间的相似度,得到多个相似度{a1、a2...an},此时,若{a1、a2...an}中存在ai大于或等于该第二预设阈值,则可以判定为是,若不存在,则可以判定为否,其中,i∈(1、2...n),当判定为否时,可以进一步提示用户验证失败,并告知失败原因,比如无法查找到此用户等等。

s213、网络设备将该不小于第二预设阈值的相似度对应的用户标识作为目标用户标识,并生成指示该待验证对象为该目标用户标识的验证结果。

譬如,可以将相似度ai对应的用户标识(也即该目标用户标识)作为该待验证对象的身份验证结果,该结果可以通过提示信息的形式向用户显示,以告知用户登录成功。

由上述可知,本实施例提供的身份验证方法,其中网络设备通过获取用户注册请求,该用户注册请求携带待注册用户标识和待注册人脸图像,并根据该待注册人脸图像确定待注册特征信息,之后,将该待注册特征信息和待注册用户标识进行关联,并将该待注册特征信息添入已存储特征信息集,接着,获取登陆请求,并根据该登陆请求向待验证对象提供动作提示信息,之后,获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像,并获取该视频流数据中每一帧人脸图像的关键点集、以及该关键点集中每一关键点的位置信息,之后,根据每一帧人脸图像的关键点集和位置信息确定该待验证对象的运动轨迹,并判断该运动轨迹是否满足预设条件,若否,则可以生成指示该待验证对象为非法用户的验证结果,若是,则从该视频流数据中选取预设轨迹点对应的人脸图像,作为目标人脸图像,之后,从该目标人脸图像的关键点集中确定至少一个目标关键点,并根据该目标关键点的位置信息和目标人脸图像确定归一化图像,接着,利用预设分类模型对该归一化图像进行计算,得到该待验证对象为活体的可信度,并判断该可信度是否大于第一预设阈值,若是,则据该目标人脸图像的关键点集将目标人脸图像划分成多个人脸区域,并根据该多个人脸区域确定目标特征信息,之后,利用预设算法计算该已存储特征信息集中每一已存储特征信息和目标特征信息之间的相似度,并判断计算出的所有相似度中是否存在不小于第二预设阈值的相似度,若是,将该不小于第二预设阈值的相似度对应的用户标识作为目标用户标识,并生成指示该待验证对象为该目标用户标识的验证结果,从而能在人脸识别过程中有效阻挡照片、视频和人头模型等各种类型的攻击,方法简单,安全性高,并且无需用户手动输入密码和账号即可实现身份验证,方便快捷。

第三实施例

根据实施例一和实施例二所描述的方法,本实施例将从身份验证装置的角度进一步进行描述,该身份验证装置可以集成在网络设备中。

请参阅图3a,图3a具体描述了本发明第三实施例提供的身份验证装置,其可以包括:提供模块10、获取模块20、第一确定模块30、第二确定模块40和验证模块50,其中:

(1)提供模块10

提供模块10,用于向待验证对象提供动作提示信息。

本实施例中,该动作提示信息主要用于提示用户做一些指定的动作,比如摇头或眨眼等,其可以通过提示框或提示界面等形式进行显示。当用户点击交互界面上的某个按钮,比如“刷脸登陆”时,可以触发提供模块10提供该动作提示信息。

(2)获取模块20

获取模块20,用于获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像。

本实施例中,该视频流数据可以是规定时间内(比如一分钟)采集的的一段视频,其主要针对的是用户脸部的图像数据,获取模块20可以通过摄像头等视频采集设备进行采集。

(3)第一确定模块30

第一确定模块30,用于根据该视频流数据确定目标人脸图像。

例如,该第一确定模块30具体可以用于:

1-1、获取该视频流数据中每一帧人脸图像的关键点集、以及该关键点集中每一关键点的位置信息。

本实施例中,该关键点集中的关键点主要指人脸图像中的特征点,也即图像灰度值发生剧烈变化的点,或者在图像边缘上曲率较大的点(即两个边缘的交点),比如眼睛、眉毛、鼻子、嘴巴和脸部外轮廓等。第一确定模块30可以通过一些深度学习模型,比如asm(activeshapemodel,主动形状模型)或aam(activeappearancemodel,主动外观模型)等进行关键点的提取操作。该位置信息主要是针对某一参考坐标系(比如终端显示的人脸采集界面)的二维坐标。

1-2、根据每一帧人脸图像的关键点集和位置信息确定该待验证对象的运动轨迹。

本实施例中,该运动轨迹主要指待验证对象根据该动作提示信息做出相应动作时,整个人脸或者局部区域从开始动作到结束动作所形成的路线,比如眨眼轨迹、摇头轨迹等等。具体的,第一确定模块30可以先根据每一帧人脸图像中一些重要关键点(比如眼睛、嘴角、脸颊边缘和鼻子等)的位置变化信息、以及这些重要关键点彼此之间的夹角和相对距离来确定该待验证对象的三维人脸模型,并得到每一关键点的三维坐标,之后,根据任一关键点的三维坐标确定该运动轨迹。

1-3、根据该运动轨迹从该视频流数据中确定目标人脸图像。

例如,上述步骤1-3具体可以包括:

判断该运动轨迹是否满足预设条件;

若是,则从该视频流数据中选取预设轨迹点对应的人脸图像,作为目标人脸图像;

若否,则生成指示该待验证对象为非法用户的验证结果。

本实施例中,该预设条件主要依据人体动作特点而定,考虑到人体动作具有连贯性,该预设条件可以设定为:该运动轨迹中包含多个指定轨迹点,比如5°偏向角点、15°偏向角点和30°偏向角点等,或者,该预设条件可以设定为:该运动轨迹中的轨迹点数量达到一定值,比如10个。该预设轨迹点可以根据实际需求而定,比如,考虑到人脸图像上的关键点越多,所得结论越准确,故可以选取0°偏向角点作为该预设轨迹点,也即选取正面人脸图像作为该目标人脸图像。当然,考虑到用户可能并非从0°偏向角点开始采集,该预设轨迹点可以为包括0°偏向角点在内的某个较小区间范围的点,而非单个点。

该非法用户主要存在两种:未知活体用户和虚拟用户,该未知活体用户主要指未在系统平台上进行注册或认证的活体用户,该虚拟用户主要指一些不法分子利用合法用户的单张照片或视频或者人头模型伪造而成(也即屏幕翻拍而成)的伪活体用户。具体的,当该运动轨迹满足指定条件时,说明该目标人脸图像并非单张照片或多张照片翻拍而成,此时,需要进一步根据图片纹理特点确认该目标人脸图像是否是通过视频翻拍或者人头模型伪造而成的。当该运动轨迹不满足指定条件,比如轨迹点只有少量的两三个时,则说明该待验证对象极有可能是通过翻拍用户的单张照片或多张照片伪造而成的伪活体用户,此时,可以直接判定为非法用户,并提示用户重新进行检测。

(4)第二确定模块40

第二确定模块40,用于根据该目标人脸图像确定该待验证对象为活体的可信度。

本实施例中,该可信度主要指该待验证对象为活体的可信程度,其可以表现为概率值或者分数值的形式。由于经屏幕翻拍而成的图片的纹理和正常图片的纹理不同,故第二确定模块40可以通过对该目标人脸图像进行特征分析来确定该待验证用户的可信度,也即,请参阅图3b,该第二确定模块40具体可以包括第一确定子模块41、第二确定子模块42和计算子模块43,其中:

第一确定子模块41,用于从该目标人脸图像的关键点集中确定至少一个目标关键点。

本实施例中,该目标关键点主要包括一些相对位置比较稳定且具有明显区分特征的特征点,比如左右两个瞳孔、左右两个嘴角以及鼻尖,等等,具体可以根据实际需求而定。

第二确定子模块42,用于根据该目标关键点的位置信息和目标人脸图像确定归一化图像。

例如,该第二确定子模块42具体可以用于:

获取每一目标关键点的预设位置;

计算每一预设位置和相应的位置信息之间的欧氏距离;

根据该欧氏距离对该目标人脸图像进行相似变换,得到归一化图像。

本实施例中,该预设位置可以根据标准人脸模型得到,该欧氏距离指每一目标关键点对应的预设位置和位置信息之间的距离。该相似变换可以包括旋转、平移和缩放等操作,通常,相似变换前的图像和相似变换后的图像具有相同的图形,也即所包含的图形形状不变。具体的,第二确定子模块42通过不断调整目标人脸图像的大小、旋转角度和坐标位置,可以使该目标关键点的预设位置和相应的位置信息之间的距离最小化,也即将该目标人脸图像归一化到标准人脸模型,得到归一化图像。

计算子模块43,用于利用预设分类模型对该归一化图像进行计算,得到该待验证对象为活体的可信度。

本实施例中,该预设分类模型主要指训练好的深度神经网络,其可以由一些深度训练模型,比如cnn(convolutionalneuralnetworks,卷积神经网络)训练得到,其中,cnn是一种多层神经网络,由输入层、卷积层、池化层、全连接层和输出层组成,其支持将多维输入向量的图像直接输入网络,避免了特征提取和分类过程中数据的重建,极大降低了图像处理的复杂度。当将归一化图像输入cnn网络中时,信息会从输入层经过逐级的变换,传输到输出层,cnn网络执行的计算过程实际上就是将输入(归一化图像)与每层的权值矩阵相点乘,从而得到最终输出(也即该待验证对象的可信度)的过程。

容易理解的是,该预设分类模型需要提前根据样本和分类信息进行训练得到,也即,该身份验证装置还可以包括训练模块60,用于:

在该计算子模块43利用预设分类模型对该归一化图像进行计算之前,获取预设人脸图像集、以及该预设人脸图集中每一预设人脸图像的类别信息;

根据该预设图像集和类别信息对卷积神经网络进行训练,得到预设分类模型。

本实施例中,由于该预设分类模型主要用于辨别该待验证用户是否是由屏幕翻拍伪造而成的虚拟用户,故该预设人脸图像集可以包括屏幕翻拍照片样本(负样本)以及正常照片样本(正样本),具体样本数量可以根据实际需求而定。该类别信息通常由人工标注而成,其可以包括翻拍照片和正常照片这两种。

该训练过程主要包括两个阶段:前向传播阶段和后向传播阶段,在前向传播阶段中,训练模块60可以将每一样本xi(也即预设人脸图像)输入n层卷积神经网络中,得到实际输出oi,其中,oi=fn(…(f2(f1(xiw(1))w(2))...)w(n)),i为正整数,w(n)为第n层的权值,f为激活函数(比如sigmoid函数或者双曲线正切函数),通过向卷积神经网络输入该预设人脸图像集,可以得到权值矩阵,之后,在后向传播阶段,训练模块60可以计算每一实际输出oi和理想输出yi的差,按极小化误差的方法反向传播调整权值矩阵,其中,yi是根据样本xi的类别信息得到的,比如,若样本xi为正常照片,则yi可以设为1,若样本xi为翻拍照片,则yi可以设为0,最后,根据调整后的权值矩阵确定训练好的卷积神经网络,也即该预设分类模型。

(5)验证模块50

验证模块50,用于根据该可信度和目标人脸图像对该待验证对象进行身份验证。

例如,该验证模块50具体可以包括判断子模块51、验证子模块52和生成子模块53,其中:

判断子模块51,用于判断该可信度是否大于第一预设阈值。

本实施例中,该第一预设阈值可以根据实际应用领域而定,比如,当该身份验证方法主要应用于对安全性要求较高的金融领域时,该第一预设阈值可以设置的比较大,譬如0.9,当该身份验证方法主要应用于类似会议签到系统等这些对安全性要求相对较低的领域时,该第一预设阈值可以设置的比较小,比如0.5。

验证子模块52,用于若该可信度大于第一预设阈值,则根据目标人脸图像对该待验证对象进行身份验证。

本实施例中,当计算出的可信度大于该第一预设阈值时,说明该待验证对象极有可能是活体用户,此时,验证子模块52需要进一步分析该活体用户是未知活体用户,还是已注册或认证的活体用户,也即,请参阅图3c,该验证子模块52具体可以包括划分单元521、确定单元522和验证单元523,其中:

划分单元521,用于根据该目标人脸图像的关键点集将目标人脸图像划分成多个人脸区域。

本实施例中,该人脸区域主要指五官区域,比如眼睛、嘴巴、鼻子、眉毛以及脸颊等,其主要基于各关键点之间的相对位置关系来对目标人脸图像进行分割。

确定单元522,用于根据该多个人脸区域确定目标特征信息。

例如,该确定单元522具体可以用于:

对该人脸区域进行特征提取操作,得到多条特征信息,每一人脸区域对应一条特征信息;

对该多条特征信息进行重组,得到目标特征信息。

本实施例中,确定单元522可以通过深度学习网络对人脸区域进行特征提取,并将提取出的特征进行重组,得到特征串(也即该目标特征信息),由于不同人脸区域对应的几何模型不同,为提高提取效率和精准性,可以采用不同的深度学习网络对不同的人脸区域进行提取。

验证单元523,用于根据该目标特征信息对该待验证对象进行身份验证。

例如,该验证单元523具体可以用于:

3-3-1、获取已存储特征信息集、以及该已存储特征信息集中每一已存储特征信息对应的用户标识。

本实施例中,该用户标识是用户的唯一识别标志,其可以包括注册账号。该已存储特征信息集包括至少一条已存储特征信息,不同的已存储特征信息是根据不同注册用户的人脸图像得到的。

实际应用过程中,需要预先将每一注册用户的用户标识和已存储特征信息进行关联,也即,该身份验证装置还可以包括关联模块,用于:

在该验证单元523获取已存储特征信息集、以及该已存储特征信息集中每一已存储特征信息对应的用户标识之前,获取用户注册请求,该用户注册请求携带待注册用户标识和待注册人脸图像;

根据该待注册人脸图像确定待注册特征信息;

将该待注册特征信息和待注册用户标识进行关联,并将该待注册特征信息添入已存储特征信息集。

本实施例中,该关联模块可以参考划分单元521和确定单元522所使用的方法对该待注册人脸图像进行处理,得到该待注册特征信息。该用户注册请求可以是自动触发生成的,比如当采集完用户的人脸图像之后,可以自动生成该用户注册请求,也可以是用户触发生成的,比如当用户点击“完成”按钮时,可以生成该用户注册请求,具体可以根据实际需求而定。该待注册人脸图像可以是现场采集的,也可以是用户提前拍摄好后上传的。

3-3-2、利用预设算法计算每一已存储特征信息和目标特征信息之间的相似度。

本实施例中,该预设算法可以包括联合贝叶斯算法,其是统计学的一种分类方法,主要思想是将一副人脸看做两部分构成,一部分是人与人之间的差异,另一部分是个体自身的差异(比如表情变动),根据这两部分的差异计算总体相似度。

3-3-3、根据该相似度和对应的用户标识对该待验证对象进行身份验证。

进一步的,该验证单元523可以用于:

判断计算出的所有相似度中是否存在不小于第二预设阈值的相似度;

若存在,则将该不小于第二预设阈值的相似度对应的用户标识作为目标用户标识,并生成指示该待验证对象为该目标用户标识的验证结果;

若不存在,则生成指示该待验证对象为非法用户的验证结果。

本实施例中,该第二预设阈值可以根据实际需求而定,比如可以预先采集大量用户的人脸图像,每一用户采集两张人脸图像,之后,根据每一用户采集的两张人脸图像计算对应的相似度,并统计其平均值,将其平均值作为该第二预设阈值,一般来说,由于个体自身的差异,同一用户在不同时间拍摄的两张人脸图像的相似度通常略小于1,从而该第二预设阈值也可以设置成略小于1,比如0.8。

需要指出的是,当验证单元523生成指示该待验证对象为目标用户标识的验证结果时,说明该活体用户是已注册或认证的活体用户,此时,可以直接根据该目标用户标识进行登陆,无需用户手动输入密码和账号,方法简单,方便快捷。

生成子模块53,用于若该可信度不大于第一预设阈值,则生成指示该待验证对象为非法用户的验证结果。

本实施例中,当计算出的可信度小于或等于该第一预设阈值时,说明该待验证对象极有可能是屏幕翻拍而成的虚拟用户,此时,为减少误判率,可以提示用户重新进行人脸图像采集。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上述可知,本实施例提供的身份验证装置,通过提供模块10向待验证对象提供动作提示信息,获取模块20获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像,之后,第一确定模块30根据该视频流数据确定目标人脸图像,第二确定模块40根据该目标人脸图像确定该待验证对象为活体的可信度,之后,验证模块50根据该可信度和目标人脸图像对该待验证对象进行身份验证,能在人脸识别过程中有效阻挡照片、视频和人头模型等各种类型的攻击,方法简单,安全性高。

第四实施例

相应的,本发明实施例还提供一种身份验证系统,包括本发明实施例所提供的任一种身份验证装置,该身份验证装置具体可参见实施例三。

其中,网络设备可以向待验证对象提供动作提示信息;获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像;根据该视频流数据确定目标人脸图像;根据该目标人脸图像确定该待验证对象为活体的可信度;根据该可信度和目标人脸图像对该待验证对象进行身份验证。

以上各个设备的具体实施可参见前面的实施例,在此不再赘述。

由于该路况信息的生成系统可以包括本发明实施例所提供的任一种身份验证装置,因此,可以实现本发明实施例所提供的任一种身份验证装置所能实现的有益效果,详见前面的实施例,在此不再赘述。

第五实施例

相应的,本发明实施例还提供一种网络设备,如图4所示,其示出了本发明实施例所涉及的网络设备的结构示意图,具体来讲:

该网络设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、射频(radiofrequency,rf)电路703、电源704、输入单元705、以及显示单元707等部件。本领域技术人员可以理解,图4中示出的网络设备结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器701是该网络设备的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。

存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。

rf电路703可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器701处理;另外,将涉及上行的数据发送给基站。通常,rf电路703包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim)卡、收发信机、耦合器、低噪声放大器(lna,lownoiseamplifier)、双工器等。此外,rf电路703还可以通过无线通信与网络和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(gsm,globalsystemofmobilecommunication)、通用分组无线服务(gprs,generalpacketradioservice)、码分多址(cdma,codedivisionmultipleaccess)、宽带码分多址(wcdma,widebandcodedivisionmultipleaccess)、长期演进(lte,longtermevolution)、电子邮件、短消息服务(sms,shortmessagingservice)等。

网络设备还包括给各个部件供电的电源704(比如电池),优选的,电源704可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源704还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该网络设备还可包括输入单元705,该输入单元705可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元705可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器701,并能接收处理器701发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元705还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

该网络设备还可包括显示单元706,该显示单元706可用于显示由用户输入的信息或提供给用户的信息以及网络设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元706可包括显示面板,可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器701以确定触摸事件的类型,随后处理器701根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

尽管未示出,网络设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,网络设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:

向待验证对象提供动作提示信息;

获取该待验证对象的视频流数据,该视频流数据为该待验证对象根据该动作提示信息做出相应动作时采集的连续帧人脸图像;

根据该视频流数据确定目标人脸图像;

根据该目标人脸图像确定该待验证对象为活体的可信度;

根据该可信度和目标人脸图像对该待验证对象进行身份验证。

以上各操作的实现方法具体可参见上述实施例,此处不再赘述。

该网络设备可以实现本发明实施例所提供的任一种身份验证装置所能实现的有效效果,详见前面的实施例,在此不再赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

以上对本发明实施例所提供的一种身份验证方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上该,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1