一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于基于二维面部图像的两个或更多个输入自适应地构建三维面部模型的系统和方法与流程

2021-11-10 06:11:00 来源:中国专利 TAG:


1.示例实施例广泛地但不排他地涉及用于面部活体性检测的系统和方法。具体地,示例实施例涉及用于基于二维面部图像的两个或更多个输入自适应地构建三维面部模型的系统和方法。


背景技术:

2.面部识别技术正在迅速地日益普及,并已广泛用于移动设备,作为用于解锁设备的生物特征认证手段。然而,面部识别技术的日益普及及其作为认证方法的采用带来了许多缺点和挑战。密码和个人识别号(pin)可能会被盗和泄露。人脸也是如此。攻击者可以通过伪造目标用户的面部生物特征数据(也称为面部欺骗)来伪装成经过认证的用户,以获得对设备/服务的访问权限。除了简单地从公开可用的来源(例如,社交网络服务)下载目标用户的照片(优选地为高分辨率),可选地在纸上打印目标用户的照片,并在认证过程中将目标人的照片呈现在设备的图像传感器前,面部欺骗可以相对简单,并且不需要欺骗者的附加技术技能。
3.因此,在依赖面部识别技术的认证方法中需要有效的活体检测机制,以确保鲁棒和有效的认证。面部识别算法加上有效的活体检测技术可以引入附加的面部欺骗防御层,并且可以提高认证系统的安全性和可靠性。然而,现有的活体检测机制通常不够鲁棒,并且可以轻易地被对手误导和/或绕过。例如,对手可以使用在高分辨率显示器上录制的用户视频伪装成经过认证的用户。对手可以在移动设备的摄像头前回放录制的视频,以获得对设备的非法访问权限。使用从公开可用的来源(例如,社交网络服务)获得的视频可以轻松地执行这种回放攻击。
4.因此,依赖于现有面部识别技术的认证方法可以容易地被规避,并且通常容易受到对手的攻击,特别是如果对手能够轻易地获取和复制目标人(例如,公众人物)的图像和/或视频。尽管如此,与诸如使用密码或个人识别号之类的传统形式的认证相比,依靠面部识别技术的认证方法仍然可以提供更高程度的便利性和更好的安全性。依赖面部识别技术的认证方法也越来越多地以更多方式用于移动设备(例如,作为授权由设备促成的支付的手段或作为获得对敏感数据、应用程序和/或服务的访问权限的认证手段)。
5.因此,所需要的是一种用于基于二维面部图像的两个或更多个输入自适应地构建三维面部模型的系统和方法,以寻求解决上述问题中的一个或多个。此外,根据随后的具体描述和所附权利要求,结合附图和本公开的该背景,其他期望的特征和特性将变得清楚。


技术实现要素:

6.一方面提供了一种用于基于二维(2d)面部图像的两个或更多个输入自适应地构建三维(3d)面部模型的服务器。服务器包括至少一个处理器和至少一个包括计算机程序代码的存储器。至少一个存储器和计算机程序代码被配置为通过至少一个处理器使服务器至
少从输入捕获设备接收2d面部图像的两个或更多个输入,该两个或更多个输入是在距图像捕获设备的不同距离处捕获的,确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息,并响应于对深度信息的确定来构建3d面部模型。
7.另一方面提供了一种用于基于二维(2d)面部图像的两个或更多个输入自适应地构建三维(3d)面部模型的方法
8.该方法包括从输入捕获设备接收二维面部图像的两个或更多个输入,该两个或更多个输入是在距图像捕获设备的不同距离处捕获的,确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息,并响应于对该深度信息的确定来构建3d面部模型。
附图说明
9.根据以下仅通过示例的书面描述并结合附图,本领域的普通技术人员将更好地理解并且容易地明白本发明的实施例,其中:
10.图1
11.图1示出了根据本公开的实施例的用于基于二维面部图像的两个或更多个输入自适应地构建三维面部模型的系统的示意图。
12.图2
13.图2示出了根据本公开的实施例的用于基于二维面部图像的两个或更多个输入自适应地构建三维面部模型的方法的流程图。
14.图3
15.图3示出了根据本发明的实施例的用于确定面部图像的真实性的序列图。
16.图4
17.图4示出了根据本发明的实施例的用于获得运动传感器信息和图像传感器信息的序列图。
18.图5
19.图5示出了根据本发明的实施例的在活体挑战期间用户看到的示例性屏幕截图。
20.图6
21.图6示出了根据本发明的实施例的与二维面部图像相关联的面部标志点的轮廓。
[0022]4[0023]
图7
[0024]
图7a至图7c示出了根据本发明的实施例的用于构建3d面部模型的序列图。
[0025]
图8
[0026]
图8示出了用于实现图1的系统的计算设备的示意图。
[0027]
技术人员将理解,图中的元素是为了简单和清楚而示出的,并且不一定按比例描绘。例如,图示、框图或流程图中的一些元素的尺寸可以相对于其他元素被放大,以帮助提高对本实施例的理解。
具体实施方式
[0028]
概述
[0029]
随着基于面部识别的生物特征认证系统在现实世界的应用中得到更广泛的应用,生物特征欺骗(也称为面部欺骗或呈现攻击)成为更大的威胁。面部欺骗可以包括打印攻击、回放攻击和3d面具。当前面部识别系统中的反面部欺骗技术的方法试图识别这种攻击,并且通常分为几个领域,即,图像质量、上下文信息和局部纹理分析。具体地,当前的方法主要集中在对真实图像和虚假图像之间亮度分量中的局部纹理模式的分析和区分。然而,当前的方法通常基于单个图像,并且这种方法仅限于使用局部特征(或特定于单个图像的特征)来确定伪造的面部图像。此外,现有的图像传感器通常不具有生成足以像人类一样有效地确定面部的活体性的信息的能力。可以理解,面部的活体性包括确定信息是否与3d图像相关。这是因为在图像传感器(或图像捕获设备)捕获的2d面部图像中经常会丢失全局上下文信息(例如,深度信息),并且人的单个面部图像中的局部信息通常不足以提供对面部的活体性的准确、可靠评估。
[0030]
示例实施例提供了一种用于基于二维(2d)面部图像的两个或更多个输入自适应地构建三维(3d)面部模型的服务器和方法。使用人工神经网络,与三维(3d)面部模型相关的信息可用于确定至少一个参数以检测面部图像的真实性和活体性。具体地,神经网络可以是深度神经网络,其被配置为检测面部的活体性,并确定授权用户的真实存在。包括所要求保护的服务器和方法的人工神经网络可以有利地提供能够有效地对抗过多面部欺骗技术的高保证和可靠的解决方案。应当理解,在其他实施例中可以使用基于规则的学习和回归模型来提供高保证和可靠的解决方案。
[0031]
在各种示例实施例中,用于自适应地构建3d面部模型的方法可以包括(i)从输入捕获设备(例如,包括一个或多个图像传感器的设备)接收2d面部图像的两个或更多个输入,该两个或更多个输入是在距图像捕获设备的不同距离处捕获的,(ii)确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息,以及(iii)响应于对该深度信息的确认来构建3d面部模型。在各种实施例中,构建3d面部模型的步骤还可包括(iv)确定至少一个参数以检测面部图像的真实性。换言之,各种示例实施例提供了一种可用于面部欺骗检测的方法。该方法包括(i)特征获取,(ii)提取,(iii)处理阶段,然后是(iv)活体分类阶段。
[0032]
在(i)特征获取、(ii)提取和(iii)处理阶段中,生成人脸的3d面部模型(即,数学表示)。与人的2d面部图像相比,所生成的3d面部模型可以包括更多信息(在x轴、y轴和z轴上)。根据本发明的各种实施例的系统和方法可以通过使用2d面部图像的快速连续的两个或更多个输入(即,在不同的接近度处、在不同的物距或不同的焦距处,用一个或多个图像传感器捕获的两个或更多个图像)来构建人脸的数学表示。此外,还可以理解,在不同距离处捕获的两个或更多个输入是在相对于图像捕获设备的不同角度处捕获的。通过上述获取方法获得的2d图像的两个或更多个输入可用于(ii)提取阶段,以获得面部属性的深度信息(z轴)以及捕获其他关键面部属性和人脸的几何性质。
[0033]
在各种实施例中,如下文将更详细地描述的,(ii)提取阶段可以包括确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点(例如,面部标志点)有关的深度信息。然后,在(iii)处理阶段,响应于对从(ii)提取阶段获得的深度信息的确认,构建人脸的数学表示(即,3d面部模型)。在各种实施例中,3d面部模型可以包括形成基本面部配置的特征向量集,其中,特征向量描述3d场景中人的面部基准点。这允许对面部映射图上的每对点
之间的深度值进行数学量化。
[0034]
除了针对给定面部构建基本面部配置之外,还公开了一种推断人相对于图像传感器的头部方向(也称为头部姿势)的方法。即,人的头部姿势可以相对于图像传感器发生变化(例如,如果图像传感器容纳在移动设备中,并且用户移动移动设备,或者当用户相对于静止输入捕获设备移动时)。人的姿势可以随着图像传感器绕x轴、y轴和z轴的旋转而变化,并且该旋转使用偏航角、俯仰角和滚动角来表示。如果图像传感器容纳在移动设备中,则移动设备的方向可以根据由与设备通信地耦合的运动传感器(例如,容纳在移动设备中的加速度计)记录的每个轴的加速度值(重力)来确定。此外,人的头部相对于图像传感器的3维方向和位置可以使用面部特征位置及其相对几何关系来确定,并且可以用相对于枢轴点(例如,以移动设备作为参考点,或参考面部标志点)的偏航角、俯仰角和滚动角来表示。然后使用移动设备的方向信息和人的头部姿势的方向信息来确定移动设备相对于人的头部姿势的方向和位置。
[0035]
在(iv)活体分类阶段,如前述段落中所述,所获得的人的深度特征向量(即,3d面部模型)和相对方向信息可用于分类过程,以提供对面部的活体性的准确预测。在活体分类阶段,面部配置(即,3d面部模型)以及移动设备的空间和方向信息和人的头部姿势被馈送到神经网络中以检测面部的活体性。
[0036]
示例性实施例
[0037]
将参考附图仅通过示例来描述示例实施例。图中相同的附图标记和字符表示相同的元件或等效物。
[0038]
以下描述的一些部分在对计算机存储器内数据的操作的算法和功能或符号表示方面显式地或隐含地呈现。这些算法描述和功能或符号表示是数据处理领域的技术人员用来最有效地向本领域的其他技术人员传达他们工作的实质的手段。算法在这里并且通常被认为是导致所需结果的自洽步骤序列。这些步骤是需要对物理量(例如,能够存储、传输、组合、比较和以其他方式操作的电、磁或光信号)进行物理操作的步骤。
[0039]
除非另有特别说明,并且从以下内容可以明显看出,应当理解,贯穿本说明书,利用诸如“关联”、“计算”、“比较”、“确定”、“转发”、“生成”、“识别”、“包括”、“插入”、“修改”、“接收”、“替换”、“扫描”、“传输”等术语的讨论是指计算机系统或类似电子设备的动作和过程,其将计算机系统内被表示为物理量的数据操作和转换为计算机系统内或其他信息存储、传输或显示设备内被类似地表示为物理量的其他数据。
[0040]
本说明书还公开了用于执行这些方法的操作的装置。这种装置可以为所需目的而专门构造,或者可以包括由存储在其中的计算机程序选择性地激活或重新配置的计算机或其他计算设备。本文呈现的算法和显示与任何特定的计算机或其他设备没有本质上的关系。根据本文的教导,各种机器可以与程序一起使用。备选地,构建更专业的装置来执行所需的方法步骤可能是合适的。计算机的结构将从下面的描述中显现出来。
[0041]
另外,本说明书还隐式地公开了一种计算机程序,对本领域技术人员来说显而易见的是,本文所述方法的各个步骤可以通过计算机代码实现。计算机程序不旨在限于任何特定的编程语言及其实现。应当理解,可以使用多种编程语言及其编码来实现本文所包含的本公开的教导。此外,计算机程序不旨在限于任何特定的控制流。在不脱离本发明的精神或范围的情况下,存在可以使用不同控制流的计算机程序的许多其他变体。
[0042]
此外,计算机程序的一个或多个步骤可以并行而不是顺序地执行。这种计算机程序可以存储在任何计算机可读介质上。计算机可读介质可以包括诸如磁盘或光盘之类的存储设备、存储芯片或适合与计算机接口连接的其他存储设备。计算机可读介质还可以包括硬连线介质(例如,互联网系统中的示例)或无线介质(例如,gsm移动电话系统中的示例)。计算机程序当在计算机上加载和执行时,有效地产生实现优选方法的步骤的装置。
[0043]
在示例实施例中,对术语“服务器”的使用可以表示单个计算设备,或至少是互连计算设备的计算机网络,它们一起运行以执行特定功能。换言之,服务器可以包含在单个硬件单元内,或者分布在几个或许多不同的硬件单元中。
[0044]
图1示出了服务器的示例性实施例。图1示出了根据本公开的实施例的服务器100用于基于二维(2d)面部图像的两个或更多个输入自适应地构建三维(3d)面部模型的示意图。服务器100可以用于实现如图2所示的方法200。服务器100包括处理模块102,该处理模块102包括处理器104和存储器106。服务器100还包括输入捕获设备108,其与处理模块102通信耦合,并且被配置为将2d面部图像114的两个或更多个输入112发送到处理模块102。处理模块102还被配置为通过一个或多个指令116控制输入捕获设备108。输入捕获设备108可以包括一个或多个图像传感器108a、108b

108n。一个或多个图像传感器108a、108b

108n可以包括具有不同焦距的图像传感器,使得人的2d面部图像114的两个或更多个输入可以在距图像捕获设备的不同距离处被捕获,而图像捕获设备和人之间没有相对移动。在本发明的各种实施例中,图像传感器可以包括可见光传感器和红外传感器。还可以理解的是,如果输入捕获设备108仅包括单个图像传感器,则可能需要图像捕获设备和人之间的相对移动来捕获不同距离处的两个或更多个输入。
[0045]
处理模块102可以被配置为从输入捕获设备108接收2d面部图像114的两个或更多个输入112,并确定与2d面部图像114的两个或更多个输入112中的每个输入的至少一个点相关的深度信息,并响应于对该深度信息的确认来构建3d面部模型。
[0046]
服务器100还包括与处理模块102通信耦合的传感器110。传感器110可以是一个或多个运动传感器,其被配置为检测加速度值118,并将其提供给处理模块102。处理模块102还与决策模块112通信地耦合。决策模块112可以被配置为从处理模块102接收与人的深度特征向量(即,3d面部模型)以及图像捕获设备相对于人的头部姿势的方向和位置相关联的信息,并且可以配置为使用所接收到的信息执行分类算法,以提供对面部的活体性的预测。
[0047]
实现细节

系统设计
[0048]
在本发明的各种实施例中,面部活体性检测系统可以包括两个子系统,即,捕获子系统和决策子系统。捕获子系统可以包括输入捕获设备108和传感器110。决策子系统可以包括处理模块102和决策模块112。捕获子系统可以被配置为从图像传感器(例如,rgb相机和/或红外相机)和一个或多个运动传感器接收数据。决策子系统可以被配置为基于捕获子系统提供的信息为活体检测和面部验证提供决策。
[0049]
实现细节

活体决策过程
[0050]
如果在相对于输入捕获设备的不同距离处捕获到多个立体面部图像,则面部的活体性可以与欺骗图像和/或视频区分开来。还可以基于真实面部的特定面部特征特性,将面部的活体性与欺骗图像和/或视频区分开。靠近图像传感器的真实面部图像中的面部特征会比远离图像传感器的真实面部图像中的面部特征显得相对较大。这是由于由使用具有例
如广角镜头的图像传感器的距离造成的透视失真。然后,示例实施例可以利用这些不同的差异将面部图像分类为真实的或伪造的。还公开了一种训练神经网络以将3d面部模型分类为真实和伪造的方法,包括识别相对于不同的相机视角的远距离和近距离处的一系列面部标志(或独特的面部特征)。
[0051]
实现细节

活体决策数据流

数据捕获
[0052]
图3示出了根据本发明的实施例的用于确定面部图像的真实性的序列图300。序列图300也称为活体决策数据流过程。图4示出了根据本发明的实施例的用于获得运动传感器信息和图像传感器信息的序列图400(也称为活体过程400)。图4是参考图3的序列图300来描述的。活体过程400以及活体决策数据流过程300开始于2d面部图像的两个或更多个输入的运动捕获302,该两个或更多个输入在距图像捕获设备的不同距离处被捕获,以及来自一个或多个运动传感器的运动信息的捕获304。在各种实施例中,两个或更多个输入也可以从图像捕获设备在不同角度处捕获。图像捕获设备可以是服务器100的输入捕获设备108,并且一个或多个运动传感器可以是服务器100的传感器110。在本发明的各种实施例中,服务器100可以是移动设备。该信息可以发送给处理模块102,并且处理模块102可以被配置为执行预活体质量检查,以确保在将信息发送给决策模块112之前,收集到的信息具有良好的质量(亮度、清晰度等)。在本发明的实施例中,还可以在捕获过程304中捕获传感器数据,其包括设备的姿势以及设备的加速度。该数据可以帮助确定用户是否正确地响应了活体挑战。例如,用户的头部可以与输入捕获设备的图像传感器的投影相对居中对齐,并且对象的头部位置、滚动、俯仰、偏航应该与相机成正比。一系列图像从远边界框开始捕获,逐渐朝向近边界框移动。
[0053]
实现细节

活体决策数据流

预活体过滤
[0054]
预活体质量检查306可以包括检查两个或更多个输入的面部和背景上的亮度、面部的锐度、用户的注视,以确保所收集的数据具有良好的质量,并且在用户没有注意的情况下捕获。所捕获的图像可以按眼距(左眼和右眼之间的距离)进行排序,并且去除包含相似眼距的图像,眼距指示面部图像相对于输入捕获设备的接近度。在数据收集期间可以应用其他预处理方法,例如,注视检测、模糊检测或亮度检测。这是为了确保所捕获的图像不受由于人为错误而引入的环境失真、噪声或干扰的影响。
[0055]
实现细节

活体决策数据流

活体挑战
[0056]
当面部被输入捕获设备108捕获时,信息通常被感知地投影到平面2d图像传感器(例如,ccd或cmos传感器)上。将3d对象(例如,面部)投影到平面2d图像传感器上可以允许将3d面部转换为用于面部识别和活体检测的2d数学数据。然而,该转换可能会导致深度信息的丢失。为了保留深度信息,将捕获与会聚点具有不同距离/角度的多个帧,并共同使用这些帧以将3d面部主体与2d欺骗区分开。在本发明的各种实施例中,可以包括活体检查404,其中,提示用户相对于用户的面部移动他们的设备(平移和/或旋转),以允许视角的变化。在注册或验证期间,用户的设备移动不受限制,只要用户设法将他们的面部放入图像传感器的框架内即可。
[0057]
图5示出了根据本发明的实施例的在活体挑战404期间用户看到的示例性屏幕截图500。图5示出了当用户执行认证时输入捕获设备正在捕获不同距离处的两个或更多个图像时在显示屏幕(例如,示例性移动设备的屏幕)上示出的用户界面的转变。在示例性实施
例中,用户界面可以采用视觉拟物,并且可以显示相机快门光圈(见图5)。用户界面是基于运动的,并且可以模拟相机快门的动作。用户指令可以在合理的时间量内针对每个位置(屏幕截图502、504、506、508)显示在屏幕上以提高可用性。在屏幕截图502中,公开了一种用于捕获位于距移动设备的相机距离d1处的面部图像的“完全打开”孔径。在屏幕截图502中,提示用户将他的面部靠近图像传感器放置,使得可以近距离范围内捕获面部,并且面部完全显示在模拟光圈的孔径内。在屏幕截图504中,公开了一种用于捕获位于距图像传感器距离d2处的面部图像的“半开”孔径。在屏幕截图504中,提示用户将他的面部离图像传感器远一点,使得面部显示在模拟光圈的“半开”孔径内,其中,d1<d2。
[0058]
在屏幕截图506中,提示用户将他的面部离图像传感器更远一些,使得可以在远距离范围内捕获面部。在屏幕截图506中,公开了一种用于捕获位于距图像传感器距离d3处的面部图像的“四分之一开”孔径,其中,d1<d2<d3。在屏幕截图508中,向用户呈现了“关闭的孔径”,其指示人的所有图像已经被捕获,并且这些图像正在被处理。
[0059]
在本发明的各种实施例中,对用户界面的转换的控制(即,对图像捕获设备的控制)可以基于对在2d面部图像的两个或更多个输入之间识别的变化的响应。在实施例中,该变化可以是第一x轴距离和第二x轴距离之间的差,第一x轴距离和第二x轴距离表示在x轴方向上两个参考点(在两个或更多个输入中的第一输入和第二输入中识别的两个参考点)之间的距离。在备选实施例中,该变化可以是第一y轴距离和第二y轴距离之间的差,第一y轴距离和第二y轴距离表示在y轴方向上两个参考点(在两个或更多个输入中的第一输入和第二输入中识别的两个参考点)之间的距离。换言之,控制图像捕获设备以便捕获2d脸部图像的两个或更多个输入可以基于对以下至少一项的响应:(i)第一x轴距离和第二x轴距离之间的差,以及(ii)第一y轴距离和第二y轴距离之间的差。上述控制方法也可以用于停止进一步输入2d面部图像。在示例性实施例中,两个参考点中的第一参考点可以是与用户的眼睛相关联的面部标志点,并且两个参考点中的第二参考点可以是与用户的另一只眼睛相关联的另一个面部标志点。
[0060]
在各种实施例中,图像传感器可以包括可见光传感器和红外传感器。在输入捕获设备包括一个或多个图像传感器的情况下,一个或多个图像传感器中的每一个可以包括一组摄影镜头中的一个或多个,该摄影镜头包括广角镜头、长焦镜头、可变焦距变焦镜头或普通镜头。还可以理解,图像传感器前面的镜头可以是可互换的(即,输入捕获设备可以交换位于图像传感器前面的镜头)。对于具有一个或多个带有固定镜头的图像传感器的输入捕获设备,第一镜头的焦距可以不同于第二镜头和后续镜头的焦距。有利地,当捕获面部图像的两个或更多个输入时,可以省略具有一个或多个图像传感器的输入捕获设备相对于用户的移动。即,系统可以被配置为在不同距离处自动地捕获人的面部图像的两个或更多个输入,因为可以在输入捕获设备和用户之间没有相对运动的情况下,使用不同的镜头(和图像传感器)在不同焦距处捕获2d面部图像的两个或更多个输入。在各种实施例中,如上所述的用户界面转变可以与不同焦距处的输入捕获同步。
[0061]
实现细节

活体决策数据流

数据处理
[0062]
将更详细地描述以下步骤:(ii)确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息,以及(iii)响应于图2所示和前面段落中提到的对该深度信息的确定来构建3d面部模型。将对在距图像捕获设备的不同距离处捕获的2d面部图像
的两个或更多个输入进行处理,以确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息。对2d面部图像的两个或更多个输入的处理可以由图1的处理模块102执行。数据处理可以包括数据过滤、数据归一化和数据转换。在数据过滤中,可以去除使用运动模糊、焦点模糊或对活体检测不重要或不需要的多余数据捕获的图像。数据归一化可以去除由于不同输入捕获设备之间的硬件差异而在数据中引入的偏差。在数据转换中,数据被转换为描述在3维场景中人的面部基准点的特征向量,并且可以涉及特征和属性的组合,以及对人脸的几何性质的计算。数据处理还可以消除由于例如输入捕获设备的图像传感器的配置导致的差异而产生的一些数据噪声。数据处理还可以增强对面部特征的聚焦,该面部特征用于区分3d面部和2d欺骗面部的透视失真。
[0063]
图7a和图7b示出了根据本发明的实施例的用于构建3d面部模型的序列图。在本发明的实施例中,响应于基于与二维面部图像相关联的面部标志点确定深度信息来构建3d面部模型。还参考图7a至图7c描述与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息的确定(即,从捕获的图像中提取特征信息)。如图7a和图7b所示,首先提取2d面部图像图像702、704、706的两个或更多个输入中的每个输入,并且相对于面部边界框计算所选择的面部标志点集。图6示出了示例性的面部标志点集600。在本发明的实施例中,面部边界框可以在整个输入系列中具有相同的纵横比,以提高面部标志提取的准确性和速度。在面部标志提取708中,跟踪点相对于面部边界框的宽度和高度投影到图像的坐标系。在如图6所示的标志点集中,参考面部标志点用于对所有其他面部标志点的距离计算。这些距离将作为最后的面部图像特征。对于每个面部标志点,通过取特定面部标志点的x和y点与参考面部标志点之间的差值的绝对值来计算x和y距离。单个面部图像标志计算的总输出将是参考面部标志点与除参考面部标志点之外的面部标志点中的每一个之间的一系列距离。图7a和图7b示出了两个或更多个输入702、704、706中的每一个的输出710、712、714。因此,输出710、712、714是标志点到参考点的x距离集和标志点到参考点的y距离集。实现的示例伪代码如下所示:
[0064]
对于除了参考点之外的面部标志中的每个标志,执行
[0065]
x_distance=|landmark.x

referencepoint.x|
[0066]
y_distance=|landmark.y

referencepoint.y|
[0067]
换言之,确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息的步骤包括(a)确定两个或更多个输入中的第一输入中的两个参考点(即,参考面部标志点和除参考面部标志点之外的面部标志点之一)之间的第一x轴距离和第一y轴距离,第一x轴距离和第一y轴距离分别表示在x轴方向和y轴方向上两个参考点之间的距离,以及(b)确定在两个或更多个输入中的第二输入中的两个参考点之间的第二x轴距离和第二y轴距离,第二x轴距离和第二y轴距离分别表示在x轴方向和y轴方向上两个参考点之间的距离。对面部标志点(即,后续参考点)中的每一个和2d面部图像的后续输入重复这些步骤。因此,当确定面部标志点并计算面部标志点与参考面部标志点之间的距离时,确定的输出710、712、714是具有标志的特征点集(例如,p个)的一系列n个帧,即,图像的n个帧将产生总共n*p个特征点718(见图7c)。n*p个特征点718也在图表720中示出,其示出了x轴距离和y轴距离如何在2d面部图像的两个或更多个输入(如图表720的x轴所示)上变化。
[0068]
输出710、712、714(如表718和图表720所示)可以用于通过确定以下至少一项来获
得深度特征点的结果列表,以便确定深度信息:(i)第一x轴距离和第二x轴距离之间的差,以及(ii)第一y轴距离和第二y轴距离之间的差。在示例性实施例中,可以使用线性回归716来获得深度信息。
[0069]
具体地,使用线性回归716来减少输出710、712、714,其中,使用线性回归将每个特征点拟合到一条线,并检索连接特征点对的线的斜率。输出是一系列属性值722。在拟合到线性回归之前,可以使用小的移动平均或其他平滑函数来平滑一系列特征点。因此,可以确定2d面部图像的面部属性值722,并且可以响应于对面部属性722的确定来构建3d面部模型。
[0070]
此外,在本发明的各种实施例中,从运动传感器110(例如,加速度计和陀螺仪)获得的相机角度数据可以被添加为特征点。可以通过从加速度计计算重力加速度来获得相机角度信息。加速度计传感器数据可以包括重力和其他设备加速度信息。仅考虑重力加速度(其可以在x轴、y轴、z轴上,具有

9.81到9.81之间的值)来确定设备的角度。在实施例中,针对每个帧检索三个旋转值(滚动、俯仰和偏航),并且计算来自帧的值的平均值并将其添加为特征点。即,特征点仅由三个平均值组成。在另一实施例中,不计算平均值,并且特征点由每个帧的旋转值(滚动、俯仰和偏航)组成。即,特征点由n个帧*(滚动、俯仰和偏航)值组成。因此,可以确定2d面部图像的旋转信息,并且可以响应于对旋转信息的确定来构建3d面部模型。
[0071]
实现细节

活体决策数据流

分类过程
[0072]
然后对人的深度特征向量和三个旋转值(滚动、俯仰和偏航)的平均值进行分类处理,以获得对面部的活体性的准确预测。在分类过程中,基本面部配置以及移动设备的空间和方向信息、以及人的头部姿势被馈送到深度学习模型中以检测面部的活体性。
[0073]
因此,公开了一种用于面部活体性检测的系统和方法。采用基于深度学习的欺骗面部检测机制来检测面部的活体性,并确定经过认证的用户的真实存在。在本发明的实施例中,面部活体性检测机制有两个主要阶段。第一阶段涉及数据捕获、预活体过滤、活体挑战、数据处理和特征转换。在这个阶段,从图像传感器(例如,移动设备的相机)的不同接近度处快速连续地捕获来自2d面部图像的单独输入集的基本面部配置,其中,该基本面部配置由允许对面部映射图上的每对点之间的深度值进行数学量化的特征向量集组成。除了针对面部构建基本面部配置之外,人相对于移动设备的相机视图的头部方向也由移动设备的x轴、y轴和z轴的重力值以及人的头部姿势的方向来确定。第二阶段是分类过程,其中,基本面部配置以及移动设备与用户的头部姿势之间的相对方向信息被馈送到分类过程中,以用于面部活体性预测,并在许可用户访问他或她的帐户之前确定经过认证的用户的真实存在。因此,综上所述,即,可以在距移动设备的相机不同的接近度处捕获来自单独面部图像集的3d面部配置。3d面部配置以及可选的移动设备和用户的头部姿势之间的相对方向信息可以被用作面部活体性预测的分类过程的输入。该机制可以提供高保证和可靠的解决方案,该解决方案能够有效地对抗过多的面部欺骗技术。
[0074]
图8描绘了示例性计算设备800,在下文中可互换地称为计算机系统800,其中,一个或多个这种计算设备800可以用于执行图2的方法200。示例性计算设备800的一个或多个组件也可以用于实现系统100和输入捕获设备108。计算设备800的以下描述仅通过示例的方式提供,并且不旨在进行限制。
[0075]
如图8所示,示例计算设备800包括用于执行软件例程的处理器807。尽管为了清楚起见示出了单个处理器,但是计算设备800也可以包括多处理器系统。处理器807连接到通信基础设施806,以用于与计算设备800的其他组件进行通信。通信基础设施806可以包括例如通信总线、交叉开关或网络。
[0076]
计算设备800还包括主存储器808,例如,随机存取存储器(ram)和辅存储器810。辅存储器810可以包括例如存储驱动器812,存储驱动器812可以是硬盘驱动器、固态驱动器或混合驱动器和/或可移动存储驱动器817,可移动存储驱动器817可以包括磁带驱动器、光盘驱动器、固态存储驱动器(例如,usb闪存驱动器、闪存设备、固态驱动器或存储卡)等。可移动存储驱动器817以众所周知的方式从可移动存储介质877读取和/或写入可移动存储介质877。可移动存储介质877可以包括由可移动存储驱动器817读取和写入的磁带、光盘、非易失性存储器存储介质等。如相关领域的技术人员将理解的,可移动存储介质877包括计算机可读存储介质,该计算机可读存储介质包括存储在其中的计算机可执行程序代码指令和/或数据。
[0077]
在备选实现中,辅存储器810可以附加地或备选地包括用于允许将计算机程序或其他指令加载到计算设备800中的其他类似装置。这种装置可以包括例如可移动存储单元822和接口850。可移动存储单元822和接口850的示例包括程序卡盒和卡盒接口(例如,在视频游戏控制台设备中发现的接口)、可移动存储芯片(例如,eprom或prom)和相关联的插座、可移动固态存储驱动器(例如,usb闪存驱动器、闪存设备、固态驱动器或存储卡),以及允许软件和数据从可移动存储单元822传输到计算机系统800的其他可移动存储单元822和接口850。
[0078]
计算设备800还包括至少一个通信接口827。通信接口827允许软件和数据经由通信路径826在计算设备800和外部设备之间传输。在本发明的各种实施例中,通信接口827允许数据在计算设备800和数据通信网络(例如,公共数据或私有数据通信网络)之间传输。通信接口827可以用于在不同的计算设备800之间交换数据,这些计算设备800形成互连的计算机网络的一部分。通信接口827的示例可以包括调制解调器、网络接口(例如,以太网卡)、通信端口(例如,串行、并行、打印机、gpib、ieee 1394、rj45、usb)、具有关联电路的天线等。通信接口827可以是有线的或者可以是无线的。经由通信接口527传输的软件和数据可以是电子、电磁、光信号或其他能够被通信接口527接收的信号的形式。这些信号经由通信路径526提供给通信接口。
[0079]
如图8所示,计算设备800还包括显示器接口802和音频接口852,显示器接口802执行用于将图像渲染到相关联的显示器850的操作,音频接口852用于执行经由相关联的扬声器857播放音频内容的操作。
[0080]
如本文所用,术语“计算机程序产品”可以部分地指代可移动存储介质877、可移动存储单元822、安装在存储驱动器812中的硬盘、或通过到通信接口827的通信路径826(无线链路或电缆)承载软件的载波。计算机可读存储介质是指任何非暂时性、非易失性的有形存储介质,其向计算设备800提供所记录的指令和/或数据以供执行和/或处理。这种存储介质的示例包括磁带、cd

rom、dvd、蓝光
tm
光盘、硬盘驱动器、rom或集成电路、固态存储驱动器(例如,usb闪存驱动器、闪存设备、固态驱动器或存储卡)、混合驱动器、磁光盘或计算机可读卡(例如,pcmcia卡)等,无论这些设备是在计算设备800的内部还是外部。也可以参与向
计算设备800提供软件、应用程序、指令和/或数据的暂时或非有形的计算机可读传输介质的示例包括无线电或红外传输信道以及到另一计算机或联网设备的网络连接,以及包括e

mail传输和记录在网站上的信息等的互联网或内联网。
[0081]
计算机程序(也称为计算机程序代码)存储在主存储器808和/或辅存储器810中。计算机程序也可以经由通信接口827接收。这种计算机程序在被执行时,使计算设备800能够执行本文讨论的实施例的一个或多个特征。在各种实施例中,计算机程序在被执行时,使处理器807能够执行上述实施例的特征。因此,这种计算机程序表示计算机系统800的控制器。
[0082]
软件可以存储在计算机程序产品中,并且使用可移动存储驱动器817、存储驱动器812或接口850加载到计算设备800中。计算机程序产品可以是非暂时性计算机可读介质。备选地,可以通过通信路径826将计算机程序产品下载到计算机系统800。软件在由处理器807执行时,使计算设备800执行必要的操作以执行如图2所示的方法200。
[0083]
应当理解,图8的实施例仅通过示例的方式呈现,以说明系统800的操作和结构。因此,在一些实施例中,可以省略计算设备800的一个或多个特征。此外,在一些实施例中,计算设备800的一个或多个特征可以组合在一起。另外,在一些实施例中,计算设备800的一个或多个特征可以被分成一个或多个组成部分。
[0084]
应当理解,图8所示的元件起到提供用于执行如在上述实施例中描述的系统的各种功能和操作的装置的作用。
[0085]
当计算设备800被配置为实现系统100以基于二维(2d)面部图像自适应地构建三维(3d)面部模型时,系统100将具有非暂时性计算机可读介质,其包括存储在其上的应用,该应用在被执行时,使系统100执行包括以下各项的步骤:(i)从输入捕获设备接收2d面部图像的两个或更多个输入,该两个或更多个输入在距图像捕获设备的不同距离处被捕获,(ii)确定与2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息,以及(iii)响应于对于该深度信息的确定来构建3d面部模型。
[0086]
本领域技术人员将理解,在不脱离广泛描述的本发明的精神或范围的情况下,可以对具体实施例所示的示例实施例进行多种变化和/或修改。因此,本实施例在所有方面都被认为是说明性的而非限制性的。
[0087]
上述示例性实施例还可以全部或部分地通过以下补充说明进行描述,而不限于以下补充说明。
[0088]
(补充说明1)
[0089]
一种基于二维(2d)面部图像的两个或更多个输入自适应地构建三维(3d)面部模型的服务器,所述服务器包括:
[0090]
至少一个处理器;以及
[0091]
至少一个存储器,包括计算机程序代码;
[0092]
所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器至少:
[0093]
从输入捕获设备接收所述2d面部图像的两个或更多个输入,所述两个或更多个输入是在距所述图像捕获设备的不同距离处捕获的;
[0094]
确定与所述2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的
深度信息;以及
[0095]
响应于对所述深度信息的确定来构建3d面部模型。
[0096]
(补充说明2)
[0097]
根据补充说明1所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器:
[0098]
确定所述两个或更多个输入中的第一输入中的两个参考点之间的第一x轴距离和第一y轴距离,所述第一x轴距离和所述第一y轴距离分别表示在x轴方向和y轴方向上所述两个参考点之间的距离;以及
[0099]
确定所述两个或更多个输入中的第二输入中的两个参考点之间的第二x轴距离和第二y轴距离,所述第二x轴距离和所述第二y轴距离分别表示在x轴方向和y轴方向上所述两个参考点之间的距离。
[0100]
(补充说明3)
[0101]
根据补充说明2所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器:
[0102]
确定以下至少一项以便确定所述深度信息:(i)所述第一x轴距离和所述第二x轴距离之间的差,以及(ii)所述第一y轴距离和所述第二y轴距离之间的差。
[0103]
(补充说明4)
[0104]
根据补充说明1所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器进一步:
[0105]
控制所述图像捕获设备在相对于所述图像捕获设备的不同距离和角度处捕获所述两个或更多个输入。
[0106]
(补充说明5)
[0107]
根据补充说明1所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器进一步:
[0108]
确定所述2d面部图像的面部属性,其中,响应于对所述面部属性的确定来构建所述3d面部模型。
[0109]
(补充说明6)
[0110]
根据补充说明1所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器进一步:
[0111]
确定所述2d面部图像的旋转信息,其中,响应于对所述旋转信息的确定来构建所述3d面部模型。
[0112]
(补充说明7)
[0113]
根据补充说明1所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器进一步:
[0114]
响应于以下至少一项来控制所述图像捕获设备:(i)所述第一x轴距离和所述第二x轴距离之间的差,以及(ii)所述第一y轴距离和所述第二y轴距离之间的差。
[0115]
(补充说明8)
[0116]
根据补充说明7所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器进一步:
[0117]
控制所述图像捕获设备停止进一步输入所述2d面部图像。
[0118]
(补充说明9)
[0119]
根据补充说明1所述的服务器,其中,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器,使所述服务器:
[0120]
确定至少一个参数以检测所述面部图像的真实性。
[0121]
(补充说明10)
[0122]
一种基于二维(2d)面部图像的两个或更多个输入自适应地构建三维(3d)面部模型的方法,所述方法包括:
[0123]
从输入捕获设备接收所述2d面部图像的两个或更多个输入,所述两个或更多个输入是在距所述图像捕获设备的不同距离处捕获的;
[0124]
确定与所述2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息;以及
[0125]
响应于对所述深度信息的确定来构建所述3d面部模型。
[0126]
(补充说明11)
[0127]
根据补充说明10所述的方法,其中,确定与所述2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息的步骤包括:
[0128]
确定所述两个或更多个输入中的第一输入中的两个参考点之间的第一x轴距离和第一y轴距离,所述第一x轴距离和所述第一y轴距离分别表示在x轴方向和y轴方向上所述两个参考点之间的距离;以及
[0129]
确定所述两个或更多个输入中的第二输入中的两个参考点之间的第二x轴距离和第二y轴距离,所述第二x轴距离和所述第二y轴距离分别表示在x轴方向和y轴方向上所述两个参考点之间的距离。
[0130]
(补充说明12)
[0131]
根据补充说明11所述的方法,其中,确定与所述2d面部图像的两个或更多个输入中的每个输入的至少一个点相关的深度信息的步骤还包括:
[0132]
确定以下至少一项以便确定所述深度信息:(i)所述第一x轴距离和所述第二x轴距离之间的差,以及(ii)所述第一y轴距离和所述第二y轴距离之间的差。
[0133]
(补充说明13)
[0134]
根据补充说明10所述的方法,其中,所述两个或更多个输入是在相对于所述图像捕获设备的不同距离和角度处捕获的。
[0135]
(补充说明14)
[0136]
根据补充说明10所述的方法,还包括:
[0137]
确定所述2d面部图像的面部属性,其中,响应于对所述面部属性的确定来构建所述3d面部模型。
[0138]
(补充说明15)
[0139]
根据补充说明10所述的方法,还包括:
[0140]
确定所述2d面部图像的旋转信息,其中,响应于对所述旋转信息的确定来构建所述3d面部模型。
[0141]
(补充说明16)
[0142]
根据补充说明10所述的方法,还包括:
[0143]
响应于以下至少一项来控制所述图像捕获设备以便捕获所述2d面部图像的两个或更多个输入:(i)所述第一x轴距离和所述第二x轴距离之间的差,以及(ii)所述第一y轴距离和所述第二y轴距离之间的差。
[0144]
(补充说明17)
[0145]
根据补充说明16所述的方法,还包括:
[0146]
控制所述图像捕获设备停止进一步输入所述2d面部图像。
[0147]
(补充说明18)
[0148]
根据补充说明10所述的方法,其中,构建所述3d面部模型的步骤包括:
[0149]
确定至少一个参数以检测所述面部图像的真实性。
[0150]
本技术基于并要求于2019年3月29日提交的新加坡专利申请no.10201902889v的优先权,其公开内容整体并入本文。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献