活体人脸验证方法及系统、活体人脸验证装置与流程

文档序号:11708016阅读:353来源:国知局
活体人脸验证方法及系统、活体人脸验证装置与流程

本公开涉及人脸识别技术领域,更具体地涉及一种活体人脸验证方法及系统、以及活体人脸验证装置。



背景技术:

当前,人脸识别系统越来越多地应用于安防、金融领域需要身份验证的场景,如银行远程开户、门禁系统、远程交易操作验证等。在这些高安全级别的应用领域,除了确保被验证者的人脸相似度符合数据库中存储的底库,首先需要验证被验证者是一个合法的生物活体。也就是说,人脸识别系统需要能够防范攻击者使用照片、视频、3d人脸模型、或者面具等方式进行攻击。

目前市场上的技术产品中还没有公认成熟的活体验证方案,已有的技术要么依赖特殊的硬件设备(诸如,红外相机、深度相机),或者只能防范简单的静态照片攻击。

因此,需要既不依赖于特殊的硬件设备又能够有效地防范照片、视频、3d人脸模型或者面具等多种方式的攻击的人脸识别方式。



技术实现要素:

鉴于上述问题而提出了本发明。本发明实施例提供了一种活体人脸验证方法及系统、以及计算机程序产品,其能够基于精细头部动作来进行活体人脸验证,从而降低活体人脸验证的成本,并提高活体人脸验证的准确度,相应地提高了应用活体人脸验证的应用场景的安全性。

根据本发明实施例的一个方面,提供了一种活体人脸验证方法,包括:随机地生成动作指令序列;以及在确定人脸动作依序匹配所述动作指令序列的情况下,确定活体人脸验证成功。

作为示例,根据本发明实施例的活体人脸验证方法还包括:按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

作为示例,根据本发明实施例的活体人脸验证方法还包括:对于每个动作指令,在确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

作为示例,根据本发明实施例的活体人脸验证方法还包括:对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

作为示例,根据本发明实施例的活体人脸验证方法还包括:获取人脸图像;计算人脸图像中的人脸属性;以及根据所计算的人脸属性,识别人脸动作,其中,所述人脸属性包括人脸关键点位置、人脸动作系数、人脸姿态系数中的至少一项。

作为示例,所述对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败,进一步包括:在所述定时时间内,当检测到人脸动作与该动作指令不匹配时,无论所述定时时间是否到期,均确定活体人脸验证失败。

作为示例,所述未检测到人脸动作包括未检测到可识别的人脸动作和未检测到不可识别的人脸动作,其中,所述可识别的人脸动作包括所述预设的动作指令集合中的任何人脸动作,所述不可识别的人脸动作包括未被包括在所述预设的动作指令集合中的人脸动作。

作为示例,在确定人脸动作依序与所述动作指令序列中的动作指令的匹配比例超出匹配比例阈值的情况下,确定活体人脸验证成功。

作为示例,所述方法部署在人脸图像采集端,和/或,所述动作指令序列通过在预设的动作指令集合中选择动作指令来生成。

根据本发明实施例的另一方面,提供了一种活体人脸验证系统,包括:一个或多个处理器;一个或多个存储器;在所述存储器的至少一个中存储的计算机程序指令,在所述计算机程序指令被所述处理器的至少一个运行时执行以下步骤:随机地生成动作指令序列;以及在确定人脸动作匹配所述动作指令序列的情况下,确定活体人脸验证成功。

根据本发明实施例的又一方面,提供了一种计算机程序产品,包括计算机可读存储介质,在所述计算机可读存储介质上存储了计算机程序指令,所述计算机程序指令在被计算机运行时执行以下步骤:随机地生成动作指令序列;以及在确定人脸动作依序匹配所述动作指令序列的情况下,确定活体人脸验证成功。

作为示例,在所述计算机程序指令被所述处理器的至少一个或计算机运行时还执行以下步骤:按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令;对于每个动作指令,在确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

作为示例,在所述计算机程序指令被所述处理器的至少一个或计算机运行时还执行以下步骤:按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令;对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

作为示例,根据本发明实施例的活体人脸验证系统还包括:图像采集设备,用于采集人脸图像。

作为示例,在所述计算机程序指令被所述处理器的至少一个或计算机运行时还执行以下步骤:计算所述人脸图像中的人脸属性;以及根据所计算的人脸属性,识别人脸动作,其中,所述人脸属性包括人脸关键点位置、人脸动作系数、人脸姿态系数中的至少一项。

作为示例,所述对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败,进一步包括:在所述定时时间内,当检测到人脸动作与该动作指令不匹配时,无论所述定时时间是否到期,均确定活体人脸验证失败。

作为示例,所述未检测到人脸动作包括未检测到可识别的人脸动作和未检测到不可识别的人脸动作,其中,所述可识别的人脸动作包括所述预设的动作指令集合中的任何人脸动作,所述不可识别的人脸动作包括未被包括在所述预设的动作指令集合中的人脸动作。

作为示例,在确定人脸动作依序与所述动作指令序列中的动作指令的匹配比例超出匹配比例阈值的情况下,确定活体人脸验证成功。

作为示例,所述方法部署在人脸图像采集端,和/或,所述动作指令序列通过在预设的动作指令集合中选择动作指令来生成。

根据本发明实施例的再一方面,提供了一种活体人脸验证装置,包括:随机动作指令序列生成模块,用于随机地生成动作指令序列;以及活体人脸验证模块,用于在确定人脸动作依序匹配所述动作指令序列的情况下,确定活体人脸验证成功。

作为示例,根据本发明实施例的活体人脸验证装置还包括:指令序列发出模块,用于按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

作为示例,根据本发明实施例的活体人脸验证装置还包括:动作匹配检测子模块,用于确定人脸动作与所发出的动作指令是否匹配;以及验证结果输出子模块,用于输出活体人脸验证的验证结果。

作为示例,根据本发明实施例的活体人脸验证装置,对于所述指令序列发出模块发出的每个动作指令,在所述动作匹配检测子模块确定人脸动作与该动作指令不匹配的情况下,所述验证结果输出子模块确定活体人脸验证失败;对于所述指令序列发出模块发出的除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在所述动作匹配检测子模块确定人脸动作与该动作指令匹配并且所述指令序列发出模块存在下一个动作指令需要发出的情况下,所述指令序列发出模块才发出下一个动作指令;以及对于所述指令序列发出模块发出的所述动作指令序列中排序最低的动作指令,在所述动作匹配检测子模块确定人脸动作与该动作指令匹配的情况下,所述验证结果输出子模块确定活体人脸验证成功。

作为示例,根据本发明实施例的活体人脸验证装置还包括:定时器,用于在每个动作指令发出后对定时时间进行计时。

作为示例,根据本发明实施例的活体人脸验证装置,对于所述指令序列发出模块发出的每个动作指令,在所述定时器超时并且所述动作匹配检测子模块确定未检测到人脸动作的情况下、或者在所述动作匹配检测子模块确定人脸动作与该动作指令不匹配的情况下,所述验证结果输出子模块确定活体人脸验证失败;对于所述指令序列发出模块发出的除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在所述定时器未超时并且所述动作匹配检测子模块确定人脸动作与该动作指令匹配并且所述指令序列发出模块存在下一个动作指令需要发出的情况下,所述指令序列发出模块才发出下一个动作指令;以及对于所述指令序列发出模块发出的所述动作指令序列中排序最低的动作指令,在所述定时器超时并且所述动作匹配检测子模块确定人脸动作与该动作指令匹配的情况下,所述验证结果输出子模块确定活体人脸验证成功。

作为示例,根据本发明实施例的活体人脸验证装置还包括:图像获取模块,用于获取人脸图像;人脸属性计算模块,用于计算人脸图像中的人脸属性;以及人脸动作识别模块,用于根据所计算的人脸属性识别人脸动作,其中,所述人脸属性包括人脸关键点位置、人脸动作系数、人脸姿态系数中的至少一项。

作为示例,所述动作指令序列包括至少一个动作指令,每个动作指令为单一动作指令或序贯动作指令,每个序贯动作指令指示依序执行至少两个单一动作,每个单一动作为简单动作或复杂动作,每个单一动作指令指示执行一个单一动作,并且每个单一动作指令为简单动作指令或复杂动作指令,每个简单动作指令指示执行一个脸部动作,每个复杂动作指令指示同时执行至少两个脸部动作。

作为示例,所述动作指令序列包括至少两个动作指令,每个动作指令为简单动作指令。

作为示例,所述至少一个动作指令为简单动作指令与复杂动作指令的任意组合,并且所述至少一个动作指令中的至少一部分为复杂动作指令。

作为示例,所述至少一个动作指令为序贯动作指令与单一动作指令的任意组合,并且所述至少一个动作指令中的至少一部分动作指令为序贯动作指令。

作为示例,所述对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败,进一步包括:在所述定时时间内,当检测到人脸动作与该动作指令不匹配时,无论所述定时时间是否到期,均确定活体人脸验证失败。

作为示例,所述未检测到人脸动作包括未检测到可识别的人脸动作和未检测到不可识别的人脸动作,其中,所述可识别的人脸动作包括所述预设的动作指令集合中的任何人脸动作,所述不可识别的人脸动作包括未被包括在所述预设的动作指令集合中的人脸动作。

作为示例,在确定人脸动作依序与所述动作指令序列中的动作指令的匹配比例超出匹配比例阈值的情况下,确定活体人脸验证成功。

作为示例,所述方法部署在人脸图像采集端,和/或,所述动作指令序列通过在预设的动作指令集合中选择动作指令来生成。

根据本发明实施例的活体人脸验证方法及系统、活体人脸验证装置、以及计算机程序产品,通过随机地生成动作指令序列,然后基于精细头部动作识别判断人脸动作是否匹配随机生成的动作指令序列,可以不依赖于特殊的硬件设备,从而可以降低活体人脸验证的成本,另一方面,而且可以有效地防范照片、视频、3d人脸模型或者面具等多种方式的攻击,从而可以提高活体人脸验证的准确度,并且进而可以提高应用根据本发明实施例的活体人脸验证方法及系统、活体人脸验证装置、以及计算机程序产品的应用场景的安全性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是根据本发明实施例的活体人脸验证方法的核心思想的示意性流程图;

图2是根据本发明第一实施例的活体人脸验证方法的示意性流程图;

图3是根据本发明第二实施例的活体人脸验证方法的示意性流程图;

图4是根据本发明实施例的确定人脸动作与动作指令是否匹配的示意性流程图;

图5是根据本发明实施例的活体人脸验证装置的示意性框图;

图6是根据本发明第一实施例的活体人脸验证装置的示意性框图;

图7是根据本发明第二实施例的活体人脸验证装置的示意性框图;

图8是根据本发明实施例的活体人脸验证系统的示意性框图。

具体实施方式

为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本公开中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。

图1是根据本发明实施例的活体人脸验证方法的核心思想的示意性流程图。

如图1所示,根据本发明实施例的活体人脸验证方法100首先在步骤s110随机地生成动作指令序列。所述动作指令序列可以包括一个动作指令或多个动作指令。

例如,可以在预设的动作指令集合中选择动作指令来生成该动作指令序列。所述预设的动作指令集合可以包括但不限于以下动作指令中的至少一部分:低头、仰头、摇头、眨眼、闭眼、张嘴、微笑、耸眉、伸舌、微笑且眨眼、伸舌且眨眼、张嘴且仰头、低头且微笑等。

通过随机地生成动作指令序列,使得难以预测动作指令序列中的具体动作指令的内容以及顺序,进而使得难以预先根据动作指令进行攻击,例如通过预先录制人脸视频来进行攻击。

然后,在步骤s120,在确定人脸动作依序匹配所述动作指令序列的情况下,确定活体人脸验证成功,即检测到活体人脸。

作为示例,在确定人脸动作依序一一对应地匹配所述动作指令序列中的动作指令的情况下,确定检测到活体人脸。

可替换地,可以设定人脸动作匹配比例阈值,在确定人脸动作依序与所述动作指令序列中动作指令的匹配比例超出匹配比例阈值的情况下,确定检测到活体人脸。

根据本发明实施例的活体人脸验证方法可以部署在人脸图像采集端处,例如,在安防应用领域,可以部署在门禁系统的图像采集端;在金融应用领域,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。

替代地,根据本发明实施例的活体人脸验证方法还可以分布地部署在服务器端(或云端)和个人终端处。例如,在金融应用领域,可以在服务器端(或云端)随机地生成动作指令序列,服务器端(或云端)将随机地生成的动作指令序列传递给个人终端,个人终端根据所接收的动作指令序列以及人脸动作来进行活体人脸验证,然后个人终端将活体人脸验证结果传送给服务器端(或云端)。再例如,可以在服务器端(或云端)随机地生成动作指令序列,服务器端(或云端)将随机地生成的动作指令序列传递给个人终端,个人终端将采集的人脸图像传递给服务器端(或云端),然后服务器端(或云端)根据所接收的动作指令序列以及人脸动作来进行活体人脸验证,如果需要的话,服务器端(或云端)还可以将活体人脸验证结果传递给个人终端。

根据本发明实施例的活体人脸验证方法,通过采用随机动作序列,不仅可以有效地防止照片、3d模型和人脸面具的攻击,而且更为有效地能够防止提前录制的视频攻击。

下面将参考图2-图4来具体描述根据本发明实施例的活体人脸验证方法。

图2是根据本发明第一实施例的活体人脸验证方法的示意性流程图。

在步骤s210,随机地生成动作指令序列。

在步骤s220,按照所述动作指令序列中的指令顺序,逐一地发出动作指令。例如,按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

在步骤s230,确定人脸动作与所发出的动作指令是否匹配。

仅在步骤s230确定人脸动作与步骤s220发出的动作指令匹配的情况下,根据本发明实施例的活体人脸验证方法才进行到步骤s240,否则在步骤s260确定活体人脸验证失败。

在步骤s240,确定所述动作指令序列中是否存在下一个动作指令需要发出。

在步骤s240确定所述动作指令序列中存在下一个动作指令需要发出的情况下,根据本发明实施例的活体人脸验证方法返回步骤s220,以便进行下一个动作指令的匹配判断。

在步骤s240确定所述动作指令序列中没有下一个动作指令需要发出的情况下,即已经发出了所述动作指令序列中的所有动作指令并且人脸的动作与每个动作指令均匹配,则在步骤s250确定活体人脸验证成功,即确定当前人脸为活体人脸。

因此,根据本发明第一实施例的活体人脸验证方法,对于每个动作指令,在确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

根据本发明第一实施例的活体人脸验证方法,对于随机地生成的动作指令序列中的每个动作指令,仅在用户正确做出该动作指令相应的动作(即确定人脸动作与该动作指令匹配)后才会开始下一个动作指令的判断。

此外,根据本发明第一实施例的活体人脸验证方法,对于随机地生成的动作指令序列,只有在用户依次通过所述动作指令序列要求的所有动作判断之后,才能确定活体人脸验证成功。

图3是根据本发明第二实施例的活体人脸验证方法的示意性流程图。与根据本发明第一实施例的活体人脸验证方法相比,根据本发明第二实施例的活体人脸验证方法在每个动作指令匹配检测阶段包括了定时器超时判断。

在步骤s210,随机地生成动作指令序列。

在步骤s220,按照所述动作指令序列中的指令顺序,逐一地发出动作指令。例如,按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

在发出了所有尚未发出的动作指令中当前排序最前的动作指令后,根据本发明第二实施例的活体人脸验证方法立即执行步骤s310,并且在步骤s310设置定时器的定时时间。应了解,在本发明第二实施例的描述中,根据功能分别描述步骤s220和步骤s310,然而应了解步骤s220和步骤s310可以合并在一起。

在步骤s320,确定定时器的定时时间是否超时。在步骤s320可以确定是否在定时器的定时时间内未检测到人脸动作。例如,在步骤s320可以确定是否在定时器的定时时间内未检测到可识别的人脸动作,可识别的人脸动作可以包括所述预设的动作指令集合中的任何人脸动作;或者在步骤s320可以确定是否在定时器的定时时间内未检测到任何人脸动作,不仅可以包括可识别的人脸动作还可以包括不可识别的人脸动作,所述不可识别的人脸动作可以指代未被包括在所述预设的动作指令集合的人脸动作,换言之,所述不可识别的人脸动作首先是人脸动作(区别于人脸无动作),其次由于其未被包括在所述预设的动作指令集合中,因此不能被识别。

在步骤s320确定定时器的定时时间超时的情况下,根据本发明第二实施例的活体人脸验证方法进行到步骤s260,并确定活体人脸验证失败。

在步骤s320确定定时器的定时时间不超时的情况下,根据本发明第二实施例的活体人脸验证方法进行到步骤s230。

根据本发明第二实施例的活体人脸验证方法,对于随机地生成的动作指令序列中的每个动作指令,只有用户在规定的定时时间内完成指定动作并且用户不能做出明显错误动作的情况下,才能通过该动作指令的动作匹配检测。这里,所述明显错误动作可以包括与当前动作指令不匹配的可识别的人脸动作,或者根据实际情况还可以包括与当前动作指令不匹配的明显的不可识别的人脸动作。

例如,当前发出的动作指令为眨眼指令,定时时间为5秒,当检测到用户的人脸动作为微笑、摇头、伸舌等时,无论定时时间是否到期,都得到活体人脸检测失败的结果;另一方面,当在定时时间内一直未检测到有效的人脸动作时,即不仅没有检测到眨眼动作也没有检测到其它可识别的人脸动作,在此情况下,也得到活体人脸检测失败的结果。

接下来,步骤s230-步骤s260的操作与参考图2描述的第一实施例中的步骤s230-步骤s260的操作相同,在此不再赘述。

因此,根据本发明第二实施例的活体人脸验证方法,对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

图4是根据本发明实施例的活体人脸验证方法的步骤s230中确定人脸动作与所发出的动作指令是否匹配的示意性流程图。

在步骤s410,获取图像。可以通过图像采集设备采集灰度或彩色图像,所述图像采集设备可以是智能电话的摄像头、平板电脑的摄像头、个人计算机的摄像头、或者甚至可以是网络摄像头,并且可以从图像采集设备接收所述图像采集设备采集的灰度或彩色图像。

在步骤s420,针对所获取的图像,计算人脸属性。人脸的关键点、姿态、表情、头部动作等性质通称为人脸属性。

在步骤s430,根据所计算的人脸属性,识别人脸动作。

这里,所述人脸属性可以包括人脸关键点位置、人脸动作系数、人脸姿态系数中的至少一项。

作为示例,可以首先确定所获取的图像中是否包含人脸,在检测到人脸的情况下定位出人脸关键点。人脸关键点是脸部一些表征能力强的关键点,例如眼睛、眼角、眼睛中心、眉毛、鼻子、鼻尖、嘴巴、嘴角和脸部轮廓等。例如,可以采用传统的人脸关键点定位方法,其基于参数形状模型,根据关键点附近的表观特征,学习出一个参数模型,在使用时迭代地优化关键点的位置,最后得到关键点坐标。再例如,还可以采用基于级联回归的方法定位关键点,其能够根据输入的人脸图像,实时定位出精准的人脸关键点。

人脸关键点的定位在人脸动作识别中起着重要的作用,然而应了解本发明不受具体采用的人脸关键点定位方法的限制。无论是现有的人脸关键点定位方法还是将来开发的人脸关键点定位方法,都可以应用于根据本发明实施例的活体人脸验证方法中,并且也应包括在本发明的保护范围内。

可以预先获得多种预先规定的人脸动作(例如,与上述预设的动作指令集合中的动作指令相应的人脸动作)的人脸图片,人工标记出人脸关键点和具体人脸动作,通过机器学习方法预先建立人脸动作模型库。

在所述人脸属性仅包括人脸关键点的情况下,例如,可以根据所计算的人脸关键点与所述人脸动作模型库中的人脸关键点模型,通过迭代计算、神经网络、模糊计算等各种计算手段来识别人脸动作。

另外,在所述人脸属性包括动作系数和/或姿态系数的情况下,例如,可以根据所计算的人脸关键点与所述人脸动作模型库中的人脸关键点模型计算人脸的动作系数和/或姿态系数。这里,姿态系数专指低头、仰头、摇头和转头的姿态执行程度,例如左转头系数可以表示左转头程度,动作系数表示除低头、仰头、摇头和转头之外的其他动作的执行程度,例如张嘴系数可以表示张嘴程度以及闭眼系数可以表示闭眼程度。例如,所述动作系数可以包括但不限于微笑系数、眨眼系数、张嘴系数、耸眉系数、伸舌系数等。所述姿态系数可以包括但不限于左摇头系数、右摇头系数、低头系数、仰头系数等。

例如,可以利用所定位的人脸关键点与所述人脸动作模型库中的人脸关键点模型,迭代得出旋转矩阵,可以根据旋转矩阵确定左摇头角度、右摇头角度、仰头角度或低头角度,在相应的角度大于相应的检测角度阈值(例如30度)的情况下,确定检测到相应姿态(动作)。例如,在左摇头角度大于其检测角度阈值的情况下,确定检测到左摇头;在右摇头的角度大于其检测角度阈值的情况下,确定检测到右摇头;在仰头的角度大于其检测角度阈值的情况下,确定检测到仰头;而在低头的角度大于其检测角度阈值的情况下,确定检测到低头。这里,左摇头角度可以作为左摇头系数,右摇头角度可以作为右摇头系数,低头角度可以作为低头系数,仰头角度可以作为仰头系数。

当然,本发明也不限于必须根据所计算的人脸关键点来计算人脸的动作系数和/或姿态系数。

作为示例,所述人脸属性可以仅包括动作系数和/或姿态系数,可以采用现有的动作/姿态识别方法来得到动作系数和/或姿态系数,并且也可以采用将来开发的动作/姿态识别方法来得到动作系数和/或姿态系数,这些计算人脸属性的方式都应包括在本发明的保护范围之内。

这里,在步骤s420中定位的人脸关键点为2d关键点,而人脸动作模型库中的人脸关键点模型可以为3d关键点或2d关键点。

在步骤s440,确定是否识别到人脸动作。

在步骤s440确定未识别到人脸动作的情况下,根据本发明实施例的活体人脸验证方法返回到步骤s320,继续获取图像。

在步骤s440确定识别到人脸动作的情况下,根据本发明实施例的活体人脸验证方法进行到步骤s450。

在步骤s450,确定所识别的人脸动作与动作指令是否匹配。

在步骤s450确定所识别的人脸动作与动作指令匹配的情况下,根据本发明实施例的活体人脸验证方法进行到步骤s240。

然而,在步骤s450确定所识别的人脸动作与动作指令不匹配的情况下,根据本发明实施例的活体人脸验证方法进行到步骤s260,确定活体人脸验证失败。

本发明实施例所需的外界输入仅包括普通的图像,例如可以为普通的视频图像序列,仅需在屏幕上与用户进行交互,因此无需特殊硬件,可以部署在人脸图像采集端处,例如,在安防应用领域,可以部署在门禁系统的图像采集端;在金融应用领域,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。

当然,本发明不限于此,根据本发明实施例的活体人脸验证方法还可以分布地部署在服务器端(或云端)和个人终端处。

图5示出了根据本发明实施例的活体人脸验证装置的示意性框图。

根据本发明实施例的活体人脸验证装置500包括随机动作指令序列生成模块510和活体人脸验证模块520。

所述随机动作指令序列生成模块510随机地生成动作指令序列。

所述活体人脸验证模块520进行活体人脸验证,并且在确定人脸动作依序匹配所述动作指令序列的情况下,确定活体人脸验证成功,即检测到活体人脸。

其中,随机动作指令序列生成模块510和活体人脸验证模块520可以为硬件、软件、固件以及它们的任意可行的组合。

图6示出了根据本发明第一实施例的活体人脸验证装置的示意性框图。

根据本发明第一实施例的活体人脸验证装置包括随机动作指令序列生成模块510、指令序列发出模块610、以及活体人脸验证模块520。所述活体人脸验证模块520可以包括动作匹配检测子模块6210以及验证结果输出子模块6220。

随机动作指令序列生成模块510随机地生成动作指令序列。

指令序列发出模块610按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

动作匹配检测子模块6210确定人脸动作与所发出的动作指令是否匹配。

验证结果输出子模块6220根据所述动作匹配检测子模块6210的检测结果以及所述指令序列发出模块610的最后指令指示,输出活体人脸验证成功或失败的验证结果。

此外,所述指令序列发出模块610还在动作匹配检测子模块6210确定人脸动作与指令序列发出模块610当前发出的动作指令匹配的情况下,确定所述动作指令序列中是否存在下一个动作指令需要发出,并且在确定所述动作指令序列中存在下一个动作指令需要发出的情况下,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

在所述动作匹配检测子模块6210确定人脸动作与所述指令序列发出模块610当前发出的动作指令匹配、并且所述指令序列发出模块610确定不存在下一个动作指令需要发出的情况下,所述验证结果输出子模块6220输出活体人脸验证成功的结果。

在所述动作匹配检测子模块6210确定人脸动作与所述指令序列发出模块610当前发出的动作指令不匹配的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

因此,对于所述指令序列发出模块610发出的每个动作指令,在所述动作匹配检测子模块6210确定人脸动作与该动作指令不匹配的情况下,所述验证结果输出子模块6220确定活体人脸验证失败。对于所述指令序列发出模块610发出的除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在所述动作匹配检测子模块6210确定人脸动作与该动作指令匹配并且所述指令序列发出模块610存在下一个动作指令需要发出的情况下,所述指令序列发出模块610才发出下一个动作指令。对于所述指令序列发出模块610发出的所述动作指令序列中排序最低的动作指令,在所述动作匹配检测子模块6210确定人脸动作与该动作指令匹配的情况下,所述验证结果输出子模块6220确定活体人脸验证成功。

根据本发明第一实施例的活体人脸验证装置,对于随机地生成的动作指令序列中的每个动作指令,仅在用户正确做出该动作指令相应的动作(即确定人脸动作与该动作指令匹配)后才会开始下一个动作指令的判断。

此外,根据本发明第一实施例的活体人脸验证装置,对于随机地生成的动作指令序列,只有在用户依次通过所述动作指令序列要求的所有动作判断之后,才能确定活体人脸验证成功。

其中,随机动作指令序列生成模块510、指令序列发出模块610、动作匹配检测子模块6210以及验证结果输出子模块6220可以为硬件、软件、固件以及它们的任意可行的组合。

图7示出了根据本发明第二实施例的活体人脸验证装置的示意性框图。

根据本发明第二实施例的活体人脸验证装置包括随机动作指令序列生成模块510、指令序列发出模块610、以及活体人脸验证模块520。所述活体人脸验证模块520可以包括动作匹配检测子模块6210、验证结果输出子模块6220以及定时器6230。

随机动作指令序列生成模块510随机地生成动作指令序列。

指令序列发出模块610按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

定时器6230在每个动作指令发出后对定时时间进行计时。

指令序列发出模块610发出当前排序最前的动作指令后,触发定时器6220开始计时。可以预先设置定时器6220的定时时间,例如,定时器6220的定时时间可以但不限于被设置为3秒、5秒或10秒。定时器6220在定时时间到期后输出定时器超时信号。

在定时器6230未超时的情况下,动作匹配检测子模块6210确定人脸动作与所发出的动作指令是否匹配。

此外,所述指令序列发出模块610还在动作匹配检测子模块6210确定人脸动作与步骤s220发出的动作指令匹配的情况下,确定所述动作指令序列中是否存在下一个动作指令需要发出,并且在确定所述动作指令序列中存在下一个动作指令需要发出的情况下,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令。

在所述定时器6220未超时、所述动作匹配检测子模块6210确定人脸动作与所述指令序列发出模块610当前发出的动作指令匹配、并且所述指令序列发出模块610确定不存在下一个动作指令需要发出的情况下,所述验证结果输出子模块6220输出活体人脸验证成功的结果。

在所述动作匹配检测子模块6210确定人脸动作与所述指令序列发出模块610当前发出的动作指令不匹配的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

在定时器6230输出定时器超时信号的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

因此,对于所述指令序列发出模块610发出的每个动作指令,在所述定时器6230超时并且所述动作匹配检测子模块6210确定未检测到人脸动作的情况下、或者在所述动作匹配检测子模块6210确定人脸动作与该动作指令不匹配的情况下,所述验证结果输出子模块6220确定活体人脸验证失败。对于所述指令序列发出模块610发出的除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在所述定时器6230未超时并且所述动作匹配检测子模块6210确定人脸动作与该动作指令匹配并且所述指令序列发出模块610存在下一个动作指令需要发出的情况下,所述指令序列发出模块610才发出下一个动作指令。对于所述指令序列发出模块610发出的所述动作指令序列中排序最低的动作指令,在所述定时器6230超时并且所述动作匹配检测子模块6210确定人脸动作与该动作指令匹配的情况下,所述验证结果输出子模块6220确定活体人脸验证成功。

其中,随机动作指令序列生成模块510、指令序列发出模块610、动作匹配检测子模块6210、验证结果输出子模块6220、以及定时器6230均可以为硬件、软件、固件以及它们的任意可行的组合。

此外,根据本发明实施例的活体人脸验证装置还包括:图像获取模块(未示出)、人脸属性计算模块(未示出)、以及人脸动作识别模块(未示出)。所述图像获取模块获取人脸图像。所述人脸属性计算模块计算所获取的人脸图像中的人脸属性。所述人脸动作识别模块根据所计算的人脸属性识别人脸动作,其中,所述人脸属性包括人脸关键点位置、人脸动作系数、人脸姿态系数中的至少一项。

根据本发明第二实施例的活体人脸验证装置,对于随机地生成的动作指令序列中的每个动作指令,只有用户在规定的定时时间内完成指定动作并且用户不能做出明显错误动作的情况下,才能通过该动作指令的动作匹配检测。这里,所述明显错误动作可以包括与当前动作指令不匹配的可识别的人脸动作,或者根据实际情况还可以包括与当前动作指令不匹配的明显的不可识别的人脸动作。

例如,所述指令序列发出模块610当前发出的动作指令为眨眼指令,所述定时器6230的定时时间为5秒,当检测到用户的人脸动作为微笑、摇头、伸舌等时,所述动作匹配检测子模块6210确定人脸动作与动作指令不匹配,无论所述定时器6230的定时时间是否到期,所述验证结果输出子模块6220都得到活体人脸检测失败的结果;另一方面,当在所述定时器6230的定时时间内一直未检测到有效的人脸动作时,即不仅没有检测到眨眼动作也没有检测到其它可识别的人脸动作,在此情况下,所述验证结果输出子模块6220也得到活体人脸检测失败的结果。

其中,图像获取模块、人脸属性计算模块、人脸动作识别模块均可以为硬件、软件、固件以及它们的任意可行的组合。

接下来,将具体描述本发明实施例中的随机生成的动作指令序列。根据本发明实施例的所述动作指令序列可以包括至少一个动作指令,每个动作指令为单一动作指令或序贯动作指令,每个序贯动作指令指示依次执行至少两个单一动作,每个单一动作为简单动作或复杂动作,每个单一动作指令指示执行一个单一动作,并且每个单一动作指令为简单动作指令或复杂动作指令,每个简单动作指令指示执行一个脸部动作,每个复杂动作指令指示同时执行至少两个脸部动作。在本发明实施例中,简单动作可以指仅包括一个脸部动作的动作,例如眨眼、闭眼、微笑、点头、摇头等;复杂动作可以指同时进行至少两个脸部动作的动作,例如同时张嘴且左摇头、同时闭眼且仰头等。

将参照根据本发明第二实施例的活体人脸验证方法及装置给出所述动作指令序列的示例。

第一示例

在该第一示例中,所述动作指令序列包括至少两个动作指令,每个动作指令为简单动作指令。

所述随机动作指令序列生成模块510随机地生成的动作指令序列包括两个动作指令,每个动作指令为简单动作指令。例如,该动作指令序列依序包括:眨眼动作指令(第一动作指令)以及张嘴动作指令(第二动作指令)。

所述指令序列发出模块610首先发出眨眼动作指令,并且所述定时器6230开始计时。

在动作匹配检测子模块6210确定人脸动作为眨眼动作、并且所述定时器6230未超时的情况下,所述随机动作指令序列生成模块510发出张嘴动作指令并且所述定时器6230重新开始计时。

接下来,在动作匹配检测子模块6210确定人脸动作为张嘴动作、并且所述定时器6230未超时的情况下,所述验证结果输出子模块6220输出活体人脸验证成功的结果。

然而,在眨眼动作检测过程中,在所述定时器6230未超时、但所述动作匹配检测子模块6210确定人脸动作为伸舌动作的情况下,或者在所述定时器6230超时并且所述动作匹配检测子模块6210未检测到可识别的人脸动作的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。这里,可识别的人脸动作可以包括如上所述的在人脸动作模型库中预先定义的人脸动作。

另一方面,在张嘴动作检测过程中,在所述定时器6230未超时、但所述动作匹配检测子模块6210确定人脸动作为摇头动作的情况下,或者在所述定时器6230超时并且所述动作匹配检测子模块6210未检测到可识别的人脸动作的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

可选地,在所述定时器6230未超时、但所述动作匹配检测子模块6210检测到不可识别的人脸动作的情况下,所述动作匹配检测子模块6210也可以输出活体人脸验证失败的结果,或者可以继续检测人脸动作。这里,不可识别的人脸动作包括在人脸动作模型库中未预先定义的人脸动作,并且不可识别的人脸动作不同于无人脸动作。例如,不可识别的人脸动作可以是手遮住人脸眼睛等。

在该示例中,即使随机生成的动作指令序列仅包括两个简单动作指令,由于其随机性,可以较好地防范针对固定动作指令所进行的攻击。

第二示例

在该第二示例中,所述至少一个动作指令为简单动作指令与复杂动作指令的任意组合,并且所述至少一个动作指令中的至少一部分为复杂动作指令。

例如,所述随机动作指令序列生成模块510随机地生成的动作指令序列仅包括一个复杂动作指令,该复杂动作指令为同时张嘴且左摇头动作指令。

所述指令序列发出模块610发出该同时张嘴且左摇头动作指令。

在动作匹配检测子模块6210确定人脸动作为同时张嘴且左摇头动作、并且所述定时器6230未超时的情况下,所述验证结果输出子模块6220输出活体人脸验证成功的结果。

然而,在所述定时器6230未超时、但所述动作匹配检测子模块6210确定人脸动作为低头动作的情况下,或者在所述定时器6230超时并且所述动作匹配检测子模块6210未检测到可识别的人脸动作的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

可选地,在所述定时器6230未超时、但所述动作匹配检测子模块6210检测到不可识别的人脸动作的情况下,根据实际需要,所述动作匹配检测子模块6210也可以输出活体人脸验证失败的结果,或者可以继续检测人脸动作。

在该示例中,随机生成的动作指令序列包括了复杂动作指令,相对于简单动作指令而言,可以使得活体人脸验证更为准确,并且抗攻击能力更强。

第三示例

在该第三示例中,与该第二示例的情况相同,所述至少一个动作指令为简单动作指令与复杂动作指令的任意组合,并且所述至少一个动作指令中的至少一部分为复杂动作指令。

例如,所述随机动作指令序列生成模块510随机地生成的动作指令序列可以包括两个动作指令,其中,第一动作指令为同时伸舌且仰头动作指令(复杂动作指令),第二动作指令为微笑动作指令(简单动作指令)。

所述指令序列发出模块610首先发出该同时伸舌且仰头动作指令,并且所述定时器6230开始计时。

在动作匹配检测子模块6210确定人脸动作为伸舌且仰头动作、并且所述定时器6230未超时的情况下,所述指令序列发出模块610确定还有一个动作指令(即,第二动作指令)需要发出。

然后,所述指令序列发出模块610再发出微笑动作指令,并且定时器6230重新开始计时。

接下来,在动作匹配检测子模块6210确定人脸动作为微笑动作、并且所述定时器6230未超时的情况下,所述指令序列发出模块610确定没有动作指令需要发出。此时,所述验证结果输出子模块6220输出活体人脸验证成功的结果。

另一方面,在所述指令序列发出模块610发出该同时伸舌且仰头动作指令后,在所述动作匹配检测子模块6210确定人脸动作为摇头动作(即,可识别的人脸动作)、并且所述定时器6230未超时的情况下,或者在所述定时器6230超时的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

另外,在所述指令序列发出模块610发出该微笑动作指令后,在所述动作匹配检测子模块6210确定人脸动作为点头动作(即,可识别的人脸动作)、并且所述定时器6230未超时的情况下,或者在所述定时器6230超时的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

在该示例中,随机生成的动作指令序列包括多个动作指令,并且所述多个动作指令至少包括复杂动作指令,相对于一个动作指令而言,提高了活体人脸验证的要求,可以很好地防止视频、3d人脸模型、和人脸面具的攻击。

第四示例

在第一到第三示例中,无论是简单动作指令还是复杂动作指令,每个动作指令均为单一动作指令。

在该第四示例中,所述至少一个动作指令为序贯动作指令与单一动作指令的任意组合,并且所述至少一个动作指令中的至少一部分动作指令为序贯动作指令。

例如,随机动作指令序列生成模块510随机生成的动作指令序列包括一个序贯动作指令,该序贯动作指令为先眨眼再伸舌。在此情况下,在所述定时器6230未超时、并且所述动作匹配检测子模块6210首先识别出眨眼动作接着又识别出伸舌动作的情况下,所述验证结果输出子模块6220输出活体人脸验证成功的结果。反之,在所述定时器6230超时、或者在所述动作匹配检测子模块6210检测到与所述序贯动作指令不同的其它可识别的人脸动作(例如,摇头、或伸舌、或先眨眼再摇头、或先眨眼再微笑)的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

再例如,随机动作指令序列生成模块510随机生成的动作指令序列包括两个序贯动作指令,其中,第一动作指令为先眨眼再伸舌,第二动作指令为先微笑再抬头。在此情况下,在所述定时器6230未超时、并且所述动作匹配检测子模块6210首先识别出眨眼动作接着又识别出伸舌动作的情况下,所述指令序列发出模块610继续发出第二动作指令并且定时器6230重置,然后,在所述定时器6230未超时、并且所述动作匹配检测子模块6210首先识别出微笑动作接着又识别出抬头动作的情况下,所述验证结果输出子模块6220输出活体人脸验证成功的结果。反之,在所述定时器6230超时、或者在所述动作匹配检测子模块6210检测到与所述第一动作指令不同的其它可识别的人脸动作、或者在所述动作匹配检测子模块6210检测到与所述第二动作指令不同的其它可识别的人脸动作的情况下,所述验证结果输出子模块6220输出活体人脸验证失败的结果。

再例如,随机动作指令序列生成模块510随机生成的动作指令序列包括一个序贯动作指令和一个单一动作指令,其中,第一动作指令为序贯动作指令,例如先眨眼再伸舌,第二动作指令为单一动作指令,例如同时张嘴并摇头(复杂动作指令)。在此情况下,在所述定时器6230未超时、并且所述动作匹配检测子模块6210首先识别出眨眼动作接着又识别出伸舌动作的情况下,所述指令序列发出模块610继续发出第二动作指令并且定时器6230重置,然后,在所述定时器6230未超时、并且所述动作匹配检测子模块6210识别出同时张嘴并摇头动作的情况下,所述验证结果输出子模块6220输出活体人脸验证成功的结果。

以上给出了根据本发明实施例的活体人脸验证方法及装置可以随机地生成并采用的动作指令序列的示例,动作指令序列越复杂,活体人脸验证的可靠性越高,抗视频攻击、3d人脸模型攻击的能力越强。

图8示出了根据本发明实施例的活体人脸验证系统的示意性框图。

如图8所示,根据本发明实施例的活体人脸验证系统包括:一个或多个处理器;一个或多个存储器;以及在所述存储器的至少一个中存储的计算机程序指令。

所述计算机程序指令在被处理器的至少一个运行时可以实现根据本发明实施例的活体人脸验证装置的各个功能模块的功能,并且/或者可以执行根据本发明实施例的活体人脸验证方法

具体地,在所述计算机程序指令被所述处理器的至少一个运行时执行以下步骤:随机地生成动作指令序列;以及在确定人脸动作匹配所述动作指令序列的情况下,确定活体人脸验证成功。

例如,在所述计算机程序指令被所述处理器的至少一个运行时可以执行如上所述的根据本发明第一实施例的活体人脸验证方法,并且可以执行以下步骤:按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令;对于每个动作指令,在确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

再例如,在所述计算机程序指令被所述处理器的至少一个运行时可以执行如上所述的根据本发明第二实施例的活体人脸验证方法,并且可以执行以下步骤:按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令;对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

此外,在所述计算机程序指令被所述处理器的至少一个运行时还执行以下步骤:获取人脸图像;计算所述人脸图像中的人脸属性;以及根据所计算的人脸属性,识别人脸动作,其中,所述人脸属性包括人脸关键点位置、人脸动作系数、人脸姿态系数中的至少一项。

此外,根据本发明实施例的活体人脸验证系统还可以包括:图像采集设备,用于采集人脸图像。

在此情况下,根据本发明实施例的活体人脸验证系统,在所述计算机程序指令被所述处理器的至少一个运行时从所述图像采集设备获取人脸图像。

此外,根据本发明实施例,还提供了一种计算机程序产品。根据本发明实施例的计算机程序产品包括计算机可读存储介质,在所述计算机可读存储介质上存储了计算机程序指令。

所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的活体人脸验证装置的各个功能模块的功能,并且/或者可以执行根据本发明实施例的活体人脸验证方法。

例如,所述计算机程序指令在被计算机运行时执行以下步骤:随机地生成动作指令序列;以及在确定人脸动作依序匹配所述动作指令序列的情况下,确定活体人脸验证成功。

例如,在所述计算机程序指令被所述计算机运行时可以执行如上所述的根据本发明第一实施例的活体人脸验证方法,并且可以执行以下步骤:按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令;对于每个动作指令,在确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

再例如,在所述计算机程序指令被所述计算机运行时可以执行如上所述的根据本发明第二实施例的活体人脸验证方法,并且可以执行以下步骤:按照所述动作指令序列中的指令顺序,发出所述动作指令序列内所有尚未发出的动作指令中当前排序最前的动作指令;对于每个动作指令,在确定在该动作指令发出后的定时时间内未检测到人脸动作、或者确定人脸动作与该动作指令不匹配的情况下,确定活体人脸验证失败;对于除了所述动作指令序列中排序最低的动作指令之外的动作指令,仅在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配并且存在下一个动作指令需要发出的情况下,才发出下一个动作指令;以及对于所述动作指令序列中排序最低的动作指令,在确定在该动作指令发出后的定时时间内检测到的人脸动作与该动作指令匹配的情况下,确定活体人脸验证成功。

此外,在所述计算机程序指令被所述处理器的至少一个运行时还执行以下步骤:获取人脸图像;计算所述人脸图像中的人脸属性;以及根据所计算的人脸属性,识别人脸动作,其中,所述人脸属性包括人脸关键点位置、人脸动作系数、人脸姿态系数中的至少一项。

根据本发明实施例的活体人脸验证装置中的各模块可以通过根据本发明实施例的活体人脸验证系统中的至少一个处理器运行在至少一个存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。

所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含用于随机地生成动作指令序列的计算机可读的程序代码,另一个计算机可读存储介质包含用于进行人脸活动识别的计算机可读的程序代码。

所述计算机可读存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。

在上面详细描述的本发明的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,组合或子组合,并且这样的修改应落入本发明的范围内。

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