本发明涉及人脸识别领域,尤其涉及一种额头皱纹动作检测方法和装置、活体识别方法和系统。
背景技术:
随着人脸识别技术的发展,越来越多的场景需要用到人脸检测去快速的识别一个人的身份。但是有不法份子会利用图片或者视频代替真人去进行人脸识别,这样整个人脸识别系统的安全性就得不到保证。而人脸活体识别可以检测出当前待测人脸是活体人脸而非照片或者视频中的人脸,从而保证了人脸识别系统的安全性。在进行人脸识别时,可以通过对待测人脸的额头皱纹动作的检测有助于识别人脸是否为活体。为实现在人体识别时,能实现高效简单地识别人脸是否活体,因而需要一种高效简单的额头皱纹动作检测技术方案。
技术实现要素:
本发明实施例的目的是提供一种额头皱纹动作检测方法和装置,计算简单,效率高。
为实现上述目的,本发明提供了一种额头皱纹动作检测方法,包括:
从待测人脸视频中抽取若干视频帧;
获取从所述待测人脸视频中抽取的每一所述视频帧的额头区域;
计算抽取的每一所述视频帧的所述额头区域的每一像素点的梯度值;
计算抽取的每一所述视频帧的所述额头区域的像素点的梯度值的方差获取对应的所述视频帧的额头皱纹值;
基于每一抽取的所述视频帧的所述额头皱纹值判断所述待测人脸视频的额头皱纹动作的情况。
与现有技术相比,本发明实施例公开的一种额头皱纹动作检测方法通过首先获取若干视频帧,然后根据从抽取的每一视频帧中确定待测人脸的额头区域,接着,获取每一像素点的梯度值,并计算抽取的每一视频帧的梯度值的方差作为额头皱纹值;最后,根据每一视频帧的额头皱纹值判定抽取的人脸视频帧中的待测人脸有额头皱纹动作的方案,实现对待测人脸的是否有额头皱纹动作的判断,计算过程简单高效,任何普通摄像头或者移动端手机的摄像头均可作为待测人脸视频的输入硬件,对设备硬件要求简单。
进一步的,所述基于每一抽取的所述视频帧的比值判断所述待测人脸视频的额头皱纹动作的情况包括:
判定所述额头皱纹值小于第一预设阈值的所述视频帧的待测人脸的额头区域无皱纹,判定所述额头皱纹值大于第二预设阈值的所述视频帧的待测人脸的额头区域有皱纹;
若抽取若干所述视频帧中同时包括所述待测人脸的额头区域无皱纹的视频帧和待测人脸的额头区域有皱纹的视频帧,则判定所述待测人脸的待测人脸有额头皱纹动作。
进一步的,所述计算抽取的每一所述视频帧的所述额头区域的每一像素点的梯度值包括:
通过sobel算子计算抽取的每一所述视频帧的所述额头区域的每一像素点的sobel值;其中,所述sobel值表示所述梯度值。
作为进一步方案,本发明采用sobel算子计算像素点的梯度值,sobel算子计算效率高,有利于高效得到梯度值。
进一步的,所述获取从所述待测人脸视频中抽取的每一所述视频帧的额头区域包括:
对从所述待测人脸视频中抽取的每一所述视频帧用dlib库做人脸检测和人脸关键点位置检测,获取所述人脸区域位置和待测人脸的若干关键点位置;
从每一抽取的视频帧的若干人脸关键点中获取眉毛的若干关键点位置,基于所述眉毛的若干关键点位置和所述人脸区域位置获取所述额头区域。
相应的,本发明还提供一种额头皱纹动作检测装置,包括:
视频帧抽取单元,用于从待测人脸视频中抽取若干视频帧;
额头区域获取单元,用于获取从所述待测人脸视频中抽取的每一所述视频帧的额头区域;
梯度值获取单元,用于计算抽取的每一所述视频帧的所述额头区域的每一像素点的梯度值;
额头皱纹值获取单元,用于计算抽取的每一所述视频帧的所述额头区域的每一像素点的梯度值的方差获取对应的所述视频帧的额头皱纹值;
额头皱纹动作判断单元,用于基于每一抽取的所述视频帧的所述额头皱纹值判定所述待测人脸视频的额头皱纹动作的情况。
与现有技术相比,本发明实施例公开的一种额头皱纹动作检测装置首先通过视频帧抽取单元获取若干视频帧,然后通过额头区域获取单元根据从抽取的每一视频帧中确定待测人脸的额头区域,接着,通过梯度值获取单元获取每一像素点的梯度值,并通过额头皱纹值获取单元计算抽取的每一视频帧的梯度值的方差作为额头皱纹值;最后,通过额头皱纹动作判断单元根据每一视频帧的额头皱纹值判定抽取的人脸视频帧中的待测人脸有额头皱纹动作的方案,实现对待测人脸的是否有额头皱纹动作的判断,计算量小,本发明装置能够高效获得检测结果,任何普通摄像头或者移动端手机的摄像头均可作为待测人脸视频的输入硬件,设备硬件简单。
进一步的,所述额头皱纹动作判断单元具体包括:
皱纹状态判断模块,用于判定所述额头皱纹值小于第一预设阈值的所述视频帧的待测人脸的额头区域无皱纹,判定所述额头皱纹值大于第二预设阈值的所述视频帧的待测人脸的额头区域有皱纹;
皱纹动作判断模块,用于若抽取若干所述视频帧中同时包括所述待测人脸的额头区域无皱纹的视频帧和待测人脸的额头区域有皱纹的视频帧,则判定所述待测人脸的待测人脸有额头皱纹动作。
进一步的,所述梯度值获取单元具体用于通过sobel算子计算抽取的每一所述视频帧的所述额头区域的每一像素点的sobel值;其中,所述sobel值表示所述梯度值。
进一步的,所述额头区域获取单元包括:
人脸关键点检测模块,用于对从所述待测人脸视频中抽取的每一所述视频帧用dlib库做人脸检测和人脸关键点位置检测,获取所述人脸区域位置和待测人脸的若干关键点位置;
额头区域获取模块,用于从每一抽取的视频帧的若干人脸关键点中获取眉毛的若干关键点位置,基于所述眉毛的若干关键点位置和所述人脸区域位置获取所述额头区域。
相应的,本发明实施例还提供一种活体识别方法,包括步骤:
检测待测人脸视频中的待测人脸的额头皱纹动作的情况和其它至少一个部位运动的情况,其中,采用本发明公开的一种额头皱纹动作检测方法检测待测人脸视频中的待测人脸的额头皱纹动作的情况;
基于部位运动的情况获取所述待测人脸的每一部位运动对应的运动分值;
计算每一所述部位运动对应的运动分值加权后的总和,并将计算得到的所述总和作为活体识别分值;其中,每一所述部位运动已预设相应的权值;
判定所述活体识别分值不小于预设阈值的所述待测人脸为活体。
与现有技术相比,本发明实施例公开的一种活体识别方法,采用本发明公开的眉毛运动检测方法检测待测人脸视频的待测人脸的额头皱纹动作的情况,以及通过检测待测人脸的其他部位的运动情况,获取对应的部位运动的运动分值,对部位运动分值进行加权后求和作为活体识别分值,利用活体识别分值作为所述待测人脸是否为活体的判断标准的技术方案;其中,额头皱纹动作检测方法计算过程简单高效,设备硬件要求简单;采用检测眉毛运动和其他至少一个部位运动解决了现有技术中算法单一,安全性不高的问题,可扩展性强,且基于人脸部位运动的检测可以通过二维图像实现,对硬件要求不高;另外,采用对不同部位运动加权再进行分数融合,活体识别准确度高,本活体识别方法准确率高、硬件要求低和安全性高。
相应的,本发明实施例还提供一种活体识别系统,包括:
至少2个人脸部位运动检测装置,每一所述人脸部位运动检测装置用于检测待测人脸对应的部位运动的情况,其中一人脸部位运动检测装置为采用本发明公开的一种额头皱纹动作检测装置;
部位运动分值获取装置,用于基于每一所述部位运动的情况获取所述待测人脸的每一部位运动对应的运动分值;
活体识别分值计算装置,用于计算每一所述部位运动对应的运动分值加权后的总和,并将计算得到的所述总和作为活体识别分值;其中,所述活体识别分值计算装置已预设与每一所述部位运动相对应的权值;
活体判断装置,用于判定所述活体识别分值不小于预设阈值的所述待测人脸为活体。
与现有技术相比,本发明实施例公开的一种活体识别系统通过至少2个人脸部位运动检测装置获取所述待测人脸上的至少两个部位的运动分值,其中,一人脸部位运动检测装置采用本发明的额头皱纹动作检测装置;通过活体识别分值计算装置对部位运动分值进行加权后求和作为活体识别分值,通过活体判断装置利用活体识别分值作为所述待测人脸是否为活体的判断标准的技术方案;额头皱纹动作检测装置计算简单高效,设备硬件要求简单;采用检测至少2个人脸部位运动装置检测至少两种部位的运动情况解决了现有技术中算法单一,安全性不高的问题,可扩展性强,且基于人脸部位运动的检测可以通过二维图像实现,对硬件要求不高,另外,通过活体识别分值计算装置对不同部位运动加权再进行分数融合,活体识别准确度高,获得了活体识别准确率高、硬件要求低和安全性高的有益效果。
附图说明
图1是本发明实施例1提供的一种额头皱纹动作检测方法的流程示意图;
图2是本发明实施例1提供的一种额头皱纹动作检测方法的步骤s15的流程示意图;
图3是本发明实施例1提供的一种额头皱纹动作检测方法的步骤s12的流程示意图;
图4是待测人脸的68个关键点的模型示意图;
图5是本发明实施例2提供的一种额头皱纹动作检测装置提供的实施例的结构示意图;
图6是本发明实施例3提供的一种活体识别方法的流程示意图;
图7是本发明实施例3提供的一种活体识别方法的步骤s24流程示意图;
图8是本发明实施例4提供的一种活体识别系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例1提供的一种额头皱纹动作检测方法,参见图1,图1是本实施例的流程示意图,包括步骤:
s11、从待测人脸视频中抽取若干视频帧;
s12、获取从待测人脸视频中抽取的每一视频帧的额头区域;
s13、计算抽取的每一视频帧的额头区域的每一像素点的梯度值;
s14、计算抽取的每一视频帧的额头区域的像素点的梯度值的方差获取对应的视频帧的额头皱纹值;
s15、基于每一抽取的视频帧的额头皱纹值判断待测人脸视频的额头皱纹动作的情况。
通常在人脸图片中,一般人的额头没有产生皱纹时获取的图像比较光滑,颜色变化不大;额头产生皱纹时会有颜色变化,对应获取的图像的像素值变化程度较大,波动较大,基于该现象可以区分额头是否有皱纹。本发明对额头没有皱纹的定义为:检测到的额头皱纹值小于预设第一阈值的额头区域为没有皱纹;对额头有皱纹的定义为:检测到的额头皱纹值大于预设第二阈值的额头区域为有皱纹;对额头皱纹动作的定义为:人脸的额头产生皱纹的动作。即对应在待测人脸视频的视频帧中检测到人脸的额头有皱纹和没有皱纹的状态即可说明待测人脸的有额头皱纹动作,本发明提供的其它实施例均可参照上述对额头皱纹动作的定义标准的说明,不再赘述。
所以,参见图2,图2是步骤s15的流程示意图,步骤s15具体包括:
s151、判定额头皱纹值小于第一预设阈值的视频帧的待测人脸的额头区域无皱纹,判定额头皱纹值大于第二预设阈值的视频帧的待测人脸的额头区域有皱纹;
s152、若抽取若干视频帧中同时包括待测人脸的额头区域无皱纹的视频帧和待测人脸的额头区域有皱纹的视频帧,则判断待测人脸的待测人脸有额头皱纹动作。
在步骤s13中,通过采用边缘检测算子来计算抽取的每一视频帧的额头区域的每一像素点的梯度值;此处,所采用的边缘检测算子优选为sobel算子,sobel算子的中文名为索贝尔算子;则步骤s13具体包括:采用sobel算子计算抽取的每一视频帧的额头区域的每一像素点的sobel值;其中,sobel值为用于表示每一像素点的像素值的变化程度的梯度值。
sobel算子通常包括检测水平方向边缘和垂直方向边缘,由于额头产生的皱纹大多边缘为水平方向,进一步优选,sobel算子运用于本实施例时选择简化为只检测水平边缘,此时,步骤s13获取的sobel值为:以当前像素中心所包含的与卷积核大小相同的区域像素与竖直方向的卷积做卷积运算的结果值;步骤s13中sobel算子计算抽取的每一视频帧的额头区域的每一像素点的sobel值的运算过程具体为:用竖直方向的卷积核对额头区域进行卷积运算;卷积运算为一个m*m的像素矩阵与一个m*m的卷积核,每个矩阵位置的值相乘,然后把这m*m个乘积相加,得到卷积运算的结果值。
对应的,步骤s14中通过sobel算子计算抽取的每一视频帧的额头区域的每一像素点的sobel值的方差获取对应的视频帧的额头皱纹值。
除此之外,通过sobel算子分别从竖直方向和水平方向的卷积核对额头区域进行卷积运算而获得sobel值,并计算的sobel值的方差获取对应的视频帧的额头皱纹值的实施方式也在本实施例的保护范围之内。
基于本发明的原理基础上,也可以将sobel算子替换其它边缘检测算子,如采用canny算子、prewitt算子和roberts算子等边缘检测算子,来获取抽取的每一视频帧的额头皱纹值来实现额头皱纹动作的判断的实施例,也在本发明的保护范围之内。与其它的边缘检测算子相比,本实施例优选sobel算子的原因在于,sobel算子计算量小,效率高;当本实施例的额头皱纹动作检测方法运用于活体识别检测时,能实现对人脸是否有皱纹动作的高效判断。
参见图3,步骤s12具体包括:
s121、对从待测人脸视频中抽取的每一视频帧用dlib库做人脸检测和人脸关键点位置检测,获取人脸区域位置和待测人脸的若干关键点位置;
dlib库指的是一个使用c++技术编写的跨平台的通用库;
参见图4,图4是待测人脸的68个关键点的模型示意图;步骤s121中获取的若干人脸关键点位置即为图4中关键点1~关键点68所示的关键点位置;另外,通过对抽取的每一视频帧做人脸检测,可以获取人脸区域位置;在本实施例中,优选人脸区域为表示人脸的矩形框区域,对应的,当获取图4中示例的h、i、j和k四个点的位置即可确定人脸的矩形框区域,即获取人脸区域位置。
s122、从每一抽取的视频帧的若干人脸关键点中获取眉毛的若干关键点位置,基于眉毛的若干关键点位置和人脸区域位置获取额头区域。
图4中,步骤s122获取的眉毛的若干关键点位置为关键点18~关键点27这10个关键点所示的位置,具体的,左眉毛的若干关键点位置为关键点18~关键点22这5个关键点所示的位置,右眉毛的若干关键点位置为关键点23~关键点27这5个关键点所示的位置。基于眉毛的若干关键点位置确定额头区域的下边界,表示人脸区域的矩形框的上边框为额头区域的上边界,在人脸区域中基于额头区域的上边界和下边界确定额头区域,参见图4示例的矩形区域hopi为额头区域。
步骤s11从待测人脸视频抽取若干视频帧包括:从待测人脸视频中抽取连续帧视频帧;或,按照预设频率从待测人脸视频中依次抽取视频帧。
具体实施时,本实施例从待测人脸视频中获取若干视频帧,然后根据从抽取的每一视频帧中确定待测人脸的额头区域,接着,通过sobel算子用竖直方向的卷积核对额头区域进行卷积运算以获取每一像素点的sobel值,并计算抽取的每一视频帧的sobel值的方差作为该视频帧的额头皱纹值;最后,根据额头皱纹值判断对应的视频帧的待测人脸的额头是否有皱纹,判定抽取的人脸视频帧中同时包括额头有皱纹的视频帧和额头没有皱纹的视频帧的待测人脸视频的待测人脸有额头皱纹动作。
与现有技术相比,本实施例计算简单高效,任何普通摄像头或者移动端手机的摄像头均可作为待测人脸视频的输入硬件,对设备硬件要求简单。
本发明实施例2提供的一种额头皱纹动作检测装置,参见图5,图5是本实施例的结构示意图,包括:
视频帧抽取单元11,用于从待测人脸视频中抽取若干视频帧;
额头区域获取单元12,用于获取从待测人脸视频中抽取的每一视频帧的额头区域;
梯度值获取单元13,用于计算抽取的每一视频帧的额头区域的每一像素点的梯度值;
额头皱纹值获取单元14,用于计算抽取的每一视频帧的额头区域的每一像素点的梯度值的方差获取对应的视频帧的额头皱纹值;
额头皱纹动作判断单元15,用于基于每一抽取的视频帧的额头皱纹值判断待测人脸视频的额头皱纹动作的情况。
额头皱纹动作判断单元15具体包括:
皱纹状态判断模块151,用于判定额头皱纹值小于第一预设阈值的视频帧的待测人脸的额头区域无皱纹,判定额头皱纹值大于第二预设阈值的视频帧的待测人脸的额头区域有皱纹;
皱纹动作判断模块152,用于若抽取若干视频帧中同时包括待测人脸的额头区域无皱纹的视频帧和待测人脸的额头区域有皱纹的视频帧,则判定待测人脸的待测人脸有额头皱纹动作。
梯度值获取单元13采用边缘检测算子来计算抽取的每一视频帧的额头区域的每一像素点的梯度值,采用的边缘检测算子优选为sobel算子,sobel算子的中文名为索贝尔算子;梯度值获取单元13具体用于:通过sobel算子计算抽取的每一视频帧的额头区域的每一像素点的sobel值;其中,sobel值为用于表示每一像素点的像素值的变化程度的梯度值。
sobel算子通常包括检测水平方向边缘和垂直方向边缘,由于额头产生的皱纹大多边缘为水平方向,进一步优选,sobel算子运用于本实施例时选择简化为只检测水平边缘,此时,通过梯度值获取单元13的表示梯度值的sobel值定义为:以当前像素中心所包含的与卷积核大小相同的区域像素与竖直方向的卷积做卷积运算的结果值;梯度值获取单元13通过sobel算子计算抽取的每一视频帧的额头区域的每一像素点的sobel值的运算过程:用竖直方向的卷积核对额头区域进行卷积运算;卷积运算为一个m*m的像素矩阵与一个m*m的卷积核,每个矩阵位置的值相乘,然后把这m*m个乘积相加,得到卷积运算的结果值。
对应的,额头皱纹值获取单元14用于通过sobel算子计算抽取的每一视频帧的额头区域的每一像素点的sobel值的方差获取对应的视频帧的额头皱纹值。
除此之外,梯度值获取单元13也可以用于通过sobel算子分别从竖直方向和水平方向的卷积核对额头区域进行卷积运算而获得sobel值,对应的额头皱纹值获取单元14计算sobel值的方差获取对应的视频帧的额头皱纹值的实施方式也在本实施例的保护范围之内。
基于本发明的原理基础上,梯度值获取单元13也可以替换边缘检测算子,如通过canny算子、prewitt算子和roberts算子等边缘检测算子,来获取抽取的每一视频帧的额头皱纹值来实现额头皱纹动作的判断的实施例,也在本发明的保护范围之内。与其它的边缘检测算子相比,本实施例优选sobel算子的原因在于,sobel算子计算量小,效率高;当本实施例的额头皱纹动作检测方法运用于活体识别检测时,能实现对人脸是否有皱纹动作的高效判断。
额头区域获取单元12具体包括:
人脸关键点检测模块121,用于对从待测人脸视频中抽取的每一视频帧用dlib库做人脸检测和人脸关键点位置检测,获取人脸区域位置和待测人脸的若干关键点位置;
dlib库指的是一个使用c++技术编写的跨平台的通用库;
参见图4,图4是待测人脸的68个关键点的模型示意图;步骤s121中获取的若干人脸关键点位置即为图4中关键点1~关键点68所示的关键点位置;另外,通过对抽取的每一视频帧做人脸检测,可以获取人脸区域位置;在本实施例中,优选人脸区域为表示人脸的矩形框区域,对应的,当获取图4中示例的h、i、j和k四个点的位置即可确定人脸的矩形框区域,即获取人脸区域位置。
额头区域获取模块122,用于从每一抽取的视频帧的若干人脸关键点中获取眉毛的若干关键点位置,基于眉毛的若干关键点位置和人脸区域位置获取额头区域。
图4中,额头区域获取模块122获取的眉毛的若干关键点位置为关键点18~关键点27这10个关键点所示的位置,具体的,左眉毛的若干关键点位置为关键点18~关键点22这5个关键点所示的位置,右眉毛的若干关键点位置为关键点23~关键点27这5个关键点所示的位置。基于眉毛的若干关键点位置确定额头区域的下边界,表示人脸区域的矩形框的上边框为额头区域的上边界,在人脸区域中基于额头区域的上边界和下边界确定额头区域,参见图4示例的矩形区域hopi为额头区域。
视频帧抽取单元11具体用于从待测人脸视频中抽取连续帧视频帧;或,视频帧抽取单元11具体用于按照预设频率从待测人脸视频中依次抽取视频帧。
具体实施时,本实施例通过视频帧抽取单元11从待测人脸视频中获取若干视频帧,然后通过额头区域获取单元12根据从抽取的每一视频帧中确定待测人脸的额头区域,接着,通过梯度值获取单元13通过sobel算子用竖直方向的卷积核对额头区域进行卷积运算以获取每一像素点的sobel值,并通过额头皱纹值获取单元14计算抽取的每一视频帧的sobel值的方差作为该视频帧的额头皱纹值;最后,通过额头皱纹动作判断单元15根据额头皱纹值判断对应的视频帧的待测人脸的额头是否有皱纹,判定抽取的人脸视频帧中同时包括额头有皱纹的视频帧和额头没有皱纹的视频帧的待测人脸视频的待测人脸有额头皱纹动作。
与现有技术相比,本实施例计算简单高效,任何普通摄像头或者移动端手机的摄像头均可作为待测人脸视频的输入硬件,对设备硬件要求简单。
本发明实施例3提供的一种活体识别方法,参见图6,图6是本实施例的流程示意图,其中,本实施例具体包括步骤:
s21、检测待测人脸视频中的待测人脸的额头皱纹动作的情况和其它至少一个待测人脸的部位运动的情况,其中,采用本发明实施例1提供的一种额头皱纹动作检测方法检测待测人脸视频中的待测人脸的额头皱纹动作的情况;检测额头皱纹动作的具体过程可以参见本发明一种额头皱纹动作检测方法提供的实施例,此处不做赘述;
s22、基于部位运动的情况获取待测人脸的每一部位运动对应的运动分值;
s23、计算每一部位运动对应的运动分值加权后的总和,并将计算得到的总和作为活体识别分值;其中,每一部位运动已预设相应的权值;
s24、判定活体识别分值不小于预设阈值的待测人脸为活体。
示例,本实施例步骤s21中的检测待测人脸的其它至少一个部位运动为嘴部运动、眼部运动、头部运动、面部运动和眉毛运动中的至少一种;通常来说,嘴部运动包括嘴部是否张闭动作,或,嘴部运动包括微笑动作,即嘴角的移动程度超过预设标准;眼部运动包括眼睛是否有睁闭动作;头部运动包括头部是否转动;面部运动包括人脸部位的整体变化,如鬼脸动作,人脸的眼部和嘴部的整体变化程度超过预设条件;眉毛运动包括眉毛是否抖动;通常来说,人脸的嘴部运动、眼部运动和头部运动运动程度明显,有利于进行检测,可以优选选择检测嘴部运动、眼部运动和头部运动中的至少一种。
示例,步骤s21中检测待测人脸的其它至少一个部位运动具体包括:检测待测人脸的人脸视频每隔预设帧数所抽取的每一视频帧检测部位运动对应的部位关键点位置,通过抽取的每一视频帧的部位关键点位置的变化程度来确定部位运动的情况;或者,检测待测人脸每隔预设帧数所抽取的每一视频帧检测部位运动对应的部位灰度值特征,通过抽取的每一视频帧的部位的灰度值的变化程度来确定部位运动的情况。上述实施方法仅为检测其它至少一个部位运动的示例;基于本实施例的活体识别方法的原理基础上,通过其它具体的实施方式实现对另外至少一部位运动的运动检测,也在本实施例的保护范围之内。
本实施例的步骤s23中设定每一部位运动相对应的权值的优选实施方式为根据每一部位运动的明显度设定。示例,当步骤s21检测待测人脸视频中的待测人脸的部位运动为额头皱纹动作、眼部运动和嘴部运动;嘴部运动比较明显,故权重最大,眼部次之,额头最小,那么,对应设置部位运动的权重策略为:嘴部运动>眼部运动>额头皱纹动作。
或,步骤s23中设定每一部位运动相对应的权值的另一优选实施方式为根据不同应用场景自动进行部位运动的权值调整而设定的,具体做法:在某一种场景下,收集待测人脸的各种部位运动的正常输入视频作为正样本,攻击视频作为负样本,取(正样本通过数+负样本拒绝数)/(正样本总数+负样本总数)作为该部位运动的准确率,然后把每一部位运动的准确率按照从大到小的顺序进行排序,每一部位运动的权重也按照此顺序从大到小,重新调整每一部位运动的权重。重新调整后的权重用以计算活体识别分值,该识别结果可以自适应不同场景下的部位运动检测的准确率,增加本实施例的活体识别结果的准确率。
上述两种设定每一部位运动相对应的权值的任一种优选实施方式均在本实施例的保护范围内。
具体地,参见图7,图7是步骤s24的流程示意图,包括步骤:
s241、通过活体识别分值占活体识别总分的比值计算待测人脸的活体识别置信度;
s242、当活体识别置信度不小于预设值时,确定活体识别分值不小于预设阈值;
s243、判定活体识别分值不小于预设阈值的待测人脸为活体。
具体地,在步骤s241中,活体识别总分即为本实施例对待测人脸进行识别后能获得的最大值,待测人脸的活体识别置信度通过下述公式计算:
f=(s/s_max)*100%
其中,s_max表示活体识别总分,f表示活体识别置信度,且0<f<1;
用e表示预设值,当f≥e,即活体识别置信度不小于预设值时,则确定活体识别分值不小于预设阈值,判定活体识别分值不小于预设阈值的待测人脸为活体;当f<e,即活体识别置信度小于预设值时,则确定活体识别分值小于预设阈值,判定活体识别分值小于预设阈值的待测人脸为非活体。
利用活体识别分值所获得的活体识别置信度,还可以进一步扩展,用于本实施例建立分级制度进行活体判断和活体分级,以获得丰富的活体识别结果。
步骤s22基于部位运动的情况获取待测人脸的每一部位运动对应的运动分值包括:
基于额头皱纹动作的运动情况获取对应的运动分值:当步骤s21中的检测待测人脸的有额头皱纹动作,则获取的额头皱纹动作的运动分值为1分;否则获取的额头皱纹动作的运动分值为0分。
类似的,基于其它至少一个部位运动的运动情况获取对应的运动分值:当步骤s21中的检测待测人脸的对应运动情况为待测人脸的对应部位有运动,则获取的对应部位运动的运动分值为1分;否则获取的运动分值为0分。
除了通过有无运动的判断获取对应的运动分值,若在步骤s21中所获取的部位运动的运动情况为部位运动的运动程度,还可以根据其运动程度在分值区间中获取对应的运动分值,如设定分数分为10级,取值在0到1之间。
具体实施时,检测待测人脸视频部位运动从而获得对应的部位的运动情况,其中,一部位运动的检测采用本发明提供的一种额头皱纹动作检测方法;根据每一部位运动的情况获取对应的运动分值,具体为该部位运动有运动,则获取的运动分值为1分,否则获取的运动分值为0分;接着计算上述得到每一部位运动分值进行加权后的总和,该总和表示活体识别分值;最后用该活体识别分值占活体识别总分的比值计算活体识别置信度,其中,当活体识别置信度不小于预设值时,确定活体识别分值不小于预设阈值,从而判定待测人脸为活体;否则,判定待测人脸为非活体。
本实施例可运用于多种设备端,此处以运用于移动手机端的实施场景为例进行说明:在手机端活体识别时,随机出现一种活体动作要求顺序,例如为要求待测人脸分别进行张嘴、眨眼和额头皱纹动作的活体动作;此时若预设的部位运动的权重为:张嘴对应的嘴部运动的权重w1=3,眨眼对应的眼部运动的权重w2=2,额头皱纹动作对应的运动的权重w3=1;计算活体识别总分,即活体识别最高分s_max为3*1+2*1+1*1=6分。假设检测出张嘴得分为1分,眨眼得分为1分,额头皱纹动作得分为0分,活体识别分值s为每一部位运动加权后的总和,代入上述部位运动的运动分值,计算活体识别分值s=3*1+2*1+1*0=5分;最后,计算活体识别置信度f=s/s_max=5/6=83.33%。若设定此时设定值e为80%,则判定该待测人脸为活体,且活体置信度为83.33%。
本实施例解决了现有技术中算法单一,安全性不高的问题,可扩展性强;对于待测人脸的额头皱纹动作检测方法计算简单高效,对设备的硬件要求不高;另外,在本实施例中采用对多个部位运动的检测来进行活体识别,并对不同部位运动加权再进行分数融合,活体识别准确度高,且有利于提高安全性。
本发明实施例4提供的一种活体识别系统,参见图8,图8为本实施例的结构示意图,本实施例包括:
至少2个人脸部位运动检测装置1,每一个人脸部位运动检测装置1用于检测待测人脸一对应的部位运动的情况;图8中的人脸部位运动检测装置1a和人脸部位运动检测装置1b表示检测两不同部位运动的2个人脸部位运动检测装置1;其中一个人脸部位运动检测装置1为本发明实施例2提供的一种额头皱纹动作检测装置,具体参见本发明实施例2的说明,此处不做赘述。
需要说明的是,图8仅以包括2个人脸部位运动检测装置1为示例,本实施例还可以包括2个以上的人脸部位运动检测装置1。
部位运动分值获取装置2,用于基于每一部位运动的情况获取待测人脸的每一部位运动对应的运动分值;
活体识别分值计算装置3,用于计算每一人脸部位运动对应的运动分值加权后的总和,并将计算得到的总和作为活体识别分值;其中,活体识别分值计算装置3已预设与每一部位运动相对应的权值;
活体判断装置4,用于判定活体识别分值不小于预设阈值的待测人脸为活体。
示例,除额头皱纹动作检测装置1外的至少一部位运动检测装置1对应检测的至少一部位运动包括嘴部运动、眼部运动、头部运动、眉毛运动和面部运动中的至少一部位运动;嘴部运动包括嘴部是否张闭,或,嘴部运动包括人脸是否有微笑动作,即嘴角的移动程度超过预设标准;眼部运动包括眼睛是否有睁闭动作;头部运动包括头部是否转动;眉毛运动包括眉毛是否有抖动动作;面部运动包括人脸部位的整体变化,如鬼脸动作,人脸的眼部和嘴部的整体变化程度超过预设条件;通常来说,人脸的嘴部运动、眼部运动和头部运动的程度明显,有利于进行检测,可以优选选择检测嘴部运动、眼部运动和头部运动中的至少一种。
示例,另外至少一人脸部位运动检测装置1具体用于检测待测人脸的人脸视频每隔预设帧数所抽取的每一视频帧检测部位运动对应的部位关键点位置,通过抽取的每一视频帧的部位关键点位置的变化程度来确定部位运动的情况;或者,人脸部位运动检测装置1还可以具体用于检测待测人脸每隔预设帧数所抽取的每一视频帧检测部位运动对应的部位灰度值特征,通过抽取的每一视频帧的部位的灰度值的变化程度来确定部位运动的情况,该实施方式通常适用于人脸部位运动检测装置1检测的部位运动为眼部运动或额头运动。上述实施方法仅为另外至少一人脸部位运动检测装置1检测部位运动的示例,当人脸部位运动检测装置1通过其他实施方式实现对另外至少一部位运动的运动检测,也在本实施例的保护范围之内。
部位运动分值获取装置2具体用于基于额头皱纹动作的运动情况获取对应的运动分值:待测人脸的运动情况为有额头皱纹动作,则获取的额头皱纹动作的运动分值为1分;否则获取的额头皱纹动作的运动分值为0分。部位运动分值获取装置2具体还用于基于其它至少一个部位运动的运动情况获取对应的运动分值:当待测人脸的对应的部位运动情况为有运动,则获取的对应部位运动的运动分值为1分;否则获取的运动分值为0分。
除上述部位运动分值获取装置2用于基于每一部位运动的是否有运动的情况而直接获得一个是否有运动的运动分值的实施方式,当通过人脸部位运动检测装置1中获取的部位运动的运动情况包括部位运动的运动程度,还可以通过部位运动分值获取装置2基于运动程度而获取一个在0到1之间的运动分值,如设定运动分值分为10级,取值在0到1之间,该替代实施方式不仅能表示是否有运动,还能体现运动的程度。
活体识别分值计算装置3中与每一部位运动相对应的权值为根据每一部位运动的明显度设定;如检测的部位运动为额头皱纹动作、眼部运动和嘴部运动时,此时,嘴部运动比较明显,故权重最大,眼部运动次之,额头皱纹动作权重最小,部位运动的权重策略对应为:嘴部运动>眼部运动>额头皱纹动作。
或,活体识别分值计算装置3中与每一部位运动相对应的权值为根据不同应用场景自动进行部位运动的权值调整而设定的,具体做法:在某一种场景下,收集待测人脸的各种部位运动的正常输入视频作为正样本,攻击视频作为负样本,取(正样本通过数+负样本拒绝数)/(正样本总数+负样本总数)作为该部位运动的准确率,然后把每一部位运动的准确率按照从大到小的顺序进行排序,每一部位运动的权重也按照此顺序从大到小,重新调整每一部位运动的权重。
上述两种设定每一部位运动相对应的权值的任一种优选实施方式均在本实施例的保护范围内。
活体判断装置4包括:
活体识别置信度计算单元41,用于通过活体识别分值占活体识别总分的比值计算待测人脸的活体识别置信度;
其中,活体识别总分即为通过活体识别分值计算装置3获取的所有部位运动对应的运动分值加权后的总和的最大值,活体识别总分用s_max表示;f表示活体识别置信度,且0<f<1;活体识别置信度计算单元41通过下述公式计算待测人脸的活体识别置信度:
f=(s/s_max)*100%
活体判断单元42,用于当活体识别置信度不小于预设值时,确定活体识别分值不小于预设阈值,判定活体识别分值不小于预设阈值的待测人脸为活体。
其中,用e表示预设值,通过活体判断单元42判断:当f≥e,即活体识别置信度不小于预设值时,则确定活体识别分值不小于预设阈值,判定活体识别分值不小于预设阈值的待测人脸为活体;当f<e,即活体识别置信度小于预设值时,则确定活体识别分值小于预设阈值,判定活体识别分值小于预设阈值的待测人脸为非活体。
通过活体识别置信度计算单元41所获得的活体识别置信度,还可以进一步扩展,用于本实施例活体识别系统建立分级制度进行活体判断和活体分级,以获得丰富的活体识别结果。
具体实施时,首先,通过每一人脸部位运动检测装置1获取对应的部位运动的运动情况,其中,一人脸部位运动检测装置1为本发明一种额头皱纹动作检测装置的实施例;并通过部位运动分值获取装置2基于部位运动的运动情况获取对应的运动分值;然后,通过活体识别分值计算装置3对获取的每一部位运动的运动分值进行加权后求和作为活体识别分值,最后,通过活体判断装置4的活体识别置信度计算单元41利用活体识别分值占活体识别总分的比值计算待测人脸的活体识别置信度,并通过活体判断单元42判定当计算所得的活体识别置信度不小于预设阈值的待测人脸为活体。
本实施例采用检测至少2个人脸部位运动检测装置解决了现有技术中算法单一,安全性不高的问题,可扩展性强,且采用的额头皱纹动作运动检测装置对硬件要求不高;另外,通过活体识别分值计算装置对不同部位运动加权再进行分数融合,活体识别准确度高,获得了活体识别准确率高、硬件要求低和安全性高的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。