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

一种活体检测方法、装置和计算机设备

文献发布时间:2023-07-07 06:30:04


一种活体检测方法、装置和计算机设备

技术领域

本申请涉及计算机技术领域,具体涉及一种活体检测方法、装置和计算机设备。

背景技术

随着人工智能技术的发展,人脸识别技术已经广泛地应用于安防和金融等领域。在人脸识别的过程中,除了需要进行身份验证之外,还需要进行活体检测。活体检测指判断待检测对象在进行身份验证时,待检测对象是否为真实活体本人操作,而不是通过照片、视频和面具等攻击手段进行身份验证。通过活体检测,可以有效地抵御照片、视频、面具等攻击手段,从而帮助用户甄别欺诈行为,保障用户的利益。

在对现有技术的研究和实践过程中,本申请的发明人发现,在现有技术中利用人工智能技术进行活体检测时,往往会利用已知攻击类型的样本对人工智能模型进行训练,得到活体检测模型。然后,利用训练得到的活体检测模型对待检测对象进行检测。但是,由于目前的人工智能技术是数据驱动的学习方法,因此,针对已经类型的攻击,活体检测模型的预测准确性会较高。而当攻击类型是活体检测模型未知的类型时,活体检测模型的预测准确性则会充满不确定,这会影响活体检测的准确性和可靠性。

发明内容

本申请实施例提出了一种活体检测方法、装置和计算机设备,可以提高活体检测的准确性和可靠性。

本申请实施例提供了一种活体检测方法,包括:

获取待检测对象的面部图像和参考特征集,其中,所述参考特征集的特征分布为目标特征分布,所述参考特征集包括至少一个参考特征;

对所述面部图像进行特征提取,得到所述面部图像的图像特征信息;

对所述至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;

基于所述至少一个参考活体特征信息,对所述图像特征信息进行活体判别处理,得到所述图像特征信息的判别结果;

基于所述图像特征信息,对所述至少一个参考特征进行分布拟合处理,得到针对所述图像特征信息的分布拟合结果;

基于所述判别结果和所述分布拟合结果,对所述待检测对象进行活体检测。

相应的,本申请实施例还提供了一种活体检测装置,包括:

获取单元,用于获取待检测对象的面部图像和参考特征集,其中,所述参考特征集中的特征分布为目标特征分布,所述参考特征集包括至少一个参考特征;

特征提取单元,用于对所述面部图像进行特征提取,得到所述面部图像的图像特征信息;

特征映射单元,用于对所述至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;

判别单元,用于基于所述至少一个参考活体特征信息,对所述图像特征信息进行活体判别处理,得到所述图像特征信息的判别结果;

分布拟合单元,用于基于所述图像特征信息,对所述至少一个参考特征进行分布拟合处理,得到针对所述图像特征信息的分布拟合结果;

活体检测单元,用于基于所述判别结果和所述分布拟合结果,对所述待检测对象进行活体检测。

在一实施例中,所述分布拟合单元,可以包括:

梯度运算子单元,用于对所述至少一个参考特征进行梯度运算处理,得到每个参考特征的梯度信息;

收敛子单元,用于基于所述图像特征信息,将所述每个参考特征的梯度信息进行收敛处理,得到每个参考特征的收敛后信息;

结果确定子单元,用于基于所述每个参考特征的收敛后信息,确定所述分布拟合结果。

在一实施例中,所述结果确定子单元,可以包括:

分布分析模块,用于基于所述每个参考特征的收敛后信息,对所述图像特征信息进行分布分析,得到所述图像特征信息的图像特征分布;

相似度计算模块,用于计算所述图像特征分布和所述目标特征分布之间的分布相似度;

比较模块,用于将所述分布相似度和预设分布判别条件进行比较,得到所述分布拟合结果。

在一实施例中,所述判别单元,可以包括:

相似度计算子单元,用于将所述至少一个参考活体特征信息和所述图像特征信息进行相似度计算处理,得到每个参考活体特征信息和所述图像特征信息之间的特征相似度;

指标转换子单元,用于基于预设活体判别标准,对所述特征相似度进行指标转换处理,得到所述特征相似度对应的目标指标;

比较子单元,用于将所述目标指标和预设判别指标进行比较,得到所述判别结果。

在一实施例中,所述特征提取单元,可以包括:

像素提取子单元,用于对所述面部图像进行像素提取,得到所述面部图像的像素信息;

卷积运算子单元,用于对所述像素信息进行卷积运算处理,得到所述面部图像的卷积信息;

归一化子单元,用于对所述卷积信息进行归一化处理,得到所述面部图像的归一化信息;

非线性转换子单元,用于对所述归一化信息进行非线性转换,得到所述面部图像的特征信息。

在一实施例中,所述特征映射单元,可以包括:

全连接子单元,用于对所述参考特征进行全连接处理,得到所述参考特征对应的全连接信息;

分类子单元,用于基于所述全连接信息,对所述参考特征进行分类处理,得到所述参考特征对应的分类结果;

映射子单元,用于基于所述分类结果,将所述参考特征映射到预设活体特征空间中,得到所述参考活体特征信息。

在一实施例中,所述活体检测装置还包括:

模型获取单元,用于待训练特征提取模型和待训练特征生成模型;

采集单元,用于采集多个面部图像训练样本和特征分布符合目标特征分布的参考特征样本集,所述参考特征样本集包括多个参考特征训练样本;

训练单元,用于利用所述多个面部图像训练样本和所述多个参考特征训练样本,对所述待训练特征提取模型和所述待训练特征生成模型进行训练,得到所述预设特征提取模型和所述预设特征生成模型。

在一实施例中,所述训练单元,可以包括:

特征提取子单元,用于利用所述待训练特征提取模型对所述面部图像训练样本进行特征提取,得到所述面部图像训练样本的图像样本特征信息;

活体特征映射子单元,用于利用所述待训练特征生成模型对所述参考特征训练样本进行活体特征映射处理,得到样本活体特征信息;

损失计算子单元,用于基于所述样本活体特征信息和参考特征训练样本,计算所述图像样本特征信息对应的特征损失信息和分布损失信息;

参数调整子单元,用于基于所述特征损失信息对所述待训练特征提取模型的参数进行调整,得到所述预设特征提取模型,以及基于所述分布损失信息,对所述待训练特征生成模型的参数进行调整,得到所述预设特征生成模型。

在一实施例中,所述损失计算子单元,可以包括:

第一损失计算模块,用于利用预设判别模块,计算所述图像样本特征信息和所述样本活体特征信息之间的特征损失信息;

第二损失计算模块,用于利用预设分布拟合模块,计算所述图像样本特征信息和参考特征训练样本之间的分布损失信息。

在一实施例中,所述活体检测装置还包括:

指令接收单元,用于接收活体检测触发指令;

视频采集单元,用于基于所述活体检测触发指令,采集包括待检测对象面部的待检测视频;

图像转换单元,用于将所述待检测视频转换为至少一个待检测图像;

面部检测单元,用于对所述至少一个待检测图像进行面部检测处理,得到检测结果;

图像确定单元,用于基于所述检测结果在所述至少一个待检测图像中确定所述面部图像。

在一实施例中,所述图像确定单元,可以包括:

面部判别子单元,用于基于所述检测结果,对所述至少一个待检测图像进行面部判别处理,得到判别结果;

面部图像筛选子单元,用于基于所述判别结果,在所述至少一个待检测图像中筛选出初始面部图像;

面部配准子单元,用于对所述初始面部图像进行面部配准,得到所述初始面部图像中至少一个面部关键点的位置信息;

筛选子单元,用于基于所述面部关键点的位置信息,从所述至少一个面部关键点中筛选出目标面部关键点;

生成子单元,用于基于所述目标面部关键点的位置信息,生成所述面部图像。

本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面的各种可选方式中提供的方法。

相应的,本申请实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本申请实施例任一提供的活体检测方法。

本申请实施例可以获取待检测对象的面部图像和参考特征集,其中,参考特征集的特征分布为目标特征分布,参考特征集包括至少一个参考特征;对面部图像进行特征提取,得到面部图像的图像特征信息;对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果;基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果;基于判别结果和分布拟合结果,对待检测对象进行活体检测,提高了活体检测的准确性和可靠性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的活体检测方法的场景示意图;

图2是本申请实施例提供的活体检测方法的流程示意图;

图3是本申请实施例提供的面部图像的场景示意图;

图4是本申请实施例提供的面部关键点的场景示意图;

图5是本申请实施例提供的面部检测的场景示意图;

图6是本申请实施例提供的活体检测方法的又一场景示意图;

图7是本申请实施例提供的活体检测方法的又一流程示意图;

图8是本申请实施例提供的终端的场景示意图;

图9是本申请实施例提供的活体检测装置的结构示意图;

图10是本申请实施例提供的计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,然而,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。其中,强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。深度强化学习是将深度学习和强化学习相结合,将深度学习的技术来求解强化学习的问题。

随着人工智能技术的快速发展,人工智能技术也应用到了越来越多的应用场景。例如,可以将人工智能技术应用到活体检测。例如,可以将深度学习或强化学习应用到活体检测,等等。例如,一个具体的场景可以是用户在即时通信软件中登陆某个需要身份认证的服务时,可以调用活体检测的功能来对用户的身份进行识别验证。另一个场景下,当用户在登陆游戏的时候进行活体检测,因为其身份识别是未成年而自开始游戏时就启动计时,当时长达到某个阈值时游戏自动退出,以防止用户沉迷。请注意,本申请中提到的用户人脸等数据都是经过用户授权或具有合法来源的数据。

在一实施例中,当使用人工智能技术进行活体检测时,可以将整个使用过程划分为三个阶段,分别是训练阶段、测试阶段和预测阶段。

其中,训练阶段指利用训练集对人工智能模型进行训练,从而使得训练后的人工智能模型可以实现活体检测功能。

其中,测试阶段可以指利用测试集对训练后的人工智能模型进行测试,从而根据测试结果判断训练后人工智能模型的性能是否达到要求。若训练后人工智能模型的性能达到要求,则可以将训练后人工智能模型投入使用,即预测阶段。而当训练后人工智能模型的性能未达到要求时,则继续对人工智能模型进行训练,使得训练后人工智能模型的性能达到要求。

在一实施例中,现有的活体检测算法通常是由特征提取和特征分类组成的框架。传统的活体检测方法通过提取人工设计的局部二值模式(Local Binary Pattern,LBP)等特征,再将该特征送入支持向量机(Support Vector Machine,SMV)进行真人与攻击的分类。

但是,由于现有的活体检测算法使用的局部二值模式等特征是人工设计的特征,因此受限于人为的设计经验,基于此类特征的活体检测方法在遇到不能以该模式区分的样本时通常会失效。其次,以深度学习为代表的机器学习算法都是数据驱动的学习方法,对于与训练集同源、同分布的测试集,深度学习方法通常能达到很高的分类精度,这受益于它强大的特征提取能力;但是另一方面,对于与训练集差异较大的非同源、非同分布的测试集,深度学习方法的预测充满了不确定性。而活体检测具有各种层出不穷的未知介质类型的攻击样本,这会导致预测阶段的不确定性,这极大地限制了现有的活体检测算法的扩展性。

为此,申请实施例提出了一种活体检测方法,以解决现有的活体检测算法存在的问题。

具体的,本申请实施例提出了一种活体检测方法,该活体检测方法可以由活体检测装置执行,该活体检测装置可以集成在计算机设备中。其中,该计算机设备可以包括终端以及服务器等中的至少一个。即,本申请实施例提出的活体检测方法即可以由终端执行,还可以由服务器执行,还可以由能够进行互相通信的终端和服务器共同执行。

其中,终端可以为智能手机、平板电脑、笔记本电脑、个人电脑(PersonalComputer,PC)、智能家居、可穿戴电子设备、VR/AR设备、车载计算机等等。服务器可以为多个异构系统之间的互通服务器或者后台服务器,还可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器等等。

在一实施例中,如图1所述,其示出了本申请实施例提出的活体检测方法的实施环境的示意图。该实施环境可以包括:终端11和服务器12。

其中,终端11可以接收活体检测触发指令,基于该活体检测触发指令采集待检测对象的面部图像,然后将待检测的面部图像发送到服务器12进行活体检测。

其中,服务器12可以集成有本申请实施例提出的活体检测装置,以实施本申请实施例提出的活体检测方法。

在一实施例中,服务器12可以获取终端11发送的面部图像,以及获取参考特征集,其中,参考特征集的特征分布为目标特征分布,参考特征集包括至少一个参考特征;对面部图像进行特征提取,得到面部图像的图像特征信息;对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果;基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果;基于判别结果和分布拟合结果,对待检测对象进行活体检测,得到活体检测结果。然后,服务器12可以将活体检测结果发送给终端11。

以下分别进行详细说明,需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

本申请实施例将从活体检测装置的角度进行描述,该活体检测装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。

如图2所述,提供了一种活体检测方法,该方法可以由计算机设备执行,具体流程包括:

201、获取待检测对象的面部图像和参考特征集,其中,参考特征集的特征分布为目标特征分布,参考特征集包括至少一个参考特征。

其中,待检测对象可以包括需要进行活体检测的对象。例如,该待检测对象可以包括利用计算机设备上的某个应用程序进行身份验证的同时需要活体检测的用户,等等。

其中,面部图像可以包括具有待检测对象准确且清晰的面部的图像。例如,面部图像可以指待检测对象的面部占据了图像大部分区域的图像,且面部图像中待检测对象的面部在正位,并没有存在面部歪斜等情况。例如,如图3所示,图3中的001可以是面部图像的示意图。

在一实施例中,现有的活体检测算法往往是通过局部二值模式等特征判断待检测对象是否是活体。而局部二值模式等特征一般是基于人工设计的,依赖于人为的经验,因此,基于此类特征的活体检测方法在遇到不能以该模式区分的攻击类型时通常会失效。为了能够更好地预防已知类型的攻击和未知类型的攻击,本申请实施例可以从活体特征分布中学习到活体特征信息。由于该活体特征信息是基于活体特征分布中学习得到的,而不是依赖于人为经验生成的,所以当利用活体特征信息判断待检测对象是否是活体时,具有更好的泛化性和可靠性。

其中,参考特征集可以是包括符合目标特征分布的数据的集合。例如,参数特征集可以是包括符合目标特征分布的向量的集合。又例如,参数特征集可以是包括符合目标特征分布的数值的集合,等等。

在一实施例中,为了更好地表示参考特征集中的数据,可以将参考特征集当中的数据成为参考特征。即参考特征集中的参考特征可以指特征分布都符合该目标特征分布的数据。

其中,特征分布可以指参考特征集中的参考特征所显现出来的概率规律。例如,该特征分布可以是概率分布。例如,特征分布可以包括正态分布、标准正态分布、卡方分布、二项分布或泊松分布,等等。

其中,目标特征分布可以是参考特征集中的参考特征所符合的某种特征分布。例如,该目标特征分布可以是标准正态分布。又例如,该目标特征分布可以是卡方分布,等等。

例如,当目标特征分布是标准正态分布时,参考特征集可以是符合标准正态分布的向量集合。

在一实施例中,参考特征集中的参考特征可以是经过采样得到的。例如,可以从符合标准正态分布的多维向量中采样得到若干个向量,并将采样得到向量作为参考特征。例如,有100个符合标准正态分布的高斯向量,可以从这100个高斯向量中采样出50个向量作为参考特征。其中,可以有多种方式的采用。例如,可以通过随机采样得到参考特征。

在一实施例中,有多种方式可以获取待检测对象的面部图像。例如,可以通过直接或间接的方式获取待检测对象的面部图像。

在一实施例中,当通过间接方式获取待检测对象的面部图像时,可以如下:

譬如,当计算机设备是服务器时,即活体检测装置集成在服务器当中时,服务器可以通过终端采集待检测对象的面部图像。然后,终端可以将采集到的面部图像发送给服务器,从而使得服务器获取到待检测对象的面部图像。

在一实施例中,当通过直接方式获取待检测对象的面部图像时,可以如下:

譬如,当计算机设备是具有摄像头的终端时,即活体检测装置集成在终端时,终端可以接收活体检测触发指令,并基于该活体检测触发指令直接获取待检测对象的面部图像。

又譬如,当计算机设备是具有摄像头的服务器时,服务器可以接收活体检测触发指令,并基于或活体检测触发指令直接获取待检测对象的面部图像。

在一实施例中,当通过直接方式获取待检测对象的面部图像时,计算机可能通过摄像头采集到的是待检测对象的视频数据,然后在视频数据中检测出面部图像。具体的,在步骤“获取待检测对象的面部图像”之前,可以包括:

接收活体检测触发指令;

基于活体检测触发指令,采集包括待检测对象面部的待检测视频;

将待检测视频转换为至少一个待检测图像;

对至少一个待检测图像进行面部检测处理,得到检测结果;

基于检测结果在至少一个待检测图像中确定面部图像。

其中,活体检测触发指令包括会触发活体检测装置对待检测对象进行活体检测的指令。例如,活体检测装置可以有活体检测触发控件,当待检测对象触发了该活体检测触发控件之后,活体检测装置便会接收到活体检测触发指令。

在一实施例中,在活体检测装置接收到活体检测触发指令之后,活体检测装置可以基于活体检测指令,采集包括待检测对象面部的待检测视频。其中,为了得到面部图像,活体检测装置可以将待检测视频转换为至少一个待检测图像。然后,活体检测装置可以对至少一个待检测图像进行面部检测处理,得到检测结果,并基于检测结果在至少一个待检测图像中确定面部图像。

其中,将待检测视频转换为待检测图像,即将待检测视频拆分成一帧帧视频帧,每帧视频帧都可以是待检测图像。

在一实施例中,有多种方式可以将待检测视频转换为待检测图像。例如,可以调用视频编辑软件,从而利用视频编辑软件中的功能将待检测视频拆分成一帧帧视频帧,从而得到待检测图像。又例如,可以利用视频转换函数将待检测视频转换为至少一个待检测图像。

在一实施例中,在得到待检测图像之后,可以对待检测图像进行面部检测处理。其中,对待检测图像进行面部检测可以指判断待检测视频是否拍摄到面部。如果通过面部检测得到有待检测图像包括待检测对象的面部,说明待检测视频拍摄到了面部,则会继续后续的步骤。而如果通过面部检测得到待检测图像不包括待检测对象的面部,则说明待检测视频没有拍摄到面部,此时,不会继续后续的步骤,且活体检测装置会输出活体检测失败的结果。

在一实施例中,当检测结果为有待检测图像包括待检测对象的面部时,可以在待检测图像中确定面部图像。

在一实施例中,当有待检测图像包括待检测对象的面部时,可以首先对至少一个待检测图像进行面部判别处理。通过对至少一个待检测图像进行面部判别处理,可以在至少一个待检测图像中筛选出初始面部图像。其中,初始面部图像可以指在多个待检测图像中,待检测对象的面部最清晰的图像。此外,为了提高活体检测的准确性,在筛选出初始面部图像之后,还可以对初始面部图像进行处理。例如,可以在初始面部图像中划分出只有面部的区域,并将只有面部的区域作为面部图像。具体的,步骤“基于检测结果在至少一个待检测图像中确定面部图像”,可以包括:

基于检测结果,对至少一个待检测图像进行面部判别处理,得到判别结果;

基于判别结果,在至少一个待检测图像中筛选出初始面部图像;

对初始面部图像进行面部配准,得到初始面部图像中至少一个面部关键点的位置信息;

基于面部关键点的位置信息,从至少一个面部关键点中筛选出目标面部关键点;

基于目标面部关键点的位置信息,生成面部图像。

在一实施例中,有多种方法可以对待检测面部图像进行面部判别处理。例如,可以利用不同清晰度的具有面部的图像样本对深度学习网络进行训练,得到一个可以判断图像清晰度的面部判别模型。然后,可以利用该面部判别模型对至少一个待检测图像进行面部判别处理,得到判别结果。又例如,还可以分析待检测图像在灰度方面的方差和熵等参数,通过对这些参数的分析,得到每个待检测图像的判别结果。

然后,可以基于判别结果,在至少一个待检测图像中筛选出初始面部图像。例如,可以筛选出清晰度最高的待检测图像,作为初始面部图像。

在一实施例中,在筛选出出面部图像之后,可以对初始面部图像进行处理。例如,可以在初始面部图像中划分出只有面部的区域,并将只有面部的区域作为面部图像。具体的,可以对初始面部图像进行面部配准,得到初始面部图像的至少一个面部关键点。然后,从至少一个面部关键点中筛选出目标面部关键点,并基于目标面部关键点生成面部图像。

其中,对初始面部图像进行面部配准,可以对初始面部图像中的面部进行定位,从而得到初始面部图像中面部的具体位置。其中,初始面部图像中面部的具体位置可以以面部关键点的位置信息表示。

在一实施例中,有多种方法可以对初始面部图像进行面部配准,得到初始面部图像中面部关键点的位置信息。例如,可以采用面部地标检测器(Practical FacialLandmark Detector,PFLD)、主动形状模型(Active Shape Model,ASM)或级联形状回归模型(Cascaded Pose Regression,CPR)等算法对初始面部图像进行面部配准,得到初始面部图像中面部关键点的位置信息。

其中,面部关键点可以包括能够描述面部轮廓和面部部位的关键点。例如,如图4所示,图4中的002可以是面部关键点的是示意图。

其中,目标关键点可以包括确定面部部位所需的关键点。例如,目标关键点可以包括左瞳孔、右瞳孔、鼻尖、左嘴角和右嘴角对应的关键点,等等。

在一实施例中,可以基于面部关键点的位置关系,从至少一个面部关键点中筛选出目标面部关键点。例如,可以将面部关键点的位置信息和预设位置信息进行匹配,当匹配时,则将该面部关键点作为目标面部关键点。

接下来,便可以基于目标面部关键点的位置信息,生成面部图像。例如,当目标面部关键点为左瞳孔、右瞳孔、鼻尖、左嘴角和右嘴角对应的关键点时,可以根据这5个面部关键点确定一个最小外接正方形,并在此基础上扩大2.1倍作为活体检测所需的面部图像。例如,如图5所示,在图中的003筛选出左瞳孔、右瞳孔、鼻尖、左嘴角和右嘴角对应的关键点作为目标面部关键点。然后,如图5的004所示,可以根据这些目标面部关键点生成一个最小外接正方形005,并在此基础上扩大2.1倍作为活体检测所需的面部图像006。此外,还可以将面部图像进行尺寸缩放,从而提高活体检测的便捷度。例如,可以将面部图像缩放至112像素(px)*112像素。

202、对面部图像进行特征提取,得到面部图像的图像特征信息。

在一实施例中,在获取得到面部图像之后,活体检测装置可以对面部图像进行特征提取,得到面部图像的图像特征信息。

其中,图像特征信息包括可以说明面部图像特征的信息。例如,图像特征信息可以说明面部图像中面部对光的反射情况以及折射情况,等等。又例如,图像特征信息可以说明面部图像中,面部的色彩特征、灰度特征,等等。

在一实施例中,有多种方法可以对面部图像进行特征提取,得到面部图像的图像特征信息。

例如,可以利用超分辨率测试序列(Visual Geometry Group,VGG)、残差网络(ResNet,Residual Network)或GoogLeNet等等算法对面部图像进行特征提取,得到图像特征信息。

又例如,可以提取出面部图像的像素信息,然后通过面部图像的像素信息进行处理,从而得到图像特征信息。具体的,步骤“对面部图像进行特征提取,得到面部图像的图像特征信息”,可以包括:

对面部图像进行像素提取,得到面部图像的像素信息;

对像素信息进行卷积运算处理,得到面部图像的卷积信息;

对卷积信息进行归一化处理,得到面部图像的归一化信息;

对归一化信息进行非线性转换,得到面部图像的图像特征信息。

在一实施例中,有多种方式可以对面部图像进行像素提取,得到面部图像的像素信息。例如,可以利用开源计算机视觉库(OpenSourceComputerVisionLibrary,openCV)在面部图像中提取出像素信息。又例如,可以利用画布(canvas)技术提取出面部图像的像素信息。譬如,在获取到面部图像之后,可以将面部图像绘制在canvas上,并通过canvas的接口提取出面部图像的像素信息。例如,可以通过canvas的接口getImageData()获取面部图像的像素信息。

在一实施例中,在得到面部图像的像素信息之后,可以对像素信息进行卷积运算,得到面部图像的卷积信息。例如,可以利用有预设尺寸的卷积核对像素信息进行卷积运算,得到面部图像的卷积信息。又例如,可以利用不同尺寸的卷积核对像素信息进行卷积。通过利用不同尺寸的卷积核对像素信息进行卷积运算,可以得到面部图像在不同维度上的信息,从而提高图像特征信息的准确度。

在一实施例中,对像素信息进行卷积运算处理之后,由于可能会得到不同维度的卷积信息,所以可以对卷积信息进行归一化处理,得到面部图像的归一化信息。其中,有多种归一化的方式。例如,可以对卷积信息进行简单地缩放,得到归一化信息。又例如,可以对卷积信息进行均值消减,得到归一化信息。又例如,可以对卷积信息进行标注特征化,即令所有的卷积信息都具有零均值和单位方差。通过对数据进行归一化,也提高对面部图像进行特征提取的速度和精度。

在一实施例中,为了提高对面部图像进行特征提取的准确性。还可以对归一化信息进行非线性转换,得到面部图像的图像特征信息。例如,可以利用Sigmoid函数、Tanh函数和ReLU函数等非线性函数对归一化信息进行非线性转换,得到面部图像的图像特征信息。

在一实施例中,还可以根据需求,对人工智能模型进行训练,得到可以实现特征提取功能的预设特征提取模型。然后,可以利用预设特征提取模型对面部图像进行特征提取,得到面部图像的图像特征信息。具体的,步骤“对面部图像进行特征提取,得到面部图像的图像特征信息”,可以包括:

利用预设特征提取模型,对面部图像进行特征提取,得到面部图像的图像特征信息。

其中,预设特征提取模型可以是深度学习网络。例如,预设特征提取模型可以是卷积神经网络(Convolutional Neural Networks,CNN)或深度残差网络(Deep residualnetwork,ResNet)等网络。此外,预设特征提取模型还可以根据实际的空间与时间需求自行调整和修改,等等。

在一实施例中,为了加速网络的收敛和提升网络的性能,本申请实施例提出的预设特征提取模型的结构可以是串联若干个残差块,每一个残差块中包括两组基本计算单元,每一个计算单元又由卷积层、归一化层和非线性激活函数组成。

其中,卷积层可以实现卷积运算,通过卷积运算,可以提取到面部图像的不同特征。例如,该卷积层可以是conv2d、conv2d 1×1或conv,等等。

其中,归一化层可以对卷积层生成的卷积信息进行归一化处理,从而使得输入的数据的分布会一致。例如,该归一化层可以是批标准化(Batch Normalization,BN)、层标准化(Layer Normalization,LN)、实例标准化(Instance Normalization,IN)或组标准化(Group Normalization,GN)等等。

其中,非线性激活函数可以对归一化层输出的归一化信息进行非线性映射,从而提高预设特征提取模型对训练数据的规律进行拟合的功能。例如,该非线性激活函数可以包括Sigmoid函数、Tanh函数或ReLU函数,等等。

203、对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息。

在一实施例中,在现有的活体检测方法中,往往会利用训练集生成活体特征信息。但是,由于训练集受限于数据本身,所以,基于训练集生成的活体特征信息并不能应对所有的攻击类型。因此,在本实施例中,通过对参考特征进行活体映射处理,从特征分布的角度生成参考活体特征信息,而并不依赖训练数据生成参考活体特征信息。

其中,参考活体特征信息是判断图像特征信息对应的待检测对象是否是活体的参考。即可以基于参考活体特征信息对图像特征信息进行活体判别处理,从而可以判断图像特征信息对应的待检测对象是否是活体。

在一实施例中,可以预先训练好一个可以将参考特征转换为参考活体特征信息的预设特征生成模型,然后利用这个预设特征生成模型对参考特征进行活体特征映射处理,得到参考活体特征信息。具体的,步骤“对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息”,可以包括:

利用预设特征生成模型,对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息。

其中,该预设特征生成模型可以是深度学习网络。例如,该预设特征生成模型可以由多层感知机(Multi-Layer Perceptron,MLP)组成。其中,当预设特征生成网络是有MLP组成时,该MLP可以包括两层全连接层。其中,全连接层可以起到分类的作用。通过使用两层全连接层,可以保证预设特征正常模型的计算效率。

在一实施例中,还可以预先生成一个预设活体特征空间,然后,将参考特征映射到该预设活体特征空间中,得到参考活体特征信息。具体的,步骤“对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息”,可以包括:

对参考特征进行全连接处理,得到参考特征对应的全连接信息;

基于全连接信息,对参考特征进行分类处理,得到参考特征对应的分类结果;

基于分类结果,将参考特征映射到预设活体特征空间中,得到参考活体特征信息。

其中,全连接处理可以指对参考特征的前向处理,而没有方向反馈。例如,全连接处理中包括了多个数学运算,并且这些数学运算都具有相应的运算顺序。则活体检测装置在对参考特征进行全连接处理时,会按照这些数学运算都具有相应的运算顺序对参考特征进行全连接处理,从而得到全连接信息。

例如,全连接处理中包括了多个线性运算和非线性运算。其中,全连接处理规定先执行完线性运算之后执行非线性运算。因此,活体检测装置在对参考特征进行全连接处理时,会对参考特征先进行线性运算,然后再进行非线性运算。

在一实施例中,可以基于全连接信息,对参考特征进行分类处理,得到参考特征对应的分类结果。其中,对参考特征进行分类处理可以指对参考特征进行什么样的处理可以更贴近活体的特征。其中,可以基于全连接信息,利用预设分类函数,对参考特征进行分类,得到参考函数对应的分类结果。其中,分类函数可以是在活体特征进行分析的过程中生成的分类函数。

在一实施例中,在得到分类结果之后,可以基于分类结果,将参考特征映射到预设活体特征空间中,并将参考特征在预设活体特征空间中对应的数值确定为参考活体特征信息。其中,预设活体特征空间可以是一个通过训练生成的活体特征空间。该空间说明了什么样的参考特征会对应什么样的参考活体特征空间。

其中,需要说明的是,步骤202和步骤203并没有时序上的限制。即可以先执行步骤202,再执行步骤203,也可以先执行步骤203,再执行步骤202。此外,还可以并行地执行步骤202和步骤203。

204、基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果。

在一实施例中,在得到参考活体特征信息之后,可以基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果。具体的,步骤“基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果”,可以包括:

将至少一个参考活体特征信息和图像特征信息进行相似度计算处理,得到每个参考活体特征信息和图像特征信息之间的特征相似度;

基于预设活体判别标准,对特征相似度进行指标转换处理,得到特征相似度对应的目标指标;

将目标指标和预设判别指标进行比较,得到判别结果。

在一实施例中,参考活体特征信息相当于为真正是活体的面部图像的特征提供了一个参考,即真正的活体的面部图像特征应该是和参考活体特征信息十分相似的。因此,可以将至少一个参考活体特征信息和图像特征信息进行相似度计算处理,得到每个参考活体特征信息和图像特征信息之间的特征相似度。

其中,有多种方式可以计算参考活体特征信息和图像特征信息之间的特征相似度。例如,可以计算图像特征信息和参考活体特征信息之间的余弦距离、欧式距离或汉明距离,等等。并将计算得到的距离作为特征相似度。

在一实施例中,由于会计算得到多个参考活体特征信息和图像特征信息之间的特征相似度,所以可以基于预设活体判别标准,对特征相似度进行指标转换处理,得到特征相似度对应的目标指标。其中,指标转换处理可以指将多个参考活体特征信息和图像特征信息之间的特征相似度转换到同一个标准维度上,从而可以使得在同一个标准维度上判断待检测对象是否是活体。

其中,预设活体判别标准可以是预设设定好的判断待检测对象是否是活体的标准。例如,预设活体判别标准可以规定如何对特征相似度进行指标转换,以及如何判断待检测对象是否是活体,等等。例如,预设活体判别标准可以规定对特征相似度进行指标转换处理的方式是求多个特征相似度的均值和方差。又例如,预设活体判别标准可以规定对特征相似度进行指标转换处理的方式是对特征相似度进行归一化,等等。

例如,预设活体判别标准可以规定对特征相似度进行指标转换处理的方式是求多个特征相似度的均值和方差。假设,有N个参考活体特征信息。然后,可以计算图像特征信息和这N个参考活体特征信息之间的余弦距离,得到余弦距离1、余弦距离2、…、余弦距离N。然后,可以求这些余弦距离的均值和方差,并计算得到的均值和方差作为目标指标。

在一实施例中,在得到特征相似度对应的目标指标之后,可以将目标指标和预设判别指标进行比较,得到判别结果。

其中,预设判别指标可以是在预设活体判别标准中预先规定好的,对目标指标进行判断的条件。例如,当目标指标是特征像素度的均值和方差时,预设判别指标可以是预设判别均值和预设判别方差。例如,该预设判别均值可以是a,该预设判别方差可以是b。其中,若特征相似度的均值大于a和特征相似度的方差小于b,则判断待检测对象为活体;否则判断待检测对象为攻击。

在一实施例中,还可以通过生成一个预设判别模块,然后利用这个预设判别模块对图像特征信息进行判别处理,得到图像特征信息的判别结果。具体的,步骤“基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果”,可以包括:

基于至少一个参考活体特征信息,利用预设判别模块,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果。

其中,预设判别模块可以具备对图像特征信息进行活体判别处理的功能。例如,可以将参考活体特征信息和图像特征信息输入到预设判别模块当中,然后预设判别模块便可以输出对图像特征信息进行活体判别处理的判别结果。

其中,预设判别模块中可以执行上述步骤。即,预设判别模块可以执行步骤“将至少一个参考活体特征信息和图像特征信息进行相似度计算处理,得到每个参考活体特征信息和图像特征信息之间的特征相似度;基于预设活体判别标准,对特征相似度进行指标转换处理,得到特征相似度对应的目标指标;将目标指标和预设判别指标进行比较,得到判别结果”。

205、基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果。

在一实施例中,本申请实施例可以从两个角度检验待检测对象是否是活体。一个角度是从特征相似度的角度出发,即基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果。而另外一个是从分布相似度的角度出发,判断待检测对象是否是活体,即基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果。

在一实施例中,由于参考特征符合目标特征分布,因此,在本申请实施例中,可以令图像特征信息作为参考特征活体特征映射的目标,即可以对参考特征进行处理,从而找到图像特征信息的最优“映射前特征”,然后判断“映射前特征”是否也符合目标特征分布。其中,若“映射前特征”也符合目标特征分布,说明图像特征信息对应的待检测对象是活体,否则是攻击。综上,对参考特征进行分布拟合处理即对参考特征处理,使得参考特征的分布和图像特征信息的“映射前特征”的分布相似。

在一实施例中,可以对参考特征进行梯度运算处理,通过梯度运算使得参考特征不断地去和图像特征信息的“映射前特征”进行拟合。具体的步骤“基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果”,可以包括:

对至少一个参考特征进行梯度运算处理,得到每个参考特征的梯度信息;

基于图像特征信息,将每个参考特征的梯度信息进行收敛处理,得到每个参考特征的收敛后信息;

基于每个参考特征的收敛后信息,确定分布拟合结果。

其中,有多种方式可以对至少一个参考特征进行梯度运算处理,得到每个参考特征的梯度信息。例如,可以利用随机梯度下降法(Stochastic Gradient Descent,SGD)、批量梯度下降算法(Batch Gradient Descent,BGD)或小批量梯度下降算法(Mini-batchGradient Descent,MGD)等梯度算法对参考特征进行梯度运算处理,得到每个梯度的梯度信息。

在一实施例中,为了让参考特征拟合图像特征信息的“映射前特征”,可以基于图像特征信息,将每个参考特征的梯度信息进行收敛处理,得到每个参考特征的收敛后信息。其中,基于图像特征信息,将每个参考特征的梯度信息进行收敛处理可以指以图像特征信息为目标,对参考特征进行不断地进行梯度处理,从而使得参考特征信息的梯度信息收敛。

例如,在对参考特征进行梯度运算,得到参考特征的梯度信息之后,可以对参考特征的梯度信息进行活体映射处理,得到梯度信息对应的活体特征信息。然后,可以计算梯度信息对应的活体特征信息和图像特征信息之间的损失信息。然后,可以基于活体特征信息和图像特征信息之间的损失信息,对参考特征第二次进行梯度运算,得到参考特征第二次梯度运算的梯度信息。然后,对参考特征第二次梯度运算的梯度信息进行活体映射,得到第二次梯度信息对应的活体特征信息。然后,第二次梯度信息对应的活体特征信息和图像特征信息的损失信息。可以通过不断重复上述过程,直至梯度信息对应的活体特征信息和图像特征信息之间的损失信息收敛。而当梯度信息对应的活体特征信息和图像特征信息之间的损失信息收敛时,参数特征的梯度信息也达到了收敛的状态,此时便可以得到参考特征的收敛后信息。而参考特征的收敛后信息便可以相当于图像特征信息的“映射前特征”。

接下来,便可以基于每个参考特征的收敛后信息,确定分布拟合结果。具体的,步骤“基于每个参考特征的收敛后信息,确定分布拟合结果”,可以包括:

基于每个参考特征的收敛后信息,对图像特征信息进行分布分析,得到图像特征信息的图像特征分布;

计算图像特征分布和目标特征分布之间的分布相似度;

将分布相似度和预设分布判别条件进行比较,得到分布拟合结果。

其中,图像特征信息的图像特征分布可以包括说明图像特征信息符合哪种概率分布的信息。例如,当图像特征分布是标准正态分布时,说明图像特征信息符合标准正态分布。又例如,当图像特征分布是二项分布时,说明图像特征信息符合二项分布。

在一实施例中,对图像特征信息进行分布分析,即分析出图像特征信息符合那种概率分布。例如,可以将这些每个参考特征的收敛后信息转换为直方图,然后对直方图进行分析,从而得到图像特征信息的图像特征分布。

在一实施例中,在得到图像特征分布之后,可以计算图像特征分布和目标特征分布之间的分布相似度。如果图像特征分布和目标特征分布之间的分布相似度很高,说明待检测对象是活体,否则说明待检测对象是攻击。

其中,可以通过图像法判断图像特征分布和目标特征分布之间的分布相似度。一般情况下,若图像特征分布和目标特征分布是同一种分布,其特征分布的图像会十分相似,因此分布相似度也会很高。反之,若图像特征分布和目标特征分布不是同一种分布,则其特征分布的图像差异会较大,因此分布相似度也会较低。

在一实施例中,在得到收敛后信息之后,还可以计算收敛后信息和参考特征之间的库尔贝克·莱布勒((Kullback–Leibler,KL)散度,并通过KL散度来判断待检测对象是否是活体。例如,若KL散度小于阈值c,则可以判定待检测对象为真人,否则可以判定待检测对象是攻击。

在一实施例中,还可以通过生成一个预设分布拟合模块,然后利用这个预设分布拟合模块基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果。具体的,步骤“基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果”,可以包括:

基于图像特征信息,利用预设分布拟合模块,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果。

其中,预设分布拟合模块可以具备基于图像特征信息,对参考特征信息进行分布拟合的功能。例如,可以将图像特征信息和参考特征信息输入到预设分布拟合模块当中,然后,预设分布拟合模块可以输出对图像特征信息的分布拟合结果。

其中,预设分布拟合模块可以执行上述步骤。例如,预设分布拟合模块可以执行步骤“基于每个参考特征的收敛后信息,对图像特征信息进行分布分析,得到图像特征信息的图像特征分布;计算图像特征分布和目标特征分布之间的分布相似度;将分布相似度和预设分布判别条件进行比较,得到分布拟合结果”。此外,预设分布拟合模块还可以执行过程“计算收敛后信息和参考特征之间的库尔贝克·莱布勒((Kullback–Leibler,KL)散度,并通过KL散度来判断待检测对象是否是活体。例如,若KL散度小于阈值c,则可以判定待检测对象为真人,否则可以判定待检测对象是攻击”。

206、基于判别结果和分布拟合结果,对待检测对象进行活体检测。

在一实施例中,在得到判别结果和分布拟合结果之后,便可以基于判别结果和分布拟合结果,对待检测对象进行活体检测,即结合判别结果和分布拟合结果判断待检测对象是否是活体。

例如,当预设判别模块和预设分布拟合模块都判断待检测对象不是活体,而是攻击时,终端可以认为待检测对象是攻击,并输出活体检测失败的活体检测结果。

又例如,当预设判别模块或预设分布拟合模块判断待检测对象不是活体,而是攻击时,为了安全起见,终端可以重新采集待检测对象的面部图像,并对待检测对象的面部图像进行再次检测。若仍有预设判别模块或预设分布拟合模块判断待检测对象不是活体时,则终端可以认为待检测对象是攻击,并输出活体检测视频的活体检测结果。

又例如,当预设判别模块和预设分布拟合模块都判断待检测对象是活体时,终端可以认为待检测对象是活体,并输出活体检测通过的活体检测结果。

在一实施例中,为了更好地表示本申请实施例提出的活体检测方法,本申请提供了一个活体检测方法的算法模型结构,例如,如图6所示。如图6所示,为了避免在非同源数据集上预测结果不确定的问题,本申请实施例提出了一种基于特征生成和假设检验的活体检测方法,该方法的算法框架主要包括预设特征提取模型、预设特征生成模型、预设判别模块和预设分布拟合模块。

其中,预设特征提取模型用于对面部图像进行特征提取,得到面部图像的图像特征信息。预设特征生成模型用于对所述至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息。然后,便会从两个维度对图像特征信息假设检验。

一方面是利用预设判别模块基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果。预设判别模块主要用于检测活体检测过程的不确定性。从不确定性估计的角度来看,当输入与训练集分布不同的数据时,传统利用特征提取网络获得的特征向量不确定性强,其预测结果往往也是不确定的。相反,利用同一个目标特征分布的参数特征生成的参考活体特征信息确定性强,以此参考活体特征信息作为假设(hypothesis)来检验图像特征信息是否为同一分布的准确性和确定性更高。

另一方面是利用预设分布拟合模块基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果。在本申请实施例中,采用符合目标特征分布的参考特征的目的是通过分布拟合出活体的分布,而不是借助数据拟合出活体的分布。因此,预设分布拟合模块主要用于将图像特征信息的“映射前特征”和目标特征分布进行比较,那么,图像特征信息不属于目标特征分布的待检测对象可以认为是攻击。相当于现有技术,通过本申请实施例提出的方法对于未知的攻击类型具有更好的防御能力,从而提高了活体检测的正确性和可靠性。

在一实施例中,在利用预设特征提取模型对面部图像进行特征提取和利用预设特征生成模型对至少一个参考特征进行活体特征映射处理之前,得对模型进行训练,才可以得到预设特征提取模型。

具体的,本申请实施例提出的方法可以还包括:

获取待训练特征提取模型和待训练特征生成模型;

采集多个面部图像训练样本和特征分布符合目标特征分布的参考特征样本集,参考特征样本集包括多个参考特征训练样本;

利用多个面部图像训练样本和多个参考特征训练样本,对待训练特征提取模型和待训练特征生成模型进行训练,得到预设特征提取模型和预设特征生成模型。

其中,待训练特征提取模型可以包括还需要训练,性能未达到要求的模型。待训练特征生成模型也可以包括还需要训练,性能未达到要求的模型。

其中,待训练特征生成模型和待训练特征提取模型可以是深度学习模型。例如,待训练生成模型可以是由MLP组成的模型。例如,待训练特征提取模型可以是的结构可以是串联若干个残差块,每一个残差块中包括两组基本计算单元,每一个计算单元又由卷积层、归一化层和非线性激活函数组成。

在一实施例中,在对待训练特征提取模型和待训练特征生成模型训练之前,还可以采集多个面部图像训练样本和特征分布符合目标特征分布的参考特征样本集,参考特征样本集包括多个参考特征训练样本。

其中,面部图像训练样本对指对模型进行训练时用到的数据。其中,面部图像训练样本中可以包括正样本和负样本。其中,正样本可以包括是活体的面部图像样本,而负样本可以包括是攻击的面部图像样本。例如,可以采集N1个真人图片、N2个纸片打印攻击图片、N3个屏幕翻拍攻击图片和N4个3D面具。其中,真人图片可以是正样本,而纸片打印攻击图片、屏幕翻拍攻击图片进而3D面具可以是负样本。

其中,参考特征训练样本也可以包括对模型进行训练时用到的数据。例如,可以在符合目标特征分布中的数据中随机采样M个数据作为参考特征训练样本。

接下来,可以利用多个面部图像训练样本和多个参考特征训练样本,对待训练特征提取模型和待训练特征生成模型进行训练,得到预设特征提取模型和预设特征生成模型。

在一实施例中,步骤“利用多个面部图像训练样本和多个参考特征训练样本,对待训练特征提取模型和待训练特征生成模型进行训练,得到预设特征提取模型和预设特征生成模型”,可以包括:

利用待训练特征提取模型对面部图像训练样本进行特征提取,得到面部图像训练样本的图像样本特征信息;

利用待训练特征生成模型对参考特征训练样本进行活体特征映射处理,得到样本活体特征信息;

基于样本活体特征信息和参考特征训练样本,计算图像样本特征信息对应的特征损失信息和分布损失信息;

基于特征损失信息对待训练特征提取模型的参数进行调整,得到预设特征提取模型,以及基于分布损失信息,对待训练特征生成模型的参数进行调整,得到预设特征生成模型。

在一实施例中,步骤“利用待训练特征提取模型对面部图像训练样本进行特征提取,得到面部图像训练样本的图像样本特征信息”可以参考步骤202,此处不再重复阐述。

在一实施例中,步骤“利用待训练特征生成模型对参考特征训练样本进行活体特征映射处理,得到样本活体特征信息”可以参考步骤203,此处不再重复阐述。

在一实施例中,在对待训练特征生成模型和待训练特征提取模型进行训练时,可以利用预设判别模块和预设分布拟合模块进行协助训练。例如,在步骤“基于样本活体特征信息和参考特征训练样本,计算图像样本特征信息对应的特征损失信息和分布损失信息”中,可以引入预设判别模块和预设分布拟合模块计算损失信息。具体的,步骤“基于样本活体特征信息和参考特征训练样本,计算图像样本特征信息对应的特征损失信息和分布损失信息”,可以包括:

利用预设判别模块,计算图像样本特征信息和样本活体特征信息之间的特征损失信息;

利用预设分布拟合模块,计算图像样本特征信息和参考特征训练样本之间的分布损失信息。

例如,可以利用预设判别模块计算图像样本特征信息和样本活体特征信息之间的特征相似度,并将该特征相似度作为特征损失信息。例如,可以计算图像样本特征信息和M个样本活体特征信息之间的余弦距离。然后,计算这M个余弦距离的均值和方差,并将该均值和方差作为特征损失信息。

例如,可以利用预设分布拟合模块,计算图像样本特征信息对参考特征训练样本的梯度信息,并将该梯度信息作为分布损失信息。例如,可以计算图像样本特征信息对参考特征训练样本的导数,并将该导数作为分布损失信息。

在一实施例中,在得到特征损失信息和分布损失信息之后,可以基于特征损失信息对待训练特征提取模型的参数进行调整,得到预设特征提取模型,以及基于分布损失信息,对待训练特征生成模型的参数进行调整,得到预设特征生成模型。

例如,当特征损失信息是图像样本特征信息和样本活体特征信息之间的特征相似度时,可以基于正样本的图像样本信息和样本活体特征信息之间的特征相似度尽可能地大,而负样本的图像样本信息和样本活体特征信息之间的特征相似度尽可能地小的原则对待训练特征提取模型的参数进行调整,得到所述预设特征提取模型。例如,当损失信息是M个余弦距离的方差和均值时,在对待训练特征提取模型的参数进行调整时,调整的方向可以是对于正样本,约束M个余弦距离的均值尽可能地大,而方差尽可能地小。而对于负样本,则可以约束M个余弦距离的均值尽可能地小,而方差尽可能得大。

又例如,当分布损失信息是图像样本特征信息对参考特征训练样本的导数时,可以基于正样本的导数的范数尽可能地小,而负样本的导数的范数尽可能地大的原则对待训练特征生成模型的参数进行调整。其中,该范数可以包括多种类型的范数。例如,可以包括L1范数、L2范数或L无穷范数,等等。

本申请实施例提出的方法可以适用于多个应用场景。例如,可以应用于支付场景、门禁场景和信息查询场景,等等。其中,由于支付或门禁场景应用中强调实时性,可以采用模型蒸馏或剪枝的方法减少模型参数量,降低模型运行时间,提高活体检测效率。

本申请实施例提出了一种活体检测方法,该活体检测方法包括:获取待检测对象的面部图像和参考特征集,其中,参考特征集的特征分布为目标特征分布,参考特征集包括至少一个参考特征;对面部图像进行特征提取,得到面部图像的图像特征信息;对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果;基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果;基于判别结果和分布拟合结果,对待检测对象进行活体检测。本申请实施例中会从两个方面对面部图像的图像特征信息进行校验,从而判断待检测对象是否是活体。首先,第一个方面是基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果。这里主要是检测活体检测过程的不确定性。其中,由于参考活体特征信息是有符合目标特征分布的参考特征生成的,所以以此参考活体特征信息作为假设(hypothesis)来检验图像特征信息是否为同一分布的准确性和确定性更高,因此活体检测过程的准确性和可靠性会更高。

其次,第二个方面是基于所述图像特征信息,对所述至少一个参考特征进行分布拟合处理,得到针对所述图像特征信息的分布拟合结果。其中,采用符合目标特征分布的参考特征的目的是通过分布拟合出活体的分布,而不是借助数据拟合出活体的分布。因此,预设分布拟合模块主要用于将图像特征信息的“映射前特征”和目标特征分布进行比较,那么,图像特征信息不属于目标特征分布的待检测对象可以认为是攻击。相当于现有技术,通过本申请实施例提出的方法对于未知的攻击类型具有更好的防御能力,从而提高了活体检测的准确性和可靠性。

根据上面实施例所描述的方法,以下将举例作进一步详细说明。

本申请实施例将以活体检测方法集成在终端为例来介绍本申请实施例方法。

在一实施例中,如图7所示,一种活体检测方法,具体流程如下:

401、终端获取待检测对象的面部图像和参考特征集,其中,参考特征集的特征分布为目标特征分布,参考特征集包括至少一个参考特征。

在一实施例中,为了解决现有技术中的问题,本申请实施例提出了一个基于特征生成和假设检验的活体检测算法。其中,该算法的结构框架图可以如图所示。其中,该算法中的步骤主要由预设特征提取模型、预设特征生成模型、预设判别模块和预设分布拟合模块执行。

例如,当终端接收到待检测对象触发的活体检测触发指令时,终端可以启动摄像头采集待检测视频。然后,终端可以将待检测视频转换为待检测图像,并对待检测图像进行面部检测。当检测到待检测图像中有面部出现时,则启动后续的识别流程,否则直接判断为面部活体检测失败。

例如,如图8所示,给出了一个三目摄像头智能终端的示意图。三目摄像头包括彩色相机、红外相机和深度相机。彩色相机捕捉了可见光波段的图像,红外相机捕捉了特定红外波段的图像,深度相机捕捉了前方场景的深度信息。

其中,需要说明的是,本申请实施例提出的方法框架并不依赖特定的相机类型,而适用于任意一种相机。

在一实施例中,当终端检测到待检测图像中具有面部时,终端可以在至少一个待检测图像中确定面部图像。

在一实施例中,终端可以对符合标准正态分布(也称为高斯分布)的高斯向量的进行随机采样,得到若干个高斯向量,并将采样得到的高斯向量成为参数特征。然后,可以将采样得到的参数特征构成一个集合,称为参考特征集。

例如,可以从符合标准正态分布的多维向量中采样得到若干个向量,并将采样得到向量作为参考特征。例如,有100个符合标准正态分布的高斯向量,可以从这100个高斯向量中采样出50个向量作为参考特征。其中,可以有多种方式的采用。例如,可以通过随机采样得到参考特征。

402、终端对面部图像进行特征提取,得到面部图像的图像特征信息。

例如,终端可以将面部图像输入训练好的预设特征提取模型中,得到面部图像的图像特征信息。

其中,预设特征提取模型可以是深度卷积网络,例如,超分辨率测试序列(VisualGeometry Group,VGG)、残差网络(ResNet,Residual Network)或GoogLeNet,等等。此外,预设特征提取模型还可以根据实际的空间与时间需求自行调整和修改,等等。

在一实施例中,为了加速网络的收敛和提升网络的性能,本申请实施例提出的预设特征提取模型的结构可以是串联若干个残差块,每一个残差块中包括两组基本计算单元,每一个计算单元又由卷积层、归一化层和非线性激活函数组成。

其中,卷积层可以实现卷积运算,通过卷积运算,可以提取到面部图像的不同特征。例如,该卷积层可以是conv2d、conv2d 1×1或conv,等等。

其中,归一化层可以对卷积层生成的卷积信息进行归一化处理,从而使得输入的数据的分布会一致。例如,该归一化层可以是批标准化(Batch Normalization,BN)、层标准化(Layer Normalization,LN)、实例标准化(Instance Normalization,IN)或组标准化(Group Normalization,GN)等等。

其中,非线性激活函数可以对归一化层输出的归一化信息进行非线性映射,从而提高预设特征提取模型对训练数据的规律进行拟合的功能。例如,该非线性激活函数可以包括Sigmoid函数、Tanh函数或ReLU函数,等等。

403、终端对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息。

例如,终端可以利用预设特征生成模型,对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息。

在一实施例中,该预设特征生成模型可以是深度学习网络。例如,该预设特征生成模型可以由多层感知机(Multi-Layer Perceptron,MLP)组成。其中,当预设特征生成网络是有MLP组成时,该MLP可以包括两层全连接层。其中,全连接层可以起到分类的作用。通过使用两层全连接层,可以保证预设特征正常模型的计算效率。

404、终端基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到所述图像特征信息的判别结果。

例如,终端可以基于至少一个参考活体特征信息,利用预设判别模块,对图像特征信息进行活体判别处理,得到所述图像特征信息的判别结果。

其中,预设判别模块用于比较参考活体特征信息和图像特征信息之间的差异来判断待检测对象是否是活体。

在一实施例中,有多种方式可以比较参考活体特征信息和图像特征信息之间的差异。

例如,可以计算参考活体特征信息和图像特征信息之间的余弦距离、欧式距离或汉明距离,等等。

例如,有N个参考活体特征信息。然后,可以计算图像特征信息和这N个参考活体特征信息之间的余弦距离,得到余弦距离1、余弦距离2、…、余弦距离N。然后,可以求这些余弦距离的均值。如果这些余弦距离的均值都趋近于1,则说明该图像特征信息对应的待检测对象更可能是真人。而如果这些余弦距离的均值都趋近于-1,则说明该图像特征信息对应的待检测对象更可能不是活体,而是攻击。

此外,还可以通过计算这些余弦距离的方差来衡量图像特征信息的不准确性。如果这些余弦距离的方差小,则代表预设判别模块对该图像特征信息的预测更确定;反之,则代表预设判别模块对该图像特征信息的预测变化大、不确定性强,该图像特征信息对应的待检测对象更可能不是活体,而是未知类型的攻击。

在一实施例中,可以将至少一个参考活体特征信息和图像特征信息输入预设判别模块,得到图像特征信息和参考活体特征信息的差异(余弦距离或欧式距离等)的均值和方差。其中,如果均值大于阈值a和方差小于阈值b,则判断待检测对象为活体;否则判断待检测对象为攻击。

405、终端基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果。

例如,终端可以基于图像特征信息,利用预设分布拟合模块,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果。

其中,预设分布拟合模型的输入可以是图像特征信息和至少一个采样得到的参考特征。然后,在预设特征生成模型的网络参数不变的情况下,令该预设特征生成模型以该图像特征信息为目标输出。

例如,预设分布拟合模型可以对输入的至少一个参考特征进行梯度下降优化,从而找到该图像特征信息的“最优输入向量”。即,可以对参考特征进行求导,得到求导后参考特征。然后,可以将求导后参考特征输入到预设特征生成模型中,得到基于求导后参考特征生成的活体特征信息。接下来,可以计算基于求导后参考特征生成的活体特征信息和图像特征信息之间的损失信息,并基于该损失信息再次对参考特征进行求导。通过不断地重复上述过程,使得至少一个参考特征最终收敛为图像特征信息的“最优输入向量”。

在得到图像特征信息的至少一个“最优输入向量”之后,可以计算这至少一个最优输入向量与标准正态分布之间的KL散度。其中,如果该KL散度小于阈值c,可以判断待检测对象为活体,否则判断待检测对象不是活体而是攻击。

406、终端基于判别结果和分布拟合结果,对待检测对象进行活体检测。

例如,当预设判别模块和预设分布拟合模块都判断待检测对象不是活体,而是攻击时,终端可以认为待检测对象是攻击,并输出活体检测失败的活体检测结果。

又例如,当预设判别模块或预设分布拟合模块判断待检测对象不是活体,而是攻击时,为了安全起见,终端可以重新采集待检测对象的面部图像,并对待检测对象的面部图像进行再次检测。若仍有预设判别模块或预设分布拟合模块判断待检测对象不是活体时,则终端可以认为待检测对象是攻击,并输出活体检测视频的活体检测结果。

又例如,当预设判别模块和预设分布拟合模块都判断待检测对象是活体时,终端可以认为待检测对象是活体,并输出活体检测通过的活体检测结果。

在本申请实施例中,终端可以获取待检测对象的面部图像和参考特征集,其中,参考特征集的特征分布为目标特征分布,参考特征集包括至少一个参考特征;终端可以对面部图像进行特征提取,得到面部图像的图像特征信息;终端可以对至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;终端可以基于至少一个参考活体特征信息,对图像特征信息进行活体判别处理,得到图像特征信息的判别结果;终端可以基于图像特征信息,对至少一个参考特征进行分布拟合处理,得到针对图像特征信息的分布拟合结果;终端可以基于判别结果和分布拟合结果,对待检测对象进行活体检测。通过本申请实施例,可以提高活体检测的准确性和可靠性。

为了更好地实施本申请实施例提供的活体检测方法,在一实施例中还提供了一种活体检测装置,该活体检测装置可以集成于计算机设备中。其中名词的含义与上述活体检测方法中相同,具体实现细节可以参考方法实施例中的说明。

在一实施例中,提供了一种活体检测装置,该活体检测装置具体可以集成在计算机设备中,如图9所示,该活体检测装置包括:获取单元601、特征提取单元602、特征映射单元603、判别单元604、分布拟合单元605和活体检测单元606,具体如下:

获取单元601,用于获取待检测对象的面部图像和参考特征集,其中,所述参考特征集中的特征分布为目标特征分布,所述参考特征集包括至少一个参考特征;

特征提取单元602,用于对所述面部图像进行特征提取,得到所述面部图像的图像特征信息;

特征映射单元603,用于对所述至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;

判别单元604,用于基于所述至少一个参考活体特征信息,对所述图像特征信息进行活体判别处理,得到所述图像特征信息的判别结果;

分布拟合单元605,用于基于所述图像特征信息,对所述至少一个参考特征进行分布拟合处理,得到针对所述图像特征信息的分布拟合结果;

活体检测单元606,用于基于所述判别结果和所述分布拟合结果,对所述待检测对象进行活体检测。

在一实施例中,所述分布拟合单元605,可以包括:

梯度运算子单元,用于对所述至少一个参考特征进行梯度运算处理,得到每个参考特征的梯度信息;

收敛子单元,用于基于所述图像特征信息,将所述每个参考特征的梯度信息进行收敛处理,得到每个参考特征的收敛后信息;

结果确定子单元,用于基于所述每个参考特征的收敛后信息,确定所述分布拟合结果。

在一实施例中,所述结果确定子单元,可以包括:

分布分析模块,用于基于所述每个参考特征的收敛后信息,对所述图像特征信息进行分布分析,得到所述图像特征信息的图像特征分布;

相似度计算模块,用于计算所述图像特征分布和所述目标特征分布之间的分布相似度;

比较模块,用于将所述分布相似度和预设分布判别条件进行比较,得到所述分布拟合结果。

在一实施例中,所述判别单元604,可以包括:

相似度计算子单元,用于将所述至少一个参考活体特征信息和所述图像特征信息进行相似度计算处理,得到每个参考活体特征信息和所述图像特征信息之间的特征相似度;

指标转换子单元,用于基于预设活体判别标准,对所述特征相似度进行指标转换处理,得到所述特征相似度对应的目标指标;

比较子单元,用于将所述目标指标和预设判别指标进行比较,得到所述判别结果。

在一实施例中,所述特征提取单元602,可以包括:

像素提取子单元,用于对所述面部图像进行像素提取,得到所述面部图像的像素信息;

卷积运算子单元,用于对所述像素信息进行卷积运算处理,得到所述面部图像的卷积信息;

归一化子单元,用于对所述卷积信息进行归一化处理,得到所述面部图像的归一化信息;

非线性转换子单元,用于对所述归一化信息进行非线性转换,得到所述面部图像的特征信息。

在一实施例中,所述特征映射单元603,可以包括:

全连接子单元,用于对所述参考特征进行全连接处理,得到所述参考特征对应的全连接信息;

分类子单元,用于基于所述全连接信息,对所述参考特征进行分类处理,得到所述参考特征对应的分类结果;

映射子单元,用于基于所述分类结果,将所述参考特征映射到预设活体特征空间中,得到所述参考活体特征信息。

在一实施例中,所述活体检测装置还包括:

模型获取单元,用于待训练特征提取模型和待训练特征生成模型;

采集单元,用于采集多个面部图像训练样本和特征分布符合目标特征分布的参考特征样本集,所述参考特征样本集包括多个参考特征训练样本;

训练单元,用于利用所述多个面部图像训练样本和所述多个参考特征训练样本,对所述待训练特征提取模型和所述待训练特征生成模型进行训练,得到所述预设特征提取模型和所述预设特征生成模型。

在一实施例中,所述训练单元,可以包括:

特征提取子单元,用于利用所述待训练特征提取模型对所述面部图像训练样本进行特征提取,得到所述面部图像训练样本的图像样本特征信息;

活体特征映射子单元,用于利用所述待训练特征生成模型对所述参考特征训练样本进行活体特征映射处理,得到样本活体特征信息;

损失计算子单元,用于基于所述样本活体特征信息和参考特征训练样本,计算所述图像样本特征信息对应的特征损失信息和分布损失信息;

参数调整子单元,用于基于所述特征损失信息对所述待训练特征提取模型的参数进行调整,得到所述预设特征提取模型,以及基于所述分布损失信息,对所述待训练特征生成模型的参数进行调整,得到所述预设特征生成模型。

在一实施例中,所述损失计算子单元,可以包括:

第一损失计算模块,用于利用预设判别模块,计算所述图像样本特征信息和所述样本活体特征信息之间的特征损失信息;

第二损失计算模块,用于利用预设分布拟合模块,计算所述图像样本特征信息和参考特征训练样本之间的分布损失信息。

在一实施例中,所述活体检测装置还包括:

指令接收单元,用于接收活体检测触发指令;

视频采集单元,用于基于所述活体检测触发指令,采集包括待检测对象面部的待检测视频;

图像转换单元,用于将所述待检测视频转换为至少一个待检测图像;

面部检测单元,用于对所述至少一个待检测图像进行面部检测处理,得到检测结果;

图像确定单元,用于基于所述检测结果在所述至少一个待检测图像中确定所述面部图像。

在一实施例中,所述图像确定单元,可以包括:

面部判别子单元,用于基于所述检测结果,对所述至少一个待检测图像进行面部判别处理,得到判别结果;

面部图像筛选子单元,用于基于所述判别结果,在所述至少一个待检测图像中筛选出初始面部图像;

面部配准子单元,用于对所述初始面部图像进行面部配准,得到所述初始面部图像中至少一个面部关键点的位置信息;

筛选子单元,用于基于所述面部关键点的位置信息,从所述至少一个面部关键点中筛选出目标面部关键点;

生成子单元,用于基于所述目标面部关键点的位置信息,生成所述面部图像。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

通过上述的活体检测装置可以提高活体检测的准确性和可靠性。

本申请实施例还提供一种计算机设备,该计算机设备可以包括终端或服务器,比如,计算机设备可以作为活体检测终端,该终端可以为手机、平板电脑等等;又比如计算机设备可以为服务器,如活体检测服务器等。如图10所示,其示出了本申请实施例所涉及的终端的结构示意图,具体来讲:

该计算机设备可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图10中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器801是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。

存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。

计算机设备还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该计算机设备还可包括输入单元804,该输入单元804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:

获取待检测对象的面部图像和参考特征集,其中,所述参考特征集的特征分布为目标特征分布,所述参考特征集包括至少一个参考特征;

对所述面部图像进行特征提取,得到所述面部图像的图像特征信息;

对所述至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;

基于所述至少一个参考活体特征信息,对所述图像特征信息进行活体判别处理,得到所述图像特征信息的判别结果;

基于所述图像特征信息,对所述至少一个参考特征进行分布拟合处理,得到针对所述图像特征信息的分布拟合结果;

基于所述判别结果和所述分布拟合结果,对所述待检测对象进行活体检测。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中各种可选实现方式中提供的方法。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例还提供一种存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种活体检测方法中的步骤。例如,该计算机程序可以执行如下步骤:

获取待检测对象的面部图像和参考特征集,其中,所述参考特征集的特征分布为目标特征分布,所述参考特征集包括至少一个参考特征;

对所述面部图像进行特征提取,得到所述面部图像的图像特征信息;

对所述至少一个参考特征进行活体特征映射处理,得到至少一个参考活体特征信息;

基于所述至少一个参考活体特征信息,对所述图像特征信息进行活体判别处理,得到所述图像特征信息的判别结果;

基于所述图像特征信息,对所述至少一个参考特征进行分布拟合处理,得到针对所述图像特征信息的分布拟合结果;

基于所述判别结果和所述分布拟合结果,对所述待检测对象进行活体检测。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种活体检测方法中的步骤,因此,可以实现本申请实施例所提供的任一种活体检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种活体检测方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120116028845