活体检测方法、装置及应用活体检测方法的相关系统与流程

文档序号:17162310发布日期:2019-03-20 00:54阅读:252来源:国知局
活体检测方法、装置及应用活体检测方法的相关系统与流程

本发明涉及脸部特征识别技术领域,尤其涉及一种活体检测方法、装置及应用活体检测方法的支付系统、视频监控系统、门禁系统。



背景技术:

随着脸部特征识别技术的发展,脸部特征识别被广泛地应用,例如,刷脸支付、视频监控中的人脸识别,以及门禁授权中的指纹识别、虹膜识别等等。脸部特征识别也因此而存在着各种各样的威胁,比如攻击者利用伪造的人脸、指纹、虹膜等等进行脸部特征识别。

为此,提出了一种活体检测方法,即通过检测待检测对象是否眨眼、是否张嘴、是否闭嘴等等,来判定待检测对象是否为活体,以此防止攻击者通过窃取待检测对象的脸部特征用于身份识别或者身份验证。

然而,攻击者使用假体攻击样本便可轻易地破解上述活体检测方法,例如,假体攻击样本中涂改或遮挡了眼睛或者嘴巴的轮廓,造成假体眨眼、闭嘴等假象,而使得假体被误判为活体。

由上可知,现有的活体检测方法仍存在对假体攻击样本的防御性较差的问题。



技术实现要素:

为了解决相关技术中存在的活体检测对假体攻击样本的防御性较差的问题,本发明各实施例提供一种活体检测方法、装置及应用活体检测方法的支付系统、视频监控系统、门禁系统。

其中,本发明所采用的技术方案为:

第一方面,一种活体检测方法,包括:对待检测对象的多个图像进行遍历,以遍历到的图像作为当前图像;对所述当前图像进行脸部特征提取,得到所述当前图像对应的特征向量,所述特征向量用于描述所述待检测对象在所述当前图像中脸部特征的结构;根据所述当前图像对应的特征向量相对特征序列中历史图像所对应特征向量的变化,捕捉所述待检测对象的动作行为,所述历史图像是所述多个图像中已遍历的图像;如果捕捉到所述待检测对象存在动作行为,则判定所述待检测对象为活体。

第二方面,一种活体检测装置,包括:图像遍历模块,用于对待检测对象的多个图像进行遍历,以遍历到的图像作为当前图像;特征提取模块,用于对所述当前图像进行脸部特征提取,得到所述当前图像对应的特征向量,所述特征向量用于描述所述待检测对象在所述当前图像中脸部特征的结构;行为捕捉模块,用于根据所述当前图像对应的特征向量相对特征序列中历史图像所对应特征向量的变化,捕捉所述待检测对象的动作行为,所述历史图像是所述多个图像中已遍历的图像;活体检测模块,用于如果捕捉到所述待检测对象存在动作行为,则判定所述待检测对象为活体。

在一示例性实施例中,所述特征提取模块包括:图像识别单元,用于对所述当前图像中的脸部特征进行识别,得到所述当前图像中脸部特征的若干关键点;特征计算单元,用于根据所述当前图像中脸部特征的若干关键点计算脸部特征的结构距离比例,得到所述当前图像对应的特征向量。

在一示例性实施例中,所述当前图像中的脸部特征为人脸特征,所述图像识别单元包括:灰度处理子单元,用于对所述当前图像进行灰度处理,得到所述当前图像的灰度图;模型调用子单元,用于将所述当前图像的灰度图输入人脸关键点模型进行脸部特征识别,得到所述当前图像中脸部特征的若干关键点。

在一示例性实施例中,所述当前图像中的脸部特征包括眼睛和/或嘴巴,所述当前图像对应的特征向量包括眼睛纵横比和/或嘴巴纵横比。

在一示例性实施例中,所述装置还包括:向量比较模块,用于将所述当前图像对应的特征向量与正常结构区间进行比较;向量添加模块,用于如果所述当前图像对应的特征向量在所述正常结构区间之内,则将所述当前图像对应的特征向量添加至所述特征序列。

在一示例性实施例中,所述特征序列为指定长度的队列;所述向量添加模块包括:第一入队单元,用于如果所述队列未满,则控制所述队列为所述当前图像对应的特征向量执行入队操作;第二入队单元,用于如果所述队列已满,则控制所述队列在队头执行出队操作,并在队尾为所述当前图像对应的特征向量执行入队操作。

在一示例性实施例中,所述行为捕捉模块包括:平均值计算单元,用于计算所述特征序列中特征向量的平均值;变化率计算单元,用于根据所述平均值和所述当前图像对应的特征向量,计算所述当前图像对应的特征向量的相对变化率;判断单元,用于如果所述当前图像对应的特征向量的相对变化率小于变化阈值,则捕捉到所述待检测对象存在动作行为。

在一示例性实施例中,所述判断单元包括:累加子单元,用于如果所述当前图像对应的特征向量的相对变化率小于所述变化阈值,则控制计数器累加;捕捉子单元,用于当所述计数器的计数值超过累加阈值时,捕捉到所述待检测对象存在动作行为。

在一示例性实施例中,所述装置还包括:人脸识别模块,用于如果所述待检测对象为活体,则调用人脸识别模型对所述待检测对象的图像进行人脸识别。

在一示例性实施例中,所述人脸识别模块包括:特征提取单元,用于调用所述人脸识别模型对所述待检测对象的图像进行人脸特征提取;相似度计算单元,用于根据提取到的人脸特征进行指定人脸特征的相似度运算;识别结果生成单元,用于根据运算结果生成所述待检测对象的识别结果。

第三方面,一种电子设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的活体检测方法。

第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的活体检测方法。

第五方面,一种支付系统,所述支付系统包括支付终端和支付服务器,其中,所述支付终端,用于采集支付用户的多个图像;所述支付终端包括活体检测装置,用于根据所述支付用户的多个图像确定对应的特征向量,并根据所确定特征向量之间的相对变化捕捉所述支付用户的动作行为,如果捕捉到所述支付用户的动作行为,则判定所述支付用户为活体;当所述支付用户为活体,所述支付终端对所述支付用户进行身份验证,以在所述支付用户通过身份验证时,向所述支付服务器发起支付请求。

第六方面,一种视频监控系统,所述视频监控系统包括监控屏幕、若干摄像头和监控服务器,其中,若干所述摄像头,用于采集监控对象的多个图像;所述监控服务器包括活体检测装置,用于根据所述监控对象的多个图像确定对应的特征向量,并根据所确定特征向量之间的相对变化捕捉所述监控对象的动作行为,如果捕捉到所述监控对象的动作行为,则判定所述监控对象为活体;当所述监控对象为活体,所述监控服务器对所述监控对象进行身份识别,以获得追踪目标,并在所述监控屏幕中通过图像画面对所述追踪目标进行视频监控。

第七方面,一种门禁系统,所述门禁系统包括接待设备、识别服务器和门禁控制设备,其中,所述接待设备,用于采集出入对象的多个图像;所述识别服务器包括活体检测装置,用于根据所述出入对象的多个图像确定对应的特征向量,并根据所确定特征向量之间的相对变化捕捉所述出入对象的动作行为,如果捕捉到所述出入对象的动作行为,则判定所述出入对象为活体;当所述出入对象为活体,所述识别服务器对所述出入对象进行身份识别,以使所述门禁控制设备为成功完成身份识别的出入对象配置门禁权限,使得该出入对象根据所配置的门禁权限控制指定工作区域的门禁道闸执行放行动作。

在上述技术方案中,通过对待检测对象的多个图像进行遍历,以遍历到的图像作为当前图像,以对当前图像进行脸部特征提取,得到当前图像对应的特征向量,进而根据当前图像对应的特征向量相对特征序列中历史图像所对应特征向量的变化,捕捉待检测对象的动作行为,如果捕捉到待检测对象存在动作行为,则判定待检测对象为活体,也就是说,仅在当前图像对应的特征向量相对于特征序列中历史图像对应的特征向量发生了变化,待检测对象才会被判定为活体,以此过滤假体攻击样本中脸部特征轮廓的突变而造成的假体误判,从而解决了活体检测方法对假体攻击样本的防御性较差的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种电子设备的硬件结构框图。

图2是根据一示例性实施例示出的一种活体检测方法的流程图。

图3是根据一示例性实施例示出的另一种活体检测方法的流程图。

图4是图2对应实施例中步骤330在一个实施例的流程图。

图5是图4对应实施例所涉及的图像中眼睛若干关键点的示意图。

图6是图4对应实施例所涉及的眼睛纵横比的变化趋势的示意图。

图7是图4对应实施例中步骤331在一个实施例的流程图。

图8是图7对应实施例所涉及的人脸关键点模型所构建的索引关系的示意图。

图9是图3对应实施例中步骤430在一个实施例的流程图。

图10为图9对应实施例所涉及的队列为图像对应的特征向量执行入队操作/出队操作的具体实现示意图。

图11是图2对应实施例中步骤350在一个实施例的流程图。

图12是图11对应实施例中步骤355在一个实施例的流程图。

图13是图2对应实施例中步骤370在一个实施例的流程图。

图14是一应用场景中基于身份验证的实施环境的示意图。

图15是一应用场景中基于身份识别的实施环境的示意图。

图16是一应用场景中基于身份识别的另一个实施环境的示意图。

图17是一应用场景中一种活体检测方法的具体时序图。

图18是图17应用场景所涉及的活体检测方法的具体实现示意图。

图19是根据一示例性实施例示出的一种活体检测装置的框图。

图20是根据一示例性实施例示出的一种电子设备的框图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

活体检测方法,是针对待检测对象的图像进行的活体检测,即检测待检测对象在图像中的脸部特征轮廓是否发生了变化,如果检测到待检测对象在图像中的脸部特征轮廓发生了变化,即判定待检测对象为活体。

例如,待检测对象在图像中的脸部特征为眼睛或者嘴巴,当待检测对象眨眼或者张嘴,将造成图像中的脸部特征轮廓发生变化,由此便可判定待检测对象为活体。

假体攻击样本,是指攻击者所窃取的待检测对象的图像,是攻击者利用眼睛或者嘴巴的活动特点,对所窃取的待检测对象的图像进行恶意地篡改,例如,用笔涂改了图像中眼睛的轮廓,或者,用笔遮挡了图像中嘴巴的轮廓,使得图像中的脸部特征轮廓发生了变化,而造成假体(伪装的待检测对象,即攻击者)眨眼、张嘴等假象,使得假体被误判为活体。

即使活体检测方法基于待检测对象的一段视频,由于活体检测是以图像帧为单位执行的,攻击者仍然可以依赖于假体攻击样本轻易地破解上述活体检测方法,例如,连续多次快速地遮挡图像中脸部特征轮廓,进而使得假体被误判为活体。

由上可知,现有的活体检测方法仍存在对假体攻击样本的防御性较差的缺陷。

为此,本发明特提出了一种活体检测方法,该种活体检测方法能够有效地提高对假体攻击样本的防御性,具有较高的安全性。

该种活体检测方法由计算机程序实现,与之相对应的,所构建的活体检测装置可存储于架构有冯诺依曼体系的电子设备中,以在该电子设备中执行,进而实现待检测对象的活体检测。例如,电子设备可以是智能手机、平板电脑、笔记本电脑、台式电脑、服务器等等,在此并未加以限定。

请参阅图1,图1是根据一示例性实施例示出的一种电子设备的框图。需要说明的是,该种电子设备只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该种电子设备也不能解释为需要依赖于或者必须具有图1中示出的示例性的电子设备100中的一个或者多个组件。

如图1所示,电子设备100包括存储器101、存储控制器103、一个或多个(图1中仅示出一个)处理器105、外设接口107、射频模块109、定位模块111、摄像模块113、音频模块115、触控屏幕117以及按键模块119。这些组件通过一条或多条通讯总线/信号线121相互通讯。

其中,存储器101可用于存储计算机程序以及模块,如本发明示例性实施例中的活体检测方法及装置所对应的计算机程序及模块,处理器105通过执行存储在存储器101内的计算机程序,从而执行各种功能以及数据处理,即完成活体检测方法。

存储器101作为资源存储的载体,可以是随机存储器、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。

外设接口107可以包括至少一有线或无线网络接口、至少一串并联转换接口、至少一输入输出接口以及至少一usb接口等,用于将外部各种输入/输出装置耦合至存储器101以及处理器105,以实现与外部各种输入/输出装置的通信。

射频模块109用于收发电磁波,实现电磁波与电信号的相互转换,从而通过通讯网络与其他设备进行通讯。通信网络包括蜂窝式电话网、无线局域网或者城域网,上述通信网络可以使用各种通信标准、协议及技术。

定位模块111用于获取电子设备100的当前所在的地理位置。定位模块111的实例包括但不限于全球卫星定位系统(gps)、基于无线局域网或者移动通信网的定位技术。

摄像模块113隶属于摄像头,用于拍摄图片或者视频。拍摄的图片或者视频可以存储至存储器101内,还可以通过射频模块109发送至上位机。例如,利用摄像模块113拍摄待检测对象,以形成待检测对象的图像。

音频模块115向用户提供音频接口,其可包括一个或多个麦克风接口、一个或多个扬声器接口以及一个或多个耳机接口。通过音频接口与其它设备进行音频数据的交互。音频数据可以存储至存储器101内,还可以通过射频模块109发送。

触控屏幕117在电子设备100与用户之间提供一个输入输出界面。具体地,用户可通过触控屏幕117进行输入操作,例如点击、触摸、滑动等手势操作,以使电子设备100对该输入操作进行响应。电子设备100则将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过触控屏幕117向用户显示输出。

按键模块119包括至少一个按键,用以提供用户向电子设备100进行输入的接口,用户可以通过按下不同的按键使电子设备100执行不同的功能。例如,声音调节按键可供用户实现对电子设备100播放的声音音量的调节。

可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或更少的组件,或者具有与图1所示不同的组件。图1中所示的各组件可以采用硬件、软件或者其组合来实现。

请参阅图2,在一示例性实施例中,一种活体检测方法适用于电子设备,电子设备的结构可以如图1所示。

该种活体检测方法可以由电子设备执行,可以包括以下步骤:

步骤310,对待检测对象的多个图像进行遍历,以遍历到的图像作为当前图像。

首先,待检测对象的多个图像,可以是指一段视频,即摄像设备对待检测对象进行了一次摄像所生成的,还可以是指多张照片,即摄像设备对待检测对象进行了连续多次拍照所生成的。

也可以理解为,活体检测可以基于待检测对象的一段视频进行,也可以基于待检测对象的多张照片进行,本实施例并未对此加以限定。

其次,多个图像的获取,可以是实时采集到的多个图像,也可以是预先存储的多个图像,即通过读取缓存区域中一历史时间段采集到的多个图像,本实施例也并未对此进行限定。

换而言之,摄像设备实时采集到待检测对象的多个图像之后,可以针对待检测对象的多个图像实时地进行活体检测,也可以预先存储后再处理。例如,在电子设备处理任务较少的时候进行处理,或者按照检测人员的指示进行处理。

其中,摄像设备可以是摄像机、录像机、或者其他具有图像采集功能的电子设备,例如,智能手机等。

活体检测是以图像帧为单位执行的,为此,在获取到待检测对象的多个图像之后,便可对待检测对象的多个图像进行遍历,以便于根据遍历到的图像进行活体检测。

在此说明的是,对于待检测对象的多个图像而言,遍历到的图像视为当前图像,已遍历的图像视为历史图像。

步骤330,对所述当前图像进行脸部特征提取,得到所述当前图像对应的特征向量,所述特征向量用于描述所述待检测对象在所述当前图像中脸部特征的结构。

待检测对象的脸部特征,例如,眼睛、嘴巴、耳朵、虹膜等等。为此,对应于图像的特征向量,用于实现对待检测对象在图像中脸部特征的结构的准确描述,进而在信息上唯一地表示待检测对象在图像中脸部特征的结构。

可以理解,对于待检测对象不同的脸部特征,图像中脸部特征的结构将有所区别,进而使得图像对应的特征向量也各不相同。例如,待检测对象的脸部特征为眼睛,则图像对应的特征向量为眼睛纵横比,以此描述待检测对象在图像中眼睛的结构;待检测对象的脸部特征为嘴巴,则图像对应的特征向量为嘴巴纵横比,以此描述待检测对象在图像中嘴巴的结构。

在此,对于图像对应的特征向量,不再进行一一列举,不同的待检测对象,均有其相应的图像,进而存在相应图像所对应的特征向量,以便于准确地描述不同待检测对象在相应图像中脸部特征的结构。

步骤350,根据所述当前图像对应的特征向量相对特征序列中历史图像所对应特征向量的变化,捕捉所述待检测对象的动作行为。

如前所述,遍历到的图像视为当前图像,历史图像,则指的是多个图像中已遍历到的图像。

由此,特征序列,是通过对待检测对象在多个图像中的脸部特征进行跟踪而生成的,此特征序列包含至少一个历史图像对应的特征向量。

具体地,如图3所示,特征序列的构建过程可以包括以下步骤:

步骤410,将所述当前图像对应的特征向量与正常结构区间进行比较。

步骤430,如果所述当前图像对应的特征向量在所述正常结构区间之内,则将所述当前图像对应的特征向量添加至所述特征序列。

步骤450,如果所述当前图像对应的特征向量在所述正常结构区间之外,则忽略所述当前图像对应的特征向量,继续遍历多个图像中的后一个图像。

应当理解,对于同一待检测对象而言,其脸部特征的结构相对固定,故而,待检测对象在图像中脸部特征的结构也相对固定,视为正常结构。例如,待检测对象的脸部特征为眼睛,则眼睛睁开时的眼睛轮廓视为正常结构。

正常结构区间,表示待检测对象在图像中脸部特征的结构在正常结构的波动范围。此正常结构区间可根据应用场景的实际需求灵活地设置,例如,在精度要求较高的应用场景中,设置波动范围较窄的正常结构区间,本实施例并未对此加以限定。

由此,仅在图像对应的特征向量在正常结构区间之内,才被允许添加至特征序列,以此防止异常的特则向量存在于特征序列,充分地保障了特征序列的准确性,进而有利于提升活体检测的准确性。

在此说明的是,随着对待检测对象的多个图像的遍历的持续进行,当遍历到多个图像中的后一个图像时,当前图像即转化为历史图像,而遍历到的后一个图像则更新为当前图像。

因此,特征序列,实质上反映了待检测对象在历史图像中脸部特征的正常结构。也可以理解为,特征序列,用于实现对待检测对象在历史图像采集时间段内脸部特征的正常结构的准确描述。

那么,如果当前图像对应的特征向量,相对特征序列中历史图像所对应特征向量发生了变化,则表明了待检测对象在当前图像中脸部特征的结构,相对特征序列所描述的待检测对象在历史图像采集时间段内脸部特征的正常结构发生了变化。

仍以待检测对象的脸部特征为眼睛进行说明,正常结构为眼睛睁开时的眼睛轮廓,那么,发生了变化的结构即为眨眼时的眼睛轮廓。

其次,待检测对象的动作行为,包括但不限于:眨眼行为、张嘴行为、闭嘴行为、招手行为、跺脚行为等等。

由上可知,对于待检测对象的多个图像,当其中一个图像(当前图像)对应的特征向量相对于前若干个图像(历史图像)对应的特征向量发生了相对变化时,表明待检测对象在图像中的脸部特征轮廓发生了变化,例如,待检测对象眨眼了,此时,即视为捕捉到待检测对象的动作行为,进而判定待检测对象为活体。

步骤370,如果捕捉到所述待检测对象存在动作行为,则判定所述待检测对象为活体。

例如,当捕捉到待检测对象的眨眼行为、张嘴行为、闭嘴行为、招手行为、或者跺脚行为等等,便可判定待检测对象为活体。

通过如上所述的过程,实现了基于特征向量相对变化的活体检测方案,即对于待检测对象的多个图像,仅在其中一个图像对应的特征向量相对于前若干个图像对应的特征向量发生了相对变化,待检测对象才会被判定为活体,以此过滤假体攻击样本中脸部特征轮廓的突变而造成的假体误判,从而有效地提高活体检测方法对假体攻击样本的防御性,具有较高的安全性。

请参阅图4,在一示例性实施例中,步骤330可以包括以下步骤:

步骤331,对所述当前图像中的脸部特征进行识别,得到所述当前图像中脸部特征的若干关键点。

如前所述,特征向量用于描述待检测对象在图像中脸部特征的结构,而图像中脸部特征的结构,实质指的是图像中脸部特征的轮廓。

例如,待检测对象的脸部特征为眼睛,待检测对象在图像中眼睛的结构即是指图像中眼睛的轮廓。

可以理解,图像中脸部特征的轮廓可视为一系列像素点构成,在计算特征向量时,没有必要使用构成图像中脸部特征轮廓的全部像素点,为此,本实施例中,通过脸部特征识别,得到图像中脸部特征的若干关键点。

也可以理解为,图像中脸部特征的若干关键点,用于表征构成图像中脸部特征轮廓的若干关键像素点。

仍以待检测对象的脸部特征为眼睛进行说明,如图5所示,图像中眼睛的六个关键点,分别包括:右眼角的一个关键像素点p1、上眼睑的两个关键像素点p2和p3、左眼角的一个关键像素点p4、下眼睑的两个关键像素点p5和p6。

进一步地,图像中脸部特征的若干关键点,是由不同的坐标(x,y)进行唯一表示的。

更进一步地,根据不同种类的待检测对象,脸部特征识别可以采用不同的方式实现。

在一实施例中,待检测对象为人时,脸部特征识别可以采用人脸关键点模型实现,即调用人脸关键点模型提取得到图像中脸部特征的若干关键点。

步骤333,根据所述当前图像中脸部特征的若干关键点计算脸部特征的结构距离比例,得到所述当前图像对应的特征向量。

如前所述,如果待检测对象的脸部特征为眼睛,则图像对应的特征向量为眼睛纵横比,以此描述待检测对象在图像中眼睛的结构;如果待检测对象的脸部特征为嘴巴,则图像对应的特征向量为嘴巴纵横比,以此描述待检测对象在图像中嘴巴的结构。

其中,眼睛纵横比表示眼睛的结构距离比例,嘴巴纵横比表示嘴巴的结构距离比例。

仍以待检测对象的脸部特征为眼睛进行说明,如图5所示,通过图像中眼睛的六个关键点,即可基本定位出图像中眼睛的轮廓,进而反映出图像中眼睛的结构。具体地,眼睛纵横比的计算公式如(1)所示:

其中,ear表示眼睛纵横比,p1表示右眼角所在关键像素点的坐标,p2和p3分别表示上眼睑所在两个关键像素点的坐标,p4表示左眼角所在关键像素点的坐标,p5和p6分别表示下眼睑所在两个关键像素点的坐标。

||p1-p4||表示左右眼角所在的一对关键像素点之间的坐标差的范数,同理,||p2-p6||表示上下眼睑所在的其中一对关键像素点之间的坐标差的范数,||p3-p5||表示上下眼睑所在的另一对关键像素点之间的坐标差的范数。

计算公式(1)中,分子表示眼睛上下眼睑之间的垂直距离,分母表示眼睛左右眼角之间的水平距离。应当说明的是,由于分子包含了两组垂直距离,而分母仅包含了一组水平距离,为此,对分母进行了加权,即×2。

在此结合计算公式(1),对通过眼睛纵横比来捕捉待检测对象的眨眼行为的原理进行说明。

如图6所示,当眼睛睁开时,眼睛纵横比大致恒定,仅在0.25范围上下波动,而一旦发生眨眼,闭眼时,由于垂直距离几乎为零,将使得眼睛纵横比也相应地降低为零,再次睁眼时,眼睛纵横比重新上升至0.25范围,由此,即可表明发生了一次眨眼。

在上述实施例的作用下,实现了对图像中脸部特征结构的准确描述,为后续捕捉待检测对象是否存在动作行为提供了依据,进而使得活体检测得以实现。

进一步地,请参阅图7,在一示例性实施例中,所述当前图像中的脸部特征为人脸特征。其中,人脸特征包括但不限于:眉毛、眼睛、鼻子、嘴巴、耳朵等等。

相应地,步骤331可以包括以下步骤:

步骤3311,对所述当前图像进行灰度处理,得到所述当前图像的灰度图。

步骤3313,将所述当前图像的灰度图输入人脸关键点模型进行脸部特征识别,得到所述当前图像中脸部特征的若干关键点。

人脸关键点模型,实质上为图像中的人脸特征构建了索引关系,以便于通过所构建的索引关系能够从图像中提取得到特定人脸特征的若干关键点。

具体地,对于待检测对象的图像,输入至人脸关键点模型之后,图像中的人脸特征的若干关键点即进行了索引标记。例如,如图8所示,图像中,眼睛的六个关键点所标记的索引为43~48,嘴巴的二十个关键点所标记的索引为49~68。

同时,相应地存储进行了索引标记的人脸特征的若干关键点在图像中的坐标,以此为图像中的人脸特征构建了索引与坐标之间的索引关系。

那么,基于索引关系,由索引即可得到人脸特征的若干关键点在图像中的坐标。

进一步地,人脸关键点模型,是通过海量的图像样本对指定数学模型进行模型训练生成的。其中,图像样本,是指进行了索引标记的图像。

模型训练,实质上是对指定数学模型的参数加以迭代优化,使得由此参数构建的指定算法函数满足收敛条件。

其中,指定数学模型,包括但不限于:逻辑回归、支持向量机、随机森林、神经网络等机器学习模型。

指定算法函数,包括但不限于:最大期望函数、损失函数等等。

举例来说,随机初始化指定数学模型的参数,根据当前一个图样样本计算随机初始化的参数所构建的损失函数的损失值。

如果损失函数的损失值未达到最小,则更新指定数学模型的参数,并根据后一个图像样本计算更新的参数所构建的损失函数的损失值。

如此迭代循环,直至损失函数的损失值达到最小,即视为损失函数收敛,使得指定数学模型收敛为人脸关键点模型,并停止迭代。

否则,迭代更新指定数学模型的参数,并根据其余图像样本迭代计算所更新参数构建的损失函数的损失值,直至损失函数收敛。

值得一提的是,如果在损失函数收敛之前,迭代次数已经达到迭代阈值,也将停止迭代,以此保证模型训练的效率。

由上可知,利用完成模型训练的人脸关键点模型,便可快速实时地得到图像中人脸特征的若干关键点,充分地保障了活体检测的时效性。

此外,基于人脸关键点模型,对于不同面部表情的人脸特征识别,都有较好的准确性和稳定性,为后续活体检测提供了准确的依据。

请参阅图9,在一示例性实施例中,所述特征序列为指定长度的队列。

相应地,步骤430可以包括以下步骤:

步骤431,如果所述队列未满,则控制所述队列为所述当前图像对应的特征向量执行入队操作。

步骤433,如果所述队列已满,则控制所述队列在队头执行出队操作,并在队尾为所述当前图像对应的特征向量执行入队操作。

如图10所示,指定长度n的队列包括n个存储位置,每一个存储位置可用于存储一个满足正常结构区间的特征向量。

其中,队列的指定长度可以根据应用场景的实际需求灵活地调整,例如,对于精度要求较高的应用场景,如果遍历的待检测对象的图像数量较多,则设置较大的指定长度;对于电子设备存储空间要求较高的应用场景,则设置较小的指定长度,本实施例并未对此加以限定。

假设待检测对象的2n个图像,每个图像对应的特征向量为ai,1<=i<=2n。

当队列为空,如果第一个特征向量a1满足正常结构区间,则将特征向量a1存储至队列中的第一个存储位置。

当队列未满,如果第二个特征向量a2满足正常结构区间,则将特征向量a2存储至队列中的第二个存储位置。

以此类推,如果第n个特征向量an满足正常结构区间,则将特征向量an存储至队列中的第n个存储位置,此时,队列已满。

如果队列已满,如果第n+1个特征向量an+1满足正常结构区间,秉持“先进先出”的原则,则将第一个特征向量a1从队头移出队列,并将第二个特征向量a2沿队头方向移动至第一个存储位置,以此类推,第n个特征向量an沿队头方向移动至第n-1个存储位置,由此完成出队操作。

此时,队列中的第n个存储位置为空,则将第n+1个特征向量an+1从队尾存储至第n个存储位置,由此完成入队操作。

由上可知,随着待检测对象的图像的持续采集,限于队列中的存储位置有限,队列中存储的特征向量将随之实时更新,以此实现滑动窗口式的过滤作用,充分地保证队列所描述的待检测对象在历史图像采集时间段内脸部特征的正常结构的准确性。

在上述实施例的作用下,实现了基于队列的活体检测方法,不仅能够有效地过滤由于假体攻击样本中脸部特征结构的突变而造成的假体误判为活体,而且能够适用于人脸特征各不相同的人群,即不同队列中的特征向量可反映出不同人脸特征的正常结构,使得活体检测方法具有良好的适应性和通用性。

请参阅图11,在一示例性实施例中,步骤350可以包括以下步骤:

步骤351,计算所述特征序列中特征向量的平均值。

步骤353,根据所述平均值和所述当前图像对应的特征向量,计算所述当前图像对应的特征向量的相对变化率。

以眼睛纵横比为例,如图6所示,当发生眨眼时,眼睛纵横比会发生明显的跳变,即眼睛纵横比通过记录眼睛纵横比在历史图像采集时间段内的变化趋势,来判断是否发生了眨眼。

具体地,设定判定阈值为0.15,当眼睛纵横比小于0.15时,则视为捕捉到一次待检测对象的眨眼行为。

在此说明的是,判定阈值可以根据应用场景的实际需要灵活地设定,例如,对检测敏感度要求较高的应用场景,设定较大的判定阈值,本实施例并未对此构成限定。

可以理解,对于活体来说,通过眼睛纵横比可以敏锐地捕捉到活体所存在的动作行为,然而,如果攻击者连续多次快速遮挡图像中眼睛的轮廓,由于图像中眼睛的若干关键点被破坏,很容易造成眼睛纵横比小于判定阈值的情况,而导致假体被误判为活体。

此外,误判还存在另一种情况,即活体被误判为假体。

对于待检测对象的图像而言,如果图像中的眼睛本身就比较小,眼睛纵横比发生明显跳变的概率将大大减小,极端情况可能还会出现在待检测对象睁开眼睛时,图像所对应的眼睛纵横比就已经小于判定阈值,而导致无法检测到眼睛纵横比在待检测对象眨眼期间所发生的明显跳变,而将活体误判为假体。

为此,本实施例中,活体检测方法通过待检测对象在图像中的脸部特征结构的相对变化实现。

其中,α表示当前图像对应的特征向量的相对变化率,ear_ave表示特征序列中特征向量的平均值,ear'表示当前图像对应的特征向量。

也就是说,通过ear_ave,反映待检测对象在历史图像采集时间段内脸部特征的正常结构。

通过ear',反映待检测对象在当前图像采集时间段内脸部特征的结构。

由于历史图像采集时间段和当前图像采集时间段是连续的,故而,如果相对变化率α不为零,则表明在对待检测图像进行图像采集的同一时间段内,ear_ave所反映的脸部特征的结构,相对于ear'所反映的脸部特征的正常结构发生了变化,那么,待检测对象可能存在动作行为。

步骤355,如果所述当前图像对应的特征向量的相对变化率小于变化阈值,则捕捉到所述待检测对象存在动作行为。

如前所述,当相对变化率α不为零时,待检测对象可能存在动作行为。为此,本实施例,设定变化阈值,即仅在相对变化率α小于所设定的变化阈值时,视为捕捉到待检测对象存在动作行为。

在此说明的是,变化阈值可以根据应用场景的实际需要灵活地设定,例如,对检测敏感度要求较高的应用场景,设定较大的变化阈值,本实施例并未对此加以限定。

在上述过程中,以相对变化判定替代绝对变化判定,避免结构不同的脸部特征因动作行为幅度不同,例如,小眼睛的眨眼幅度小于大眼睛的眨眼幅度,而造成的活体误判为假体的缺陷,从而增强了活体检测的鲁棒性和稳定性。

进一步地,请参阅图12,在一示例性实施例中,步骤355可以包括以下步骤:

步骤3551,如果所述当前图像对应的特征向量的相对变化率小于所述变化阈值,则控制计数器累加。

步骤3553,当所述计数器的计数值超过累加阈值时,捕捉到所述待检测对象存在动作行为。

可以理解,对待检测对象进行图像采集时,可能是待检测对象拍照时闭眼了,而并非真正的眨眼,故而,本实施例中,设置计数器及累加阈值,仅当计数器中累加的计数值超过累加阈值,才视为待检测对象存在动作行为。

通过上述实施例的配合,进一步地排除了因图像本身存在的脸部特征结构变化而误检的可能性。

在一示例性实施例中,步骤370之后,如上所述的方法还可以包括以下步骤:

如果所述待检测对象为活体,则调用人脸识别模型对所述待检测对象的图像进行人脸识别。

具体地,如图13所示,人脸识别过程可以包括以下步骤:

步骤371,调用所述人脸识别模型对所述待检测对象的图像进行人脸特征提取。

本实施例中,人脸识别模型是基于卷积神经网络模型的模型训练生成的。

那么,将待检测对象的图像输入至人脸识别模型之后,便能够利用人脸识别模型的前向传播得到模型输出,即提取得到待检测对象的图像的人脸特征。

步骤373,根据提取到的人脸特征进行指定人脸特征的相似度运算。

首先说明的是,指定人脸特征,是基于人脸识别模型对指定人员的图像进行人脸特征提取得到的。此处,指定人员可以是某座大厦内需要进行门禁授权的人,也可以是某个安检部门需要追踪的目标,还可以是某个银行需要进行身份验证的人,本实施例不对指定人员的类型作具体限定。

相应地,不同类型的指定人员可对应于不同的应用场景,该应用场景包括但不限于:门禁授权场景、视频监控场景、刷脸支付场景等等,因此,本实施例所提供的人脸识别方法可根据指定人员的不同类型而适用于不同的应用场景。

进一步地,由于指定人员的身份是已知的,故而,在提取得到指定人脸特征之后,便能够为指定人员建立指定人脸特征与已知身份之间的关联关系,以供后续对指定人脸特征进行身份关联。

其次,相似度运算是指计算待检测对象的图像的人脸特征与指定人脸特征之间的相似度。

相似度越大,则表示待检测对象的图像的人脸特征与指定人脸特征越相似,也可以理解为,待检测对象的身份是指定人脸特征所关联身份的可能性越高,反之,则可能性越小。

应当说明的是,指定人脸特征与身份之间的关联关系,是在指定人脸特征提取过程中,为已知身份的指定人员预先建立的,进而方便于对指定人脸特征进行的身份关联。

步骤375,根据运算结果生成所述待检测对象的识别结果。

在一或多对一的特征比对中,例如,身份验证,运算结果用于指示待检测对象的图像的人脸特征与指定人脸特征之间的相似度。

当相似度小于相似阈值时,说明待检测对象的身份与指定人员身份不同,则识别结果指示待检测对象未通过指定人脸特征相关联身份的验证,此时,视为对待检测对象的身份验证失败。

反之,当相似度大于相似阈值时,说明待检测对象的身份与指定人员身份相同,则识别结果指示待检测对象通过指定人脸特征相关联身份的验证,此时,视为对待检测对象的身份验证成功。

进一步地,在一对多的特征比对中,例如,身份识别,运算结果用于指示待检测对象的图像的人脸特征分别与多个指定人脸特征之间的相似度,即运算结果是多个相似度的集合,每一个相似度对应一个指定人脸特征。

那么,相似度最大的指定人脸特征,即视为通过身份识别所得到的指定人员的人脸特征描述,由此便能够根据指定人脸特征与身份之间的关联关系,获得与该相似度最大的指定人脸特征关联的指定人员身份,进而将指定人员的身份识别为待检测对象的身份。

在上述实施例的作用下,实现了人脸识别的过程,可以应用于需要身份验证/身份识别的应用场景。

图14是一应用场景中基于身份验证的实施环境的示意图。如图14所示,该应用场景中,实施环境包括支付用户510、智能手机530和支付服务器550。

针对某个待支付订单,支付用户510通过智能手机530所配置的摄像头进行刷脸,使得智能手机530获得支付用户510相应的待识别用户图像,进而利用人脸识别模型对该待识别用户图像进行人脸识别。

具体地,通过人脸识别模型提取待识别用户图像的用户特征,并计算该用户特征与指定用户特征的相似度,若相似度大于相似阈值,则支付用户510通过身份验证。其中,指定用户特征是智能手机530通过人脸识别模型预先为支付用户510提取的。

在支付用户510通过身份验证之后,智能手机530为待支付订单向支付服务器550发起订单支付请求,以此完成待支付订单的支付流程。

图15是一应用场景中基于身份识别的实施环境的示意图。例如,视频监控中,通过身份识别,在图像画面所显示的多个人脸图像中确定追踪目标。该应用场景中实现了多对一的特征比对,可视为一对一特征比对的特例。

如图15所示,该应用场景中,实施环境包括监控屏幕610、布设于各处的摄像头630、以及实现摄像头630和监控屏幕610二者之间交互的监控服务器650。

在该应用场景中,无论是室内还是室外,均布设了大量的摄像头630,以便于随时通过摄像头630采集的图像画面而实现视频监控。具体而言,布设的大量摄像头630形成了视频监控系统,通过监控服务器650与视频监控系统中各摄像头630的交互来获得图像画面,进而在监控屏幕610中通过图像画面实现对追踪目标的视频监控。

对于图像画面中监控对象的人脸识别,以确定追踪目标,则是由监控服务器650完成的。

具体地,通过人脸识别模型提取图像画面中多个人脸图像的人脸特征,并分别计算该些人脸特征与指定目标特征的相似度。其中,指定目标特征是通过人脸识别模型基于追踪目标预先提取的。

由此,便能够获得相似度最大且相似度超过相似阈值的人脸特征,进而将监控对象的身份识别为该相似度最大且相似度超过相似阈值的人脸特征所关联的身份,以此在图像画面中识别出追踪目标,以便于后续进行追踪目标的连续追踪。

需要说明的是,由于并非每一图像画面中都存在追踪目标,故而对于相似度最大的人脸特征,还需要进行相似度比较,以此确保连续追踪的准确性。

图16一应用场景中基于身份识别的另一实施环境的示意图。如图16所示,该实施环境包括接待设备710、识别服务器730和门禁控制设备750。

其中,接待设备710上安装有摄像头,以对出入对象770进行人脸拍照,并将获得的出入对象770的待识别人员图像发送至识别服务器730进行人脸识别。本应用场景中,出入对象770包括工作人员和来访人员。

识别服务器730通过人脸识别模型提取待识别人员图像的人员特征,并计算该人员特征与多个指定人员特征的相似度,得到相似度最大的指定人员特征,进而将相似度最大的指定人员特征所关联的人员身份识别为出入对象员770的身份,以此完成出入对象770的身份识别。其中,指定人员特征是识别服务器730通过人脸识别模型预先为出入对象770提取的。

待出入对象770的身份识别完成,识别服务器730为出入对象770向门禁控制设备750发送门禁授权指令,使得门禁控制设备750根据该门禁授权指令为出入对象770配置相应的门禁权限,进而使得出入对象770凭借该门禁权限控制指定工作区域的门禁道闸执行放行动作。

当然,在不同的应用场景,可以根据实际应用需求进行灵活部署,例如,识别服务器730与门禁控制设备750可部署为同一个服务器,或者,接待设备710与门禁控制设备750部署于同一个服务器,本应用场景并未对此加以限定。

在上述三种应用场景中,活体检测装置可作为身份验证/身份识别的前驱模块。

如图17~图18所示,通过执行步骤801至步骤807,活体检测装置能够准确地判断待检测对象是否为活体,进而实现对假体攻击样本的过滤,不仅能够充分地提供身份验证/身份识别的安全性,而且还能够有效地减轻人脸识别模型的工作压力和流量压力,从而更好地为各种人脸识别任务提供便利。

此外,活体检测装置所涉及的计算机程序量轻巧,对电子设备自身的硬件配置要求简单,不仅可应用于智能手机,而且适用于配置了windows操作系统和linux操作系统的服务器中,充分地提高了活体检测方法的通用性和实用性。

下述为本发明装置实施例,可以用于执行本发明所涉及的活体检测方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的活体检测方法的方法实施例。

请参阅图19,在一示例性实施例中,一种活体检测装置900包括但不限于:图像遍历模块910、特征提取模块930、行为捕捉模块950和活体检测模块970。

其中,图像遍历模块910用于对待检测对象的多个图像进行遍历,以遍历到的图像作为当前图像。

特征提取模块930用于对所述当前图像进行脸部特征提取,得到所述当前图像对应的特征向量,所述特征向量用于描述所述待检测对象在所述当前图像中脸部特征的结构。

行为捕捉模块950用于根据所述当前图像对应的特征向量相对特征序列中历史图像所对应特征向量的变化,捕捉所述待检测对象的动作行为,所述历史图像是所述多个图像中已遍历的图像。

活体检测模块970用于如果捕捉到所述待检测对象存在动作行为,则判定所述待检测对象为活体。

需要说明的是,上述实施例所提供的活体检测装置在进行活体检测处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即活体检测装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。

另外,上述实施例所提供的活体检测装置与活体检测方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。

请参阅图20,在一示例性实施例中,一种电子设备1000,包括至少一处理器1001、至少一存储器1002、以及至少一通信总线1003。

其中,存储器1002上存储有计算机可读指令,处理器1001通过通信总线1003读取存储器1002中存储的计算机可读指令。

该计算机可读指令被处理器1001执行时实现上述各实施例中的活体检测方法。

在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的活体检测方法。

上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。

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