掌桥专利:专业的专利平台
掌桥专利
首页

一种活体检测的方法、装置

文献发布时间:2023-06-19 11:08:20


一种活体检测的方法、装置

技术领域

本申请涉及图像识别检测领域,特别地,涉及一种活体检测方法。

背景技术

活体识别检测主要是通过识别活体上的生物特征信息来进行,它把生物特征信息作为生命特征来区分用照片、硅胶、塑料等非生命物质伪造的生物特征。通俗地讲,就是在识别检测的过程中确定被检测目标确实是个“活体”,不是照片、视频或其他什么。

以人脸活体的识别检测为例。目前,人脸活体检测技术主要有交互式动作、3D成像(多目成像、结构光、TOF等)、视频流等,其中,

交互式动作其要求用户配合指令完成相应的动作,如眨眼、微笑、朗读等,根据判别得到的动作状态的变化情况来区分照片和活体人脸,需要用户配合,用户体验差,一旦获取所有交互指令可针对性地录制视频,从而难以防备视频攻击;

3D成像识别检测技术基于深成的深度图像进行识别检测,受物体材质和光照影响较小,可以很好的区分真假人脸。但单一的3D成像识别检测对一些3D打印的面具存在极高的误检率;

视频流识别检测技术基于视频流进行识别检测,单一的视频流识别对播放的视频产生误检。

发明内容

本申请提供了一种活体检测方法,以减少误检。

本申请提供的一种活体检测的方法,该方法包括,

获取被检测目标当前连续n帧图像、以及当前深度图像;其中,n为大于1的自然数;

基于当前连续n帧图像进行活体检测,得到第一识别结果;基于当前深度图像进行活体识别,得到第二识别结果;

将第一识别结果和第二识别结果进行与逻辑运算,得到检测结果。

较佳地,所述当前连续n帧图像为RGB图像,

所述基于当前连续n帧图像进行活体检测,得到第一识别结果,包括,

将当前连续n帧图像通过欧拉图像放大EVM算法进行处理,

将经过EVM处理后的图像进行时频分析,获得图像中被检目标的当前心跳频率;

根据获得的心跳频率识别被检目标是否为活体,得到第一识别结果。

较佳地,所述将当前连续n帧图像通过欧拉图像放大EVM算法进行处理,包括,

通过欧拉图像放大算法中用于将图像序列进行金字塔多分辨率分解的空间滤波、用于对每个尺度的图像进行时域带通滤波得到感兴趣的一个以上频带的时域滤波、用于对每个频带的信号用泰勒级数差分逼近并线性放大逼近的结果的放大滤波、用于合成经过放大后的图像的图像合成,放大RGB图像上被检测目标的血液流动;

所述将经过EVM处理后的图像进行时频分析,获得图像中被检目标的当前心跳频率,包括,

将经过EVM处理后的图像进行时频分析,得到直方图,

基于直方图的脉动变化,估算单位时间内的脉动数量,将估算结果作为当前心跳频率;

所述根据心跳频率识别被检目标是否为活体包括,

判断当前心跳频率是否大于设定的阈值,如果是,则判定被检测目标为活体,否则,判定被检测目标为非活体;。

较佳地,所述基于当前深度图像进行活体识别,得到第二识别结果,包括,

根据深度图像中被检测目标的坐标,提取被检测目标的深度图,

将提取的深度图处理为适配于预先训练好的神经网络模型的数据,

将处理后的深度图数据输入预先训练好的神经网络模型进行识别,得到第二识别结果。

较佳地,所述神经网络模型为深度学习网络模型,所述将提取的深度图处理为适配于预先训练好的神经网络模型的数据包括,

将提取的深度图中的距离信息调整为设定的范围,

按照比例进行截取各像素点的距离信息,将截取后的距离信息作为该像素点的灰度信息,得到提取的深度图所对应的二维图片数据;

所述将处理后的深度图数据输入预先训练好的神经网络模型进行识别包括,将二维图片数据输入至预先训练好的深度学习网络模型,通过深度学习算法对输入的数据进行识别。

本发明还提供一种活体检测的装置,其特征在于,该装置包括,

获取连续n帧图像的第一图像获取单元;其中,n为大于1的自然数;

获取深度图像的第二图像获取单元;

第一检测单元,基于来自第一图像获取单元的当前连续n帧图像进行活体检测,得到第一识别结果;

第二检测单元,基于来自第二图像获取单元的当前深度图像进行活体识别,得到第二识别结果;

逻辑运算单元,将第一识别结果和第二识别结果进行与逻辑运算,得到检测结果。

较佳地,所述连续n帧图像为RGB图像,

所述第一检测单元包括,

欧拉图像放大EVM模块,将当前连续n帧图像通过欧拉图像放大EVM算法进行处理,

估算模块,将经过EVM处理后的图像进行时频分析,获得图像中被检目标的当前心跳频率;

第一识别模块,根据获得的心跳频率识别被检目标是否为活体,得到第一识别结果。

较佳地,所述欧拉图像放大EVM模块包括,

用于将图像序列进行金字塔多分辨率分解的空间滤波模块,

用于对每个尺度的图像进行时域带通滤波、得到感兴趣的一个以上频带的时域滤波模块,

用于对每个频带的信号用泰勒级数差分逼近、并线性放大逼近的结果的放大滤波模块,

用于合成经过放大后的图像的图像合成模块。

较佳地,所述第二检测单元包括,

提取模块,根据深度图像中被检测目标的坐标,提取被检测目标的深度图,

深度图预处理模块,将提取的深度图处理为适配于预先训练好的神经网络模型的数据,

第二识别模块,将处理后的深度图数据输入预先训练好的神经网络模型进行识别,得到第二识别结果。

本发明还提供一种活体检测的设备,该设备包括,

获取连续n帧图像的第一图像获取装置;其中,n为大于1的自然数;

获取深度图像的第二图像获取装置;

存储器,存储有计算机程序,

处理器,执行存储的计算机程序,实现上述任一所述活体检测的方法的步骤。

本发明还提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述活体检测的方法的步骤。

本申请实施例通过视频流和深度图的结合来进行活体检测,解决了单一视频检测和单一深度图像检测的误检率高的缺陷,有效地减少了误检;进一步地,通过欧拉图像放大EVM算法对连续n帧RGB图像的放大,获得RGB图像上被检测目标的血液流动,并基于此,获得被检测目标的心跳频率,根据心跳频率识别被检测目标,有效地抵御了3D模型、视频流的攻击;通过将深度图转化为二维图像数据来进行神经网络的识别,能够有效抵御2D图像的攻击;结合二者的识别结果,大大降低了误检率,提高了活体识别检测的有效性。

附图说明

图1为本申请实施例对于人脸检测方法的一种流程示意图;

图2为欧拉图像放大处理的一种示意图。

图3为EVM处理前的和处理后的直方图的一种示意图。

图4a为深度图预处理之前的一种示意图和图4b为深度图预处理之后的一种示意图。

图5为本申请实施例的活体检测装置的一种示意图。

图6为本申请实施例的活体检测设备的一种示意图。

具体实施方式

为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。

本申请基于视频流和深度图来进行活体检测,具体地,对RGB视频流进行欧拉图像放大(EVM,Eulerian Video Magnification)处理,以放大图像上的血液流动情况,提取的活体心率以进行第一识别,将深度图通过训练后的深度学习模型以进行第二识别,基于第一识别结果和第二识别结果进行与逻辑运算,只有当第一识别结果和第二识别结果都识别为活体时,才判定为活体。本申请解决了单一视频检测和单一深度图像检测的误检率高的缺陷,有效地减少了误检。

为便于理解,以下将以被检测目标为人脸为实施例来进行说明,所应理解的是,本申请不限于人脸,还包括了其他生物特征,包括且不限于,人体、掌纹、指纹等。

参见图1所示,图1为本申请实施例对于人脸检测方法的一种流程示意图。该方法包括以下步骤:

步骤101,分别获取被检测目标的RGB视频图像和深度图;

在本实施例中,鉴于后续的欧拉图像放大处理需要基于RGB图像来处理,故而通过RGB摄像头采集连续RGB图像帧数大于n的被检测目标的RGB图像;在采集RGB图像的同时,通过深度相机采集当前被检测目标的深度图;

基于采集的RGB视频图像,进行如下处理:

步骤102,判断当前采集的被检测目标的RGB图像是否具有连续的n帧,如果是,则执行步骤103,否则,重新获取RGB图像;其中,n为大于1的自然数;

步骤103,基于获取的具有连续n帧的RGB图像,进行欧拉图像放大处理,以放大RGB图像中的色彩信息;

在该步骤中,通过欧拉图像放大算法,放大RGB图像上人脸血液流动;其中,欧拉图像算法是一种将视频中的微小变化进行放大的算法,该算法可以将视频中的微小变化转变为肉眼可以观察的变化,还可从视频中提取心率信息。

欧拉图像放大算法的机理是将视角固定在一个地方,例如整幅图像。之后,假定整幅图像都在变,只是这些变化信号的频率、振幅等特性不同,而所感兴趣的变化信号就身处其中。这样,对“变”的放大就变成了对感兴趣频段的析出和增强。基于该机理,参见图2所示,图2示出了欧拉图像放大处理的一种示意图。欧拉图像放大处理包括:用于将视频序列进行金字塔多分辨率分解的空间滤波,用于对每个尺度的图像进行时域带通滤波,得到感兴趣的若干频带的时域滤波,用于对每个频带的信号用泰勒级数来差分逼近,线性放大逼近的结果的放大滤波结果,用于合成经过放大后的图像的图像合成;其中,

空间滤波的目的是将多个相邻像素拼接成一块,可以使用低通滤波器来进行,为了加快运算速度,同时可以进行下采样操作,低通滤波器与下采样的组合便是金字塔。金字塔包括拉普拉斯金字塔和高斯金字塔来进行空间滤波;使用哪个金字塔得根据具体需求而定,如果要放大的是动作的变化,那么可以选择拉普拉斯金字塔,构造多个不同空间频率的基带;如果要放大的是颜色的变化,不同基带的SNR应该比较接近,因此可以选择高斯金字塔,只取最顶层下采样和低通滤波的结果。在本实施例中,鉴于感兴趣的是视频中的动作变化,因此,选择拉普拉斯金字塔。

视频可以看作连续的图片,从图片中的单个像素点的角度看,视频每个像素点的变化可以看成时域信号,而物体运动的信息就隐藏在单个像素点的变化之中。得到了不同空间频率的基带后,接下来对每个基带都进行时域上的带通滤波,目的是提取感兴趣的那部分变化信号。例如,如果要放大的心率信号,那么可以选择0.4~4Hz(24~240bpm)进行带通滤波,这个频段就是人的心率的范围。时域滤波可以根据不同的需求选择不同的带通滤波器。为了后续得到心率信号,需要对放大的结果进行后续的时频分析,则选择窄通带的滤波器。

经过空间滤波和时间滤波,可以找出了“变”的部分,即解决了何为“变”这个问题。

线性的EVM方法会在放大动作变化的同时放大噪声,为了避免造成太大的失真,可以设置一个合理的放大倍数限制,使得:当空间波长超出设定的边界,放大倍数维持在设定的阈值。

图像合成先合成变化信号的图像,再与原图进行叠加。

步骤104,对EVM处理后的信号进行时频分析,计算出图像中人的心跳频率H;

参见图3所示,图3示出了EVM处理前的和处理后的直方图的一种示意(实际为彩色),通过图示可见,经过EVM处理后,信号的直方图具有类似于脉动的变化。因此,对EVM处理后的信号进行时频分析,获得单位时间脉动的数量,可以得到估算出图像中人的心跳频率。

步骤105,判断心跳频率H小于阈值或者等于0,如果是,则判定图像中的人为非活体,输出FALSE,否则,则判定图像中的人为活体,输出TRUE。将上述输出结果记为第一识别结果。

对于采集的深度图像,进行如下处理:

步骤201,接收深度摄像头采集的深度图像、以及其中人脸所在的坐标,根据人脸坐标,提取人脸的深度图。

步骤202,将深度图进行预处理,得到二维图片数据,将二维图片数据保存为图片格式;

为了便于神经网络的识别检测,既满足精度要求又具有快速的响应,本实施例将深度图的距离信息调整为1毫米单位,以避免距离信息的精度不一致,并且将各像素点的距离信息按比例截取,截取后的距离信息作为该像素点的灰度值,得到二维图片数据,从而,将16位数据处理为8位数据,即数据范围为0~255,以利于去除冗余数据,加快运算的速度。

将处理后的图像保存为jpg等图片格式。

如图4a和4b所示,图中,图4a图为步骤202处理前的一种深度图的示意,图4b图为步骤202处理后的图片。

步骤203,将处理后的人脸深度图像送入预先训练好的深度学习网络模型中进行识别,如果识别为活体,则输出TRUE,如果识别为非活体,则输出FALSE;将上述输出结果记为第二识别结果。

其中,深度学习网络模型采用深度学习算法,并预先用大量的样本训练,训练成功后保存训练好的模型参数。

步骤204,将步骤105的第一识别结果与步骤204的第二识别结果进行与逻辑运算,当两者均为TRUE时,输出最终结果为TRUE,判定被检测目标为活体,否则,判定被检测目标为非活体。通过同时基于视频的活体检测和基于深度图的活体检测,使得误判率得以降低。

本申请实施例采用RGB视频图像与深度图像的结合进行活体检测,可以有效阻止目前接近100%的攻击方式。其中RGB视频检测利用了EVM技术,具有极高的可靠性,并且可以有效防止3D模型、照片、视频流等攻击;深度图像检测利用了深度图像数据,并且采用深度学习技术,可以有效的防止所有2D图像的攻击。该检测方法无需用户配合,相比于需要用户点头眨眼等互动式活体检测方法,本方法的用户体验好,算法速度快。本申请实施例解决了身份验证场景中确定对象真实生理特征的问题,例如在金融支付领域需要确定是否当前操作为本人操作,除了需要辨认当前操作者的脸部特征与拥有者匹配,同时还需要确认当前操作者是活体而非照片或人脸模型等。

参见图5所示,图5为本申请实施例的活体检测装置的一种示意图。该检测装置包括,

获取连续n帧图像的第一图像获取单元;其中,n为大于1的自然数;

获取深度图像的第二图像获取单元;

第一检测单元,基于来自第一图像获取单元的当前连续n帧图像进行活体检测,得到第一识别结果;

第二检测单元,基于来自第二图像获取单元的当前深度图像进行活体识别,得到第二识别结果;

逻辑运算单元,将第一识别结果和第二识别结果进行与逻辑运算,得到检测结果。

所述连续n帧图像为RGB图像,

所述第一检测单元包括,

欧拉图像放大EVM模块,将当前连续n帧图像通过欧拉图像放大EVM算法进行处理,

估算模块,将经过EVM处理后的图像进行时频分析,获得图像中被检目标的当前心跳频率;

第一识别模块,根据获得的心跳频率识别被检目标是否为活体,得到第一识别结果。

所述欧拉图像放大EVM模块包括,

用于将图像序列进行金字塔多分辨率分解的空间滤波模块,

用于对每个尺度的图像进行时域带通滤波、得到感兴趣的一个以上频带的时域滤波模块,

用于对每个频带的信号用泰勒级数差分逼近、并线性放大逼近的结果的放大滤波模块,

用于合成经过放大后的图像的图像合成模块。

所述第二检测单元包括,

提取模块,根据深度图像中被检测目标的坐标,提取被检测目标的深度图,

深度图预处理模块,将提取的深度图处理为适配于预先训练好的神经网络模型的数据,

第二识别模块,将处理后的深度图数据输入预先训练好的神经网络模型进行识别,得到第二识别结果。

所述第一图像获取单元可以为RGB图像摄像机,所述第二图像获取单元可以为深度相机。

参见图6所示,图6为本申请实施例的活体检测设备的一种示意图。本申请实施例还提供一种活体检测的设备,该设备包括,

获取连续n帧图像的第一图像获取装置;其中,n为大于1的自然数;

获取深度图像的第二图像获取装置;

存储器,存储有计算机程序,

处理器,执行存储的计算机程序,实现上述任一所述活体检测的方法的步骤。

其中,存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

获取被检测目标当前连续n帧图像、以及当前深度图像;其中,n为大于1的自然数;

基于当前连续n帧图像进行活体检测,得到第一识别结果;基于当前深度图像进行活体识别,得到第二识别结果;

将第一识别结果和第二识别结果进行与逻辑运算,得到检测结果。

对于装置/网络侧设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 一种活体检测模型训练、活体检测方法、装置、设备及介质
  • 活体检测装置及方法,以及具有活体检测功能的验证装置
技术分类

06120112810051