活体检测方法及设备、计算机程序产品的制作方法

文档序号:9756826阅读:284来源:国知局
活体检测方法及设备、计算机程序产品的制作方法
【技术领域】
[0001] 本公开涉及人脸识别技术领域,更具体地涉及一种活体检测方法及设备、以及计 算机程序广品。
【背景技术】
[0002] 当前,人脸识别系统越来越多地应用于安防、金融、社保领域需要身份验证的线上 场景,如线上银行开户、线上交易操作验证、无人值守的门禁系统、线上社保办理、线上医保 办理等。在这些高安全级别的应用领域,除了确保被验证者的人脸相似度符合数据库中存 储的底库,首先需要验证被验证者是一个合法的生物活体。也就是说,人脸识别系统需要能 够防范攻击者使用照片、视频、3D人脸模型、或者面具等方式进行攻击。
[0003]目前市场上的技术产品中还没有公认成熟的活体验证方案,已有的技术要么依赖 特殊的硬件设备(诸如,红外相机、深度相机),或者只能防范简单的静态照片攻击。
[0004] 因此,需要既不依赖于特殊的硬件设备又能够有效地防范照片、视频、3D人脸模型 或者面具等多种方式的攻击的人脸识别方式。

【发明内容】

[0005] 鉴于上述问题而提出了本发明。本公开实施例提供了一种活体检测方法及设备、 以及计算机程序产品,其能够基于人脸动作控制虚拟对象显示,在虚拟对象显示满足预定 条件的情况下确定活体检测成功。
[0006] 根据本公开实施例的一个方面,提供了一种活体检测方法,包括:从拍摄图像中检 测人脸动作;根据所检测的人脸动作控制在显示屏幕上显示虚拟对象;以及在所述虚拟对 象满足预定条件的情况下,确定所述拍摄图像中的人脸为活体人脸。
[0007] 根据本公开实施例的另一方面,提供了一种活体检测设备,包括:人脸动作检测装 置,被配置为从拍摄图像中检测人脸动作;虚拟对象控制装置,被配置为根据所检测的人脸 动作控制在显示装置上显示虚拟对象;以及活体判断装置,被配置为在所述虚拟对象满足 预定条件的情况下确定所述拍摄图像中的人脸为活体人脸。
[0008] 根据本公开实施例的又一方面,提供了一种活体检测设备,包括:一个或多个处理 器;一个或多个存储器;存储在所述存储器中的计算机程序指令,在所述计算机程序指令 被所述处理器运行时执行以下步骤:从拍摄图像中检测人脸动作;根据所检测的人脸动作 控制在显示装置上显示虚拟对象;以及在所述虚拟对象满足预定条件的情况下,确定所述 拍摄图像中的人脸为活体人脸。
[0009] 根据本公开实施例的再一方面,提供了一种计算机程序产品,包括一个或多个计 算机可读存储介质,所述计算机可读存储介质上存储了计算机程序指令,所述计算机程序 指令在被计算机运行时执行以下步骤:从拍摄图像中检测人脸动作;根据所检测的人脸动 作控制在显示装置上显示虚拟对象;以及在所述虚拟对象满足预定条件的情况下,确定所 述拍摄图像中的人脸为活体人脸。
[0010] 根据本公开实施例的活体检测方法及设备、以及计算机程序产品,通过基于人脸 动作控制虚拟对象显示并根据虚拟对象显示进行活体检测,可以不依赖于特殊的硬件设备 来有效地防范照片、视频、3D人脸模型或者面具等多种方式的攻击,从而可以降低活体检测 的成本。更进一步,通过识别人脸动作中的多个动作属性,可以控制虚拟对象的多个状态参 量,可以使得所述虚拟对象在多个方面改变显示状态,例如使得所述虚拟对象执行复杂的 预定动作、或者使得所述虚拟对象实现与初始显示效果有很大不同的显示效果。因此,可以 进一步提高活体检测的准确度,并且进而可以提高应用根据本发明实施例的活体检测方法 及设备、以及计算机程序产品的应用场景的安全性。
【附图说明】
[0011] 通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、 特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明 书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中, 相同的参考标号通常代表相同部件或步骤。
[0012] 图1是用于实现本公开实施例的活体检测方法和设备的电子设备的示意性框图;
[0013] 图2是根据本公开实施例的活体检测方法的示意性流程图;
[0014] 图3是根据本公开实施例的活体检测方法中的人脸动作检测步骤的示意性流程 图;
[0015] 图4是根据本公开实施例的活体检测方法中的虚拟对象显示控制步骤的示意性 流程图;
[0016] 图5是根据本公开实施例的活体检测方法的另一示意性流程图;
[0017] 图6A - 6D和图7A - 7B是根据本公开第一实施例的在显示屏幕上显示的虚拟对 象的示例;
[0018] 图8A和图8B是根据本公开第二实施例的在显示屏幕上显示的虚拟对象的示例;
[0019] 图9A - 9E是根据本公开第三实施例的在显示屏幕上显示的虚拟对象的示例;
[0020] 图10A - 10C是根据本公开第四实施例的在显示屏幕上显示的虚拟对象的示例;
[0021] 图11是根据本公开实施例的活体检测设备的示意性框图;
[0022] 图12是根据本公开实施例的另一活体检测设备的示意性框图;
[0023] 图13是根据本公开实施例的活体检测设备中的人脸动作检测装置的示意性框 图;以及
[0024] 图14是根据本公开实施例的活体检测设备中的虚拟对象控制装置的示意性框 图。
【具体实施方式】
[0025] 为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根 据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公 开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。基于本公开中描述的 本公开实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例 都应落入本公开的保护范围之内。
[0026] 首先,参照图1来描述用于实现本公开实施例的活体检测方法和设备的示例性电 子设备1〇〇。
[0027] 如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、 输出装置108、以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接 机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而 非限制性的,根据需要,所述电子设备100也可以具有其他组件和结构。
[0028] 所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执 行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望 的功能。
[0029] 所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可 以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述 易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所 述非易失性存储器例如可以包括只读存储器(R0M)、硬盘、闪存等。在所述计算机可读存储 介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现 下文所述的本发明实施例中(由处理器实现)的功能以及/或者其它期望的功能。在所述 计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述图像采集装置110 采集的图像数据等以及所述应用程序使用和/或产生的各种数据等。
[0030] 所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并 且可以包括显示器和扬声器等中的一个或多个。
[0031] 所述图像采集装置110可以拍摄预定取景范围的图像(例如照片、视频等),并且 将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
[0032] 作为示例,用于实现本公开实施例的活体检测方法和设备的示例性电子设备100 可以是布置在人脸图像采集端的集成了人脸图像采集装置的电子设备,诸如智能手机、平 板电脑、个人计算机、基于人脸识别的身份识别设备等。例如,在安防应用领域,所述电子 设备1〇〇可以部署在门禁系统的图像采集端,并且可以例如为基于人脸识别的身份识别设 备;在金融应用领域,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。
[0033] 替代地,用于实现本公开实施例的活体检测方法和设备的示例性电子设备100的 输出装置108和图像采集装置110可以部署在人脸图像采集端,而所述电子设备100中的 处理器102可以部署在服务器端(或云端)。
[0034] 下面,将参考图2来描述根据本公开实施例的人脸检测方法200。
[0035] 在步骤S210,从拍摄图像中检测人脸动作。具体地,可以利用如图1所示的用于实 现本公开实施例的人脸检测方法的电子设备1〇〇中的图像采集装置110或者独立于所述电 子设备100的可以向所述电子设备100传送图像的其它图像采集装置,采集预定拍摄范围 的灰度或彩色图像作为拍摄图像,所述拍摄图像可以是照片,也可以是视频中的一帧。所述 图像采集设备可以是智能电话的摄像头、平板电脑的摄像头、个人计算机的摄像头、或者甚 至可以是网络摄像头。
[0036] 参考图3来描述步骤S210中的人脸动作检测。
[0037] 在步骤S310,在所述拍摄图像中定位人脸关键点。作为示例,在该步骤中,可以首 先确定所获取的图像中是否包含人脸,在检测到人脸的情况下定位出人脸关键点。
[0038] 人脸关键点是脸部一些表征能力强的关键点,例如眼睛、眼角、眼睛中心、眉毛、颧 骨最高点、鼻子、鼻尖、鼻翼、嘴巴、嘴角、以及脸部外轮廓点等。
[0039] 作为示例,可以预先搜集大量的人脸图像,例如N张人脸图像,例如,N= 10000,人 工地在每张人脸图像中标注出预定的一系列人脸关键点,所述预定的一系列人脸关键点可 以包括但不限于上述人脸关键点中的至少一部分。根据每张人脸图像中各人脸关键点附近 的形状特征,基于参数形状模型,利用机器学习算法(如深度学习(De印Learning),或者 基于局部特征的回归算法(local feature-based regression algorithm))进行人脸关键 点模型训练,从而得到人脸关键点模型。
[0040] 具体地,在步骤S310中可以基于已经建立的人脸关键点模型来在拍摄图像中进 行人脸检测和人脸关键点定位。例如,可以在拍摄图像中迭代地优化人脸关键点的位置,最 后得到各人脸关键点的坐标位置。再例如,可以采用基于级联回归的方法在拍摄图像中定 位人脸关键点。
[0041] 人脸关键点的定位在人脸动作识别中起着重要的作用,然而应了解本公开不受具 体采用的人脸关键点定位方法的限制。可以采用已有的人脸检测和人脸关键点定位算法来 执行步骤S310中的人脸关键点定位。应了解,本公开实施例的活体检测方法100不限于利 用已有的人脸检测和人脸关键点定位算法来进行人脸关键点定位,而且应涵盖利用将来开 发的人脸检测和人脸关键点定位算法来进行人脸关键点定位。
[0042] 在步骤S320,从所述拍摄图像中提取图像纹理信息。作为示例,可以根据所述拍摄 图像中的像素信息,例如像素点的亮度信息,提取人脸的精细信息,例如眼球位置信息、口 型信息、微表情信息等等。可以采用已有的图像纹理信息提取算法来执行步骤S320中的图 像纹理信息提取。应了解,本公开实施例的活体检测方法100不限于利用已有的图像纹理 信息提取算法来进行图像纹理信息提取,而且应涵盖利用将来开发的图像纹理信息提取算 法来进行图像纹理信息提取。
[0043] 应了解,步骤S310和S320可以择一执行,或者可以两者均执行。在步骤S310和 S320两者均执行的情况下,它们可以同步执行,或者可以先后执行。
[0044] 在步骤S330,基于所定位的人脸关键点以及/或者所述图像纹理信息,获得人脸 动作属性的值。基于所定位的人脸关键点获得的所述人脸动作属性可以例如包括但不限于 眼睛睁闭程度、嘴巴张闭程度、人脸俯仰程度、人脸偏转程度、人脸与摄像头的距离等。基于 所述图像纹理信息获得的所述人脸动作属性可以包括但不限于眼球左右偏转程度、眼球上 下偏转程度等等。
[0045] 可选地,可以基于当前拍摄图像的前一拍摄图像以及当前拍摄图像,来获得人脸 动作属性的值;或者,可以基于首个拍摄图像以及当前拍摄图像,来获得人脸动作属性的 值;或者,可以基于当前拍摄图像以及当前拍摄图像的前几个拍摄图像,来获得人脸动作属 性的值。
[0046] 可选地,可以通过几何学习、机器学习、或图像处理的方式来基于所定位的人脸关 键点获得人脸动作属性的值。例如,对于眼睛睁闭程度,可以在眼睛一圈定义多个关键点, 例如8 - 20个关键点,例如,左眼的内眼角、外眼角、上眼皮中心点和下眼皮中心点,以及右 眼的内眼角、外眼角、上眼皮中心点和下眼皮中心点。然后,通过在拍摄图像上定位这些关 键点,确定这些关键点在拍摄图像上的坐标,计算左眼(右眼)的上眼皮中心和下眼皮中心 之间的距离作为左眼(右眼)上下眼皮距离,计算左眼(右眼)的内眼角和外眼角之间的 距离作为左眼(右眼)内外眼角距离,计算左眼(或右眼)上下眼皮距离与左眼(或右眼) 内外眼角距离的比值作为第一距离比值X,根据该第一距离比值来确定眼睛睁闭程度Y。例 如,可以设定第一距离比值X的阈值Xmax,并且规定:Y = X/Xmax,由此来确定眼睛睁闭程 度Y。Y越大,则表示用户眼睛睁得越大。
[0047] 返回图2,在步骤S220,根据所检测的人脸动作控制在显示屏幕上显示虚拟对象。
[0048] 作为示例,可以根据所检测的人脸动作控制改变在显示屏幕上显示的虚拟对象的 状态。在此情况下,所述虚拟对象可以包括第一组对象,在初始状态下所述第一组对象已经 显示在显示屏幕上并且可以包括一个或多个对象。在该示例中,根据所检测的人脸动作更 新所述第一组对象中至少一个对象在显示屏幕上的显示。所述第一组对象中至少一部分对 象的初始显示位置和/或初始显示形态是预先确定的或随机确定的。具体地,例如可以改 变所述虚拟对象的运动状态、显示位置、尺寸大小、形状、颜色等。
[0049] 可选地,可以根据所检测的人脸动作控制在显示屏幕上显示新的虚拟对象。在此 情况下,所述虚拟对象还可以包括第二组对象,在初始状态下所述第二组对象尚未显示在 显示屏幕上并且可以包括一个或多个对象。在该示例中,根据所检测的人脸动作显示所述 第二组对象中至少一个对象。所述第二组对象的所述至少一个对象中至少一部分对象的初 始显示位置和/或初始显示形态是预先确定的或随机确定的。
[0050] 参考图4来描述步骤S220的操作。
[0051] 在步骤S410,根据所述人脸动作属性的值来更新所述虚拟对象的状态参量的值。
[0052] 具体地,可以将一种人脸动作属性映射为虚拟对象的某一状态参量。例如,可以将 用户眼睛睁闭程度或嘴巴张闭程度映射为虚拟对象的尺寸,并且根据用户眼睛睁闭程度或 嘴巴张闭程度的值来更新虚拟对象的尺寸大小。再例如,可以将用户人脸俯仰程度映射为 虚拟对象在显示屏幕上的垂直显示位置,并且根据用户人脸俯仰程度的值来更新虚拟对象 在显示屏幕上的垂直显示位置。
[0053] 可选地,可以计算当前拍摄图像中的嘴巴张闭程度和之前保存的首个拍摄图像中 的嘴巴张闭程度的比值K1,并且将嘴巴张闭程度的比值K1映射为虚拟对象的尺寸S。具体 地,可以采用一次函数S = a*Kl+b来实现映射。此外,可选地,可以计算当前拍摄图像中人 脸位置偏离初始居中位置的程度K2,并且将人脸位置映射为虚拟对象的位置W。具体地,可 以采用一次函数W = c*K2+d来实现映射。
[0054] 例如,所述人脸动作属性可以包括至少一个动作属性,所述虚拟对象的状态参量 包括至少一个状态参量。一个动作属性可以仅与一个状态参量对应,或者一个动作属性可 以按照时间顺序依次与多个状态参量对应。
[0055] 可选地,人脸
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1