活体检测方法、装置、电子设备及计算机可读存储介质与流程

文档序号:18826617发布日期:2019-10-09 01:50阅读:181来源:国知局
活体检测方法、装置、电子设备及计算机可读存储介质与流程

本申请实施例涉及人脸识别技术领域,具体而言,本申请涉及一种活体检测方法、装置、电子设备及计算机可读存储介质。



背景技术:

随着智能终端不断普及和功能的日益强大,移动互联网应用已经全面融入并影响人们的生活。特别的,在移动支付以及互联网金融的快速发展背景下,用户的身份鉴别日益重要。在此背景下,人脸识别系统越来越多地应用于安防、金融、社保领域需要身份验证的线上场景,如线上银行开户、线上交易操作验证、无人值守的门禁系统、线上社保办理、线上医保办理等。在这些高安全级别的应用领域,除了确保被验证者的人脸相似度符合数据库中存储的底库外,首先需要验证被验证者是一个合法的生物活体,即进行活体检测。

目前的活体检测通常是用户按照系统指示做出相应的动作,防止用户或攻击者在一些重要环境下,使用照片、视频、3d人脸模型、或者面具等骗过系统完成验证。然而,目前的活体检测方法易被攻击者利用,比如攻击者可以提前录制好各个动作,从而在录制视频时,按照提示信息依次播放录制好的动作视频,进而攻破活体检测。因此,亟需一种更安全稳健的活体检测方法。



技术实现要素:

本申请实施例的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:

一方面,提供了一种活体检测方法,包括:

接收到客户端发送的请求时,基于预定的颜色生成规则生成相应的颜色信息,并向客户端发送包括颜色信息的响应信息,颜色信息包括至少两种颜色组成的颜色序列;

接收客户端发送的基于颜色信息采集的目标对象的视频信息;

基于视频信息对目标对象进行活体检测处理,并向客户端发送相应的活体检测结果。

在一种可能的实现方式中,基于预定的颜色生成规则生成相应的颜色信息,包括:

基于预定的颜色生成规则,根据至少两个预设颜色码生成预设长度的颜色序列,并确定颜色序列中各个颜色分别对应的图像采集帧数,其中,各个预设颜色码分别代表相应的颜色;

接收客户端发送的基于颜色信息采集的目标对象的视频信息,包括:

接收客户端发送的基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息。

在一种可能的实现方式中,基于视频信息对目标对象进行活体检测处理,包括:

从视频信息中提取与颜色序列中各个颜色分别对应的各个图像帧;

确定各个图像帧分别对应的面部区域,并计算面部区域的第一rgb值,以及基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,基于视频信息对目标对象进行活体检测处理,包括:

从视频信息中提取第一预设数量的图像帧;

通过预训练的神经网络模型,根据第一预设数量的图像帧,对目标对象进行活体检测处理,得到第二检测结果;

根据第一检测结果与第二检测结果,得到目标对象是否是活体的活体检测结果。

在一种可能的实现方式中,基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果,包括:

根据各个第一rgb值和视频信息中各个图像帧的时序,得到相应的第一r值序列、第一g值序列以及第一b值序列;

根据颜色序列中的各个第二rgb值和对应的图像采集帧数,得到相应的第二r值序列、第二g值序列及第二b值序列;

确定第一r值序列与第二r值序列间的第一匹配度、确定第一g值序列与第二g值序列间的第二匹配度、以及确定第一b值序列与第二b值序列间的第三匹配度;

根据第一匹配度、第二匹配度及第三匹配度,对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,确定第一x值序列与第二x值序列间的匹配度,x为r、g和b中任一项,包括以下任一项:

当颜色序列中包括黑色与白色时,对第一x值序列进行归一化处理与二值化处理,得到二值化x序列;按照序列位置依次对比二值化x序列与二值化处理后的第二x值序列,确定两序列具有相同取值的第一数量,并根据第一数量与二值化x序列的序列长度间的比值,确定第一x值序列与第二x值序列间的匹配度;

确定第一x值序列的各个第一跳变点与各个第一跳变方向,以及确定第二x值序列的各个第二跳变点与各个第二跳变方向,并根据各个第一跳变点与各个第二跳变点的比较结果以及各个第一跳变方向与各个第二跳变方向的比较结果,确定第一x值序列与第二x值序列间的匹配度。

在一种可能的实现方式中,在基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果之前,还包括:

将各个第一rgb值分别进行离散傅里叶变换处理、低通滤波处理与离散傅里叶反变换处理,以滤除第一rgb值中的高频噪声。

在一种可能的实现方式中,基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果,包括:

将各个第一rgb值分别转换为预定模式的第一颜色空间值,以及将颜色序列的第二rgb值转换为预定模式的第二颜色空间值;

将各个第一颜色空间值按照预定模式的颜色通道分别进行划分,并基于视频信息中各个图像帧的时序,得到包括同一通道下的通道颜色值的第一通道颜色值序列;

将第二颜色空间值按照预定模式的颜色通道进行划分,得到包括同一通道下的通道颜色值的第二通道颜色值序列;

按照时序位置确定同一通道下的第一通道颜色值序列与第二通道颜色值序列的第四匹配度,并根据第四匹配度对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,该方法还包括:

接收到客户端发送的颜色信息获取请求时,生成针对颜色信息获取请求的请求标识,并记录接收到请求标识对应的颜色信息获取请求时的第一接收时间;

响应信息包括请求标识,视频信息包括请求标识;

其中,基于视频信息检测目标对象是否是活体,包括:

确定接收到视频信息时的第二接收时间;

根据视频信息中包括的请求标识,确定颜色信息获取请求的第一接收时间;

基于第一接收时间与第二接收时间的时间差值,对目标对象进行活体检测处理。

一方面,提供了一种活体检测方法,包括:

向服务器发送请求,并接收服务器针对请求反馈的响应信息,响应信息包括服务器基于预定的颜色生成规则生成的颜色信息,颜色信息包括至少两种颜色组成的颜色序列;

基于颜色信息采集目标对象的视频信息,并向服务器发送视频信息,以使得服务器基于视频信息对所述目标对象进行活体检测处理;

接收服务器返回的对所述目标对象进行活体检测处理的活体检测结果。

在一种可能的实现方式中,基于颜色信息采集目标对象的视频信息,包括:

控制显示屏幕显示预定提示图案并输出预定提示信息,以使得目标对象根据预定提示信息处于预定提示图案中;

当检测到目标对象根据预定提示信息处于预定提示图案中时,控制显示屏幕显示与所述颜色序列对应的颜色并控制图像采集设备采集目标对象的视频信息。

在一种可能的实现方式中,颜色信息是服务器基于预定的颜色生成规则,根据至少两个预设颜色码生成的预设长度的颜色序列,各个预设颜色码分别代表相应的颜色,颜色序列中的各个颜色具有各自对应的图像采集帧数;

控制显示屏幕显示颜色信息并控制图像采集设备采集目标对象的视频信息,包括:

控制显示屏幕显示颜色序列,并控制图像采集设备采集根据颜色序列中各个颜色各自对应的图像采集帧数采集视频信息。

一方面,提供了一种活体检测装置,包括:

第一处理模块,用于接收到客户端发送的请求时,基于预定的颜色生成规则生成相应的颜色信息,并向客户端发送包括颜色信息的响应信息,颜色信息包括至少两种颜色组成的颜色序列;

第一接收模块,用于接收客户端发送的基于颜色信息采集的目标对象的视频信息;

第二处理模块,用于基于视频信息对目标对象进行活体检测处理,并向客户端发送相应的活体检测结果。

在一种可能的实现方式中,第一处理模块具体用于基于预定的颜色生成规则,根据至少两个预设颜色码生成预设长度的颜色序列,并确定颜色序列中各个颜色分别对应的图像采集帧数,其中,各个预设颜色码分别代表相应的颜色;

第一接收模块具体用于接收客户端发送的基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息。

在一种可能的实现方式中,第二处理模块具体用于从视频信息中提取与颜色序列中各个颜色分别对应的各个图像帧;以及确定各个图像帧分别对应的面部区域,并计算面部区域的第一rgb值,以及基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,第二处理模块包括抽样子模块、检测子模块与第一活体确定子模块;

抽样子模块,用于从视频信息中提取第一预设数量的图像帧;

检测子模块,用于通过预训练的神经网络模型,根据第一预设数量的图像帧,对目标对象进行活体检测处理,得到第二检测结果;

第一活体确定子模块,用于根据第一检测结果与第二检测结果,得到目标对象是否是活体的活体检测结果。

在一种可能的实现方式中,第二处理模块包括第一序列生成子模块、第二序列生成子模块、第一匹配度确定子模块与第二活体确定子模块;

第一序列生成子模块,用于根据各个第一rgb值和视频信息中各个图像帧的时序,得到相应的第一r值序列、第一g值序列以及第一b值序列;

第二序列生成子模块,用于根据颜色序列中的各个第二rgb值和对应的图像采集帧数,得到相应的第二r值序列、第二g值序列及第二b值序列;

第一匹配度确定子模块,用于确定第一r值序列与第二r值序列间的第一匹配度、确定第一g值序列与第二g值序列间的第二匹配度、以及确定第一b值序列与第二b值序列间的第三匹配度;

第二活体确定子模块,用于根据第一匹配度、第二匹配度及第三匹配度,对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,第一匹配度确定子模块具体用于执行以下任一项:

当颜色序列中包括黑色与白色时,对第一x值序列进行归一化处理与二值化处理,得到二值化x序列;按照序列位置依次对比二值化x序列与二值化处理后的第二x值序列,确定两序列具有相同取值的第一数量,并根据第一数量与二值化x序列的序列长度间的比值,确定第一x值序列与第二x值序列间的匹配度;

确定第一x值序列的各个第一跳变点与各个第一跳变方向,以及确定第二x值序列的各个第二跳变点与各个第二跳变方向,并根据各个第一跳变点与各个第二跳变点的比较结果以及各个第一跳变方向与各个第二跳变方向的比较结果,确定第一x值序列与第二x值序列间的匹配度;

x为r、g和b中任一项。

在一种可能的实现方式中,还包括第三处理模块;

第三处理模块,用于将各个第一rgb值分别进行离散傅里叶变换处理、低通滤波处理与离散傅里叶反变换处理,以滤除第一rgb值中的高频噪声。

在一种可能的实现方式中,第二处理模块包括空间转换子模块、第三序列生成子模块、第四序列生成子模块与第二匹配度确定子模块;

空间转换子模块,用于将各个第一rgb值分别转换为预定模式的第一颜色空间值,以及将颜色序列的第二rgb值转换为预定模式的第二颜色空间值;

第三序列生成子模块,用于将各个第一颜色空间值按照预定模式的颜色通道分别进行划分,并基于视频信息中各个图像帧的时序,得到包括同一通道下的通道颜色值的第一通道颜色值序列;

第四序列生成子模块,用于将第二颜色空间值按照预定模式的颜色通道进行划分,得到包括同一通道下的通道颜色值的第二通道颜色值序列;

第二匹配度确定子模块,用于按照时序位置确定同一通道下的第一通道颜色值序列与第二通道颜色值序列的第四匹配度,并根据第四匹配度对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,该装置还包括第四处理模块;

第四处理模块,用于接收到客户端发送的颜色信息获取请求时,生成针对颜色信息获取请求的请求标识,并记录接收到请求标识对应的颜色信息获取请求时的第一接收时间;

响应信息包括请求标识,视频信息包括请求标识;

其中,第二处理模块具体用于确定接收到视频信息时的第二接收时间;以及用于根据视频信息中包括的请求标识,确定颜色信息获取请求的第一接收时间;以及用于基于第一接收时间与第二接收时间的时间差值,对目标对象进行活体检测处理。

一方面,提供了一种活体检测装置,包括:

收发处理模块,用于向服务器发送请求,并接收服务器针对请求反馈的响应信息,响应信息包括服务器基于预定的颜色生成规则生成的颜色信息,颜色信息包括至少两种颜色组成的颜色序列;

采集处理模块,用于基于颜色信息采集目标对象的视频信息,并向服务器发送视频信息,以使得服务器基于视频信息对目标对象进行活体检测处理;

第二接收模块,用于接收服务器返回的对目标对象进行活体检测处理的活体检测结果。

在一种可能的实现方式中,采集处理模块包括控制输出子模块与采集子模块;

控制输出子模块,用于控制显示屏幕显示预定提示图案并输出预定提示信息,以使得目标对象根据预定提示信息处于预定提示图案中;

采集子模块,用于当检测到目标对象根据预定提示信息处于预定提示图案中时,控制显示屏幕显示与颜色序列对应的颜色并控制图像采集设备采集目标对象的视频信息。

在一种可能的实现方式中,颜色信息是服务器基于预定的颜色生成规则,根据至少一个预设颜色码生成的预设长度的颜色序列,各个预设颜色码分别代表相应的颜色,颜色序列中的各个颜色具有各自对应的图像采集帧数;

采集子模块具体用于控制显示屏幕显示颜色序列,并控制图像采集设备采集根据颜色序列中各个颜色各自对应的图像采集帧数采集视频信息。

一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的服务器侧的活体检测方法。

一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的客户端侧的活体检测方法。

一方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述服务器侧的活体检测方法。

一方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述客户端侧的活体检测方法。

本申请实施例提供的活体检测方法,通过基于预定的颜色生成规则生成相应的颜色信息,以及接收客户端基于该颜色信息采集的目标对象的视频信息,使得接收到的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,基于该视频信息对目标对象进行活体检测处理,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

本申请实施例提供的活体检测方法,通过向服务器请求颜色信息,并基于颜色信息采集目标对象的视频信息,使得采集的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,能够在一定程度上抵御黑客攻击;通过向服务器发送采集的视频信息,使得服务器可以基于视频信息对目标对象进行活体检测处理,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请实施例上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请一个实施例的活体检测方法的流程示意图;

图2为本申请又一实施例的活体检测方法的流程示意图;

图3为本申请又一实施例在活体检测方法中控制显示屏幕显示预定提示图案并输出预定提示信息的示意图;

图4为本申请实施例的活体检测方法的交互过程示意图;

图5为本申请另一实施例的活体检测装置的基本结构示意图;

图6为本申请另一实施例的活体检测装置的详细结构示意图;

图7为本申请再一实施例的活体检测装置的基本结构示意图;

图8为本申请再一实施例的活体检测装置的详细结构示意图;

图9为本申请实施例的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请实施例提供的活体检测方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请一个实施例提供了一种活体检测方法,该方法由服务器执行。服务器可以是独立的物理服务器、物理服务器集群或者虚拟服务器。如图1所示,该方法包括:

步骤s110,接收到客户端发送的请求时,基于预定的颜色生成规则生成相应的颜色信息,并向客户端发送包括颜色信息的响应信息,颜色信息包括至少两种颜色组成的颜色序列。

具体地,客户端对目标对象(例如客户a)进行活体检测时,需要先向服务器发送相应的请求,该请求可以是颜色请求也可以是活体检测的触发请求。当该请求是颜色请求时,客户端向服务器请求获取相应的颜色信息,此时客户端可以通过向服务器发送颜色信息获取请求的方式,来从服务器获取相对应的颜色信息。相对应地,服务器接收客户端发送的颜色信息获取请求。当该请求是活体检测的触发请求时,客户端通过该活体检测的触发请求,向服务器请求用于进行活体检测的颜色信息,以从服务器获取相对应的颜色信息。相对应地,服务器接收客户端发送的活体检测的触发请求。其中,颜色信息包括至少两种颜色组成的颜色序列。

具体地,服务器可以基于预定的颜色生成规则生成相应的颜色信息。其中,服务器在生成相应的颜色信息后,将该颜色信息发送给客户端,以响应客户端的请求,即向客户端发送包括颜色信息的响应信息。

步骤s120,接收客户端发送的基于颜色信息采集的目标对象的视频信息。

具体地,服务器向客户端发送包括颜色信息的响应信息之后,客户端可以根据接收到的颜色信息采集目标对象的视频信息,并在完成视频信息的采集之后,将采集到的视频信息发送给服务器。相对应地,服务器接收客户端发送的基于颜色信息采集的目标对象的视频信息。

步骤s130,基于视频信息对目标对象进行活体检测处理,并向客户端发送相应的活体检测结果。

具体地,服务器在接收到客户端发送的基于颜色信息采集的目标对象的视频信息之后,可以基于接收到的视频信息对目标对象进行活体检测处理,以检测该视频信息中的目标对象是否是真实的活体对象,即基于视频信息检测目标对象是否是活体。

具体地,服务器在基于视频信息完成目标对象是否是活体的检测之后,可以将相应的活体检测结果(是活体或者不是活体)发送给客户端,即向客户端发送相应的活体检测结果。

本申请实施例提供的活体检测方法,通过基于预定的颜色生成规则生成相应的颜色信息,以及接收客户端基于该颜色信息采集的目标对象的视频信息,使得接收到的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,基于该视频信息对目标对象进行活体检测处理,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

在本申请一个实施例的一种可能的实现方式中,颜色信息包括颜色序列以及颜色序列中各个颜色分别对应的图像采集帧数,基于预定的颜色生成规则生成相应的颜色信息,包括:基于预定的颜色生成规则,根据至少两个预设颜色码生成预设长度的颜色序列,并确定所述颜色序列中各个颜色分别对应的图像采集帧数,其中,各个预设颜色码分别代表相应的颜色。其中,接收客户端发送的基于颜色信息采集的目标对象的视频信息,包括:接收客户端发送的基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息。

具体地,服务器基于预定的颜色生成规则生成相应的颜色信息,包括但不限于服务器随机生成相应的颜色信息、按照提前设定好的规则生成相应的颜色信息等,即颜色生成规则包括但不限于随机生成规则、根据需要提前设定好的规则等。

具体地,上述的颜色信息可以包括由至少两个预设颜色码组成的预设长度的颜色序列,也可以包括由具体rgb值组成的预设长度的颜色序列。各个预设颜色码分别代表相应的颜色,预设颜色码包括但不限于数字0~9、字母a~z、特殊字符(例如@、#、&等等)以及数字、字母、特殊字符之间的任意组合形式(例如1a、2&、a#、1a@等)等。其中,每种颜色唯一对应一个预设颜色码,即一种颜色只能使用一个预设颜色码唯一表示。

在实际应用中,使用哪个预设颜色码代表哪种颜色,是根据需要提前建立好的一一对应关系,例如将rgb值为(255,0,0)的红色用预设颜色码0表示,又例如将rgb值为(0,255,0)的绿色用预设颜色码1表示,又例如将rgb值为(0,0,255)的蓝色用预设颜色码2表示,又例如将rgb值为(0,0,0)的黑色用预设颜色码a表示,再例如将rgb值为(255,255,255)的白色使用预设颜色码“@b”这一预设颜色码表示。

具体地,当由具体rgb值组成预设长度的颜色序列时,可以使用(255,0,0)这一rgb值唯一表示红色、使用(0,255,0)这一rgb值唯一表示绿色、使用(0,0,255)这一rgb值唯一表示蓝色、使用(0,0,0)这一rgb值唯一表示黑色及使用(255,255,255)这一rgb值唯一表示白色等等。

具体地,颜色序列包括的各种颜色(用预设颜色表示),可以结合实际需要,根据预定的颜色生成规则进行调整,比如在一种情况下,颜色序列1为红绿蓝红绿蓝红绿蓝…,又比如在另一种情况下,颜色序列2为蓝绿红蓝绿红蓝绿红…,再比如在另一种情况下,颜色序列3为黑红绿蓝白黑红绿蓝白黑红绿蓝白…等。假如红色的预设颜色码为0、绿色的预设颜色码为1、蓝色的预设颜色码为2、黑色的预设颜色码为a、白色的预设颜色码为“@b”,则颜色序列1为具体为012012012…,颜色序列2具体为210210210…,颜色序列3具体为a012@ba012@ba012@b...,其中,颜色序列的长度可以是10秒、20秒、30秒等预设长度,也可以是各种颜色或颜色组合的出现次数。

具体地,服务器在基于预定的颜色生成规则,根据至少两个预设颜色码生成预设长度的颜色序列的过程中,可以同时指定或设定该颜色序列中各个颜色分别对应的图像采集帧数,该颜色序列中各个颜色分别对应的图像采集帧数可以称作颜色序列的配置信息,若无特殊说明,后续的配置信息均指颜色序列中各个颜色分别对应的图像采集帧数。以上述的颜色序列1为例,比如设定红色的图像采集帧数为p1帧(即在当前显示红色时采集p1帧目标图像)、绿色的图像采集帧数为p2帧(即在当前显示绿色时采集p2帧目标图像)、蓝色的图像采集帧数为p3帧(即在当前显示蓝色时采集p3帧目标图像)等,其中,p1、p2及p3为正整数,且p1、p2及p3的取值可以相同,也可以不相同。

进一步地,服务器基于预定的颜色生成规则,根据至少一个预设颜色码生成预设长度的颜色序列,并确定颜色序列中各个颜色分别对应的图像采集帧数之后,将该颜色序列及配置信息发送给客户端,以响应客户端的颜色信息获取请求。客户端可以根据接收到的颜色序列及配置信息采集目标对象的视频信息,即基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息,并在完成视频信息的采集之后,将采集到的视频信息发送给服务器。相对应地,服务器接收客户端发送的基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息。

在本申请一个实施例的一种可能的实现方式中,基于视频信息对目标对象进行活体检测处理,包括:从视频信息提取与颜色序列中各个颜色分别对应的各个图像帧,确定各个图像帧分别对应的面部区域,并计算面部区域的第一rgb值,以及基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果。

具体地,服务器接收到客户端发送的基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息之后,可以从该视频信息中提取与颜色序列中各个颜色分别对应的各个图像帧,其中,各个颜色分别对应的图像帧的数量是由服务器生成颜色序列时的配置信息决定的。以上述的颜色序列1为例,假如红色的图像采集帧数为4帧、绿色的图像采集帧数为4帧、蓝色的图像采集帧数为4帧,并且该颜色序列的预设长度为红绿蓝红绿蓝红绿蓝红绿蓝红绿蓝,即“红绿蓝”这一组合的重复出现次数为5次,也即红色对应的图像帧总数为20帧,绿色对应的图像帧总数为20帧,蓝色对应的图像帧总数为20帧,颜色序列1对应的图像帧总数为60帧,则:在从视频信息中提取图像帧时,可以从视频信息中提取与颜色序列中各个颜色分别对应的各个图像帧,比如分别提取出红色对应的20帧图像帧、绿色对应的20帧图像帧以及蓝色对应的20帧图像帧。

需要说明的是,在实际应用中,也可以根据需要,从视频信息中以预定时间间隔抽取出60帧图像帧,也可以从视频信息的最前端、中间位置、最后端等预定位置抽取出其中的60帧图像帧,还可以是其它的抽取方式,本申请实施例不对其做限制。

进一步地,在从视频信息中提取与颜色序列中各个颜色分别对应的各个图像帧的过程中,提取的各个图像帧具有一定的提取时序。以颜色序列1为例,根据提取的各个图像帧的提取时序,可以得到:第1帧图像至第4帧图像为第一个“红绿蓝”组合中红色对应的图像帧,第5帧图像至第8帧图像为第一个“红绿蓝”组合中绿色对应的图像帧,第9帧图像至第12帧图像为第一个“红绿蓝”组合中蓝色对应的图像帧,第13帧图像至第16帧图像为第二个“红绿蓝”组合中红色对应的图像帧,第17帧图像至第20帧图像为第二个“红绿蓝”组合中绿色对应的图像帧,第21帧图像至第24帧图像为第二个“红绿蓝”组合中蓝色对应的图像帧,依次类推,第51帧图像至第54帧图像为第五个“红绿蓝”组合中红色对应的图像帧,第55帧图像至第58帧图像为第五个“红绿蓝”组合中绿色对应的图像帧,第57帧图像至第60帧图像为第五个“红绿蓝”组合中蓝色对应的图像帧。如果将上述的第1帧图像至第60帧图像分别记作l1~l60,则提取的各个图像帧的时序依次为l1、l2、l3、….、l60。

进一步地,从视频信息中抽取出图像帧后,针对任一图像帧,可以先确定该任一图像帧的面部区域(例如人脸区域),接着计算该确定出的面部区域的rgb值(即上述的第一rgb值),其中,在计算该确定出的面部区域的rgb值的过程中,可以通过计算该确定出的面部区域的像素的平均值得到。在确定出各个图像帧分别对应的面部区域的rgb值(即上述的第一rgb值)以后,可以根据该各个rgb值(即上述的第一rgb值)来检测目标对象是否是活体,并得到第一检测结果。

具体地,当根据各个第一rgb值和颜色序列,对目标对象进行活体检测处理,并得到第一检测结果时,可以执行如下过程:

首先,根据各个第一rgb值和视频信息中各个图像帧的时序,得到相应的第一r值序列、第一g值序列以及第一b值序列。其中,在实际应用中可以采取如下处理:将各个第一rgb值分别按照r通道、g通道及b通道划分为相应的第一r值、第一g值及第一b值。

具体地,以上述颜色序列1为例,分别将第1个图像帧l1的rgb值(即上述的第一rgb值)划分为相应的第一r值(记作r1)、第一g值(记作g1)及第一b值(记作b1),将第2个图像帧l2的rgb值(即上述的第一rgb值)划分为相应的第一r值(记作r2)、第一g值(记作g2)及第一b值(记作b2),依次类推,将第60个图像帧l60的rgb值(即上述的第一rgb值)划分为相应的第一r值(记作r60)、第一g值(记作g60)及第一b值(记作b60)。

其次,基于视频信息中各个图像帧的时序,得到包括各个第一r值的第一r值序列、包括各个第一g值的第一g值序列以及包括各个第一b值的第一b值序列。根据上述描述可知,第一r值序列为r1、r2、…、r60,第一g值序列为g1、g2、…、g60,第一b值序列为b1、b2、…、b60。

再次,根据颜色序列中的各个第二rgb值和对应的图像采集帧数,得到相应的第二r值序列、第二g值序列及第二b值序列。其中,在实际应用中可以采取如下处理:确定服务器本地生成的颜色序列的第二rgb值,并将第二rgb值按照r通道、g通道及b通道划分为相应的第二r值、第二g值及第二b值,得到相应的第二r值序列、第二g值序列及第二b值序列。

具体地,服务器在根据客户端的颜色信息获取请求生成相应的颜色序列及配置信息(即颜色序列中各个颜色分别对应的图像采集帧数)后,会在本地存储该颜色序列及配置信息,可以根据该配置信息从本地存储的颜色序列中对应提取出相应帧数的图像帧(例如60帧),以及确定出各个图像帧的rgb值,该确定出的各个图像帧的rgb即为颜色序列的rgb值(即上述的第二rgb值)。

其中,在得到颜色序列的第二rgb值之后,可以将第二rgb值按照r通道、g通道及b通道划分为相应的第二r值、g值及第二b值,得到相应的第二r值序列(记作r’1、r’2、…、r’60)、第二g值序列(记作g’1、g’2、…、g’60)及第二b值序列(记作b’1、b’2、…、b’60)。

再次,确定第一r值序列(r1、r2、…、r60)与第二r值序列(r’1、r’2、…、r’60)间的第一匹配度、确定第一g值序列(g1、g2、…、g60)与第二g值序列(g’1、g’2、…、g’60)间的第二匹配度、以及确定第一b值序列(b1、b2、…、b60)与第二b值序列(b’1、b’2、…、b’60)间的第三匹配度。

具体地,无论是确定第一r值序列与第二r值序列间的第一匹配度,还是确定第一g值序列与第二g值序列间的第二匹配度,还是确定第一b值序列与第二b值序列间的第三匹配度,均可通过以下任一种方式,确定出相应的匹配度。为便于理解,可以概括为:确定第一x值序列与第二x值序列间的匹配度的方式,其中,x为r、g和b中任一项,包括以下任一种:

方式一:当颜色序列中包括黑色与白色时,例如颜色序列的前两个颜色固定为黑色与白色,又例如颜色序列的最后两个颜色固定为黑色与白色,再例如在颜色序列的任意位置包括黑色与白色,考虑到客户端通过显示屏幕显示相应颜色,并经反射将相应颜色反射到目标对象的面部区域后,再经过图像采集设备采集目标对象的视频信息时,颜色会有损失,容易出现采集到的颜色与服务器本地存储的颜色无法完全匹配的情况,于是:首先对第一x值序列进行归一化处理,归一化后的第一x值序列的取值范围为[0,1];接着,通过预先设定的相应阈值,将归一化后的第一x值序列进行二值化处理,例如,二值化为0与1,得到对应的二值化x序列。

服务器本地的第二x值序列通常是已经预先进行二值化处理后的,于是,在得到二值化x序列后,可以按照序列位置依次对比二值化x序列与二值化处理后的第二x值序列,确定两序列具有相同取值的数量(即上述的第一数量),并根据第一数量与二值化x序列的序列长度间的比值,确定第一x值序列与第二x值序列间的匹配度。假如第一x值序列经过归一化处理与二值化处理后得到的二值化x序列(记作序列t)为01100110,即二值化x序列的序列长度为8,二值化处理后的服务器本地的第二x值序列(记作序列t’)为01100100,则:按照序列位置依次对比序列t与序列t’,可以确定两序列(即序列t与序列t’)在倒数第二个序列位置的取值不同,其余序列位置的取值都相同,从而可以确定出序列t与序列t’具有相同取值的数量为7,即第一数量为7,进而可以根据第一数量与二值化x序列的序列长度间的比值(即7/8=87.5%),确定第一x值序列与第二x值序列间的匹配度为87.5%。

需要说明的是,当x为r时,得到的是第一r值序列与第二r值序列间的第一匹配度,当x为g时,得到的是第一g值序列与第二g值序列间的第二匹配度,当x为b时,得到的是第一b值序列与第二b值序列间的第三匹配度。

方式二:在得到第一x值序列与第二x值序列后,可以将第一x值序列中的各个序列值作为纵坐标、把各个序列值分别对应的序列位置作为横坐标,依次将各个序列值绘制为相应的坐标点并连接各个坐标点,可以得到第一x值序列的相应曲线(记作第一x值曲线)。其中,当x为r时,可以得到第一r值序列的曲线(记作第一r值曲线),当x为g时,可以得到第一g值序列的曲线(记作第一g值曲线),当x为b时,可以得到第一b值序列的曲线(记作第一b值曲线)。对于第二x值序列,也按照上述绘制曲线的方法,得到第二x值序列的相应曲线(记作第二x值曲线),其中,当x为r时,可以得到第二r值序列的曲线(记作第二r值曲线),当x为g时,可以得到第二g值序列的曲线(记作第二g值曲线),当x为b时,可以得到第二b值序列的曲线(记作第二b值曲线)。

其中,在得到第一x值曲线与第二x值序列曲线后,可以确定第一x值曲线的各个第一跳变点与各个第一跳变方向,以及确定第二x值曲线的各个第二跳变点与各个第二跳变方向,从而可以按照横坐标(即序列位置),依次对比第一x值曲线的各个第一跳变点与第二x值曲线的各个第二跳变点,得到相应的第一比较结果。同样地,可以按照横坐标(即序列位置),依次对比第一x值曲线的各个第一跳变方向与第二x值曲线的各个第二跳变方向,得到相应的第二比较结果。随后,可以根据第一比较结果以及第二比较结果,确定第一x值序列与第二x值序列间的匹配度。在实际应用中,可以通过对相应曲线进行一阶导数计算,找到其对应的各个第一跳变点,可以通过对相应曲线进行二阶导数计算,找到其对应的各个第一跳变方向。

需要说明的是,当x为r时,得到的是第一r值序列与第二r值序列间的第一匹配度,当x为g时,得到的是第一g值序列与第二g值序列间的第二匹配度,当x为b时,得到的是第一b值序列与第二b值序列间的第三匹配度。

最后,根据第一匹配度、第二匹配度及第三匹配度,对目标对象进行活体检测处理,得到第一检测结果。其中,第一检测结果可以是目标对象是否是活体的概率值,比如80%、95%等,又比如0.8、0.95等,此时可以通过对第一检测结果与预定阈值进行比较或判断,来确定目标对象是否是活体,比如当第一检测结果为不小于90%或不小于0.9时,认为目标对象是活体。当然,第一检测结果还可以是目标对象是否是活体的指示值,例如0、1等,比如,0代表示目标对象不是活体、1代表目标对象是活体,又比如0代表示目标对象是活体、1代表目标对象不是活体。

具体地,在根据第一匹配度、第二匹配度及第三匹配度,确定目标对象是否是活体的过程中,可以综合考虑第一匹配度、第二匹配度及第三匹配度,来确定目标对象是否是活体,例如可以当第一匹配度、第二匹配度及第三匹配度均高于预定匹配度阈值时,确定目标对象是活体,得到第一检测结果,又例如当第一匹配度、第二匹配度及第三匹配度中的任意两个高于预定匹配度阈值时,确定目标对象是活体,得到第一检测结果,再例如,对第一匹配度、第二匹配度及第三匹配度进行加权平均,根据得到加权平均结果,确定目标对象是否是活体,得到第一检测结果,当然也可以是其它的确定方式,本申请实施例不对其做限制。

需要说明的是,在本实现方式中,在基于各个第一rgb值,检测目标对象是否是活体之前,可以先将各个第一rgb值分别进行离散傅里叶变换处理,变换到频域,并在频域做低通滤波处理,以滤除第一rgb值中的高频噪声,再对滤除高频噪声后的各个第一rgb值分别进行离散傅里叶反变换处理,变换到时域,然后基于变换到时域后的各个第一rgb值,检测目标对象是否是活体,从而提高检测结果的准确性与可靠性。

在本申请一个实施例的一种可能的实现方式中,基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果,包括:将各个第一rgb值分别转换为预定模式的第一颜色空间值,以及将颜色序列的第二rgb值转换为预定模式的第二颜色空间值;将各个第一颜色空间值按照预定模式的颜色通道分别进行划分,并基于对视频信息中各个图像帧的时序,得到包括同一通道下的通道颜色值的第一通道颜色值序列;将第二颜色空间值按照预定模式的颜色通道进行划分,得到包括同一通道下的通道颜色值的第二通道颜色值序列;按照时序位置确定同一通道下的第一通道颜色值序列与第二通道颜色值序列的第四匹配度,并根据第四匹配度对目标对象进行活体检测处理,得到第一检测结果。

具体地,预定模式包括但不限于hsl(色彩模型,h:hue-色调;s:saturation-饱和度;l:lightness-亮度)及hsv(六角锥体模型,h:hue-色调;s:saturation-饱和度;v:value--明度)。

下面以预定模式为hsl为例,对本实现方式中的处理过程进行详细介绍:

首先,将从视频信息中得到的各个第一rgb值分别转换为hsl的第一颜色空间值,即得到相对应的各个第一hsl值,同时将服务器本地的颜色序列的第二rgb值也转换为hsl的第二颜色空间值,即得到相对应的第二hsl值。假如第一rgb值共有60个,则将60个第一rgb值分别转换为hsl的第一颜色空间值(即第一hsl值),可以得到60个第一hsl值。同样地,将服务器本地的颜色序列的第二rgb值转换为hsl的第二颜色空间值(即第二hsl值),可以得到颜色序列的第二hsl值。

其次,将60个第一hsl值分别按照hsl的颜色通道(即h通道、s通道与l通道)进行划分,其中,将第1个第一hsl值按照h通道、s通道与l通道进行划分,得到对应的第一h值(记作h1)、第一s值(记作s1)及第一l值(记作l1),将第2个第一hsl值按照h通道、s通道与l通道进行划分,得到对应的第一h值(记作h2)、第一s值(记作s2)及第一l值(记作l2),依次类推,将第60个第一hsl值按照h通道、s通道与l通道进行划分,得到对应的第一h值(记作h60)、第一s值(记作s60)及第一l值(记作l60)。

其中,在各个第一hsl值按照hsl的颜色通道分别进行划分后,可以基于视频信息中各个图像帧的时序(即各个第一rgb值的时序),得到包括同一通道下的通道颜色值的第一通道颜色值序列,即得到h通道下的第一h值的第一h值序列(即h1、h2、…、h60)、s通道下的第一s值的第一s值序列(即s1、s2、…、s60)以及l通道下的第一l值的第一l值序列(即l1、l2、…、l60)。

其次,在得到服务器本地的颜色序列的第二hsl值后,可以将第二hsl值按照hsl的颜色通道(即h通道、s通道与l通道)进行划分,得到包括同一通道下的通道颜色值的第二通道颜色值序列,即得到h通道下的第二h值的第二h值序列(即h’1、h’2、…、h’60)、s通道下的第二s值的第二s值序列(即s’1、s’2、…、s’60)以及l通道下的第二l值的第二l值序列(即l’1、l’2、…、l’60)。

再次,按照时序位置确定同一通道下的第一通道颜色值序列与第二通道颜色值序列的第四匹配度,并根据所述第四匹配度确定所述目标对象是否是活体,得到第一检测结果。换言之,确定第一h值序列(h1、h2、…、h60)与第二h值序列(h’1、h’2、…、h’60)间的第五匹配度、确定第一s值序列(s1、s2、…、s60)与第二s值序列(s’1、s’2、…、s’60)间的第六匹配度、以及确定第一l值序列(l1、l2、…、l60)与第二l值序列(l’1、l’2、…、l’60)间的第七匹配度。

其中,无论是确定第一s值序列与第二s值序列间的第五匹配度,还是确定第一h值序列与第二h值序列间的第六匹配度,还是确定第一l值序列与第二l值序列间的第七匹配度,均可采用上述方式一或方式二,在此不再赘述。上述的第四匹配度可以是第五匹配度、第六匹配度及第七匹配度中任意一个,也可以是三者的结合。

最后,根据第一匹配度、第二匹配度及第三匹配度,确定目标对象是否是活体,得到第一检测结果。

需要说明的是,对于hsv这一预定模式,其处理方式与上述的hsl的处理方式相同,在此不再赘述。

在本申请一个实施例的一种可能的实现方式中,基于视频信息对目标对象进行活体检测处理,包括:从视频信息中提取第一预设数量的图像帧;通过预训练的神经网络模型,根据第一预设数量的图像帧,对目标对象进行活体检测处理,得到第二检测结果。其中,第二检测结果可以是目标对象是否是活体的概率值,比如85%、97%等,又比如0.85、0.97等,此时可以通过对第二检测结果与预定阈值进行比较或判断,来确定目标对象是否是活体,比如当第二检测结果为不小于80%或不小于0.8时,认为目标对象是活体。第二检测结果还可以是目标对象是否是活体的指示值,例如0、1等,比如0代表示目标对象不是活体、1代表目标对象是活体,又比如0代表示目标对象是活体、1代表目标对象不是活体。

具体地,服务器在接收到客户端发送的基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息后,可以根据实际需要从该视频信息中提取第一预设数量的图像帧,例如提取出20帧、30帧、50帧等等预设数量的图像帧。其中,在提取图像帧时可以随机提取,也可以基于一定的间隔进行提取,例如每隔1秒、3秒、5秒等提取出一个图像帧,当然也可以是其它的图像帧提取方式,本申请实施例不对其做限制。

进一步地,在提取出第一预设数量的图像帧后,可以将该第一预设数量的图像帧输入到预先训练好的神经网络模型中,从而通过该神经网络模型,根据上述第一预设数量的图像帧,对目标对象进行活体检测,得到相应的检测结果(记作第二检测结果)。其中,该神经网络模型是基于深度学习视频活体检测算法进行训练后得到的。

进一步地,在得到第二检测结果及上述的第一检测结果后,可以根据第一检测结果,直接确定目标对象是否是活体,也可以根据第二检测结果,直接确定目标对象是否是活体,还可以根据第一检测结果以及第二检测结果,来共同确定目标对象是否是活体。

其中,在根据第一检测结果以及第二检测结果,来共同确定目标对象是否是活体时,可以当第一检测结果与第二检测结果均为活体时,才确定目标对象是活体,即只要第一检测结果为不是活体或第二检测结果为不是活体,直接确定目标对象不是活体;也可以对第一检测结果与第二检测结果进行加权平均,根据加权平均结果,确定目标对象是否是活体;还可以根据需要设定第一检测结果的比例系数以及第二检测结果的比例系数,比如第一检测结果(记作s1)的比例系数为k,第二检测结果(记作s2)的比例系数为l,其中,k与l的和可以根据需要设定为预定数值,比如1、100%等,从而可以根据k倍的第一检测结果与l倍的第二检测结果的数据和(k*s1+l*s2),来与预定阈值进行比较或判断,得到目标对象是否是活体的活体检测结果,比如目标对象是活体,又比如目标对象不是活体。

进一步地,服务器在得到目标对象是否是活体的最终检测结果后,一方面,可以将最终检测结果发送给客户端,以使得客户端提示目标对象是否通过活体检测,其中,客户端可以在显示屏幕上显示接收到的活体检测结果,也可以通过语音播放器播放接收到的活体检测结果。另一方面,可以将最终检测结果以及颜色信息获取请求发送给第三方客户进行认证使用。

在本申请一个实施例的一种可能的实现方式中,服务器接收到客户端发送的颜色信息获取请求时,生成针对颜色信息获取请求的请求标识,并记录接收到请求标识对应的颜色信息获取请求时的第一接收时间。

具体地,服务器接收到客户端发送的颜色信息获取请求后,生成针对该颜色信息获取请求的请求标识(比如id_1),用于唯一标识该颜色信息获取请求。同时,服务器记录接收到该请求标识对应的颜色信息获取请求时的第一接收时间(比如time_0),其中,服务器在记录的过程中,可以建立请求标识(比如id_1)与第一接收时间(比如time_0)之间的一一对应关系。

具体地,服务器在向客户端发送包括生成的颜色信息的响应信息时,在该响应信息中包括该请求标识(比如id_1)。当客户端基于接收到的颜色信息完成目标对象的视频信息的采集后,在向服务器发送视频信息时,在视频信息中携带该请求标识(比如id_1)。

具体地,服务器基于视频信息检测目标对象是否是活体的过程中,首先确定接收到视频信息的第二接收时间(比如time_1);接着根据视频信息中包括的请求标识(比如id_1),确定颜色信息获取请求的第一接收时间(比如time_0),即根据请求标识与第一接收时间之间的一一对应关系,查找id_1所对应的接收时间time_0;接着基于第一接收时间与第二接收时间,检测目标对象是否是活体。

其中,在基于第一接收时间与第二接收时间的时间差值,对目标对象进行活体检测处理的过程中,可以先计算第二接收时间time_1与第一接收时间time_0之间的时间差值,再根据该时间差值与预定时间阈值的比较结果,确定目标对象是否是活体,比如当时间差值大于预定时间阈值时,确定目标对象不是活体,当时间差值小于或等于预定时间阈值时,确定目标对象是活体。

本申请又一实施例提供了一种活体检测方法,该方法由终端设备执行。终端设备可以是台式设备或者移动终端。如图2所示,该方法包括:

步骤s210,向服务器发送请求,并接收服务器针对请求反馈的响应信息,响应信息包括服务器基于预定的颜色生成规则生成的颜色信息。

具体地,客户端对目标对象(例如客户a)进行活体检测时,需要先向服务器发送请求,该请求可以是颜色请求也可以是活体检测的触发请求,当该请求是颜色请求时,客户端向服务器请求获取相应的颜色信息,此时客户端可以通过向服务器发送颜色信息获取请求的方式,来从服务器获取相对应的颜色信息。相对应地,服务器接收客户端发送的颜色信息获取请求。当该请求是活体检测的触发请求时,客户端通过该活体检测的触发请求,向服务器请求用于进行活体检测的颜色信息,以从服务器获取相对应的颜色信息。相对应地,服务器接收客户端发送的活体检测的触发请求。其中,上述的颜色信息包括至少两种颜色组成的颜色序列。

具体地,服务器接收到客户端发送的请求后,可以基于预定的颜色生成规则生成相应的颜色信息。其中,服务器在生成相应的颜色信息后,将该颜色信息发送给客户端,以响应客户端的颜色信息获取请求。相对应地,客户端接收服务器针对颜色信息获取请求反馈的响应信息,该响应信息包括服务器基于预定的颜色生成规则生成的颜色信息。其中,颜色信息包括至少两种颜色组成的颜色序列。

步骤s220,基于颜色信息采集目标对象的视频信息,并向服务器发送视频信息,以使得服务器基于视频信息对目标对象进行活体检测处理。

具体地,客户端接收到服务器反馈的响应信息后,根据该响应信息包括的基于预定的颜色生成规则生成的颜色信息,采集目标对象的视频信息。在完成视频信息的采集后,将该视频信息发送给服务器,即向服务器发送视频信息,以使得服务器基于视频信息对目标对象进行活体检测处理。

步骤s230,接收服务器返回的对目标对象进行活体检测处理的活体检测结果。

具体地,服务器在接收到客户端发送的基于颜色信息采集的目标对象的视频信息之后,可以基于接收到的视频信息,来检测该视频信息中的目标对象是否是真实的活体对象,即基于视频信息检测目标对象是否是活体。

进一步地,服务器在基于视频信息完成目标对象是否是活体的检测之后,可以将相应的检测结果(是活体或者不是活体)发送给客户端。相对应地,客户端接收服务器返回的目标对象是否是活体的活体检测结果。

本申请实施例提供的活体检测方法,通过向服务器请求颜色信息,并基于颜色信息采集目标对象的视频信息,使得采集的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,能够在一定程度上抵御黑客攻击;通过向服务器发送采集的视频信息,使得服务器可以基于视频信息对目标对象进行活体检测处理,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

在本申请一个实施例的一种可能的实现方式中,基于颜色信息采集目标对象的视频信息,包括:控制显示屏幕显示预定提示图案并输出预定提示信息,以使得目标对象根据预定提示信息处于所述预定提示图案中;当检测到目标对象根据预定提示信息处于预定提示图案中时,控制显示屏幕显示与颜色序列对应的颜色并控制图像采集设备采集目标对象的视频信息。

具体地,客户端在接收到服务器反馈的颜色信息后,可以控制显示屏幕显示预定提示图案,比如图3引导框所示的圆圈加人脸框的预定提示图案,其中,该预定提示图案还可以是其它形式的图案,本申请实施例不对其做限制。同时,客户端输出预定提示信息,比如在显示屏幕上显示预定提示信息,又比如通过语音播放器播放预定提示信息,该预定提示信息可以是如3所示的“请将正脸置于引导框内”,也可以是其它具有引导作用的提示信息,本申请实施例不对其做限制。

具体地,客户端通过控制显示屏幕显示预定提示图案并输出预定提示信息,来引导目标对象面部近距离正对屏幕,以及引导目标对象在拍摄期间尽量保持稳定状态,从而达到引导目标对象根据预定提示信息处于预定提示图案中的目的,做好采集视频信息的前期准备工作。

具体地,当客户端检测到目标对象根据预定提示信息处于预定提示图案中时,控制显示屏幕显示从服务器接收到的颜色信息,同时控制图像采集设备(例如摄像头、相机等)采集目标对象的视频信息。其中,颜色信息是服务器基于预定的颜色生成规则,根据各个预设颜色码生成的预设长度的颜色序列,各个预设颜色码分别代表相应的颜色,颜色序列中的各个颜色具有各自对应的图像采集帧数。

具体地,客户端在采集目标对象的视频信息的过程中,控制显示屏幕开启最大亮度,并控制显示屏幕显示接收到的颜色序列,并控制图像采集设备采集根据颜色序列中各个颜色各自对应的图像采集帧数采集视频信息。换言之,在采集目标对象的视频信息的过程中,客户端控制图像采集设备按照服务器的配置信息中配置的每个颜色的图像采集帧数,进行视频信息的拍摄,而且在拍摄期间禁止显示屏幕息屏及锁屏等。其中,可以在视频信息拍摄2-3秒或5-6秒后结束拍摄,即完成视频信息的采集。

在本申请实施例一种可能的实现方式中,给出了客户端与服务器进行活体检测的交互过程,该过程如图4所示。在图4中,步骤401:客户端向服务器发送颜色信息获取请求;步骤402:服务器生成颜色信息获取请求的标识信息,并记录颜色信息获取请求的接收时间(比如time_0);步骤403:服务器基于预定的颜色生成规则,根据各个预设颜色码生成预设长度的颜色序列,并确定颜色序列中各个颜色分别对应的图像采集帧数;步骤404:服务器向客户端发送颜色序列、各个颜色分别对应的图像采集帧数及标识信息;步骤405:客户端引导目标对象对准预定提示图像并控制显示屏幕显示颜色序列,同时控制图像采集设备采集视频信息;步骤406:客户端向服务器发送标识信息及采集的视频信息;步骤407:服务器判断视频信息是否过期,即服务器根据颜色信息获取请求的接收时间time_0,以及接收到视频信息的时间time_1,来判断视频信息是否过期;步骤408:当视频信息过期时,向客户端返回目标对象不是活体的检测结果;步骤409:当视频信息未过期时,服务器通过颜色rgb值检测目标对象是否是活体,得到第一检测结果;步骤410:当视频信息未过期时,服务器通过预训练的神经网络模型检测目标对象是否是活体,得到第二检测结果;步骤411:服务器根据第一检测结果与第二检测结果,确定目标对象是否是活体;步骤412:服务器向客户端返回相应的活体检测结果;步骤413:客户端生成活体检测结果的提示信息,可以通过显示屏幕显示提示信息,也可以通过语音播放器播放提示信息;步骤414:将活体检测结果发送给第三方认证。

图5为本申请另一实施例提供的一种活体检测装置的结构示意图,如图5所示,该装置50可以包括第一处理模块51、第一接收模块52与第二处理模块53,其中:

第一处理模块51,用于接收到客户端发送的请求时,基于预定的颜色生成规则生成相应的颜色信息,并向客户端发送包括颜色信息的响应信息,颜色信息包括至少两种颜色组成的颜色序列;

第一接收模块52,用于接收客户端发送的基于颜色信息采集的目标对象的视频信息;

第二处理模块53,用于基于视频信息对目标对象进行活体检测处理,,并向客户端发送相应的活体检测结果。

本申请实施例提供的装置,通过基于预定的颜色生成规则生成相应的颜色信息,以及接收客户端基于该颜色信息采集的目标对象的视频信息,使得接收到的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,基于该视频信息对目标对象进行活体检测处理,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

图6为本申请又一实施例提供的一种活体检测装置的详细结构示意图,如图6所示,该装置90可以包括第一处理模块61、第一接收模块62、第二处理模块63,第三处理模块64与第四处理模块65,其中,图6中的第一处理模块61所实现的功能与图5中的第一处理模块51相同,图6中的第一接收模块62所实现的功能与图5中的第一接收模块52相同,图6中的第二处理模块63所实现的功能与图5中的第二处理模块53相同,在此不再赘述。下面对图6所示的活体检测装置进行详细介绍:

具体地,第一处理模块61具体用于基于预定的颜色生成规则,根据至少两个预设颜色码生成预设长度的颜色序列,并确定颜色序列中各个颜色分别对应的图像采集帧数,其中,各个预设颜色码分别代表相应的颜色;

第一接收模块62具体用于接收客户端发送的基于颜色序列与各个颜色分别对应的图像采集帧数采集的目标对象的视频信息。

具体地,第二处理模块63具体用于从视频信息中提取与颜色序列中各个颜色分别对应的各个图像帧;以及确定各个图像帧分别对应的面部区域,并计算面部区域的第一rgb值,以及基于各个第一rgb值和颜色序列,对目标对象进行活体检测处理,得到第一检测结果。

进一步地,第二处理模块63包括抽样子模块631、检测子模块632与第一活体确定子模块633,其中:

抽样子模块631,用于从视频信息中提取第一预设数量的图像帧;

检测子模块632,用于通过预训练的神经网络模型,根据第一预设数量的图像帧,对目标对象进行活体检测处理,得到第二检测结果;

第一活体确定子模块633,用于根据第一检测结果与第二检测结果,得到目标对象是否是活体的活体检测结果。

进一步地,第二处理模块63包括第一序列生成子模块634、第二序列生成子模块635、第一匹配度确定子模块636与第二活体确定子模块637,其中:

第一序列生成子模块634,用于根据各个第一rgb值和视频信息中各个图像帧的时序,得到相应的第一r值序列、第一g值序列以及第一b值序列;

第二序列生成子模块635,用于根据颜色序列中的各个第二rgb值和对应的图像采集帧数,得到相应的第二r值序列、第二g值序列及第二b值序列;

第一匹配度确定子模块636,用于确定第一r值序列与第二r值序列间的第一匹配度、确定第一g值序列与第二g值序列间的第二匹配度、以及确定第一b值序列与第二b值序列间的第三匹配度;

第二活体确定子模块637,用于根据第一匹配度、第二匹配度及第三匹配度,对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,第一匹配度确定子模块636具体用于执行以下任一项:

当颜色序列中包括黑色与白色时,对第一x值序列进行归一化处理与二值化处理,得到二值化x序列;按照序列位置依次对比二值化x序列与二值化处理后的第二x值序列,确定两序列具有相同取值的第一数量,并根据第一数量与二值化x序列的序列长度间的比值,确定第一x值序列与第二x值序列间的匹配度;

确定第一x值序列的各个第一跳变点与各个第一跳变方向,以及确定第二x值序列的各个第二跳变点与各个第二跳变方向,并根据各个第一跳变点与各个第二跳变点的比较结果以及各个第一跳变方向与各个第二跳变方向的比较结果,确定第一x值序列与第二x值序列间的匹配度;

x为r、g和b中任一项。

在一种可能的实现方式中,还包括第三处理模块64,其中:

第三处理模块64,用于将各个第一rgb值分别进行离散傅里叶变换处理、低通滤波处理与离散傅里叶反变换处理,以滤除第一rgb值中的高频噪声。

进一步地,第二处理模块63包括空间转换子模块638、第三序列生成子模块639、第四序列生成子模块640与第二匹配度确定子模块641,其中:

空间转换子模块638,用于将各个第一rgb值分别转换为预定模式的第一颜色空间值,以及将颜色序列的第二rgb值转换为预定模式的第二颜色空间值;

第三序列生成子模块639,用于将各个第一颜色空间值按照预定模式的颜色通道分别进行划分,并基于视频信息中各个图像帧的时序,得到包括同一通道下的通道颜色值的第一通道颜色值序列;

第四序列生成子模块640,用于将第二颜色空间值按照预定模式的颜色通道进行划分,得到包括同一通道下的通道颜色值的第二通道颜色值序列;

第二匹配度确定子模块641,用于按照时序位置确定同一通道下的第一通道颜色值序列与第二通道颜色值序列的第四匹配度,并根据第四匹配度对目标对象进行活体检测处理,得到第一检测结果。

在一种可能的实现方式中,该装置还包括第四处理模块65,其中:

第四处理模块65,用于接收到客户端发送的颜色信息获取请求时,生成针对颜色信息获取请求的请求标识,并记录接收到请求标识对应的颜色信息获取请求时的第一接收时间;

响应信息包括请求标识,视频信息包括请求标识;

其中,第二处理模块63具体用于确定接收到视频信息时的第二接收时间;以及用于根据视频信息中包括的请求标识,确定颜色信息获取请求的第一接收时间;以及用于基于第一接收时间与第二接收时间的时间差值,对目标对象进行活体检测处理。

需要说明的是,本实施例为与上述图1所示的方法项实施例相对应的装置项实施例,本实施例可与上述方法项实施例互相配合实施。上述方法项实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法项实施例中。

图7为本申请再一实施例提供的一种活体检测装置的结构示意图,如图7所示,该装置70可以包括收发处理模块71、采集处理模块72与第二接收模块73,其中:

收发处理模块71,用于向服务器发送请求,并接收服务器针对请求反馈的响应信息,响应信息包括服务器基于预定的颜色生成规则生成的颜色信息,颜色信息包括至少两种颜色组成的颜色序列;

采集处理模块72,用于基于颜色信息采集目标对象的视频信息,并向服务器发送视频信息,以使得服务器基于视频信息对目标对象进行活体检测处理;

第二接收模块73,用于接收服务器返回的对目标对象进行活体检测处理的活体检测结果。

本申请实施例提供的装置,通过向服务器请求颜色信息,并基于颜色信息采集目标对象的视频信息,使得采集的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,能够在一定程度上抵御黑客攻击;通过向服务器发送采集的视频信息,使得服务器可以基于视频信息对目标对象进行活体检测处理,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

图8为本申请又一实施例提供的一种活体检测装置的详细结构示意图,如图8所示,该装置80可以包括收发处理模块81、采集处理模块82与第二接收模块83,其中,图8中的收发处理模块81所实现的功能与图7中的收发处理模块71相同,图8中的采集处理模块82所实现的功能与图7中的采集处理模块72相同,图8中的第二接收模块83所实现的功能与图7中的第二接收模块73相同,在此不再赘述。下面对图8所示的活体检测装置进行详细介绍:

具体地,采集处理模块82包括控制输出子模块821与采集子模块822,其中:

控制输出子模块821,用于控制显示屏幕显示预定提示图案并输出预定提示信息,以使得目标对象根据预定提示信息处于预定提示图案中;

采集子模块822,用于当检测到目标对象根据预定提示信息处于预定提示图案中时,控制显示屏幕显示与颜色序列对应的颜色并控制图像采集设备采集目标对象的视频信息。

具体地,颜色信息是服务器基于预定的颜色生成规则,根据各个预设颜色码生成的预设长度的颜色序列,各个预设颜色码分别代表相应的颜色,颜色序列中的各个颜色具有各自对应的图像采集帧数;

采集子模块822具体用于控制显示屏幕显示颜色序列,并控制图像采集设备采集根据颜色序列中各个颜色各自对应的图像采集帧数采集视频信息。

需要说明的是,本实施例为与上述图2所示的方法项实施例相对应的装置项实施例,本实施例可与上述方法项实施例互相配合实施。上述方法项实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法项实施例中。

本申请再一实施例提供了一种电子设备,如图9所示,图9所示的电子设备900包括:处理器901和存储器903。其中,处理器901和存储器903相连,如通过总线902相连。进一步地,电子设备900还可以包括收发器904。需要说明的是,实际应用中收发器904不限于一个,该电子设备900的结构并不构成对本申请实施例的限定。

其中,处理器901应用于本申请实施例中,用于实现图5与图6所示的第一处理模块与第二处理模块的功能,以及用于实现图6所示的第三处理模块与第四处理模块的功能。收发器904包括接收机和发射机,收发器904应用于本申请实施例中,用于实现图5与图6所示的第一接收模块的功能。

此外,处理器901应用于本申请实施例中,用于实现图7与图8所示的采集处理模块的功能。收发器904包括接收机和发射机,收发器904应用于本申请实施例中,用于实现图7与图8所示的收发处理模块第二接收模块的功能。

处理器901可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器901也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线902可包括一通路,在上述组件之间传送信息。总线902可以是pci总线或eisa总线等。总线902可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器903可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器903用于存储执行本申请方案的应用程序代码,并由处理器901来控制执行。处理器901用于执行存储器903中存储的应用程序代码,以实现图5或图6所示实施例提供的活体检测装置的动作,或者实现图7或图8所示实施例提供的活体检测装置的动作。

本申请实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,可实现如下几种情况:

第一种情况:通过基于预定的颜色生成规则生成相应的颜色信息,以及接收客户端基于该颜色信息采集的目标对象的视频信息,使得接收到的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,基于该视频信息检测目标对象是否是活体,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

第二种情况:通过向服务器请求颜色信息,并基于颜色信息采集目标对象的视频信息,使得采集的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,能够在一定程度上抵御黑客攻击;通过向服务器发送采集的视频信息,使得服务器可以基于视频信息检测目标对象是否是活体,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例所示的方法。具体包括如下几种情况:

第一种情况:通过基于预定的颜色生成规则生成相应的颜色信息,以及接收客户端基于该颜色信息采集的目标对象的视频信息,使得接收到的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,基于该视频信息检测目标对象是否是活体,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

第二种情况:通过向服务器请求颜色信息,并基于颜色信息采集目标对象的视频信息,使得采集的视频信息不仅包括目标对象的生物特征信息、指定的活体检测动作等,而且包括服务器根据客户端的颜色信息获取请求生成的特定颜色信息,从而极大提高采集的视频信息的可信度与可靠性,能够在一定程度上抵御黑客攻击;通过向服务器发送采集的视频信息,使得服务器可以基于视频信息检测目标对象是否是活体,不仅可以快速、准确地进行活体检测,而且能够有效避免攻击者按照提示信息依次播放提前录制好的动作视频,攻破活体检测的情况的发生,极大了提高活体检测的安全性。

本申请实施例提供的计算机可读存储介质适用于上述方法的任一实施例。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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