一种活体验证方法及设备与流程

文档序号:12864187阅读:573来源:国知局
一种活体验证方法及设备与流程

本发明涉及人脸识别技术,具体涉及一种活体验证方法及设备。



背景技术:

目前,越来越多的身份验证系统采用人脸识别技术从而认证用户身份。特别是随着移动终端客户端的普及,越来越多的人脸验证系统代替传统的密码验证成为主流。但随着人脸识别技术的广泛应用,出现了各种方法冒充活体人脸以通过身份验证,例如通过照片、视频等欺骗性识别以通过身份验证;为了防范越来越多样、越来越具有欺骗性的攻击方式,身份验证系统中的活体人脸识别算法也越复杂,生成的应用容量也会越来越大。而移动终端客户端的存储空间有限从而无法容纳较大的活体验证算法;同时,处理器的处理能力偏弱使得数据处理的时间更长,这极大的限制了活体人脸验证系统在移动终端上的应用。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种活体验证方法及设备。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种活体验证方法,所述方法包括:

基于动作指令获得图像数据,解析所述图像数据,识别出所述图像数据中表征人脸所在位置的区域;

基于所述图像数据所包含的多帧图像中人脸所在位置的变化,跟踪所述区域;

抽取所述区域中的纹理特征;基于所述纹理特征计算表征姿态的参数;基于所述参数确定动作;

当所述动作与所述动作指令对应的动作匹配时,确定活体验证通过。

上述方案中,所述基于所述图像数据所包含的多帧图像中人脸所在位置的变化,跟踪所述区域,包括:

抽取所述多帧图像中的第一帧图像和第二帧图像,识别所述第一帧图像中表征人脸所在位置的第一区域,获得所述第一区域对应的第一坐标范围;

获得所述第二帧图像中与所述第一坐标范围对应的初始坐标范围;

计算所述初始坐标范围对应的偏移参数;

基于所述初始坐标范围以及对应的偏移参数获得第二坐标范围,记录所述第二坐标范围为跟踪后的表征人脸所在位置的区域;

其中,所述偏移参数表征所述第二坐标范围相对于所述第一坐标范围的偏移程度。

上述方案中,所述获得所述第二帧图像中与所述第一坐标范围对应的初始坐标范围,包括:

按预设步长在所述第一坐标范围对应的第一区域内选取第一组n个特征点,获得所述第一组n个特征点中第一特征点的第一坐标;n为正整数;其中,所述第一特征点为所述第一组n个特征点中的任一特征点;

获得所述第二帧图像中的第二组n个特征点,所述第二组n个特征点中第二特征点的第二坐标与所述第一组n个特征点中相对应的第一特征点的第一坐标相同;

基于所述第二组n个特征点中每个特征点的第二坐标确定初始坐标范围。

上述方案中,所述计算所述初始坐标范围对应的偏移参数,包括:

计算所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点的第一偏移参数;所述第一偏移参数表征坐标相同的所述第二特征点与所述第一特征点之间的差异程度;

基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,计算所述多个匹配特征点中每个匹配特征点的第二偏移参数;所述第二偏移参数表征所述匹配特征点与所述第二组n个特征点中、与所述匹配特征点相对应的第三特征点之间的偏移程度;

以及,计算所述多个匹配特征点中每个匹配特征点的第三偏移参数;所述第三偏移参数表征所述匹配特征点与所述第一组n个特征点中、与所述匹配特征点相对应的第四特征点之间的偏移程度;

根据所述第二偏移参数和所述第三偏移参数确定所述初始坐标范围对应的偏移参数。

上述方案中,所述计算所述多个匹配特征点中每个匹配特征点的第三偏移参数,包括:

分别从所述第二帧图像所包含的多个匹配特征点中提取多组第一特征点对;所述第一特征点对包括第一匹配特征点和第二匹配特征点,以及从所述第一帧图像中、与所述多个匹配特征点相对应的源特征点中提取多组第二特征点对,所述第二特征点对包括第一源特征点和第二源特征点;其中,所述第一匹配特征点和所述第二匹配特征点为所述多个匹配特征点中的任意两个特征点;

计算所述第一匹配特征点和所述第二匹配特征点之间的第一距离,以及计算所述第一源特征点和所述第二源特征点之间的第二距离;

获得所述第一距离和所述第二距离之间的相对参数;将所述相对参数记为所述第一匹配特征点和所述第二匹配特征点的第三偏移参数。

上述方案中,所述根据所述第二偏移参数和所述第三偏移参数确定所述初始坐标范围对应的偏移参数,包括:

将多个第二偏移参数按第一预设处理规则进行处理,获得特定偏移参数;

以及,将多个相对参数按第二预设处理规则进行处理,获得特定相对参数;

将所述特定偏移程度和所述特定相对参数作为所述初始坐标范围对应的偏移参数。

上述方案中,所述基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,包括:

基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定所述每个特征点对应的目标特征点,获得所述目标特征点的第三坐标;

确定所述第一帧图像中与所述目标特征点相对应的初始特征点;所述初始特征点的第四坐标与所述目标特征点的第三坐标相同;

获得所述初始特征点相对于所述目标特征点之间的第四偏移参数;

当所述第四偏移参数达到预设阈值时,确定所述目标特征点为匹配特征点;

当所述第四偏移参数未达到所述预设阈值时,确定所述目标特征点不是匹配特征点。

上述方案中,所述抽取所述区域中的纹理特征;基于所述纹理特征计算表征姿态的参数;基于所述参数确定动作,包括:

抽取所述区域中的第一纹理特征和/或第二纹理特征;

基于所述第一纹理特征计算表征第一姿态的第一参数,和/或,基于所述第二纹理特征计算表征第二姿态的第二参数;

基于所述第一参数确定第一动作,和/或,基于所述第二参数确定第二动作。

上述方案中,所述抽取所述区域中的第一纹理特征,包括:

对所述区域中的特征点按照第三预设处理规则进行处理,获得所述区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第一过程参数;

分析所述第一过程参数获得表征人脸纹理边缘的第一纹理特征;

相应的,所述抽取所述区域中的第二纹理特征,包括:

抽取所述区域中的第一部分区域;

对所述第一部分区域中的特征点按照第四预设处理规则进行处理,获得所述第一部分区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第二过程参数;

分析所述第二过程参数获得表征眼部纹理边缘的第二纹理特征。

上述方案中,所述基于所述第一纹理特征计算表征第一姿态的第一参数,包括:

将所述第一纹理特征输入预先配置的第一分类模型,获得表征第一姿态的第一参数。

上述方案中,所述基于所述第二纹理特征计算表征第二姿态的第二参数,包括:

将所述第二纹理特征输入预先配置的第二分类模型,获得表征第二姿态的第二参数。

上述方案中,所述基于所述第一参数确定第一动作,包括:

基于所述多帧图像分别对应的多个第一参数,判断所述多帧图像中第一部分图像对应的第一参数是否均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数是否均不满足所述第一阈值范围;

当所述多帧图像中第一部分图像对应的第一参数均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数均不满足所述第一阈值范围时,确定所述第一参数对应于第一动作。

上述方案中,所述基于所述第二参数确定第二动作,包括:

基于所述多帧图像分别对应的多个第二参数,判断所述多帧图像中第三部分图像对应的第二参数是否均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数是否均不满足所述第二阈值范围;

当所述多帧图像中第三部分图像对应的第二参数均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数均不满足所述第二阈值范围时,确定所述第二参数对应于第二动作。

本发明实施例还提供了一种活体验证设备,所述设备包括:检测单元、跟踪单元、特征抽取单元、计算单元、动作判定单元和验证单元;其中,

所述检测单元,用于基于动作指令获得图像数据,解析所述图像数据,识别出所述图像数据中表征人脸所在位置的区域;

所述跟踪单元,用于基于所述检测单元识别出的所述图像数据所包含的多帧图像中人脸所在位置的变化,跟踪所述区域;

所述特征抽取单元,用于抽取所述跟踪单元跟踪的所述区域中的纹理特征;

所述计算单元,用于基于所述特征抽取单元抽取的所述纹理特征计算表征姿态的参数;

所述动作判定单元,用于基于所述计算单元获得的所述参数确定动作;

所述验证单元,用于当所述动作与所述动作指令对应的动作匹配时,确定活体验证通过。

上述方案中,所述跟踪单元,用于抽取所述多帧图像中的第一帧图像和第二帧图像,识别所述第一帧图像中表征人脸所在位置的第一区域,获得所述第一区域对应的第一坐标范围;获得所述第二帧图像中与所述第一坐标范围对应的初始坐标范围;计算所述初始坐标范围对应的偏移参数;基于所述初始坐标范围以及对应的偏移参数获得第二坐标范围,记录所述第二坐标范围为跟踪后的表征人脸所在位置的区域;其中,所述偏移参数表征所述第二坐标范围相对于所述第一坐标范围的偏移程度。

上述方案中,所述跟踪单元,用于按预设步长在所述第一坐标范围对应的第一区域内选取第一组n个特征点,获得所述第一组n个特征点中第一特征点的第一坐标;n为正整数;其中,所述第一特征点为所述第一组n个特征点中的任一特征点;获得所述第二帧图像中的第二组n个特征点,所述第二组n个特征点中第二特征点的第二坐标与所述第一组n个特征点中相对应的第一特征点的第一坐标相同;基于所述第二组n个特征点中每个特征点的第二坐标确定初始坐标范围。

上述方案中,所述跟踪单元,用于计算所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点的第一偏移参数;所述第一偏移参数表征坐标相同的所述第二特征点与所述第一特征点之间的差异程度;基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,计算所述多个匹配特征点中每个匹配特征点的第二偏移参数;所述第二偏移参数表征所述匹配特征点与所述第二组n个特征点中、与所述匹配特征点相对应的第三特征点之间的偏移程度;以及,计算所述多个匹配特征点中每个匹配特征点的第三偏移参数;所述第三偏移参数表征所述匹配特征点与所述第一组n个特征点中、与所述匹配特征点相对应的第四特征点之间的偏移程度;根据所述第二偏移参数和所述第三偏移参数确定所述初始坐标范围对应的偏移参数。

上述方案中,所述跟踪单元,用于分别从所述第二帧图像所包含的多个匹配特征点中提取多组第一特征点对;所述第一特征点对包括第一匹配特征点和第二匹配特征点,以及从所述第一帧图像中、与所述多个匹配特征点相对应的源特征点中提取多组第二特征点对,所述第二特征点对包括第一源特征点和第二源特征点;其中,所述第一匹配特征点和所述第二匹配特征点为所述多个匹配特征点中的任意两个特征点;计算所述第一匹配特征点和所述第二匹配特征点之间的第一距离,以及计算所述第一源特征点和所述第二源特征点之间的第二距离;获得所述第一距离和所述第二距离之间的相对参数;将所述相对参数记为所述第一匹配特征点和所述第二匹配特征点的第三偏移参数。

上述方案中,所述跟踪单元,用于将多个第二偏移参数按第一预设处理规则进行处理,获得特定偏移参数;以及,将多个相对参数按第二预设处理规则进行处理,获得特定相对参数;将所述特定偏移程度和所述特定相对参数作为所述初始坐标范围对应的偏移参数。

上述方案中,所述跟踪单元,用于基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定所述每个特征点对应的目标特征点,获得所述目标特征点的第三坐标;确定所述第一帧图像中与所述目标特征点相对应的初始特征点;所述初始特征点的第四坐标与所述目标特征点的第三坐标相同;获得所述初始特征点相对于所述目标特征点之间的第四偏移参数;当所述第四偏移参数达到预设阈值时,确定所述目标特征点为匹配特征点;当所述第四偏移参数未达到所述预设阈值时,确定所述目标特征点不是匹配特征点。

上述方案中,所述特征抽取单元,用于抽取所述区域中的第一纹理特征和/或第二纹理特征;

所述计算单元,用于基于所述第一纹理特征计算表征第一姿态的第一参数,和/或,基于所述第二纹理特征计算表征第二姿态的第二参数;

所述动作判定单元,用于基于所述第一参数确定第一动作,和/或,基于所述第二参数确定第二动作。

上述方案中,所述特征抽取单元,用于对所述区域中的特征点按照第三预设处理规则进行处理,获得所述区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第一过程参数;分析所述第一过程参数获得表征人脸纹理边缘的第一纹理特征;还用于抽取所述区域中的第一部分区域;对所述第一部分区域中的特征点按照第四预设处理规则进行处理,获得所述第一部分区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第二过程参数;分析所述第二过程参数获得表征眼部纹理边缘的第二纹理特征。

上述方案中,所述计算单元,用于将所述第一纹理特征输入预先配置的第一分类模型,获得表征第一姿态的第一参数;和/或,用于将所述第二纹理特征输入预先配置的第二分类模型,获得表征第二姿态的第二参数。

上述方案中,所述动作判定单元,用于基于所述多帧图像分别对应的多个第一参数,判断所述多帧图像中第一部分图像对应的第一参数是否均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数是否均不满足所述第一阈值范围;当所述多帧图像中第一部分图像对应的第一参数均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数均不满足所述第一阈值范围时,确定所述第一参数对应于第一动作;和/或,用于基于所述多帧图像分别对应的多个第二参数,判断所述多帧图像中第三部分图像对应的第二参数是否均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数是否均不满足所述第二阈值范围;当所述多帧图像中第三部分图像对应的第二参数均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数均不满足所述第二阈值范围时,确定所述第二参数对应于第二动作。

本发明实施例提供的活体验证方法及设备,所述活体验证方法包括:基于动作指令获得图像数据,解析所述图像数据,识别出所述图像数据中表征人脸所在位置的区域;基于所述图像数据所包含的多帧图像中人脸所在位置的变化,跟踪所述区域;抽取所述区域中的纹理特征;基于所述纹理特征计算表征姿态的参数;基于所述参数确定动作;当所述动作与所述动作指令对应的动作匹配时,确定活体验证通过。采用本发明实施例的技术方案,通过主动输出动作指令、并根据采集的图像数据判定图像数据中是否包括相应的动作的方式判定是否时活体,从而判定活体验证是否通过;本发明实施例的技术方案实现通过区域追踪的方式替代人脸识别检测,方案中仅有在根据纹理特征计算姿态对应参数时需要预先配置的计算模型,且该计算模型容量极小,因此,本发明实施例提供的活体验证方案所承载的算法文件较小,大大满足了移动终端的存储空间需求;且数据处理量大大降低,也满足了移动终端的处理能力的需求。

附图说明

图1为本发明实施例的活体验证方法的总体流程示意图;

图2为本发明实施例的活体验证方法的细节流程示意图;

图3为本发明实施例的活体验证方法的流程示意图;

图4a至图4e分别为本发明实施例的活体验证方法中的应用显示示意图;

图5为本发明实施例的活体验证设备的组成结构示意图;

图6为本发明实施例的活体验证设备作为硬件的组成结构示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细的说明。

在对本发明实施例的活体验证方法进行详细描述之前,首先对本发明实施例的活体验证方案的总体实现方式进行说明。图1为本发明实施例的活体验证方法的总体流程示意图;如图1所示,本发明实施例的活体验证方法可包括以下几个阶段:

阶段1:输入视频流,也即活体验证设备获得图像数据。在输入视频流之前,首先需输出动作指令,以使验证对象(可以理解为用户,或者待进行活体验证的对象)根据该动作指令执行相应动作;基于验证对象执行的相应动作采集图像数据。

阶段2:活体验证设备进行人脸检测并跟踪,根据检测到的人脸数据确定人脸所在的区域,以及跟踪所述人脸所在的区域;在活体验证设备的图像输出单元侧可输出一标识人脸所在区域的人脸框。本申请中只针对图像数据中的首帧图像进行人脸识别并检测,其作用是获得人脸所在的区域,也可以理解为获得“人脸框”的位置;在后采用跟踪算法对人脸所在区域进行跟踪。其中,人脸跟踪的具体实现过程可参照后续具体描述实施例中步骤101和步骤102对应的描述所示。

阶段3:活体检测,在检测结果表明是活体后,进入阶段4:将图像数据发送至后台进行进一步的人脸验证;在检测结果表明不是活体后,重新进入活体检测阶段。其中,活体检测的具体实现过程可参照后续具体描述实施例中步骤103和步骤106对应的描述所示。

基于图1,图2为本发明实施例的活体验证方法的细节流程示意图,图2中主要对活体检测的实现方式进行细化,具体可参照图2所示,对于阶段3具体可分为纹理特征提取、参数计算以及动作判断三个过程;其中,所述纹理特征具体可以包括表征脸部纹理特征的第一纹理特征,和/或,表征眼部纹理特征的第二纹理特征,所计算的参数可以理解为脸部呈现姿态的得分,和/或,眼部呈现姿态的得分;所判断的动作具体可以理解为转头动作,和/或,眨眼动作,具体的实现方式可参照后续具体描述实施例中所述。也就是说,本发明实施例的技术方案从采集的图像中判定图像所包含的头像(或者说人脸)是否能够基于指定的动作而进行相应的动作,从而判定是否是活体人脸。基于此,在阶段3中判定动作为转头动作和/或眨眼动作后,在阶段4中,将所述转头动作和/或眨眼动作与初始的动作指令相对应的指定动作进行匹配,若匹配一致,则表明是活体,执行阶段4:将图像数据发送至后台进行人脸验证;若人脸跟踪失败,或者动作判断超时,或者所述转头动作和/或眨眼动作与初始的动作指令相对应的指定动作不匹配,则表明非活体。

本发明实施例提供了一种活体验证方法。图3为本发明实施例的活体验证方法的流程示意图;如图3所示,本发明实施例的活体验证方法包括:

步骤101:基于动作指令获得图像数据,解析所述图像数据,识别出所述图像数据中表征人脸所在位置的区域。

步骤102:基于所述图像数据所包含的多帧图像中人脸所在位置的变化,跟踪所述区域。

步骤103:抽取所述区域中的纹理特征;基于所述纹理特征计算表征姿态的参数。

步骤104:基于所述参数确定动作。

步骤105:当所述动作与所述动作指令对应的动作匹配时,确定活体验证通过。

本发明实施例的活体验证方法应用于活体验证设备中。所述活体验证设备具体可以是具有图像采集单元的电子设备,以通过所述图像采集单元获得图像数据;所述电子设备具体可以是手机、平板电脑等移动设备,也可以是个人计算机、配置有门禁系统(所述门禁系统具体为对出入口通道进行管制的系统)的门禁设备等等;其中,所述图像采集单元具体可以是设置在电子设备上的摄像头。另一方面,所述活体验证设备还可以是具有音频输出单元的电子设备,以通过所述音频输出单元输出动作指令。本发明实施例的技术方案是通过主动输出动作指令,进一步采集包含有用户头像的图像数据,基于采集的图像数据判定用户是否执行相应的动作从而判定活体验证是否通过。

本实施例中,活体验证设备(在本发明以下各实施例中,所述活体验证设备简称为设备)在通过图像采集单元获得图像数据后,解析所述图像数据;其中,所获得的图像数据包括多帧图像。所述识别出所述图像数据中表征人脸所在位置的区域,具体为:识别出所述图像数据的第一帧图像中表征人脸所在位置的区域,从而在所述第一帧图像中表征人脸所在位置的区域的基础上,基于所述多帧图像中人脸所在位置的变化,跟踪所述区域。

针对人脸所在区域的跟踪方式,作为一种实施方式,所述基于所述图像数据所包含的多帧图像中人脸所在位置的变化,跟踪所述区域,包括:抽取所述多帧图像中的第一帧图像和第二帧图像,识别所述第一帧图像中表征人脸所在位置的第一区域,获得所述第一区域对应的第一坐标范围;获得所述第二帧图像中与所述第一坐标范围对应的初始坐标范围;计算所述初始坐标范围对应的偏移参数;基于所述初始坐标范围以及对应的偏移参数获得第二坐标范围,记录所述第二坐标范围为跟踪后的表征人脸所在位置的区域;其中,所述偏移参数表征所述第二坐标范围相对于所述第一坐标范围的偏移程度。

本实施例中,为了减少人脸检测负载,同时避免拼接视频攻击,本发明实施例采用人脸跟踪方式替代人脸检测。具体的,设备针对所述图像数据的第一帧图像进行人脸检测,具体可采用人脸特征点检测的方式识别出所述第一帧图像中的人脸,进而确定所述第一帧图像中表征人脸所在位置的第一区域;其中,所述第一区域可通过第一坐标范围表示。在具体应用过程中,所述第一区域在设备的图像显示单元中通过显示的人脸框标识,例如图4a所示;所述人脸框标识对应的坐标范围与所述第一坐标范围相匹配。进一步地,在所述第一帧图像中的所述第一区域的基础上进行跟踪。其中,所述第一帧图像可以为针对一目标人物采集的图像数据中的第一帧图像;本实施例是以前两帧图像的处理过程为例进行说明,当然,在实际的图像数据处理过程中,是针对多帧图像数据进行处理,所述多帧图像数据的处理过程可参照本实施例中所述的针对前两帧图像数据的处理过程。

本实施例中,所述获得所述第二帧图像中与所述第一坐标范围对应的初始坐标范围,包括:按预设步长在所述第一坐标范围对应的第一区域内选取第一组n个特征点,获得所述第一组n个特征点中第一特征点的第一坐标;n为正整数;其中,所述第一特征点为所述第一组n个特征点中的任一特征点;获得所述第二帧图像中的第二组n个特征点,所述第二组n个特征点中第二特征点的第二坐标与所述第一组n个特征点中相对应的第一特征点的第一坐标相同;基于所述第二组n个特征点中每个特征点的第二坐标确定初始坐标范围。

具体的,对于所述第一帧图像中的第一区域,按预设步长选取第一组n个特征点,获得所述第一组n个特征点中每个特征点的坐标。例如,所述第一区域满足m×n,其中,m小于等于所述第一帧图像的长度/宽度;则n小于等于所述第一帧图像的宽度/长度;则可按照步长为m×n/(10×10)在所述第一区域内均匀选取100个特征点。其中,所述步长可不限于上述列举的步长,所述步长可按照等间隔配置,所述步长也可按照不等间隔配置,具体可按照实际需求进行配置。进一步地,按照所述第一帧图像中的第一组n个特征点中每个特征点的坐标,获得第二帧图像中的第二组n个特征点,使得所述第二组n个特征点中每个特征点的坐标与所述第一组n个特征点中相对应的特征点的坐标相同。例如,若按照相同的排列顺序并标识,即所述第一组n个特征点和所述第二组n个特征点中的特征点均按照从上到下、从左到右的顺序进行排序,则所述第二组n个特征点中的第一个特征点的坐标与所述第一组n个特征点中的第一个特征点的坐标相同,所述第二组n个特征点中的第二个特征点的坐标与所述第一组n个特征点中的第二个特征点的坐标相同,以此类推,则所述第二组n个特征点中任一特征点(即第二特征点)的坐标(即第二坐标)与所述第一组n个特征点中相对应的第一特征点的坐标(即第一坐标)相同。进一步地,基于所述第二组n个特征点中每个特征点的第二坐标确定一坐标范围,将所述坐标范围确定为所述初始坐标范围。

本实施例中,所述计算所述初始坐标范围对应的偏移参数,包括:计算所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点的第一偏移参数;所述第一偏移参数表征坐标相同的所述第二特征点与所述第一特征点之间的差异程度;基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,计算所述多个匹配特征点中每个匹配特征点的第二偏移参数;所述第二偏移参数表征所述匹配特征点与所述第二组n个特征点中、与所述匹配特征点相对应的第三特征点之间的偏移程度;以及,计算所述多个匹配特征点中每个匹配特征点的第三偏移参数;所述第三偏移参数表征所述匹配特征点与所述第一组n个特征点中、与所述匹配特征点相对应的第四特征点之间的偏移程度;根据所述第二偏移参数和所述第三偏移参数确定所述初始坐标范围对应的偏移参数。

其中,所述计算所述第二组n个特征点中每个特征点的第一偏移参数之前,所述方法还包括:针对所述第一帧图像和所述第二帧图像进行处理,分别获得所述第一帧图像的第一梯度图像和所述第二帧图像的第二梯度图像。具体的,对于所述第一帧图像和所述第二帧图像,分别建立所述第一帧图像的第一金字塔图像,建立所述第二帧图像的第二金字塔图像;计算所述第一金字塔图像的第一梯度图像,以及计算所述第二金字塔图像的第二梯度图像;其中,建立图像的金字塔图像(例如建立所述第一帧图像的第一金字塔图像,又例如建立所述第二帧图像的第二金字塔图像等)可以理解为按比例地缩小图像,以获得更鲁棒性的结果。在具体实施过程中,首先可对图像进行平滑处理,再对平滑处理后的图像进行抽样,从而可获得尺寸缩小的金字塔图像。本实施例中,所述第一梯度图像和所述第二梯度图像中每个特征点梯度可表示为:

gx(y,x)=img(y,x+1)-img(y,x-1)(1)

gy(y,x)=img(y+1,x)-img(y-1,x)(2)

其中,gx(y,x)表示特征点(y,x)在x轴上的梯度;gy(y,x)表示特征点(y,x)在y轴上的梯度;img(y,x)表示特征点(y,x)的显示参数;相应的,img(y,x+1)表示特征点(y,x+1)的显示参数;img(y,x-1)表示特征点(y,x+1)的显示参数;img(y+1,x)表示特征点(y+1,x)的显示参数;img(y-1,x)表示特征点(y-1,x)的显示参数;作为一种实施方式,所述显示参数具体可以是灰度值,当然,也可以是其他显示参数。

进一步地,所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点的第一偏移参数可基于表达式(1)和表达式(2)获得的相应特征点的梯度计算获得;其中,所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点指的是:所述第二组n个特征点中的特征点2相对于所述第一组n个特征点中的特征点1,特征点2在所述第二帧图像中的坐标和特征点1在所述第一帧图像中的坐标相同;也即所述第一偏移参数为特征点2相对于特征点1的相对偏移程度。具体的,对于所述第二组n个特征点中的每个特征点,分析每个特征点相对于所述第一组n个特征点中的相应特征点的邻域特征获得差异参数(diff)和梯度参数(grad),基于所述差异参数和所述梯度参数计算获得第一偏移参数;其中,所述差异参数表征所述第二组n个特征点中的特征点相对于第一组n个特征点中的相应特征点的差异程度。其中,所述差异参数和所述梯度参数具体可通过以下表达式表示:

diff=img1(y1,x1)-img2(y2,x2)(3)

gx=gx(y1,x1)+gx(y2,x2)(4)

gy=gy(y1,x1)+gy(y2,x2)(5)

其中,img1(y1,x1)表示第一组n个特征点中、特征点(y1,x1)的显示参数;img2(y2,x2)表示第二组n个特征点中、特征点(y2,x2)的显示参数;其中,所述显示参数具体可以是灰度值,当然,也可以是其他显示参数。gx表示在x轴方向上的梯度;gy表示在y轴方向上的梯度;gx(y1,x1)表示第一帧图像中特征点(y1,x1)在x轴方向上的梯度;gx(y2,x2)表示第二帧图像中与特征点(y1,x1)相对应的特征点(y2,x2)在x轴方向上的梯度,特征点(y1,x1)在第一帧图像中的坐标与特征点(y2,x2)在第二针图像中的坐标相同;相应的,gy(y1,x1)表示第一帧图像中特征点(y1,x1)在y轴方向上的梯度;gy(y2,x2)表示第二帧图像中与特征点(y1,x1)相对应的特征点(y2,x2)在y轴方向上的梯度。

进一步地,根据所述差异参数和所述梯度参数计算相应特征点的第一偏移参数,所述第一偏移参数可通过以下表达式表示:

(dy,dx)=f(gxx,gxy,gyy,diff)(6)

其中,确定第一帧图像中特征点1的梯度参数,记为gx1和gy1;以及确定第二帧图像中与特征点1相对应的特征点2的梯度参数,记为gx2和gy2;则基于(gx1,gy1)和(gx2,gy2)进行矩阵运算以整合所述特征点1和所述特征点2的梯度;则表达式(6)中,gxx表示特征点1在x轴上的梯度和特征点2在x轴上的梯度的运算结果;gyy表示特征点1在y轴上的梯度和特征点2在y轴上的梯度的运算结果;gxy表示特征点1在x轴上的梯度和特征点2在y轴上的梯度的运算结果,或者表示特征点1在y轴上的梯度和特征点2在x轴上的梯度的运算结果。f()表示特定运算规则。

在具体实现过程中,基于表达式(6)内部的多次迭代,可获得所述第一帧图像中的一特征点(y1,x1)在所述第二帧图像上的匹配特征点(y0,x0),所述匹配特征点满足以下表达式:

(y0,x0)=(y2+dy,x2+dx)(7)

但由于图像中的人脸的位置处于变化中,因此,只有所述第一组n个特征点中的部分特征点才能够在所述第二帧图像中找到匹配特征点。

作为一种实施方式,所述基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,包括:基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定所述每个特征点对应的目标特征点,获得所述目标特征点的第三坐标;确定所述第一帧图像中与所述目标特征点相对应的初始特征点;所述初始特征点的第四坐标与所述目标特征点的第三坐标相同;获得所述初始特征点相对于所述目标特征点之间的第四偏移参数;当所述第四偏移参数达到预设阈值时,确定所述目标特征点为匹配特征点;当所述第四偏移参数未达到所述预设阈值时,确定所述目标特征点不是匹配特征点。

具体的,本实施方式中,在采用上述技术方案获得第二帧图像中、作为第一帧图像中特征点(y1,x1)对应的匹配特征点(y0,x0)后,采用相同的技术方案获得第一帧图像中、作为第二帧图像中特征点(y0,x0)对应的匹配特征点(y3,x3),获得匹配特征点(y3,x3)与特征点(y1,x1)的偏移参数,所述偏移参数即为所述第四偏移参数;当所述第四偏移参数达到预设阈值时,表明双向匹配特征点的偏差较小,匹配成功;相应的,当所述第四偏移参数未达到预设阈值时,表明双向匹配特征点的偏差较大,匹配失败。本实施方式中采用双向匹配的方式获得的匹配特征点,大大增强了匹配特征点的鲁棒性。

本实施例中,设备基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,计算所述多个匹配特征点中每个匹配特征点的第二偏移参数,所述第二偏移参数表征所述匹配特征点与所述第二组n个特征点中、与所述匹配特征点相对应的第三特征点之间的位移偏移程度;也可以理解为,所述第二偏移参数表征所述多个匹配点中每个匹配特征点相对于第一组n个特征点中、与匹配特征点相对应的特征点之间的位移偏移程度。例如,对于第一组n个特征点中,特征点(y1,x1),第二组n个特征点中与特征点(y1,x1)坐标相同的特征点(y2,x2),计算获得的匹配特征点(y0,x0);则所述第二偏移参数表明匹配特征点(y0,x0)与特征点(y2,x2)之间的相对位移偏移程度,也可以理解为第二偏移参数表明匹配特征点(y0,x0)与特征点(y1,x1)之间的相对位移偏移程度。

本实施例中,作为一种实施方式,所述计算所述多个匹配特征点中每个匹配特征点的第三偏移参数,包括:分别从所述第二帧图像所包含的多个匹配特征点中提取多组第一特征点对;所述第一特征点对包括第一匹配特征点和第二匹配特征点,以及从所述第一帧图像中、与所述多个匹配特征点相对应的源特征点中提取多组第二特征点对,所述第二特征点对包括第一源特征点和第二源特征点;其中,所述第一匹配特征点和所述第二匹配特征点为所述多个匹配特征点中的任意两个特征点;计算所述第一匹配特征点和所述第二匹配特征点之间的第一距离,以及计算所述第一源特征点和所述第二源特征点之间的第二距离;获得所述第一距离和所述第二距离之间的相对参数;将所述相对参数记为所述第一匹配特征点和所述第二匹配特征点的第三偏移参数。

具体的,设备分别针对所述第二帧图像所包含的多个匹配特征点和所述第一帧图像中、与匹配特征点相对应的源特征点进行两两提取;所提取出的第二帧图像中的两个匹配特征点(即所述第一匹配特征点和所述第二匹配特征点)与第一帧图像中的两个源特征点(即所述第一源特征点和所述第二源特征点)分别一一对应。则分别计算所述第一匹配特征点和所述第二匹配特征点之间的第一距离,以及计算所述第一源特征点和所述第二源特征点之间的第二距离;其中,所述第一距离和所述第二距离可以为欧式距离,当然,也可以是能够表征相应两个特征点之间的相对位置关系的其他距离。进一步地,获得所述第一距离和所述第二距离之间的相对参数;所述相对参数记为所述第一匹配特征点和所述第二匹配特征点的第三偏移参数;所述第三偏移参数表征人脸所在区域的缩放程度。作为一种实施方式,所述相对参数具体可以为所述第一距离和所述第二距离的比值;当然,所述相对参数也可通过表征所述第一距离和所述第二距离之间相对关系的其他处理方式获得。

本实施例中,作为一种实施方式,所述根据所述第二偏移参数和所述第三偏移参数确定所述初始坐标范围对应的偏移参数,包括:将多个第二偏移参数按第一预设处理规则进行处理,获得特定偏移参数;以及,将多个相对参数按第二预设处理规则进行处理,获得特定相对参数;将所述特定偏移程度和所述特定相对参数作为所述初始坐标范围对应的偏移参数。

本实施例中,对于所述第二帧图像中的每个匹配特征点均能够计算获得对应的第二偏移参数,理想情况下,所述第二帧图像中的获得的所有匹配特征点对应的第二偏移参数均相等,但由于各种因素(例如人脸位置的移动、数据处理过程中的偏差等等)会造成误差,从而使得所述第二帧图像中的获得的所有匹配特征点对应的第二偏移参数可能均不相等。为了使处理结果更具有鲁棒性,设备对所述第二帧图像中的获得的所有匹配特征点对应的第二偏移参数进行排序,选择n个第二偏移参数的中值作为特定偏移参数。可以理解为,所述特定偏移参数表征人脸框的偏移程度。另一方面,在理想情况下,所述第二帧图像中的任意两个匹配特征点对应的相对参数均相等,但由于各种因素(例如人脸位置的移动、数据处理过程中的偏差等等)会造成误差,从而使得所述第二帧图像中的任意两个匹配特征点对应的相对参数可能均不相等。为了使处理结果更具有鲁棒性,设备对所述第二帧图像中的任意两个匹配特征点对应的相对参数进行排序,选择多个相对参数的中值作为特定相对参数。可以理解为,所述特定相对参数表征人脸框的缩放程度。

进一步地,本实施例中,设备将所述特定偏移程度和所述特定相对参数作为所述初始坐标范围对应的偏移参数;从而基于所述初始坐标范围以及对应的偏移参数获得第二坐标范围,记录所述第二坐标范围为跟踪后的表征人脸所在位置的区域;具体可参照图4b所示,其中,实线框为采用本发明实施例的技术方案跟踪人脸后的跟踪结果;而虚线框为采用人脸检测方案直接检测获得的结果;相比于人脸检测特征点的技术方案,采用本发明实施例的活体人脸跟踪方案能够得到更准好的描述人脸的变化,具体可以是人脸位置的变化。作为一种实施方式,本发明实施例的人脸跟踪方案可采用klt(kanadelucastomasi)跟踪器实现,当然不限于klt跟踪器,其他快速跟踪算法均可实现本发明实施例的活体人脸跟踪;本实施例直接采用在表征人脸所在的区域均匀选取特征点,并跟踪人脸框,大大提升了人脸跟踪速度,也避免了特征点过少导致跟踪失败的问题。并且,双向匹配的方式也大大提升了人脸跟踪的鲁棒性。

本发明实施例中,所述抽取所述区域中的纹理特征;基于所述纹理特征计算表征姿态的参数;基于所述参数确定动作,包括:抽取所述区域中的第一纹理特征和/或第二纹理特征;基于所述第一纹理特征计算表征第一姿态的第一参数,和/或,基于所述第二纹理特征计算表征第二姿态的第二参数;基于所述第一参数确定第一动作,和/或,基于所述第二参数确定第二动作。

针对第一纹理特征的获取方式,作为一种实施方式,所述抽取所述区域中的第一纹理特征,包括:对所述区域中的特征点按照第三预设处理规则进行处理,获得所述区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第一过程参数;分析所述第一过程参数获得表征人脸纹理边缘的第一纹理特征;相应的,针对第二纹理特征的获取方式,所述抽取所述区域中的第二纹理特征,包括:抽取所述区域中的第一部分区域;对所述第一部分区域中的特征点按照第四预设处理规则进行处理,获得所述第一部分区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第二过程参数;分析所述第二过程参数获得表征眼部纹理边缘的第二纹理特征。

本实施例中,设备针对不同的动作抽取不同的纹理特征,在本实施例中记为第一纹理特征和第二纹理特征。本实施例中主要针对两种动作进行分类,考虑到转头动作和眨眼动作对于人脸的姿态变化较大,因此,本实施例中针对转头动作和眨眼动作进行分类。可以理解为,所述第一纹理特征表征人脸纹理边缘,所述第二纹理特征表征眼部纹理边缘。

具体的,针对第一纹理特征,其处理过程包括:对所述第二帧图像,提取出表征人脸所在位置的区域(所述区域可以为跟踪后的第二区域),对所述区域按照第三预设处理规则进行处理。作为一种实施方式,所述对所述区域按照第三预设处理规则进行处理,包括:对所述区域进行缩小,例如缩小至(64,64)范围,将缩小后的图像按照二值化处理方式或三值化处理方式进行处理。以二值化处理方式为例,则设备可针对所述第二帧图像中的第二区域进行局部二值模式(lbp,localbinarypatterns)处理;例如:首先提取所述第二帧图像中与所述第二区域匹配的过程图像,对所述过程图像进行灰度处理,获得所述过程图像的灰度图像,进一步确定所述灰度图像中的每个特征点与相邻的八个特征点之间的相对灰度关系,如图4c所示,为三乘三的特征点矩阵的灰度图像,每个特征点的灰度例如图4c中所示;将每个特征点的灰度值进行数值化表示,具体可参照图4d所示。进一步地,将相邻八个特征点的灰度与中心特征点的灰度进行比较,若相邻特征点的灰度大于中心特征点的灰度,则将所述相邻特征点的值记为1;反之,若相邻特征点的灰度小于等于中心特征点的灰度,则将所述相邻特征点的值记为0,具体可参见图4e所示。进一步地,将相邻特征点的值串联得到8位的二进制字符串,所述二进制字符串可以理解为分布在(0,255)的灰度值。在具体实施过程中,可参照图4e所示,若以左上角第一个特征点作为起始特征点,按照顺时针方向排列,则获得的8位的字符串为10001111。由此可获得所述过程图像中每个特征点(即中心特征点)对应的二进制字符串。上述处理过程具体可通过以下表达式实现:

lbp=[code0,code1,……,code7](8)

code(m,n)=img(y+m,x+n)>img(y,x)?1:0(9)

进一步地,为了去除冗余,统计每个特征点对应的二进制字符串中、0和1变化小于2的二进制字符串;例如,字符串为10001111中,第一位和第二位0和1变化1次,第四位和第五位0和1变化1次,总计变化两次,不满足“0和1变化小于2”的条件。又例如,字符串为00001111中,仅由第四位和第五位0和1变化1次,满足“0和1变化小于2”的条件。然后,将统计后的二进制字符串映射到(0,58)范围内,映射后的数据可作为lbp数据;这样也会大大减少数据处理量。

其中,表达式(8)中lbp表示所述区域中的第一特征点的显示参数与相邻特征点的显示参数的相对关系;所述第一特征点为所述区域中的任一特征点;code0,code1,……,code7分别表示所述第一特征点相邻的特征点的显示参数;表达式(9)表示将特征点(y+m,x+n)的灰度值与特征点(y,x)的灰度值进行比较,若特征点(y+m,x+n)的灰度值大于特征点(y,x)的灰度值,则将特征点(m,n)的二进制字符串code(m,n)记为1,否则记为0。

进一步地,将一定图像区域内分布在(0,58)的lbp数值进行统计直方图处理。因为该直方图有59个维度,所以统计之后可以得到一个59维的向量,作为所述区域的第一纹理特征。

针对第二纹理特征,由于眼部的区域较小,眨眼动作也较快,因此,在抽取第二纹理特征时,首先对区域进行眼部所在区域的抽取,即抽取所述区域中的第一部分区域,所述第一部分区域可以是所述区域的上半部区域,例如,抽取所述区域的上二分之一/三分之一的区域,作为所述第一部分区域。对抽取后的第一部分区域可参照前述第一纹理特征的处理方式进行处理,获得第二纹理特征。作为另一种实施方式,设备可针对所述第一部分区域进行局部三值模式(ltp,localternarypattern)处理,处理过程与lbp处理方式近似,区别在于,在lbp处理过程中,在表示特征点与相邻特征点的灰度值的相对关系时,通过0和1进行标记。在本实施方式的ltp处理过程中,在表示特征点与相邻特征点的灰度值的相对关系时,通过0、1和-1进行标记,具体的处理过程可通过以下表达式实现:

code(m,n)=img(y+m,x+n)>img(y,x)+fuzzy?1:0(10)

code(m,n)=img(y+m,x+n)<img(y,x)-fuzzy?-1:0(11)

fuzzy=ratio×img(y,x)(12)

其中,img(y,x)表示特征点(y,x)的灰度值;所述特征点(y,x)可以是三乘三的特征点矩阵中的中心特征点;img(y+m,x+n)表示特征点(y+m,x+n)的灰度值;特征点(y+m,x+n)具体为与特征点(y,x)相邻的特征点;ratio表示比例参数,可预先配置;fuzzy表示特征点(y,x)的灰度值与ratio的乘积;特征点(y,x)的灰度值越大,fuzzy的值也最大。表达式(10)的含义表示将特征点(y+m,x+n)的灰度值与特征点(y,x)的灰度值与fuzzy之和进行比较,若特征点(y+m,x+n)的灰度值大于特征点(y,x)的灰度值与fuzzy之和,则将特征点(m,n)的字符串code(m,n)记为1,否则记为0;表达式(11)的含义表示将特征点(y+m,x+n)的灰度值与特征点(y,x)的灰度值与fuzzy之差进行比较,若特征点(y+m,x+n)的灰度值大于特征点(y,x)的灰度值与fuzzy之差,则将特征点(m,n)的字符串code(m,n)记为-1,否则记为0。

本实施例中,所述基于所述第一纹理特征计算表征第一姿态的第一参数,包括:将所述第一过程参数输入预先配置的第一分类模型,获得表征第一姿态的第一参数。

具体的,设备预先采集大量样本数据(所述样本数据具体可以是采用上述处理方式获得的第一纹理特征)以及对应的姿态分类标识,对所述样本数据以及对应的姿态分类标识进行机器学习训练,获得第一分类模型。在获得所述第一纹理特征后,将所述第一纹理特征输入所述第一分类模型,获得所述第一纹理特征对应的第一姿态,所述第一姿态例如表示正面或侧面;所述第一姿态可通过第一参数表示。在实际应用中,可通过所述第一参数的数值大小表明所述第一姿态趋近于正面或侧面,例如所述第一参数越大,表明所述第一姿态越趋近于正面;相应的,若所述第一参数越小,表明所述第一姿态越趋近于侧面。

本实施例中,所述基于所述第二纹理特征计算表征第二姿态的第二参数,包括:将所述第二纹理特征输入预先配置的第二分类模型,获得表征第二姿态的第二参数。

具体的,设备预先采集大量样本数据(所述样本数据具体可以是采用上述处理方式获得的第二纹理特征)以及对应的姿态分类标识,对所述样本数据以及对应的姿态分类标识进行机器学习训练,获得第二分类模型。在获得所述第二纹理特征后,将所述第二纹理特征输入所述第二分类模型,获得所述第二纹理特征对应的第二姿态,所述第二姿态例如表示睁眼或闭眼,所述第二姿态可通过第二参数表示。在实际应用中,可通过所述第二参数的数值大小表明所述第二姿态趋近于睁眼或闭眼,例如所述第二参数越大,表明所述第二姿态越趋近于睁眼;相应的,若所述第二参数越小,表明所述第二姿态越趋近于闭眼。

本实施例中,所述基于所述第一参数确定第一动作,包括:基于所述多帧图像分别对应的多个第一参数,判断所述多帧图像中第一部分图像对应的第一参数是否均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数是否均不满足所述第一阈值范围;当所述多帧图像中第一部分图像对应的第一参数均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数均不满足所述第一阈值范围时,确定所述第一参数对应于第一动作。

具体的,在前述获得表征第一姿态的第一参数时,由于前述是针对两帧图像进行处理获得的第一参数,而在具体应用过程中,是针对获得的图像数据中所包含的多帧图像进行处理获得的第一参数,可以理解为,对于每一帧图像可获得一个第一参数,则针对多帧图像可对应获得多个第一参数。基于此,针对所述多个第一参数可获得参数序列。分析所述参数序列,若数值变化由低到高,则可确定人脸由侧面转变为正面;相应的,若数值变化由高到低,则可确定人脸由正面转变为侧面,当然,相反的,若通过其他数据处理方式使得第一参数越大,表明人脸越趋近于正面,第一参数越小,表明人脸越趋近于侧面,则在分析参数序列过程中,若数值变化由低到高,则可确定人脸由正面转变为侧面;相应的,若数值变化由高到低,则可确定人脸由侧面转变为正面。基于此,可通过所述参数序列中数值的变化从而确定对应的第一动作。

在具体的实施过程中,针对获得的多帧图像,选取当前帧之前的x帧图像,将所述x帧图像均匀切分为y段;其中,x和y均为正整数,且y小于x;对于每段图像,由于每段图像中包括至少两帧图像,则每段图像均可得到至少两个第一参数;在所述至少两个第一参数中选取中间值作为所述每段图像的第一参数,从而可获得y段图像分别对应的y个第一参数。将y个第一参数串接获得参数序列,判断所述参数序列中的参数变化是否满足预设规则,例如,若参数变化由高到低或者由低到高,则基于参数变化判定对应的第一动作。在另一种实施方式中,对于所述多帧图像对应的多个第一参数,判定所述多帧图像中前一部分图像包含的人脸处于正面,而后一部分图像包含的人脸处于侧面,或者判定所述多帧图像中前一部分图像包含的人脸处于侧面,而后一部分图像包含的人脸处于正面,则可判定第一参数对应的第一动作。例如,判断x帧图像中,所述x帧图像的前三分之一图像对应的第一参数均满足第一阈值范围,则表明包含有人脸正面图像,以及所述x帧图像的后三分之一图像对应的第一参数均不满足第一阈值范围,则表明包含有人脸侧面图像,则可确定在所述x帧图像中人脸由正面转向为侧面,即可确定转头动作。

本实施例中,所述基于所述第二参数确定第二动作,包括:基于所述多帧图像分别对应的多个第二参数,判断所述多帧图像中第三部分图像对应的第二参数是否均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数是否均不满足所述第二阈值范围;当所述多帧图像中第三部分图像对应的第二参数均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数均不满足所述第二阈值范围时,确定所述第二参数对应于第二动作。

具体的,与第一动作的确定方式同理,在前述获得表征第二姿态的第二参数时,由于前述是针对两帧图像进行处理获得的第二参数,而在具体应用过程中,是针对获得的图像数据中所包含的多帧图像进行处理获得的第二参数,可以理解为,对于每一帧图像可获得一个第二参数,则针对多帧图像可对应获得多个第二参数。基于此,针对所述多个第二参数可获得参数序列。分析所述参数序列,若数值变化由低到高,则可确定人眼由睁眼转变为闭眼;相应的,若数值变化由高到低,则可确定人眼由闭眼转变为睁眼,当然,相反的,若通过其他数据处理方式使得第二参数越大,表明人眼越趋近于睁眼,第二参数越小,表明人脸越趋近于闭眼,则在分析参数序列过程中,若数值变化由低到高,则可确定人眼由闭眼转变为睁眼;相应的,若数值变化由高到低,则可确定人眼由睁眼转变为闭眼。其中,由于眨眼动作较快,所述参数序列可以是包含有两个第二参数,具备离散状态的所述两个第二参数能够呈现由低到高或由高到低的特性。基于此,可通过所述参数序列中数值的变化从而确定对应的第二动作。

在具体的实施过程中,针对获得的多帧图像,选取当前帧之前的x帧图像,将所述x帧图像均匀切分为y段;其中,x和y均为正整数,且y小于x;对于每段图像,由于每段图像中包括至少两帧图像,则每段图像均可得到至少两个第二参数;在所述至少两个第二参数中选取中间值作为所述每段图像的第二参数,从而可获得y段图像分别对应的y个第二参数。将y个第二参数串接获得参数序列,判断所述参数序列中的参数变化是否满足预设规则,例如,若参数变化由高到低或者由低到高,则基于参数变化判定对应的第二动作。在另一种实施方式中,对于所述多帧图像对应的多个第二参数,判定所述多帧图像中前一部分图像包含的人眼处于睁眼状态,而后一部分图像包含的人眼处于闭眼状态,或者判定所述多帧图像中前一部分图像包含的人眼处于闭眼状态,而后一部分图像包含的人眼处于睁眼状态,则可判定第二参数对应的第二动作。例如,判断x帧图像中,所述x帧图像的前三分之一图像对应的第二参数均满足第二阈值范围,则表明图像包含的人眼处于睁眼状态,以及所述x帧图像的后三分之一图像对应的第二参数均不满足第二阈值范围,则表明图像包含的人眼处于闭眼状态,则可确定在所述x帧图像中的眨眼动作。

本实施例中,由于人眼的闭眼和睁眼动作过于迅速,则预先配置的第二阈值范围不同于所述第一阈值范围。

本实施例中,设备针对区域中纹理特征(包括第一纹理特征和第二纹理特征)的提取,所述纹理特征不限于是lbp/ltp特征,也可以是能够描述图像变化的其他纹理特征,例如方向梯度直方图(hog,histogramoforientedgradient)特征。设备中针对样本特征进行机器学习训练的过程,可通过支持向量机(svm,supportvectormachine)学习模型进行训练分类,当然,不限于是svm训练分类方式,其他神经网络、线性投影等分类方式也可以实现。

本实施例所述的活体验证方法不限于应用在移动终端,还可以应用于任何场合的活体人脸验证,包括但不限于个人计算机(pc)、服务器或嵌入式设备等等。由于本发明实施例的技术方案实现通过区域追踪的方式替代人脸识别检测,在眨眼判断中也无需对眼睛进行定位;另外方案中仅有在根据纹理特征计算姿态对应参数时需要预先配置的计算模型(例如svm模型),且该计算模型容量极小(模型文件可降低至160k),在具体实现过程中,可将svm参数直接写在代码中,甚至可以理解为不需要计算模型,因此,本发明实施例提供的活体验证方案所承载的算法文件较小,大大满足了移动终端的存储空间需求;且数据处理量大大降低,也满足了移动终端的处理能力的需求。

本实施例中,通过上述方式获得第一动作和/或第二动作后,判断所述第一动作和/或第二动作是否与输出的所述动作指令对应的动作匹配;若匹配一致,表明所述图像数据中的人脸为活体人脸而不是预先拍摄好的图片或者视频对应的人脸。而现有技术中,冒充活体人脸以通过活体验证的方式(该方式可称为攻击)主要包括:1、正常照片;2、包含有某类动作的照片;3、包含有某类动作的视频;4、根据动作序列拼接的视频。这使得研发人员提出不同的算法优化动作判断性能来应对不同的攻击。现有的活体人脸验证技术均基于精确的人脸特征点定位,在移动终端侧,快速准确的特征点定位所需要的计算模型文件过大,处理速度也不够快。以主流的定位算法为例,显示形状回归(esr)算法处理时间可以达到10毫秒,但计算模型文件可达到几十兆,而主动外观模型(aam)算法的模型文件虽然只有几百k,但每帧数据的处理时间难以做到实时处理。而本发明实施例的技术方案通过区域追踪的方式替代人脸识别检测,在眨眼判断中也无需对眼睛进行定位;另外方案中仅有在根据纹理特征计算姿态对应参数时需要预先配置的计算模型(例如svm模型),且该计算模型容量极小(模型文件可降低至160k),在具体实现过程中,可将svm参数直接写在代码中,甚至可以理解为不需要计算模型,因此,本发明实施例提供的活体验证方案所承载的算法文件较小,大大满足了移动终端的存储空间需求;且数据处理量大大降低,也满足了移动终端的处理能力的需求。

为了验证本发明实施例提供的活体验证方案的有效程度,分别对不同动作,及串联动作进行了攻击和真人体验的测试,具体可如表1所示。如表1所示,在攻击者企图用手机照片、打印照片或者视频通过身份验证系统的验证时,上述三种攻击的整体通过率均为零;其中,对于上述三种攻击方式中的眨眼动作以及转头动作的通过次数均为零,从而可以表明采用本发明实施例的活体验证方案能够有效的识别出手机照片、打印照片或者视频等虚假身份的攻击,大大提升了身份验证的准确率。

表1

表2为本发明实施例在不同的检测条件下的实际检测情况示意。如表2所示,检测条件可包括光线条件以及检测对象是否佩戴眼镜,以及佩戴的眼镜是否带有镜框等各种条件。其中,光线条件可包括正常光线条件、强光线条件和暗光线条件等等;其中,可通过检测到的光强参数判定光线条件是属于正常光线、强光线或是暗光线;可预先配置第一阈值和第二阈值,所述第一阈值大于第二阈值;当检测到的光强参数大于所述第一阈值时,判定光线条件为强光线条件;当检测到的光强参数小于所述第二阈值时,判定光线条件为暗光线条件;当检测到的光强参数在所述第一阈值和所述第二阈值之间时,判定光线条件为正常光线。另一方面,检测对象是否佩戴眼镜以及眼镜是否带有镜框会影响眼部纹理特征的提取以及眨眼动作的判定。由表2中可以看出,以第一类型正常光线眼镜为例,23/25表明25次测试中通过23次,表明在活体真人的验证中,即使用户佩戴眼镜,对其活体真人的活体验证的通过率也较高,不会出现多次验证不通过的情况,对用户的体验不会造成不利的影响;其中,检测平均需要1次,每次检测平均需要时间为1秒(s),眨眼动作的检测平均需要2次,每次检测的平均需要时间为2s;转头动作的检测平均需要2次,每次检测的平均需要时间为2s。

表2

本发明实施例还提供了一种活体验证设备。图5为本发明实施例的活体验证设备的组成结构示意图;如图5所示,所述设备包括:检测单元31、跟踪单元32、特征抽取单元33、计算单元34、动作判定单元35和验证单元36;其中,

所述检测单元31,用于基于动作指令获得图像数据,解析所述图像数据,识别出所述图像数据中表征人脸所在位置的区域;

所述跟踪单元32,用于基于所述检测单元31识别出的所述图像数据所包含的多帧图像中人脸所在位置的变化,跟踪所述区域;

所述特征抽取单元33,用于抽取所述跟踪单元32跟踪的所述区域中的纹理特征;

所述计算单元34,用于基于所述特征抽取单元33抽取的所述纹理特征计算表征姿态的参数;

所述动作判定单元35,用于基于所述计算单元34获得的所述参数确定动作;

所述验证单元36,用于当所述动作与所述动作指令对应的动作匹配时,确定活体验证通过。

所述跟踪单元32,用于抽取所述多帧图像中的第一帧图像和第二帧图像,识别所述第一帧图像中表征人脸所在位置的第一区域,获得所述第一区域对应的第一坐标范围;获得所述第二帧图像中与所述第一坐标范围对应的初始坐标范围;计算所述初始坐标范围对应的偏移参数;基于所述初始坐标范围以及对应的偏移参数获得第二坐标范围,记录所述第二坐标范围为跟踪后的表征人脸所在位置的区域;其中,所述偏移参数表征所述第二坐标范围相对于所述第一坐标范围的偏移程度。

本发明实施例中,所述检测单元31中还包括图像采集单元,通过所述图像采集单元获得图像数据;所获得的图像数据包括多帧图像。所述检测单元31识别出所述图像数据中表征人脸所在位置的区域,具体为:识别出所述图像数据的第一帧图像中表征人脸所在位置的区域,从而在所述第一帧图像中表征人脸所在位置的区域的基础上,所述跟踪单元32基于所述多帧图像中人脸所在位置的变化,跟踪所述区域。

针对人脸所在区域的跟踪方式,作为一种实施方式,所述跟踪单元32,用于按预设步长在所述第一坐标范围对应的第一区域内选取第一组n个特征点,获得所述第一组n个特征点中第一特征点的第一坐标;n为正整数;其中,所述第一特征点为所述第一组n个特征点中的任一特征点;获得所述第二帧图像中的第二组n个特征点,所述第二组n个特征点中第二特征点的第二坐标与所述第一组n个特征点中相对应的第一特征点的第一坐标相同;基于所述第二组n个特征点中每个特征点的第二坐标确定初始坐标范围。

本实施例中,为了减少人脸检测负载,同时避免拼接视频攻击,本发明实施例采用人脸跟踪方式替代人脸检测。具体的,所述检测单元31针对所述图像数据的第一帧图像进行人脸检测,具体可采用人脸特征点检测的方式识别出所述第一帧图像中的人脸,进而确定所述第一帧图像中表征人脸所在位置的第一区域;其中,所述第一区域可通过第一坐标范围表示。在具体应用过程中,所述第一区域在设备的图像显示单元中通过显示的人脸框标识,例如图4a所示;所述人脸框标识对应的坐标范围与所述第一坐标范围相匹配。进一步地,所述跟踪单元32在所述第一帧图像中的所述第一区域的基础上进行跟踪。其中,所述第一帧图像可以为针对一目标人物采集的图像数据中的第一帧图像;本实施例是以前两帧图像的处理过程为例进行说明,当然,在实际的图像数据处理过程中,是针对多帧图像数据进行处理,所述多帧图像数据的处理过程可参照本实施例中所述的针对前两帧图像数据的处理过程。

本实施例中,所述跟踪单元32,用于按预设步长在所述第一坐标范围对应的第一区域内选取第一组n个特征点,获得所述第一组n个特征点中第一特征点的第一坐标;n为正整数;其中,所述第一特征点为所述第一组n个特征点中的任一特征点;获得所述第二帧图像中的第二组n个特征点,所述第二组n个特征点中第二特征点的第二坐标与所述第一组n个特征点中相对应的第一特征点的第一坐标相同;基于所述第二组n个特征点中每个特征点的第二坐标确定初始坐标范围。

具体的,对于所述第一帧图像中的第一区域,所述跟踪单元32按预设步长选取第一组n个特征点,获得所述第一组n个特征点中每个特征点的坐标。例如,所述第一区域满足m×n,其中,m小于等于所述第一帧图像的长度/宽度;则n小于等于所述第一帧图像的宽度/长度;则可按照步长为m×n/(10×10)在所述第一区域内均匀选取100个特征点。其中,所述步长可不限于上述列举的步长,所述步长可按照等间隔配置,所述步长也可按照不等间隔配置,具体可按照实际需求进行配置。进一步地,所述跟踪单元32按照所述第一帧图像中的第一组n个特征点中每个特征点的坐标,获得第二帧图像中的第二组n个特征点,使得所述第二组n个特征点中每个特征点的坐标与所述第一组n个特征点中相对应的特征点的坐标相同。例如,若按照相同的排列顺序并标识,即所述第一组n个特征点和所述第二组n个特征点中的特征点均按照从上到下、从左到右的顺序进行排序,则所述第二组n个特征点中的第一个特征点的坐标与所述第一组n个特征点中的第一个特征点的坐标相同,所述第二组n个特征点中的第二个特征点的坐标与所述第一组n个特征点中的第二个特征点的坐标相同,以此类推,则所述第二组n个特征点中任一特征点(即第二特征点)的坐标(即第二坐标)与所述第一组n个特征点中相对应的第一特征点的坐标(即第一坐标)相同。进一步地,基于所述第二组n个特征点中每个特征点的第二坐标确定一坐标范围,将所述坐标范围确定为所述初始坐标范围。

本实施例中,所述跟踪单元32,用于计算所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点的第一偏移参数;所述第一偏移参数表征坐标相同的所述第二特征点与所述第一特征点之间的差异程度;基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,计算所述多个匹配特征点中每个匹配特征点的第二偏移参数;所述第二偏移参数表征所述匹配特征点与所述第二组n个特征点中、与所述匹配特征点相对应的第三特征点之间的偏移程度;以及,计算所述多个匹配特征点中每个匹配特征点的第三偏移参数;所述第三偏移参数表征所述匹配特征点与所述第一组n个特征点中、与所述匹配特征点相对应的第四特征点之间的偏移程度;根据所述第二偏移参数和所述第三偏移参数确定所述初始坐标范围对应的偏移参数。

其中,所述跟踪单元32,用于在计算所述第二组n个特征点中每个特征点的第一偏移参数之前,针对所述第一帧图像和所述第二帧图像进行处理,分别获得所述第一帧图像的第一梯度图像和所述第二帧图像的第二梯度图像。具体的,对于所述第一帧图像和所述第二帧图像,分别建立所述第一帧图像的第一金字塔图像,建立所述第二帧图像的第二金字塔图像;计算所述第一金字塔图像的第一梯度图像,以及计算所述第二金字塔图像的第二梯度图像;其中,建立图像的金字塔图像(例如建立所述第一帧图像的第一金字塔图像,又例如建立所述第二帧图像的第二金字塔图像等)可以理解为按比例地缩小图像,以获得更鲁棒性的结果。在具体实施过程中,首先可对图像进行平滑处理,再对平滑处理后的图像进行抽样,从而可获得尺寸缩小的金字塔图像。本实施例中,所述第一梯度图像和所述第二梯度图像中每个特征点梯度可表示为:

gx(y,x)=img(y,x+1)-img(y,x-1)(1)

gy(y,x)=img(y+1,x)-img(y-1,x)(2)

其中,gx(y,x)表示特征点(y,x)在x轴上的梯度;gy(y,x)表示特征点(y,x)在y轴上的梯度;img(y,x)表示特征点(y,x)的显示参数;相应的,img(y,x+1)表示特征点(y,x+1)的显示参数;img(y,x-1)表示特征点(y,x+1)的显示参数;img(y+1,x)表示特征点(y+1,x)的显示参数;img(y-1,x)表示特征点(y-1,x)的显示参数;作为一种实施方式,所述显示参数具体可以是灰度值,当然,也可以是其他显示参数。

进一步地,所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点的第一偏移参数可基于表达式(1)和表达式(2)获得的相应特征点的梯度计算获得;其中,所述第二组n个特征点中每个特征点相对于所述第一组n个特征点中的相应特征点指的是:所述第二组n个特征点中的特征点2相对于所述第一组n个特征点中的特征点1,特征点2在所述第二帧图像中的坐标和特征点1在所述第一帧图像中的坐标相同;也即所述第一偏移参数为特征点2相对于特征点1的相对偏移程度。具体的,对于所述第二组n个特征点中的每个特征点,分析每个特征点相对于所述第一组n个特征点中的相应特征点的邻域特征获得差异参数(diff)和梯度参数(grad),基于所述差异参数和所述梯度参数计算获得第一偏移参数;其中,所述差异参数表征所述第二组n个特征点中的特征点相对于第一组n个特征点中的相应特征点的差异程度。其中,所述差异参数和所述梯度参数具体可通过以下表达式表示:

diff=img1(y1,x1)-img2(y2,x2)(3)

gx=gx(y1,x1)+gx(y2,x2)(4)

gy=gy(y1,x1)+gy(y2,x2)(5)

其中,img1(y1,x1)表示第一组n个特征点中、特征点(y1,x1)的显示参数;img2(y2,x2)表示第二组n个特征点中、特征点(y2,x2)的显示参数;其中,所述显示参数具体可以是灰度值,当然,也可以是其他显示参数。gx表示在x轴方向上的梯度;gy表示在y轴方向上的梯度;gx(y1,x1)表示第一帧图像中特征点(y1,x1)在x轴方向上的梯度;gx(y2,x2)表示第二帧图像中与特征点(y1,x1)相对应的特征点(y2,x2)在x轴方向上的梯度,特征点(y1,x1)在第一帧图像中的坐标与特征点(y2,x2)在第二针图像中的坐标相同;相应的,gy(y1,x1)表示第一帧图像中特征点(y1,x1)在y轴方向上的梯度;gy(y2,x2)表示第二帧图像中与特征点(y1,x1)相对应的特征点(y2,x2)在y轴方向上的梯度。

进一步地,根据所述差异参数和所述梯度参数计算相应特征点的第一偏移参数,所述第一偏移参数可通过以下表达式表示:

(dy,dx)=f(gxx,gxy,gyy,diff)(6)

其中,确定第一帧图像中特征点1的梯度参数,记为gx1和gy1;以及确定第二帧图像中与特征点1相对应的特征点2的梯度参数,记为gx2和gy2;则基于(gx1,gy1)和(gx2,gy2)进行矩阵运算以整合所述特征点1和所述特征点2的梯度;则表达式(6)中,gxx表示特征点1在x轴上的梯度和特征点2在x轴上的梯度的运算结果;gyy表示特征点1在y轴上的梯度和特征点2在y轴上的梯度的运算结果;gxy表示特征点1在x轴上的梯度和特征点2在y轴上的梯度的运算结果,或者表示特征点1在y轴上的梯度和特征点2在x轴上的梯度的运算结果。f()表示特定运算规则。

在具体实现过程中,基于表达式(6)内部的多次迭代,可获得所述第一帧图像中的一特征点(y1,x1)在所述第二帧图像上的匹配特征点(y0,x0),所述匹配特征点满足以下表达式:

(y0,x0)=(y2+dy,x2+dx)(7)

但由于图像中的人脸的位置处于变化中,因此,只有所述第一组n个特征点中的部分特征点才能够在所述第二帧图像中找到匹配特征点。

作为一种实施方式,所述跟踪单元32,用于基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定所述每个特征点对应的目标特征点,获得所述目标特征点的第三坐标;确定所述第一帧图像中与所述目标特征点相对应的初始特征点;所述初始特征点的第四坐标与所述目标特征点的第三坐标相同;获得所述初始特征点相对于所述目标特征点之间的第四偏移参数;当所述第四偏移参数未达到预设阈值时,确定所述目标特征点为匹配特征点;当所述第四偏移参数达到所述预设阈值时,确定所述目标特征点不是匹配特征点。

具体的,本实施方式中,所述跟踪单元32在采用上述技术方案获得第二帧图像中、作为第一帧图像中特征点(y1,x1)对应的匹配特征点(y0,x0)后,采用相同的技术方案获得第一帧图像中、作为第二帧图像中特征点(y0,x0)对应的匹配特征点(y3,x3),获得匹配特征点(y3,x3)与特征点(y1,x1)的偏移参数,所述偏移参数即为所述第四偏移参数;当所述第四偏移参数达到预设阈值时,表明双向匹配特征点的偏差较小,匹配成功;相应的,当所述第四偏移参数未达到预设阈值时,表明双向匹配特征点的偏差较大,匹配失败。本实施方式中采用双向匹配的方式获得的匹配特征点,大大增强了匹配特征点的鲁棒性。

本实施例中,所述跟踪单元32基于所述第二组n个特征点中每个特征点对应的第一偏移参数确定多个匹配特征点,计算所述多个匹配特征点中每个匹配特征点的第二偏移参数,所述第二偏移参数表征所述匹配特征点与所述第二组n个特征点中、与所述匹配特征点相对应的第三特征点之间的位移偏移程度;也可以理解为,所述第二偏移参数表征所述多个匹配点中每个匹配特征点相对于第一组n个特征点中、与匹配特征点相对应的特征点之间的位移偏移程度。例如,对于第一组n个特征点中,特征点(y1,x1),第二组n个特征点中与特征点(y1,x1)坐标相同的特征点(y2,x2),计算获得的匹配特征点(y0,x0);则所述第二偏移参数表明匹配特征点(y0,x0)与特征点(y2,x2)之间的相对位移偏移程度,也可以理解为第二偏移参数表明匹配特征点(y0,x0)与特征点(y1,x1)之间的相对位移偏移程度。

本实施例中,作为一种实施方式,所述跟踪单元32,用于分别从所述第二帧图像所包含的多个匹配特征点中提取多组第一特征点对;所述第一特征点对包括第一匹配特征点和第二匹配特征点,以及从所述第一帧图像中、与所述多个匹配特征点相对应的源特征点中提取多组第二特征点对,所述第二特征点对包括第一源特征点和第二源特征点;其中,所述第一匹配特征点和所述第二匹配特征点为所述多个匹配特征点中的任意两个特征点;计算所述第一匹配特征点和所述第二匹配特征点之间的第一距离,以及计算所述第一源特征点和所述第二源特征点之间的第二距离;获得所述第一距离和所述第二距离之间的相对参数;将所述相对参数记为所述第一匹配特征点和所述第二匹配特征点的第三偏移参数。

具体的,所述跟踪单元32分别针对所述第二帧图像所包含的多个匹配特征点和所述第一帧图像中、与匹配特征点相对应的源特征点进行两两提取;所提取出的第二帧图像中的两个匹配特征点(即所述第一匹配特征点和所述第二匹配特征点)与第一帧图像中的两个源特征点(即所述第一源特征点和所述第二源特征点)分别一一对应。则分别计算所述第一匹配特征点和所述第二匹配特征点之间的第一距离,以及计算所述第一源特征点和所述第二源特征点之间的第二距离;其中,所述第一距离和所述第二距离可以为欧式距离,当然,也可以是能够表征相应两个特征点之间的相对位置关系的其他距离。进一步地,获得所述第一距离和所述第二距离之间的相对参数;所述相对参数记为所述第一匹配特征点和所述第二匹配特征点的第三偏移参数;所述第三偏移参数表征人脸所在区域的缩放程度。作为一种实施方式,所述相对参数具体可以为所述第一距离和所述第二距离的比值;当然,所述相对参数也可通过表征所述第一距离和所述第二距离之间相对关系的其他处理方式获得。

本实施例中,作为一种实施方式,所述跟踪单元32,用于将多个第二偏移参数按第一预设处理规则进行处理,获得特定偏移参数;以及,将多个相对参数按第二预设处理规则进行处理,获得特定相对参数;将所述特定偏移程度和所述特定相对参数作为所述初始坐标范围对应的偏移参数。

具体的,对于所述第二帧图像中的每个匹配特征点均能够计算获得对应的第二偏移参数,理想情况下,所述第二帧图像中的获得的所有匹配特征点对应的第二偏移参数均相等,但由于各种因素(例如人脸位置的移动、数据处理过程中的偏差等等)会造成误差,从而使得所述第二帧图像中的获得的所有匹配特征点对应的第二偏移参数可能均不相等。为了使处理结果更具有鲁棒性,所述跟踪单元32对所述第二帧图像中的获得的所有匹配特征点对应的第二偏移参数进行排序,选择n个第二偏移参数的中值作为特定偏移参数。可以理解为,所述特定偏移参数表征人脸框的偏移程度。另一方面,在理想情况下,所述第二帧图像中的任意两个匹配特征点对应的相对参数均相等,但由于各种因素(例如人脸位置的移动、数据处理过程中的偏差等等)会造成误差,从而使得所述第二帧图像中的任意两个匹配特征点对应的相对参数可能均不相等。为了使处理结果更具有鲁棒性,所述跟踪单元32对所述第二帧图像中的任意两个匹配特征点对应的相对参数进行排序,选择多个相对参数的中值作为特定相对参数。可以理解为,所述特定相对参数表征人脸框的缩放程度。

进一步地,本实施例中,所述跟踪单元32将所述特定偏移程度和所述特定相对参数作为所述初始坐标范围对应的偏移参数;从而基于所述初始坐标范围以及对应的偏移参数获得第二坐标范围,记录所述第二坐标范围为跟踪后的表征人脸所在位置的区域;具体可参照图4b所示,其中,实线框为采用本发明实施例的技术方案跟踪人脸后的跟踪结果;而虚线框为采用人脸检测方案直接检测获得的结果;相比于人脸检测特征点的技术方案,采用本发明实施例的活体人脸跟踪方案能够得到更准好的描述人脸的变化,具体可以是人脸位置的变化。作为一种实施方式,本发明实施例的人脸跟踪方案可采用klt跟踪器实现,当然不限于klt跟踪器,其他快速跟踪算法均可实现本发明实施例的活体人脸跟踪;本实施例直接采用在表征人脸所在的区域均匀选取特征点,并跟踪人脸框,大大提升了人脸跟踪速度,也避免了特征点过少导致跟踪失败的问题。并且,双向匹配的方式也大大提升了人脸跟踪的鲁棒性。

本实施例中,所述特征抽取单元33,用于抽取所述区域中的第一纹理特征和/或第二纹理特征;

所述计算单元34,用于基于所述第一纹理特征计算表征第一姿态的第一参数,和/或,基于所述第二纹理特征计算表征第二姿态的第二参数;

所述动作判定单元35,用于基于所述第一参数确定第一动作,和/或,基于所述第二参数确定第二动作。

作为一种实施方式,所述特征抽取单元33,用于对所述区域中的特征点按照第三预设处理规则进行处理,获得所述区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第一过程参数;分析所述第一过程参数获得表征人脸纹理边缘的第一纹理特征;还用于抽取所述区域中的第一部分区域;对所述第一部分区域中的特征点按照第四预设处理规则进行处理,获得所述第一部分区域中表征每个特征点与所述特征点相邻的特征点的差异程度的第二过程参数;分析所述第二过程参数获得表征眼部纹理边缘的第二纹理特征。

本实施例中,所述特征抽取单元33针对不同的动作抽取不同的纹理特征,在本实施例中记为第一纹理特征和第二纹理特征。本实施例中主要针对两种动作进行分类,考虑到转头动作和眨眼动作对于人脸的姿态变化较大,因此,本实施例中针对转头动作和眨眼动作进行分类。可以理解为,所述第一纹理特征表征人脸纹理边缘,所述第二纹理特征表征眼部纹理边缘。

具体的,所述特征抽取单元33针对第一纹理特征,其处理过程包括:对所述第二帧图像,提取出表征人脸所在位置的区域(所述区域可以为跟踪后的第二区域),对所述区域按照第三预设处理规则进行处理。作为一种实施方式,所述对所述区域按照第三预设处理规则进行处理,包括:对所述区域进行缩小,例如缩小至(64,64)范围,将缩小后的图像按照二值化处理方式或三值化处理方式进行处理。以二值化处理方式为例,则设备可针对所述第二帧图像中的第二区域进行lbp处理;例如:首先提取所述第二帧图像中与所述第二区域匹配的过程图像,对所述过程图像进行灰度处理,获得所述过程图像的灰度图像,进一步确定所述灰度图像中的每个特征点与相邻的八个特征点之间的相对灰度关系,如图4c所示,为三乘三的特征点矩阵的灰度图像,每个特征点的灰度例如图4c中所示;将每个特征点的灰度值进行数值化表示,具体可参照图4d所示。进一步地,将相邻八个特征点的灰度与中心特征点的灰度进行比较,若相邻特征点的灰度大于等于中心特征点的灰度,则将所述相邻特征点的值记为1;反之,若相邻特征点的灰度小于中心特征点的灰度,则将所述相邻特征点的值记为0,具体可参见图4e所示。进一步地,将相邻特征点的值串联得到8位的二进制字符串,所述二进制字符串可以理解为分布在(0,255)的灰度值。在具体实施过程中,可参照图4e所示,若以左上角第一个特征点作为起始特征点,按照顺时针方向排列,则获得的8位的字符串为10001111。由此可获得所述过程图像中每个特征点(即中心特征点)对应的二进制字符串。

进一步地,为了去除冗余,统计每个特征点对应的二进制字符串中、0和1变化小于2的二进制字符串;例如,字符串为10001111中,第一位和第二位0和1变化1次,第四位和第五位0和1变化1次,总计变化两次,不满足“0和1变化小于2”的条件。又例如,字符串为00001111中,仅由第四位和第五位0和1变化1次,满足“0和1变化小于2”的条件。然后,将统计后的二进制字符串映射到(0,58)范围内,映射后的数据可作为lbp数据;这样也会大大减少数据处理量。上述处理过程具体可通过以下表达式实现:

lbp=[code0,code1,……,code7](8)

code(m,n)=img(y+m,x+n)>img(y,x)?1:0(9)

其中,表达式(8)中lbp表示所述区域中的第一特征点的显示参数与相邻特征点的显示参数的相对关系;所述第一特征点为所述区域中的任一特征点;code0,code1,……,code7分别表示所述第一特征点相邻的特征点的显示参数;表达式(9)表示将特征点(y+m,x+n)的灰度值与特征点(y,x)的灰度值进行比较,若特征点(y+m,x+n)的灰度值大于特征点(y,x)的灰度值,则将特征点(m,n)的二进制字符串code(m,n)记为1,否则记为0。

进一步地,将一定图像区域内分布在(0,58)的lbp数值进行统计直方图处理。因为该直方图有59个维度,所以统计之后可以得到一个59维的向量,作为所述区域的第一纹理特征。

针对第二纹理特征,由于眼部的区域较小,眨眼动作也较快,因此,在抽取第二纹理特征时,首先对区域进行眼部所在区域的抽取,即抽取所述区域中的第一部分区域,所述第一部分区域可以是所述区域的上半部区域,例如,抽取所述区域的上二分之一/三分之一的区域,作为所述第一部分区域。对抽取后的第一部分区域可参照前述第一纹理特征的处理方式进行处理,获得第二纹理特征。作为另一种实施方式,设备可针对所述第一部分区域进行ltp处理,处理过程与lbp处理方式近似,区别在于,在lbp处理过程中,在表示特征点与相邻特征点的灰度值的相对关系时,通过0和1进行标记。在本实施方式的ltp处理过程中,在表示特征点与相邻特征点的灰度值的相对关系时,通过0、1和-1进行标记,具体的处理过程可通过以下表达式实现:

code(m,n)=img(y+m,x+n)>img(y,x)+fuzzy?1:0(10)

code(m,n)=img(y+m,x+n)<img(y,x)-fuzzy?-1:0(11)

fuzzy=ratio×img(y,x)(12)

其中,img(y,x)表示特征点(y,x)的灰度值;所述特征点(y,x)可以是三乘三的特征点矩阵中的中心特征点;img(y+m,x+n)表示特征点(y+m,x+n)的灰度值;特征点(y+m,x+n)具体为与特征点(y,x)相邻的特征点;ratio表示比例参数,可预先配置;fuzzy表示特征点(y,x)的灰度值与ratio的乘积;特征点(y,x)的灰度值越大,fuzzy的值也最大。表达式(10)的含义表示将特征点(y+m,x+n)的灰度值与特征点(y,x)的灰度值与fuzzy之和进行比较,若特征点(y+m,x+n)的灰度值大于特征点(y,x)的灰度值与fuzzy之和,则将特征点(m,n)的字符串code(m,n)记为1,否则记为0;表达式(11)的含义表示将特征点(y+m,x+n)的灰度值与特征点(y,x)的灰度值与fuzzy之差进行比较,若特征点(y+m,x+n)的灰度值大于特征点(y,x)的灰度值与fuzzy之差,则将特征点(m,n)的字符串code(m,n)记为-1,否则记为0。

本实施例中,作为一种实施方式,所述计算单元34,用于将所述第一纹理特征输入预先配置的第一分类模型,获得表征第一姿态的第一参数;和/或,用于将所述第二纹理特征输入预先配置的第二分类模型,获得表征第二姿态的第二参数。

具体的,设备中预先采集大量样本数据(所述样本数据具体可以是采用上述处理方式获得的第一纹理特征)以及对应的姿态分类标识,对所述样本数据以及对应的姿态分类标识进行机器学习训练,获得第一分类模型。在获得所述第一纹理特征后,将所述第一纹理特征输入所述第一分类模型,获得所述第一纹理特征对应的第一姿态,所述第一姿态例如表示正面或侧面;所述第一姿态可通过第一参数表示。在实际应用中,可通过所述第一参数的数值大小表明所述第一姿态趋近于正面或侧面,例如所述第一参数越大,表明所述第一姿态越趋近于正面;相应的,若所述第一参数越小,表明所述第一姿态越趋近于侧面。另一方面,设备预先采集大量样本数据(所述样本数据具体可以是采用上述处理方式获得的第二纹理特征)以及对应的姿态分类标识,对所述样本数据以及对应的姿态分类标识进行机器学习训练,获得第二分类模型。在获得所述第二纹理特征后,将所述第二纹理特征输入所述第二分类模型,获得所述第二纹理特征对应的第二姿态,所述第二姿态例如表示睁眼或闭眼,所述第二姿态可通过第二参数表示。在实际应用中,可通过所述第二参数的数值大小表明所述第二姿态趋近于睁眼或闭眼,例如所述第二参数越大,表明所述第二姿态越趋近于睁眼;相应的,若所述第二参数越小,表明所述第二姿态越趋近于闭眼。

本实施例中,作为一种实施方式,所述动作判定单元35,用于基于所述多帧图像分别对应的多个第一参数,判断所述多帧图像中第一部分图像对应的第一参数是否均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数是否均不满足所述第一阈值范围;当所述多帧图像中第一部分图像对应的第一参数均满足第一阈值范围、并且所述多帧图像中第二部分图像对应的第一参数均不满足所述第一阈值范围时,确定所述第一参数对应于第一动作;和/或,用于基于所述多帧图像分别对应的多个第二参数,判断所述多帧图像中第三部分图像对应的第二参数是否均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数是否均不满足所述第二阈值范围;当所述多帧图像中第三部分图像对应的第二参数均满足第二阈值范围、并且所述多帧图像中第四部分图像对应的第二参数均不满足所述第二阈值范围时,确定所述第二参数对应于第二动作。

具体的,在前述获得表征第一姿态的第一参数时,由于前述是针对两帧图像进行处理获得的第一参数,而在具体应用过程中,是针对获得的图像数据中所包含的多帧图像进行处理获得的第一参数,可以理解为,对于每一帧图像可获得一个第一参数,则针对多帧图像可对应获得多个第一参数。基于此,针对所述多个第一参数可获得参数序列。分析所述参数序列,若数值变化由低到高,则可确定人脸由侧面转变为正面;相应的,若数值变化由高到低,则可确定人脸由正面转变为侧面,当然,相反的,若通过其他数据处理方式使得第一参数越大,表明人脸越趋近于正面,第一参数越小,表明人脸越趋近于侧面,则在分析参数序列过程中,若数值变化由低到高,则可确定人脸由正面转变为侧面;相应的,若数值变化由高到低,则可确定人脸由侧面转变为正面。基于此,可通过所述参数序列中数值的变化从而确定对应的第一动作。

在具体的实施过程中,针对获得的多帧图像,选取当前帧之前的x帧图像,将所述x帧图像均匀切分为y段;其中,x和y均为正整数,且y小于x;对于每段图像,由于每段图像中包括至少两帧图像,则每段图像均可得到至少两个第一参数;在所述至少两个第一参数中选取中间值作为所述每段图像的第一参数,从而可获得y段图像分别对应的y个第一参数。将y个第一参数串接获得参数序列,判断所述参数序列中的参数变化是否满足预设规则,例如,若参数变化由高到低或者由低到高,则基于参数变化判定对应的第一动作。在另一种实施方式中,对于所述多帧图像对应的多个第一参数,判定所述多帧图像中前一部分图像包含的人脸处于正面,而后一部分图像包含的人脸处于侧面,或者判定所述多帧图像中前一部分图像包含的人脸处于侧面,而后一部分图像包含的人脸处于正面,则可判定第一参数对应的第一动作。例如,判断x帧图像中,所述x帧图像的前三分之一图像对应的第一参数均满足第一阈值范围,则表明包含有人脸正面图像,以及所述x帧图像的后三分之一图像对应的第一参数均不满足第一阈值范围,则表明包含有人脸侧面图像,则可确定在所述x帧图像中人脸由正面转向为侧面,即可确定转头动作。

本实施例中,所述活体验证设备中的检测单元31、跟踪单元32、特征抽取单元33、计算单元34、动作判定单元35和验证单元36,在实际应用中均可由所述设备中的中央处理器(cpu,centralprocessingunit)、数字信号处理器(dsp,digitalsignalprocessor)、微控制单元(mcu,microcontrollerunit)或可编程门阵列(fpga,field-programmablegatearray)实现。

本发明实施例还提供了一种活体验证设备,活体验证设备作为硬件实体一个示例如图6所示。所述设备包括处理器61、存储介质62、摄像头65以及至少一个外部通信接口63;所述处理器61、存储介质62、摄像头65以及外部通信接口63均通过总线64连接。

本发明实施例的活体验证方法可通过算法以及任意格式的算法库形式集成在所述活体验证设备中;具体可集成在所述活体验证设备中可运行的客户端中。在实际应用中,算法可与客户端封装在一起,用户激活客户端,即开启活体验证功能时,客户端调用算法库,并启动摄像头,通过摄像头采集的图像数据作为源数据,根据采集的源数据进行动作的判定。

这里需要指出的是:以上涉及设备项的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明设备实施例中未披露的技术细节,请参照本发明方法实施例的描述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、设备、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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