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

一种活体检测方法、装置、设备、存储介质和程序产品

文献发布时间:2023-06-19 18:29:06


一种活体检测方法、装置、设备、存储介质和程序产品

技术领域

本公开涉及计算机技术领域,具体而言,涉及一种活体检测方法、装置、设备、存储介质和程序产品。

背景技术

为了确保人脸识别的安全可靠性,近年来,活体检测技术逐渐在人脸识别系统中应用开来,其中,炫彩活体检测是通过在特定时间段内向人脸上投射不同颜色的光线,利用算法进行判断视频中的用户是否是“活体”。由于不同颜色的光线投射在翻拍照片等攻击场景下和真实人脸上的反射效果不同,因此,通过算法对上述特征进行区分,能够达到活体识别的效果。

但是,炫彩活体检测的过程中,会显示系统每次下发的光线颜色,安全隐秘程度较低,不法人员可能根据下发的颜色光线进行攻击。另外,该活体检测中特征学习的方式较为粗糙,导致最终的检测精确度相对较低。

发明内容

本公开实施例至少提供一种活体检测方法、装置、设备、存储介质和程序产品。

第一方面,本公开实施例提供了一种活体检测方法,包括:

获取多帧对象图像;

对所述对象图像进行特征提取,得到每帧对象图像对应的初始图像特征;

分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征;

基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定所述对象图像对应的对象的活体检测结果,包括:

基于每帧对象图像的拍摄时序信息,对每帧对象图像对应的目标图像特征进行特征融合,得到目标融合特征;

基于所述目标融合特征,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述基于每帧对象图像的拍摄时序信息,对每帧对象图像对应的目标图像特征进行特征融合,得到目标融合特征,包括:

基于每帧对象图像的拍摄时序信息,确定包括任意相邻两帧对象图像的多个图像组;其中,每个图像组包括第一图像和第二图像;其中,所述第一图像的拍摄时间早于所述第二图像的拍摄时间;

针对不包括所述多帧对象图像中第一帧对象图像的每一图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的前一帧对象图像对应的目标融合子特征和所述第一图像的目标图像特征融合得到的;

将所述多帧对象图像中最后一帧对象图像对应的目标融合子特征作为所述目标融合特征。

一种可选的实施方式中,在确定所述多个图像组之后,还包括:

针对包括所述多帧对象图像中第一帧对象图像的图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的目标图像特征得到的。

一种可选的实施方式中,对所述对象图像的预设区域对应的初始图像特征进行特征加强处理,得到所述对象图像对应的目标图像特征,包括:

对所述初始图像特征进行特征提取,得到多个初始图像子特征;

获取每个所述初始图像子特征分别对应的权重信息;

基于所述初始图像特征、每个所述初始图像子特征和每个所述初始图像子特征分别对应的权重信息,对所述对象图像的预设区域对应的初始图像特征进行特征加强处理,得到所述对象图像对应的目标图像特征。

一种可选的实施方式中,所述基于所述目标融合特征,确定所述对象图像对应的对象的活体检测结果,包括:

对所述目标融合特征进行非线性变化处理,确定所述对象为活体对象的第一特征值和所述对象为伪造对象的第二特征值;

基于所述第一特征值和所述第二特征值,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述方法利用训练好的目标神经网络执行;

还包括训练所述目标神经网络的步骤:

获取第一对象数据集和第二对象数据集;所述第一对象数据集中包括活体对象对应的多张图像;所述第二对象数据集中包括活体对象对应的多张图像和伪造对象对应的多张图像;

利用所述第一对象数据集对提取对象特征的神经网络进行训练,得到初始神经网络;

基于所述第二对象数据集对待训练的目标神经网络进行训练,得到训练好的目标神经网络;所述待训练的目标神经网络包括所述初始神经网络。

一种可选的实施方式中,所述获取多帧对象图像,包括:

获取预设时长的视频片段;

识别所述视频片段中每帧图像,确定包括所述对象的目标对象图像;

基于预设的采集率和采集量,从所述视频片段中采集多帧所述目标对象图像;

基于多帧所述目标对象图像,确定多帧所述对象图像。

一种可选的实施方式中,所述基于多帧所述目标对象图像,确定多帧所述对象图像,包括:

识别每帧所述目标对象图像中所述对象所在区域,确定与每帧所述目标对象图像对应的对象区域图像;

按照预设比例,将每帧所述对象区域图像进行缩放处理,得到多帧所述对象图像。

第二方面,本公开实施例还提供一种活体检测装置,包括:

图像获取模块,用于获取多帧对象图像;

特征提取模块,用于对所述对象图像进行特征提取,得到每帧对象图像对应的初始图像特征;

特征加强模块,用于分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征;

活体检测模块,用于基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述活体检测模块,用于基于每帧对象图像的拍摄时序信息,对每帧对象图像对应的目标图像特征进行特征融合,得到目标融合特征;基于所述目标融合特征,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述活体检测模块,用于基于每帧对象图像的拍摄时序信息,确定包括任意相邻两帧对象图像的多个图像组;其中,每个图像组包括第一图像和第二图像;其中,所述第一图像的拍摄时间早于所述第二图像的拍摄时间;针对不包括所述多帧对象图像中第一帧对象图像的每一图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的前一帧对象图像对应的目标融合子特征和所述第一图像的目标图像特征融合得到的;将所述多帧对象图像中最后一帧对象图像对应的目标融合子特征作为所述目标融合特征。

一种可选的实施方式中,所述活体检测模块,还用于在确定所述多个图像组之后,针对包括所述多帧对象图像中第一帧对象图像的图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的目标图像特征得到的。

一种可选的实施方式中,所述特征加强模块,用于对所述初始图像特征进行特征提取,得到多个初始图像子特征;获取每个所述初始图像子特征分别对应的权重信息;基于所述初始图像特征、每个所述初始图像子特征和每个所述初始图像子特征分别对应的权重信息,对所述对象图像的预设区域对应的初始图像特征进行特征加强处理,得到所述对象图像对应的目标图像特征。

一种可选的实施方式中,所述活体检测模块,用于对所述目标融合特征进行非线性变化处理,确定所述对象为活体对象的第一特征值和所述对象为伪造对象的第二特征值;基于所述第一特征值和所述第二特征值,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述装置还包括网络训练模块,用于获取第一对象数据集和第二对象数据集;所述第一对象数据集中包括活体对象对应的多张图像;所述第二对象数据集中包括活体对象对应的多张图像和伪造对象对应的多张图像;利用所述第一对象数据集对提取对象特征的神经网络进行训练,得到初始神经网络;基于所述第二对象数据集对待训练的目标神经网络进行训练,得到训练好的目标神经网络;所述待训练的目标神经网络包括所述初始神经网络。

一种可选的实施方式中,所述图像获取模块,用于获取预设时长的视频片段;识别所述视频片段中每帧图像,确定包括所述对象的目标对象图像;基于预设的采集率和采集量,从所述视频片段中采集多帧所述目标对象图像;基于多帧所述目标对象图像,确定多帧所述对象图像。

一种可选的实施方式中,所述图像获取模块,用于识别每帧所述目标对象图像中所述对象所在区域,确定与每帧所述目标对象图像对应的对象区域图像;按照预设比例,将每帧所述对象区域图像进行缩放处理,得到多帧所述对象图像。

第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的活体检测方法的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的活体检测方法的步骤。

第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一方面,或第一方面中任一种可能的活体检测方法的步骤。

关于上述活体检测装置、设备、存储介质和程序产品的效果描述参见上述活体检测方法的说明,这里不再赘述。

本公开实施例提供的活体检测方法、装置、设备、存储介质和程序产品,通过获取多帧对象图像;对对象图像进行特征提取,得到每帧对象图像对应的初始图像特征;分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征;基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定对象图像对应的对象的活体检测结果。本公开实施例通过对预设区域对应的初始图像特征进行特征加强处理,该预设区域可以为用于判断真假对象的特定区域,能够增大预设区域对应的初始图像特征的权重,从而有利于提高活体检测精度;之后,由于真假对象在拍摄时序上该预设区域对应的特征之间的联系是有区别的,因此按照每帧对象图像的拍摄时序信息处理目标特征图像,能够精准的识别出当前对象图像中的对象是否为伪造,与现有技术中的利用炫彩活体检测相比,本公开实施例无需利用不同颜色的光线反射,另外,处理每帧对象图像的粒度更细,提高了活体检测的精度。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种活体检测方法的流程图;

图2示出了本公开实施例所提供的Attention模块的架构示意图;

图3示出了本公开实施例所提供的融合目标图像特征的流程图;

图4示出了本公开实施例所提供的训练目标神经网络的流程图;

图5示出了本公开实施例所提供的活体检测的流程示意图;

图6示出了本公开实施例所提供的活体检测的算法架构示意图;

图7示出了本公开实施例所提供的一种活体检测装置的示意图;

图8示出了本公开实施例所提供的一种计算机设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。

在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

经研究发现,为了确保人脸识别的安全可靠性,近年来,活体检测技术逐渐在人脸识别系统中应用开来,其中,炫彩活体检测是通过在特定时间段内向人脸上投射不同颜色的光线,利用算法进行判断视频中的用户是否是“活体”。由于不同颜色的光线投射在翻拍照片等攻击场景下和真实人脸上的反射效果不同,因此,通过算法对上述特征进行区分,能够达到活体识别的效果。但是,炫彩活体检测的过程中,会显示系统每次下发的光线颜色,安全隐秘程度较低,不法人员可能根据下发的颜色光线进行攻击。另外,该活体检测笼统的学习采集到的人脸图像的特征变化,特征学习的方式较为粗糙,导致最终的检测精确度相对较低。

基于上述研究,本公开提供了一种活体检测方法、装置、设备、存储介质和程序产品,通过对预设区域对应的初始图像特征进行特征加强处理,该预设区域可以为用于判断真假对象的特定区域,能够增大预设区域对应的初始图像特征的权重,从而有利于提高活体检测精度;之后,由于真假对象在拍摄时序上该预设区域对应的特征之间的联系是有区别的,因此按照每帧对象图像的拍摄时序信息处理目标特征图像,能够精准的识别出当前对象图像中的对象是否为伪造。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

下面对本公开实施例中所涉及到的名词进行详细介绍:

1、卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deeplearning)的代表算法之一。

2、残差网络(resnet),一种卷积神经网络。Resnet18表示卷积层数为18层。

3、vgg16,一种卷积神经网络,能够从图像中提取CNN特征。

4、循环神经网络(Recurrent Neural Network,RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)。

5、注意力模型,Attention模型。

6、reshape函数是MATLAB中将指定的矩阵变换成特定维数矩阵一种函数,且矩阵中元素个数不变,函数可以重新调整矩阵的行数、列数、维数。函数语法为R=reshape(Q,size)是指返回一个和Q元素相同的n维数组,但是由向量size来决定重构数组维数的大小。

7、归一化指数函数(Normalized exponential function),softmax函数,它能将一个含任意实数的T维向量v“压缩”到另一个T维实向量σ(v)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。

8、长短期记忆网络(Long Short-Term Memory,LSTM)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。

9、全连接层(Fully Connected layer,FC)的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。例如在vgg16中,第一个全连接层FC1有4096个节点,上一层POOL2是7×7×512=25088个节点,则该传输需要4096×25088个权值,需要耗很大的内存。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种活体检测方法的应用场景进行介绍,本发明实施例提供的活体检测方法可以应用于真假人脸检测,假人脸可以为打印照片、打印纸制面具、仿真面具、高仿3D模具等。其中,假人脸与真人脸的区别主要在五官附近,同时,假人脸图像和真人脸图像在时间序列上五官附近特征的联系是有区别性的,即在连续的时间序列上真人脸的五官存在微小变化,假人脸则不会存在该微小变化。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种活体检测方法进行详细介绍,本公开实施例所提供的活体检测方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该活体检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

下面以执行主体为计算机设备为例对本公开实施例提供的活体检测方法加以说明。

基于上述活体检测的应用场景,本公开实施例提供了一种活体检测方法,参见图1所示,其为本公开实施例提供的一种活体检测方法的流程图,所述方法包括步骤S101~S104其中:

S101:获取多帧对象图像。

本步骤中,对象图像可以为包括对象的图像,该对象可以为人,人脸等,可以根据不同的应用场景进行设定。

多帧对象图像可以包括拍摄设备采集到的视频片段中的一段时长内的连续多帧图像;或者,可以包括采集到的视频片段中的一段时长内仅包括对象的连续多帧图像;或者,可以包括从仅包括对象的连续多帧图像中按照预设的采集率和采集量采集的多帧图像等。

针对从仅包括对象的连续多帧图像中按照预设的采集率和采集量采集多帧图像,确定多帧对象图像,具体的,首先,可以先获取预设时长的视频片段,识别视频片段中每帧图像,确定包括对象的目标对象图像;基于预设的采集率和采集量,从视频片段中采集多帧目标对象图像;基于多帧目标对象图像,确定多帧对象图像。这里,采集率可以为每N帧采集M帧,N和M为整数,其中,M小于N。采集量可以为X,X为整数且大于或等于M。

示例性的,预设时长的视频片段可以为拍摄设备获取到的一段时长的视频片段,该视频片段包括连续的多帧图像,之后,分别识别该视频片段中的每帧图像,从该多帧图像种筛选出包括对象的目标对象图像;然后,再从筛选出的目标对象图像中按照采集率和采集量进行采集,确定多帧对象图像。比如,采集量为20帧,按照每3帧采集1帧的采集方式,从包括对象的目标对象图像中采集对象图像,确定20帧对象图像。

这里,针对对象为人脸的情况,预设时长的视频片段可以为5~7秒的视频片段。另外,预设时长还可以根据具体应用场景进行设置,本公开实施例不进行具体限定。

针对上述基于多帧目标对象图像,确定多帧对象图像。在一些实施例中,为了提高整个目标神经网络的处理效率,可以相应缩小目标对象图像。具体的,识别每帧目标对象图像中对象所在区域,确定与每帧目标对象图像对应的对象区域图像;按照预设比例,将每帧对象区域图像进行缩放处理,得到多帧对象图像。

这里,对象区域图像是从目标对象图像中截取出来的,包括对象的图像。

示例性的,在对象为人脸的情况下,识别目标人脸图像中的人脸,确定人脸所在的区域,从目标人脸图像中截取包括人脸的人脸区域图像,可以按照预设比例缩小人脸区域图像,比如,将256×256大小的人脸区域图像缩小为224×224大小的人脸区域图像,可以将该224×224大小的人脸区域图像作为对象图像。

S102:对对象图像进行特征提取,得到每帧对象图像对应的初始图像特征。

本步骤中的特征提取可以为利用CNN进行特征提取,提取对象图像对应的特征,即初始图像特征。

或者,特征提取还可以采用任意成熟的算法架构,例如,resnet18、vgg16或其他特征提取算法等,本公开实施例不进行具体限制。

S103:分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征。

本步骤中,预设区域可以包括对象图像中的对象的预设部位所在的区域,例如,在对象为人脸的情况下,预设部位可以为人脸中的五官。具体的,可以利用目标神经网络自主聚焦的特性,确定每帧对象图像的预设区域。

延续上例,可以利用目标神经网络自主聚焦每帧人脸图像中的五官,并对五官所在区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征。以自主聚焦一帧人脸图像中的五官,并对五官所在区域对应的初始图像特征进行特征加强处理为例,具体的,可以将从该人脸图像中提取的初始图像特征输入到Attention模型中,可以参见图2所示,其为Attention模块的架构示意图,其中,A表示C×H×W的初始图像特征,其中,C表示初始图像特征的通道数,H表示初始图像特征的高,W表示初始图像特征的宽,C、H、W分别为正整数。对于初始图像特征,首先,利用三个卷积层,分别得到A′,A″,A″′对应的三个特征图。之后,对A′,A″,A″′分别进行reshape运算,分别得到其对应的特征矩阵C×K,其中,K=H×W,K为正整数。之后,将A′对应的特征矩阵C×K的转置(transpose)与A″对应的特征矩阵C×K相乘,再通过softmax得到特征矩阵S((H×W)×(H×W)),即S(K×K),参见公式一;之后,将A″′对应的特征矩阵C×K与特征矩阵S(K×K)的转置相乘后的结果进行reshape运算,得到加强图像特征C×H×W,将该加强图像特征与初始图像特征A相加,得到目标图像特征E(C×H×W),参见公式二。

按照公式一计算矩阵S(K×K)中的每个元素值:

其中,exp表示以e为底的指数函数。A′

按照公式二计算目标图像特征E(C×H×W)中的每个元素值:

其中,E

S104:基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定对象图像对应的对象的活体检测结果。

这里,确定每帧对象图像的拍摄时序信息,具体的,在获取多帧对象图像时,可以确定每帧对象图像的拍摄时间,之后,按照时间的先后顺序,可以确定每帧对象图像的拍摄时序信息,即每帧对象图像的拍摄时间和先后顺序。

之后,针对S104,具体实施时,首先,可以基于每帧对象图像的拍摄时序信息,对每帧对象图像对应的目标图像特征进行特征融合,得到目标融合特征;然后,基于目标融合特征,确定对象图像对应的对象的活体检测结果。

在一些实施例中,可以是针对每相邻两帧对象图像对应的目标图像特征进行特征融合,相邻两帧对象图像指的是每帧对象图像按照拍摄时序信息排列后的相邻两帧的对象图像。

针对上述,对每帧对象图像对应的目标图像特征进行特征融合,具体融合过程可以参见图3所示,其为融合目标图像特征的流程图,包括S301~S303:

S301:基于每帧对象图像的拍摄时序信息,确定包括任意相邻两帧对象图像的多个图像组;其中,每个图像组包括第一图像和第二图像;其中,第一图像的拍摄时间早于第二图像的拍摄时间。

本步骤中,任意相邻两帧对象图像指的是在每帧对象图像按照拍摄时序信息已经排列完成后,从排列完成的每帧对象图像中任意选择出的相邻两帧的对象图像。之后,将选择出的两帧对象图像作为一个图像组,从每帧对象图像中任意选择出相邻两帧对象图像,组成多个图像组。

示例性的,已知有10帧对象图像,按照拍摄时序信息确定第一帧对象图像、第二帧对象图像、第三帧对象图像、第四帧对象图像、第五帧对象图像、第六帧对象图像、第七帧对象图像、第八帧对象图像、第九帧对象图像、第十帧对象图像,可以将第一帧对象图像和第二帧对象图像作为第一图像组,将第二帧对象图像和第三帧对象图像作为第二图像组,将第三帧对象图像和第四帧对象图像作为第三图像组,将第四帧对象图像和第五帧对象图像作为第四图像组,将第五帧对象图像和第六帧对象图像作为第五图像组,将第六帧对象图像和第七帧对象图像作为第六图像组,将第七帧对象图像和第八帧对象图像作为第七图像组,将第八帧对象图像和第九帧对象图像作为第八图像组,将第九帧对象图像和第十帧对象图像作为第九图像组。

延续上例,针对第一图像组,第一图像为第一帧对象图像,第二图像为第二帧对象图像。

S302:针对不包括多帧对象图像中第一帧对象图像的每一图像组,基于第二图像对应的目标图像特征和第一图像对应的目标融合子特征,确定第二图像对应的目标融合子特征;其中,第一图像对应的目标融合子特征是基于第一图像的前一帧对象图像对应的目标融合子特征和第一图像的目标图像特征融合得到的。

延续上例,不包括多帧对象图像中第一帧对象图像的图像组可以为第一图像组。针对第二图像组、第三图像组、第四图像组、第五图像组、第六图像组、第七图像组、第八图像组和第九图像组,确定每一图像组中第二图像对应的目标融合子特征。

确定第二图像组中的第一图像对应的目标融合子特征,具体的,第一图像组中的第一图像对应的目标图像特征经过LSTM处理后,得到特征P

示例性的,将特征P

延续上例,确定第二图像组中的第二图像对应的目标融合子特征,具体的,第二图像组中的第二图像对应的目标图像特征经过LSTM处理后,得到特征P

基于此,针对上述第三图像组、第四图像组、第五图像组、第六图像组、第七图像组、第八图像组和第九图像组,确定每一图像组中第二图像对应的目标融合子特征的方法相同,重复之处在此不再赘述。

在一些实施例中,针对第一图像组,具体实施时,针对包括多帧对象图像中第一帧对象图像的图像组,即第一图像组,基于第二图像对应的目标图像特征和第一图像对应的目标融合子特征,确定第二图像对应的目标融合子特征;其中,第一图像对应的目标融合子特征是基于第一图像的目标图像特征得到的。

这里,第一图像组中的第一图像对应的目标融合子特征可以为特征P

S303:将多帧对象图像中最后一帧对象图像对应的目标融合子特征作为目标融合特征。

这里,每帧对象图像对应的目标图像特征经过LSTM处理-融合-再处理,最终可以将多帧对象图像中最后一帧对象图像对应的目标融合子特征作为目标融合特征。

示例性的,可以将第九图像组中的第二图像对应的目标融合子特征,作为对上述10帧对象图像对应的目标图像特征进行特征融合后得到的目标融合特征。

这里,目标图像特征经过LSTM处理后,固定输出128维特征或者256维特征或者其他维数的特征,其中,其他维数可以在训练LSTM过程中进行调整,具体值可以按照不同应用场景进行设定,在对人脸图像对应的目标图像特征进行处理过程中,固定输出可以为128维特征。

在一些实施例中,基于目标融合特征,确定对象图像对应的对象的活体检测结果。具体的,可以对目标融合特征进行非线性变化处理,确定对象为活体对象的第一特征值和对象为伪造对象的第二特征值;基于第一特征值和第二特征值,确定对象图像对应的对象的活体检测结果。

这里,为了增加目标融合特征表达的非线性特征,可以利用全连接层,对目标融合特征进行非线性变化处理,具体的,可以将LSTM固定输出的128维目标融合特征,输入到第一层全连接层FC1中,对应的FC1输出可以为512维特征,将FC1输出的512维特征输入到第二层全连接层FC2中,对应的FC2输出可以为2维特征,比如

之后,利用第一特征值和第二特征值,确定对象图像对应的对象的活体检测结果。具体的,可以利用softmax进行分类,确定对象图像中的对象为活体对象的检测概率和伪造对象的检测概率,参见公式三:

其中,v可以取1或2,当v取1时,

之后,基于

针对S103,得到对象图像对应的目标图像特征,具体的,对初始图像特征进行特征提取,得到多个初始图像子特征;获取每个初始图像子特征分别对应的权重信息;基于初始图像特征、每个初始图像子特征和每个初始图像子特征分别对应的权重信息,对对象图像的预设区域对应的初始图像特征进行特征加强处理,得到对象图像对应的目标图像特征。

示例性的,利用Attention模型,对每帧对象图像对应的初始图像特征进行特征加强处理,具体可以参见图2中所示的Attention模块的架构,对初始图像特征进行特征提取,可以确定多个初始图像子特征,比如A′,A″,A″′对应的三个特征。这里,针对训练后的Attention模型,可以分别确定每层卷积层对应的卷积核,每层卷积层对应的卷积核的参数值即为每个初始图像子特征分别对应的权重信息。之后,按照图2所示流程对A′,A″,A″′对应的初始图像子特征进行特征加强处理,输出对象图像对应的目标图像特征。

参见图4所示,其为训练目标神经网络的流程图,包括S401~S403:

S401:获取第一对象数据集和第二对象数据集;第一对象数据集中包括活体对象对应的多张图像;第二对象数据集中包括活体对象对应的多张图像和伪造对象对应的多张图像。

本步骤是训练目标神经网络过程中的准备过程,即,先准备第一对象数据集和第二对象数据集,其中,第一对象数据集用于训练神经网络,得到检测活体对象的初始神经网络。第二对象数据集用于训练初始神经网络,得到检测活体对象和伪造对象的目标神经网络。

需要说明的是,上述多张图像可以是从拍摄设备拍摄到的原始图像中截取出来的包括对象的图像。另外,为了提高目标神经网络的训练效率,可以将截取出来的包括对象的图像进行缩放处理,具体缩放处理过程可以参照上述对对象区域图像进行缩放处理的过程,重复之处在此不再赘述。

S402:利用第一对象数据集对提取对象特征的神经网络进行训练,得到初始神经网络。

这里,提取对象特征的神经网络可以为上述的CNN,例如,Resnet18或vgg16,初始神经网络为训练好的Resnet18或vgg16。

示例性的,可以将第一对象数据集中的每张活体对象分别输入到提取对象特征的神经网络中迭代训练,直到训练完成得到初始神经网络。

S403:基于第二对象数据集对待训练的目标神经网络进行训练,得到训练好的目标神经网络。

本步骤中,待训练的目标神经网络为预先架构出的包括初始神经网络的神经网络,包括CNN、Attention、LSTM、FC和softmax。

这里,第二对象数据集中包括的活体对象对应的多张图像和伪造对象对应的多张图像分别具有拍摄时序信息。

具体实施时,利用训练好的初始神经网络提取第二对象数据集中的每帧图像的图像特征B′,将提取到的每帧图像的图像特征输入到Attention模型中,得到每帧图像对应的图像特征B″,利用LSTM对每帧图像对应的图像特征B″进行特征融合,得到融合后的特征B″′,将特征B″′输入到FC中进行处理,得到对象为活体对象的特征值和对象为伪造对象的特征值。将上述特征值分别进行softmax运算处理,得到第二对象数据集中每帧图像对应的对象的活体预测结果。之后,利用活体预测结果和活体真实结果计算出损失函数,利用损失函数进一步调整架构出的神经网络,最终训练出的目标神经网络。

针对上述活体检测方法,以对象为人脸为例,可以参见图5所示,其为活体检测的流程示意图,包括,视频片段采集51,视频片段预处理52,人脸检测53,活体检测54。

这里,视频片段采集51,可以采集5~7秒的连续视频;视频片段预处理52,首先,识别包括人脸的图像,之后,按照采集率和采集量从包括人脸的多帧图像中采集多帧目标人脸图像;人脸检测53,首先,从目标人脸图像中提取人脸区域图像,之后,对提取的人脸区域图像进行缩放处理,确定对象图像。

针对活体检测54,可以参见图6所示,其为活体检测的算法架构示意图,包括61表示CNN模型,62表示Attention模型,63表示LSTM模型,64表示目标融合特征,65表示FC模型,66表示包含softmax的模型。

示例性的,如图6所示的共n帧对象图像,将每帧对象图像输入到CNN模型61中进行特征提取,确定每帧对象图像的初始图像特征;之后,将初始图像特征输入到Attention模型62中,得到每帧对象图像对应的目标图像特征;之后,按照每帧对象图像的拍摄时序信息,将每帧对象图像对应的目标图像特征输入到对应的LSTM模型63中进行特征融合处理,最终输出一个目标融合特征64;之后,将目标融合特征64输入到FC模型65中进行非线性变化处理,得到对象为活体对象的第一特征值和对象为伪造对象的第二特征值,FC模型55输出为第一特征值和第二特征值所组成的2维特征,比如

上述S101~S104,通过对预设区域对应的初始图像特征进行特征加强处理,该预设区域可以为用于判断真假对象的特定区域,能够增大预设区域对应的初始图像特征的权重,从而有利于提高活体检测精度;之后,由于真假对象在拍摄时序上该预设区域对应的特征之间的联系是有区别的,因此按照每帧对象图像的拍摄时序信息处理目标特征图像,能够精准的识别出当前对象图像中的对象是否为伪造。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与活体检测方法对应的活体检测装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述活体检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图7所示,为本公开实施例提供的一种活体检测装置的示意图,所述装置包括:图像获取模块701、特征提取模块702、特征加强模块703和活体检测模块704;其中,

图像获取模块701,用于获取多帧对象图像;

特征提取模块702,用于对所述对象图像进行特征提取,得到每帧对象图像对应的初始图像特征;

特征加强模块703,用于分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征;

活体检测模块704,用于基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述活体检测模块704,用于基于每帧对象图像的拍摄时序信息,对每帧对象图像对应的目标图像特征进行特征融合,得到目标融合特征;基于所述目标融合特征,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述活体检测模块704,用于基于每帧对象图像的拍摄时序信息,确定包括任意相邻两帧对象图像的多个图像组;其中,每个图像组包括第一图像和第二图像;其中,所述第一图像的拍摄时间早于所述第二图像的拍摄时间;针对不包括所述多帧对象图像中第一帧对象图像的每一图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的前一帧对象图像对应的目标融合子特征和所述第一图像的目标图像特征融合得到的;将所述多帧对象图像中最后一帧对象图像对应的目标融合子特征作为所述目标融合特征。

一种可选的实施方式中,所述活体检测模块704,还用于在确定所述多个图像组之后,针对包括所述多帧对象图像中第一帧对象图像的图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的目标图像特征得到的。

一种可选的实施方式中,所述特征加强模块702,用于对所述初始图像特征进行特征提取,得到多个初始图像子特征;获取每个所述初始图像子特征分别对应的权重信息;基于所述初始图像特征、每个所述初始图像子特征和每个所述初始图像子特征分别对应的权重信息,对所述对象图像的预设区域对应的初始图像特征进行特征加强处理,得到所述对象图像对应的目标图像特征。

一种可选的实施方式中,所述活体检测模块704,用于对所述目标融合特征进行非线性变化处理,确定所述对象为活体对象的第一特征值和所述对象为伪造对象的第二特征值;基于所述第一特征值和所述第二特征值,确定所述对象图像对应的对象的活体检测结果。

一种可选的实施方式中,所述装置还包括网络训练模块705,用于获取第一对象数据集和第二对象数据集;所述第一对象数据集中包括活体对象对应的多张图像;所述第二对象数据集中包括活体对象对应的多张图像和伪造对象对应的多张图像;利用所述第一对象数据集对提取对象特征的神经网络进行训练,得到初始神经网络;基于所述第二对象数据集对待训练的目标神经网络进行训练,得到训练好的目标神经网络;所述待训练的目标神经网络包括所述初始神经网络。

一种可选的实施方式中,所述图像获取模块701,用于获取预设时长的视频片段;识别所述视频片段中每帧图像,确定包括所述对象的目标对象图像;基于预设的采集率和采集量,从所述视频片段中采集多帧所述目标对象图像;基于多帧所述目标对象图像,确定多帧所述对象图像。

一种可选的实施方式中,所述图像获取模块701,用于识别每帧所述目标对象图像中所述对象所在区域,确定与每帧所述目标对象图像对应的对象区域图像;按照预设比例,将每帧所述对象区域图像进行缩放处理,得到多帧所述对象图像。

关于活体检测装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述活体检测方法实施例中的相关说明,这里不再详述。

基于同一技术构思,本申请实施例还提供了一种计算机设备。参照图8所示,为本申请实施例提供的计算机设备的结构示意图,包括:

处理器81、存储器82和总线83。其中,存储器82存储有处理器81可执行的机器可读指令,处理器81用于执行存储器82中存储的机器可读指令,所述机器可读指令被处理器81执行时,处理器81执行下述步骤:S101:获取多帧对象图像;S102:对对象图像进行特征提取,得到每帧对象图像对应的初始图像特征;S103:分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征;S104:基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定对象图像对应的对象的活体检测结果。

上述存储器82包括内存821和外部存储器822;这里的内存821也称内存储器,用于暂时存放处理器81中的运算数据,以及与硬盘等外部存储器822交换的数据,处理器81通过内存821与外部存储器822进行数据交换,当计算机设备运行时,处理器81与存储器82之间通过总线83通信,使得处理器81在执行上述方法实施例中所提及的执行指令。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的活体检测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述的活体检测方法的步骤。其中,计算机程序产品可以是任何能实现上述活体检测方法的产品,该计算机程序产品中对现有技术做出贡献的部分或全部方案可以以软件产品(例如软件开发包(Software Development Kit,SDK))的形式体现,该软件产品可以被存储在一个存储介质中,通过包含的计算机指令使得相关设备或处理器执行上述活体检测方法的部分或全部步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

本公开实施例提供了一种活体检测方法、装置、设备、存储介质和程序产品,具体如下:

TS1、一种活体检测方法,其中,所述方法包括:

获取多帧对象图像;

对所述对象图像进行特征提取,得到每帧对象图像对应的初始图像特征;

分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征;

基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定所述对象图像对应的对象的活体检测结果。

TS2、根据TS1所述的方法,其中,所述基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定所述对象图像对应的对象的活体检测结果,包括:

基于每帧对象图像的拍摄时序信息,对每帧对象图像对应的目标图像特征进行特征融合,得到目标融合特征;

基于所述目标融合特征,确定所述对象图像对应的对象的活体检测结果。

TS3、根据TS2所述的方法,其中,所述基于每帧对象图像的拍摄时序信息,对每帧对象图像对应的目标图像特征进行特征融合,得到目标融合特征,包括:

基于每帧对象图像的拍摄时序信息,确定包括任意相邻两帧对象图像的多个图像组;其中,每个图像组包括第一图像和第二图像;其中,所述第一图像的拍摄时间早于所述第二图像的拍摄时间;

针对不包括所述多帧对象图像中第一帧对象图像的每一图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的前一帧对象图像对应的目标融合子特征和所述第一图像的目标图像特征融合得到的;

将所述多帧对象图像中最后一帧对象图像对应的目标融合子特征作为所述目标融合特征。

TS4、根据TS3所述的方法,其中,在确定所述多个图像组之后,还包括:

针对包括所述多帧对象图像中第一帧对象图像的图像组,基于所述第二图像对应的目标图像特征和所述第一图像对应的目标融合子特征,确定所述第二图像对应的目标融合子特征;其中,所述第一图像对应的目标融合子特征是基于所述第一图像的目标图像特征得到的。

TS5、根据TS1所述的方法,其中,对所述对象图像的预设区域对应的初始图像特征进行特征加强处理,得到所述对象图像对应的目标图像特征,包括:

对所述初始图像特征进行特征提取,得到多个初始图像子特征;

获取每个所述初始图像子特征分别对应的权重信息;

基于所述初始图像特征、每个所述初始图像子特征和每个所述初始图像子特征分别对应的权重信息,对所述对象图像的预设区域对应的初始图像特征进行特征加强处理,得到所述对象图像对应的目标图像特征。

TS6、根据TS2至TS5任一项所述的方法,其中,所述基于所述目标融合特征,确定所述对象图像对应的对象的活体检测结果,包括:

对所述目标融合特征进行非线性变化处理,确定所述对象为活体对象的第一特征值和所述对象为伪造对象的第二特征值;

基于所述第一特征值和所述第二特征值,确定所述对象图像对应的对象的活体检测结果。

TS7、根据TS1所述的方法,其中,所述方法利用训练好的目标神经网络执行;

还包括训练所述目标神经网络的步骤:

获取第一对象数据集和第二对象数据集;所述第一对象数据集中包括活体对象对应的多张图像;所述第二对象数据集中包括活体对象对应的多张图像和伪造对象对应的多张图像;

利用所述第一对象数据集对提取对象特征的神经网络进行训练,得到初始神经网络;

基于所述第二对象数据集对待训练的目标神经网络进行训练,得到训练好的目标神经网络;所述待训练的目标神经网络包括所述初始神经网络。

TS8、根据TS1所述的方法,其中,所述获取多帧对象图像,包括:

获取预设时长的视频片段;

识别所述视频片段中每帧图像,确定包括所述对象的目标对象图像;

基于预设的采集率和采集量,从所述视频片段中采集多帧所述目标对象图像;

基于多帧所述目标对象图像,确定多帧所述对象图像。

TS9、根据TS8所述的方法,其中,所述基于多帧所述目标对象图像,确定多帧所述对象图像,包括:

识别每帧所述目标对象图像中所述对象所在区域,确定与每帧所述目标对象图像对应的对象区域图像;

按照预设比例,将每帧所述对象区域图像进行缩放处理,得到多帧所述对象图像。

TS10、一种活体检测装置,其中,所述装置包括:

图像获取模块,用于获取多帧对象图像;

特征提取模块,用于对所述对象图像进行特征提取,得到每帧对象图像对应的初始图像特征;

特征加强模块,用于分别对每帧对象图像的预设区域对应的初始图像特征进行特征加强处理,得到每帧对象图像对应的目标图像特征;

活体检测模块,用于基于每帧对象图像的拍摄时序信息和每帧对象图像对应的目标图像特征,确定所述对象图像对应的对象的活体检测结果。

TS11、一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如TS1至TS9任一项所述的活体检测方法的步骤。

TS12、一种计算机可读存储介质,其中,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如TS1至TS9任一项所述的活体检测方法的步骤。

TS13、一种计算机程序产品,包括计算机指令,其中,所述计算机指令被处理器执行时实现如TS1至TS9中任意一项所述的活体检测方法的步骤。

相关技术
  • 目标检测方法和装置、电子设备、存储介质、程序产品
  • 一种木马程序的检测方法、装置、设备及存储介质
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 一种存储系统的状态检测方法、装置、设备及存储介质
  • 行人再识别方法和装置、电子设备、存储介质、程序产品
  • 人脸活体检测方法、装置、设备、存储介质及程序产品
  • 活体检测方法、装置、电子设备、存储介质及程序产品
技术分类

06120115588666