活体检测方法和装置的制造方法

文档序号:10570271阅读:433来源:国知局
活体检测方法和装置的制造方法
【专利摘要】本发明的实施例提供了活体检测方法和装置。该活体检测方法包括:根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图;以及基于所述伪深度图确定所述目标是否为活体。这不仅可以有效地防止提前拍摄的照片和视频对系统的攻击,而且计算量较小、耗时短,从而能够满足系统的实时性要求。
【专利说明】
活体检测方法和装置
技术领域
[0001 ]本发明涉及图像处理领域,更具体地涉及一种活体检测方法和装置。
【背景技术】
[0002]目前,基于人脸的身份验证系统已得到广泛应用。但是,也衍生出一些恶意欺骗人脸身份验证的方法,如以下几种:
[0003]对最原始的基于人脸的身份验证系统(以下简称人脸验证),恶意用户可能使用被仿冒者本人的照片来进行攻击(以下简称“照片攻击”)。
[0004]针对“照片攻击”,人脸验证可以通过检查一段人脸视频中是否有精细动作来有效地应对“照片攻击”。进一步的,人脸验证可以要求被验证者进行指定动作来反攻击。
[0005]针对以上反攻击方法,恶意用户可能利用平板电脑等装置播放视频或者动画来仿冒某人人脸的动作来欺骗人脸验证(以下统称“动画攻击”)。因为视频或动画包括由攻击者利用某种手段获得的被仿冒者本人的真实视频和图片,所以动画攻击有很大的欺骗性。传统的活体检测方法很可能对该种攻击失效。
[0006]“照片攻击”和“动画攻击”中,照片和屏幕都是非立体物体,所产生的三维信息明显不同于人脸。因此,现有基于三维重建的方法来获得人脸的三维信息,从而进行活体检测。但由于现有的基于三维重建方法的活体检测需要对具有大量数据的图像或视频进行处理,因此,三维重建的计算步骤计算量大。而且,在实时活体检测应用中,更有计算能力能否满足实时性的问题。
[0007]目前市场上的技术产品中还没有公认成熟的活体检测方案,已有的技术要么难以抵抗恶意攻击,要么计算量大且耗时长。

【发明内容】

[0008]考虑到上述问题而提出了本发明。本发明提供了一种活体检测方法和装置,采用伪深度图来进行活体检测,不仅能够抵抗恶意攻击,而且计算量小、耗时短,满足实时性要求。
[0009 ]根据本发明一方面,提供了一种活体检测方法,包括:
[0010]根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图;以及[0011 ]基于所述伪深度图确定所述目标是否为活体。
[0012]示例性地,所述基于所述伪深度图确定所述目标是否为活体包括:
[0013]基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体。
[0014]示例性地,所述基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体包括:
[0015]根据所述关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间关系一致;以及
[0016]将经调整的伪深度图与所述三维信息模板图相比对,以确定所述目标是否为活体。
[0017]示例性地,所述关键点是3至10个。
[0018]示例性地,所述根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图包括:
[0019]将所述至少两个图像沿通道维粘连生成粘连后的张量;以及
[0020]将所述粘连后的张量输入神经网络,以生成所述伪深度图。
[0021]示例性地,所述将所述粘连后的张量输入神经网络以生成所述伪深度图的步骤还包括:获得所述伪深度图中所述目标的关键点位置。
[0022]示例性地,所述活体检测方法还包括:
[0023]利用训练图像对初始神经网络进行训练,以获得所述神经网络。
[0024]示例性地,所述根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图包括:
[0025]根据所述至少两个图像,基于运动恢复结构算法生成所述伪深度图。
[0026]示例性地,所述活体检测方法还包括:
[0027]使用神经网络获得所述伪深度图中所述目标的关键点位置。
[0028]根据本发明另一方面,还提供了一种活体检测装置,包括:
[0029]伪深度图生成模块,用于根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图;以及
[0030]检测模块,用于基于所述伪深度图确定所述目标是否为活体。
[0031 ]示例性地,所述检测模块包括:
[0032]检测单元,用于基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体。
[0033]示例性地,所述检测单元包括:
[0034]调整子单元,用于根据所述关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间关系一致;以及
[0035]确定子单元,用于将经调整的伪深度图与所述三维信息模板图相比对,以确定所述目标是否为活体。
[0036]示例性地,所述关键点是3至10个。
[0037]示例性地,所述伪深度图生成模块包括:
[0038]粘连张量生成单元,用于将所述至少两个图像沿通道维粘连,以生成粘连后的张量;以及
[0039]第一伪深度图生成单元,用于将所述粘连后的张量输入神经网络,以生成所述伪深度图。
[0040]示例性地,所述第一伪深度图生成单元将所述粘连后的张量输入神经网络,还获得所述伪深度图中所述目标的关键点位置。
[0041 ]示例性地,所述活体检测装置还包括:
[0042]训练模块,用于利用训练图像对初始神经网络进行训练,以获得所述神经网络。
[0043]示例性地,所述伪深度图生成模块还包括:
[0044]第二伪深度图生成单元,用于根据所述至少两个图像,基于运动恢复结构算法生成所述伪深度图。
[0045]示例性地,所述伪深度图生成模块还包括:
[0046]关键点获得单元,用于使用神经网络获得所述伪深度图中所述目标的关键点位置。
[0047]根据本发明实施例的活体检测方法和装置,有效利用伪深度图来进行活体检测,不仅可以有效地防止提前拍摄的照片和视频的攻击,而且计算量小、耗时短,从而能够满足应用的实时性要求。
【附图说明】
[0048]通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同或相似部件或步骤。
[0049]图1示出了用于实现根据本发明实施例的活体检测方法和装置的示例电子设备的示意性框图;
[0050]图2示出了根据本发明一个实施例的活体检测方法的示意性流程图;
[0051]图3示出了根据本发明一个实施例的目标的伪深度图的示意图;
[0052]图4示出了根据本发明一个实施例的生成伪深度图的示例性流程图;
[0053]图5示出了根据本发明一个实施例的利用神经网络生成伪深度图以进行活体检测的不意图;
[0054]图6示出了根据本发明另一实施例的活体检测方法的示意性流程图;
[0055]图7A示出了根据本发明一个实施例的生成伪深度图和确定伪深度图中目标的关键点的神经网络;
[0056]图7B示出了根据本发明另一个实施例的确定伪深度图中目标的关键点的神经网络;
[0057]图8示出了根据本发明一个实施例的包括关键点的伪深度图的示意图;
[0058]图9示出了根据本发明一个实施例的活体检测装置的示意性框图;
[0059]图10示出了根据本发明一个实施例的伪深度图生成模块的示意性框图;
[0060]图11示出了根据本发明另一个实施例的伪深度图生成模块的示意性框图;以及
[0061]图12示出了根据本发明一个实施例的活体检测设备的示意性框图。
【具体实施方式】
[0062]为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
[0063]首先,参照图1来描述用于实现本发明实施例的活体检测方法和装置的示例电子设备100。
[0064]如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像传感器110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
[0065]所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
[0066]所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(R0M)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
[0067]所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
[0068]所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
[0069]所述图像传感器110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
[0070]示例性地,用于实现根据本发明实施例的活体检测方法和装置的示例电子设备可以被实现为诸如智能手机、平板电脑以及门禁系统的图像采集端等。
[0071]下面,将参考图2描述根据本发明一个实施例的活体检测方法200。
[0072]首先,在步骤S210,根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图。
[0073]该至少两个图像可以来自不同的摄像头所拍摄的视频。不同的摄像头可以从不同位置或角度针对目标进行拍摄。例如,可以利用双目成像技术来获得两个对应的视频帧,以作为该目标的至少两个图像。
[0074]可以理解,本发明并不限于利用两个图像来完成活体检测。也可以利用目标的、来自更多位置的更多图像来进行活体检测。还可以利用目标的来自两个位置拍摄的视频的一系列对应视频帧来进行活体检测。
[0075]伪深度图与真正的深度图不同。伪深度图中所表示的物体的深度是相对的。伪深度图无法表示像素中的某一点的具体深度,但是其可以表示出其中的某点相对于其他点是更接近于摄像头还是相对远离摄像头。
[0076]图3示出了根据本发明一个实施例的目标的伪深度图。从图3可以看出,该目标为一个人脸。而人脸的鼻子区域、嘴巴区域、下巴区域等区域颜色更深(在真实的伪深度图中其颜色更接近于红色),这表明这些区域更接近于摄像头。然而人脸的额头区域、眼部区域等区域颜色更浅(在真实的伪深度图中其颜色更接近于蓝色),这表明这些区域更远离摄像头。
[0077]虽然伪深度图未能表示目标的具体深度,但其也从一定程度上表示了目标的相对深度信息,即三维信息。相对深度信息可以包括人脸各个器官的凹凸信息。利用该相对深度信息,可以分辨目标是照片或播放视频的屏幕,还是真正的人脸。也就是说,利用伪深度图进行活体检测能够抵抗预先拍摄的被仿冒人的照片和视频的攻击。总之,对于活体检测来说,伪深度图的信息是足够的。
[0078]本领域普通技术人员可以理解,虽然图3所示目标为人脸,但这仅用于示例,而非限制。
[0079]在步骤S230,基于步骤S210所生成的伪深度图确定所述目标是否为活体。
[0080]如上所述,步骤S210所生成的伪深度图由于包括目标的三维信息,可以用来进行目标的活体检测并抵抗恶意攻击。
[0081 ]可以通过将伪深度图与三维信息模板图进行比对来进行目标的活体检测。假设目标为人脸的话,三维信息模板图包括人脸的三维信息。即三维信息模板图中包括一个立体的人脸轮廓。该三维信息模板图也可以用伪深度图来表示。
[0082]在一个示例中,可以在一个数据库中预存多个不同的三维信息模板图,例如儿童的三维信息模板图、不同脸型的成人的三维信息模板图等。可以将目标的伪深度图与数据库中的每个三维信息模板图进行比对以确定所述目标是否为活体。在一个实施例中,可以将目标的伪深度图与数据库中的每个三维信息模板图逐像素进行相关性计算,并根据特定阈值判断目标的伪深度图是否匹配数据库中的任一三维信息模板图。如果目标的伪深度图与数据库中的所有三维信息模板图都不匹配,则确定目标没有通过活体检测。如果目标的伪深度图匹配了数据库中的某个三维信息模板图,则确定目标通过活体检测。
[0083]在上述活体检测方法200中,有效利用伪深度图来进行活体检测。这不仅可以有效地防止提前拍摄的照片和视频对系统的攻击,而且计算量较小、耗时短,从而能够满足系统的实时性要求。
[0084]示例性地,根据本发明实施例的活体检测方法可以在具有存储器和处理器的设备、装置或者系统中实现。
[0085]根据本发明实施例的活体检测方法可以部署在人脸图像采集端处,例如,在安防应用领域,可以部署在门禁系统的图像采集端;在金融应用领域,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。
[0086]替代地,根据本发明实施例的活体检测方法还可以分布地部署在服务器端(或云端)和个人终端处。例如,在金融应用领域,个人终端将图像传感器采集的图像的数据传递给服务器端(或云端),然后服务器端(或云端)生成伪深度图并根据伪深度图进行活体检测。
[0087]图4示出了根据本发明一个实施例的生成伪深度图的示例性流程图。如图4所示,上述步骤S210进一步包括步骤S211和S212。
[0088]在步骤S211中,将目标的至少两个图像沿通道维粘连以生成目标的粘连后的张量。
[0089]在一个示例中,该至少两个图像是基于双目成像所获得的两个对应视频帧。每个视频帧包括例如红色(red,简写为R)、绿色(green,简写为G)、蓝色(blue,简写为B)3个通道。即每个视频帧的数据可以用一个C*W*H的张量来表示。其中C表示视频帧的通道数,在该示例中,C = LW表示视频帧的宽。H表示视频帧的高。将这两个视频帧的共6个通道的数据沿通道维粘连(concatenat1n)在一起,贝Ij生成一个2C*W*H的粘连后的张量。假设第一视频帧的通道数据分别是R1、G1和BI,第二视频帧的通道数据分别是R2、G2和B2,可以按照R1、G1、B1、R2、G2和B2的顺序来粘连数据。可以理解,还可以按照其他顺序来粘连数据,例如Rl、R2、61、62、81和82,本发明对此顺序不做限定。
[0090]在步骤S212中,将步骤S211所生成的粘连后的张量输入神经网络(NeuralNetwork,简写为NN),以生成目标的伪深度图。
[0091]神经网络是一种模仿动物神经网络行为特征、进行分布式并行信息处理的算法数学模型。神经网络依靠模型的复杂程度,通过调整神经网络内部大量节点之间相互连接的关系,从而达到处理信息的目的。在本发明的实施例中,利用神经网络模型将目标的多个图像生成所述目标的伪深度图。
[0092]图5示出了根据本发明一个实施例的利用神经网络生成伪深度图进行活体检测的不意图。如图5所不,分别利用左路摄像头和右路摄像头获取左路帧和右路帧。将左路帧和对应的右路帧粘连,以生成粘连后的张量。例如,将左路图像帧和右路图像帧沿通道维相粘连以生成粘连后的张量,将粘连后的张量输入神经网络,以生成伪深度图。最后,基于伪深度图进行活体检测。
[0093]神经网络能够很好地利用大数据的信息,并且高效地生成更理想的伪深度图。与三维重建等算法相比,利用神经网络生成伪深度图的计算更接近于矩阵运算,更容易接近计算单元(如CPU、通用计算(General Purpose Computing,简称GPU))的理论计算峰值,从而更有效利用了计算单元。
[0094]在一个实施例中,该神经网络可以包括2个带零填充的卷积层,每个卷积层可以是16个通道(channel )、并且采用3x3卷积核。示例性地,该神经网络采用sigmoid函数作为激活函数。将粘连后的张量输入至神经网络,从而得到该目标的伪深度图,目标的伪深度图可以由高(H)x宽(W)个实数表示。同时,将所述粘连后的张量输入所述神经网络,该神经网络还可以生成并输出目标的伪深度图以及伪深度图中目标的关键点位置。在下文中,将结合附图对此进行详细介绍。
[0095]示例性地,活体检测方法还包括:上述神经网络的训练步骤。即,利用训练图像对初始神经网络进行训练,以获得用于活体检测的神经网络。
[0096]训练图像可以包括多个与目标的图像采用同样的摄像头所采集的训练图像组以及根据每个训练图像组所确定的训练目标的伪深度图。
[0097]可以根据每个训练图像组构成一个相应的粘连后的张量。可以理解,在生成粘连后的张量的步骤中,进行活体检测的图像的通道数据的顺序需要与该步骤中训练图像组的通道数据的顺序一致。将训练图像组沿通道维粘连以形成的粘连后的张量输入初始神经网络,以生成相应的伪深度图。根据所生成的伪深度图与预先确定的伪深度图之间的差异,调整初始神经网络的参数。重复上述步骤,直至神经网络所生成的伪深度图与预先确定的伪深度图之间的差异可以容许,则此时的神经网络即可用于活体检测。
[0098]在所述神经网络可以生成并输出目标的伪深度图以及伪深度图中目标的关键点位置的情况下,在训练所述神经网络的过程中,将训练图像组沿通道维粘连以形成的粘连后的张量输入初始神经网络,以生成相应的伪深度图以及获得伪深度图中训练目标的关键点位置。根据所生成的伪深度图以及获得的关键点位置与预先确定的伪深度图和关键点位置之间的差异,调整初始神经网络的参数。重复上述步骤,直至神经网络所生成的伪深度图和获得的关键点位置与预先确定的伪深度图和关键点位置之间的差异可以容许,则此时的神经网络即可用于活体检测。
[0099]神经网络的计算量与伪深度图的解析度大致成正比。示例性地,通过训练过程中利用较低分辨率的伪深度图可以降低伪深度图的解析度,从而可以训练出一个计算量较小的神经网络。由此,即可减小活体检测方法的总计算量。
[0100]在本发明的另一实施例中,目标的伪深度图是根据目标的至少两个图像、基于运动恢复结构(SFM)算法所生成的。具体地,首先,可以提取图像的特征。然后,可以根据图像的特征估计一个图像相对于另一个图像的运动。最后,根据该运动推导目标的伪深度图。
[0101]运动恢复结构算法是显式的伪深度图计算方法。该算法由计算直接得到结果,无需标注数据集和对模型进行训练。
[0102]图6示出了根据本发明另一实施例的活体检测方法600的示意性流程图。如图6所示,活体检测方法600进一步包括步骤S610和S630。与图2所示活体检测方法200相比,活体检测方法600中的步骤S630与步骤S230相比进行了相应的改变。
[0103]在步骤S610中,根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图。
[0104]在一个实施例中,可以将所述至少两个图像沿通道维粘连生成粘连后的张量,将所述粘连后的张量输入神经网络,以生成所述伪深度图。
[0105]在另一个实施例中,可以根据所述至少两个图像、基于运动恢复结构算法生成所述伪深度图。
[0106]在步骤S630中,基于伪深度图和伪深度图中所述目标的关键点位置确定目标是否为活体。
[0107]关键点可以是一些表征能力强的点。对于人脸来说,关键点例如眼睛、眼角、眼睛中心、眉毛、鼻子、鼻尖、嘴巴、嘴角和脸部轮廓点等。在一个实施例中,在步骤S610中基于神经网络生成伪深度图的情况下,可以利用该神经网络获得伪深度图中所述目标的关键点位置。即将粘连后的张量输入神经网络,则获得了伪深度图和伪深度图中目标的关键点位置。示例性地,如图7A所示,该神经网络760例如包括2个带零填充的卷积层(第一零填充卷积层和第二零填充卷积层),每个卷积层可以是16个通道、并且采用3x3卷积核。示例性地,该神经网络采用sigmoid函数作为激活函数。具体地,如图7A所示,粘连后的张量输入至神经网络,将经过第一零填充卷积层(例如,16个通道、3x3卷积核的卷积层)提取的第一特征数据输入至第一 Sigmoid激活函数,得到第二特征数据。再将所述第二特征数据输入至第二零填充卷积层得到的第三特征数据输入至第二 Sigmoid激活函数,从而得到该神经网络760的两个输出:第一个输出是目标的伪深度图,第二个输出是伪深度图中目标的关键点位置。其中,目标的伪深度图可以由高(H)x宽(W)个实数表示,另一个输出,S卩N个关键点位置,可以由2N个实数表示。
[0108]在一个实施例中,所述神经网络760可以同时输出所述目标的伪深度图和所述伪深度图中目标的关键点位置。
[0109]利用同一个神经网络同时生成伪深度图并获得伪深度图中的目标的关键点位置可以共享部分计算,从而使算法更高效。
[0110]示例性地,神经网络760可以分别输出伪深度图和只包括关键点位置的示意图,如图7A所示,其中该示意图中的关键点与伪深度图是对应的。示例性地,神经网络760也可以输出包括关键点的伪深度图的示意图,如图8所示。
[0111]示例性地,该神经网络760是通过训练获得的,如上所述。
[0112]在伪深度图是基于运动恢复结构算法所生成的情况下,可以利用另外的神经网络获得关键点位置。例如,如图7B所示,该神经网络770例如包括2个带零填充的卷积层(第一零填充卷积层和第二零填充卷积层),每个卷积层可以是16个通道、并且采用3x3卷积核。示例性地,该神经网络采用sigmoid函数作为激活函数。具体地,如图7B所示,将经由运动恢复结构算法生成的伪深度图输入至神经网络770,将经过第一零填充卷积层(例如,16个通道、3x3卷积核的卷积层)、第一 Sigmoid激活函数、第二零填充卷积层和第二 Sigmoid激活函数,从而得到该神经网络770的输出,即伪深度图中目标的关键点位置,其中,对于N个关键点位置,可以由2N个实数表示。
[0113]图7A、7B中均示出包括2个带零填充的卷积层(第一零填充卷积层和第二零填充卷积层)和两个sigmoid函数作为激活函数的神经网络,应该理解的是,本发明并不局限于此。根据实际的应用和需求,可以改变神经网络中的卷积层数目和激活函数的数目。
[0114]示例性地,基于伪深度图和伪深度图中目标的关键点位置确定所述目标是否为活体可以通过将伪深度图与三维信息模板图进行比对来实现。可选地,三维信息模板图中可以包括相应参考点。相应参考点位置表征了三维信息模板图的位置关系和大小。通常,三维信息模板图是经旋转的,由此,其是正的而非歪斜的。例如,对于目标是人脸的情况,三维信息模板图中的人脸通常是人的正脸。
[0115]步骤S630所确定的每个关键点分别对应于三维信息模板图中的相应参考点。关键点位置表征了伪深度图的位置关系和大小。伪深度图的位置关系是指伪深度图中的目标的位置。以人脸为例,包括昂头的人脸、低头的人脸和头部旋转的人脸等。
[0116]示例性地,步骤S630可以包括步骤S631和步骤S632。
[0117]在步骤S631中,根据关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间位置关系一致。可以根据关键点位置与参考点位置确定二者之间的几何变换关系。该几何变换关系可以用特定的变换矩阵来表达,例如透视变换矩阵。然后,基于该几何变换关系来调整伪深度图。
[0118]仍以人脸为例,通过调整伪深度图,期望伪深度图中的人脸和三维信息模板图中的人脸姿势一致,例如都是人的正脸;并且期望伪深度图中的人脸和三维信息模板图中的人脸大小也一致,由此方便后续步骤进行比对。
[0119]在步骤S632中,将经调整的伪深度图与三维信息模板图相比对,以确定所述目标是否为活体。可以将经调整的伪深度图与所述三维信息模板图逐像素比对,确定伪深度图与三维信息模板图的相关性。如果确定伪深度图与数据库中任一三维信息模板图的相似度超过一个阈值,那么确定目标是活体;否则,确定目标不是活体。
[0120]通过关键点,有效解决了图像中目标(诸如人脸)的姿态各异以及目标与摄像头距离不同由此导致图像中目标大小不一致等问题,保证了活体检测的准确率。
[0121]示例性地,关键点可以包括3至10个。关键点过少,则不能合理的调整伪深度图。关键点过多,则造成计算量过大。换言之,合适的关键点个数即能保证对伪深度图的合理调整,又能保证计算量较少,即在计算量与精度间做出了较理想的权衡。如图7所示的人脸的伪深度图,其中包括7个关键点:左右眼的眼角、鼻尖和嘴角。
[0122]图9示出了根据本发明实施例的活体检测装置900的示意性框图。如图9所示,活体检测装置900包括伪深度图生成模块910和检测模块930。
[0123]伪深度图生成模块910用于根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图。该至少两个图像可以来自不同的摄像头所拍摄的视频。不同的摄像头可以从不同位置针对目标进行拍摄。例如,可以利用双目成像技术来获得两个对应的视频帧,以作为该目标的至少两个图像。伪深度图可以表示图像中目标的每个部分的凹凸情况,该信息可以有效防御照片或视频等对活体检测系统的攻击。伪深度图生成模块910可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的步骤S210。
[0124]检测模块930用于基于所述伪深度图确定所述目标是否为活体。检测模块930基于伪深度图所表示的其中目标各个部分的凹凸情况,来确定目标是否为活体。检测模块930可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的步骤S230。
[0125]检测模块930可以包括检测单元,其用于基于所述伪深度图和伪深度图中目标的关键点位置确定所述目标是否为活体。检测单元可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的步骤S630。
[0126]示例性地,所述检测单元可以包括调整子单元和确定子单元。
[0127]调整子单元用于根据所述关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间关系一致。示例性地,可以根据关键点位置与参考点位置确定二者之间的几何变换关系。该几何变换关系可以用特定的变换矩阵来表达,例如透视变换矩阵。然后,基于该几何变换关系来调整伪深度图。调整子单元可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的调整伪深度图的步骤。
[0128]确定子单元用于将经调整的伪深度图与所述三维信息模板图相比对,以确定所述目标是否为活体。可以将经调整的伪深度图与所述三维信息模板图逐像素比对两个图,确定图的相关性。如果确定伪深度图与数据库中任一三维信息模板图的相似度超过一个阈值,那么确定目标是活体;否则,确定目标不是活体。确定子单元可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的确定目标是否为活体的步骤。
[0129]在上述活体检测装置900中,有效利用伪深度图来进行活体检测。这不仅可以有效地防止提前拍摄的照片和视频对系统的攻击,而且计算量较小、耗时短,从而能够满足系统的实时性要求。
[0130]图10示出了根据本发明一个实施例的伪深度图生成模块910的示意性框图。如图10所示伪深度图生成模块910可以包括粘连张量生成单元911和第一伪深度图生成单元912。
[0131]粘连张量生成单元911用于根据所述至少两个图像生成粘连后的张量。粘连张量生成单元911可以将所述至少两个图像沿通道维粘连,以生成粘连后的张量。粘连张量生成单元911可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的步骤S211。
[0132]第一伪深度图生成单元912用于将所述粘连后的张量输入神经网络,以生成所述伪深度图。在一个实施例中,该第一伪深度图生成单元912还可以生成伪深度图以及获得所述伪深度图中目标的关键点位置。第一伪深度图生成单元912可以包括如图7A中所示的神经网络760,用于生成伪深度图以及伪深度图中目标的关键点位置。在将粘连后的张量输入至所述神经网络760之后,所述神经网络760可以输出目标的伪深度图以及伪深度图中目标的关键点位置。第一伪深度图生成单元912可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的步骤S212。
[0133]示例性地,在所述伪深度图和伪深度图中的目标关键点位置由神经网络760获得的情况下,所述活体检测装置900还可以进一步包括:训练模块,用于利用训练图像对初始神经网络进行训练,以获得第一伪深度图生成单元912所用的神经网络760。训练模块可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的上述神经网络训练步骤。
[0134]示例性地,在所述伪深度图是根据所述至少两个图像、基于运动恢复结构算法生成的情况下,所述伪深度图生成模块910可以包括第二伪深度图生成单元。
[0135]图11示出了根据本发明另一个实施例的伪深度图生成模块910的示意性框图。如图11所示,伪深度图生成模块910进一步包括第二伪深度图生成单元913和关键点获得单元914。
[0136]其中第二伪深度图生成单元913用于根据所述至少两个图像,基于运动恢复结构算法生成所述伪深度图。第二伪深度图生成单元913可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明一个实施例的活体检测方法中的上述基于运动恢复结构算法生成伪深度图的步骤。
[0137]关键点获得单元914用于获得所述伪深度图的关键点位置。示例性地,所述关键点可以是3至10个。关键点获得单元914可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。示例性地,可以利用如图7B中所示的神经网络770进行伪深度图中目标的关键点位置的确定,即,使用神经网络770获得所述基于运动恢复结构算法生成的所述伪深度图中所述目标的关键点位置。
[0138]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0139]图12示出了根据本发明实施例的活体检测设备1200的示意性框图。活体检测设备1200包括图像传感器1210、存储装置1230、以及处理器1240。
[0140]图像传感器1210用于采集图像。所述图像传感器可以包括不同的摄像头所拍摄同一目标的不同角度或位置的视频。所述图像传感器还可以包括双目摄像头,该双目摄像头可以利用双目成像技术来获得两个对应的视频帧,以作为该目标的至少两个图像。
[0141]所述存储装置1230存储用于实现根据本发明实施例的活体检测方法中的相应步骤的程序代码。
[0142]所述处理器1240用于运行所述存储装置1230中存储的程序代码,以执行根据本发明实施例的活体检测方法的相应步骤,并且用于实现根据本发明实施例的活体检测装置900中的伪深度图生成模块910和检测模块930。
[0143]在一个实施例中,在所述程序代码被所述处理器1240运行时,使得所述活体检测设备1200执行以下步骤:
[0144]根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图;以及
[0145]基于所述伪深度图确定所述目标是否为活体。
[0146]此外,在所述程序代码被所述处理器1240运行时还使得所述活体检测设备1200执行以下步骤:基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体。
[0147]示例性地,在所述程序代码被所述处理器1240运行时使所述活体检测设备1200执行的基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体的步骤包括:
[0148]根据所述关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间关系一致;以及
[0149]将经调整的伪深度图与所述三维信息模板图相比对,以确定所述目标是否为活体。
[0150]示例性地,所述关键点是3至10个。
[0151]示例性地,在所述程序代码被所述处理器1240运行时使所述活体检测设备1200执行根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图的步骤包括:
[0152]将所述至少两个图像沿通道维粘连,以生成粘连后的张量;以及
[0153]将所述粘连后的张量输入神经网络,以生成所述伪深度图。
[0154]示例性地,在所述程序代码被所述处理器1240运行时使所述活体检测设备1200执行将所述粘连后的张量输入神经网络以生成所述伪深度图的步骤还包括:获得所述伪深度图中所述目标的关键点位置。
[0155]示例性地,在所述程序代码被所述处理器1240运行时还使得所述活体检测设备1200执行以下步骤:
[0156]利用训练图像对初始神经网络进行训练,以获得所述神经网络。
[0157]替代地,在所述程序代码被所述处理器1240运行时使所述活体检测设备1200执行所述根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图的步骤进一步包括:
[0158]根据所述至少两个图像,基于运动恢复结构算法生成所述伪深度图。
[0159]示例性地,在所述程序代码被所述处理器1240运行时使所述活体检测设备1200执行基于运动恢复结构算法生成所述伪深度图的步骤还包括:
[0160]使用神经网络获得所述伪深度图中所述目标的关键点位置。
[0161]此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的活体检测方法的相应步骤,并且用于实现根据本发明实施例的活体检测装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含用于生成伪深度图的程序代码,另一个计算机可读存储介质包含用于进行目标的活体检测的计算机可读的程序代码。
[0162]在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使所述计算机或处理器执行以下步骤:
[0163]根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图;以及
[0164]基于所述伪深度图确定所述目标是否为活体。
[0165]示例性地,在所述计算机程序指令在被所述计算机或处理器运行时使计算机或处理器执行所述基于所述伪深度图确定所述目标是否为活体的步骤包括:基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体。
[0166]示例性地,在所述计算机程序指令在被所述计算机或处理器运行时使计算机或处理器执行所述基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体的步骤包括:
[0167]根据所述关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间关系一致;以及
[0168]将经调整的伪深度图与所述三维信息模板图相比对,以确定所述目标是否为活体。
[0169]示例性地,所述关键点是3至10个。
[0170]示例性地,在所述计算机程序指令在被所述计算机或处理器运行时使计算机或处理器执行所述根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图的步骤进一步包括:
[0171]将所述至少两个图像沿通道维粘连,以生成粘连后的张量;以及
[0172]将所述粘连后的张量输入神经网络,以生成所述伪深度图。
[0173]示例性地,在所述计算机程序指令在被所述计算机或处理器运行时使计算机或处理器执行所述将所述粘连后的张量输入神经网络以生成所述伪深度图的步骤还包括:获得所述伪深度图中所述目标的关键点位置。
[0174]示例性地,所述计算机程序指令在被计算机或处理器运行时还使得所述计算机或处理器执行以下步骤:
[0175]利用训练图像对初始神经网络进行训练,以获得所述神经网络。
[0176]替代地,在所述计算机程序指令在被所述计算机或处理器运行时使计算机或处理器执行根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图的步骤包括:
[0177]根据所述至少两个图像,基于运动恢复结构算法生成所述伪深度图。
[0178]示例性地,所述计算机程序指令在被计算机或处理器运行时还使得所述计算机或处理器执行以下步骤:
[0179]使用神经网络获得所述伪深度图中所述目标的关键点位置。
[0180]根据本发明实施例的活体检测装置中的各模块可以通过根据本发明实施例的用于活体检测的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
[0181]根据本发明实施例的活体检测方法及装置、活体检测设备以及存储介质,通过有效利用伪深度图来进行活体检测。这不仅可以有效地防止提前拍摄的照片和视频对系统的攻击,而且计算量较小、耗时短,从而能够满足系统的实时性要求。
[0182]尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
[0183]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0184]在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
[0185]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0186]类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的活体检测方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0187]本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0188]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0189]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的活体检测装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0190]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0191]以上所述,仅为本发明的【具体实施方式】或对【具体实施方式】的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
【主权项】
1.一种活体检测方法,包括: 根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图;以及 基于所述伪深度图确定所述目标是否为活体。2.如权利要求1所述的活体检测方法,所述基于所述伪深度图确定所述目标是否为活体包括: 基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体。3.如权利要求2所述的活体检测方法,其中,所述基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体包括: 根据所述关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间关系一致;以及 将经调整的伪深度图与所述三维信息模板图相比对,以确定所述目标是否为活体。4.如权利要求2或3所述的活体检测方法,其中,所述关键点是3至10个。5.如权利要求1至3任一项所述的活体检测方法,其中,所述根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图包括: 将所述至少两个图像沿通道维粘连生成粘连后的张量;以及 将所述粘连后的张量输入神经网络,以生成所述伪深度图。6.如权利要求5所述的活体检测方法,其中,所述将所述粘连后的张量输入神经网络以生成所述伪深度图的步骤还包括:获得所述伪深度图中所述目标的关键点位置。7.如权利要求5或6所述的活体检测方法,其中,所述活体检测方法还包括: 利用训练图像对初始神经网络进行训练,以获得所述神经网络。8.如权利要求1至3任一项所述的活体检测方法,其中,所述根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图包括: 根据所述至少两个图像,基于运动恢复结构算法生成所述伪深度图。9.如权利要求8所述的活体检测方法,还包括: 使用神经网络获得所述伪深度图中所述目标的关键点位置。10.—种活体检测装置,包括: 伪深度图生成模块,用于根据目标的、从不同位置拍摄的至少两个图像生成所述目标的伪深度图;以及 检测模块,用于基于所述伪深度图确定所述目标是否为活体。11.如权利要求10所述的活体检测装置,所述检测模块包括: 检测单元,用于基于所述伪深度图和所述伪深度图中所述目标的关键点位置确定所述目标是否为活体。12.如权利要求11所述的活体检测装置,其中,所述检测单元包括: 调整子单元,用于根据所述关键点位置与三维信息模板图中的参考点位置的相对关系,相应地调整所述伪深度图,以将所述伪深度图调整为与所述三维信息模板图空间关系一致;以及 确定子单元,用于将经调整的伪深度图与所述三维信息模板图相比对,以确定所述目标是否为活体。13.如权利要求11或12所述的活体检测装置,其中,所述关键点是3至10个。14.如权利要求10所述的活体检测装置,其中,所述伪深度图生成模块包括: 粘连张量生成单元,用于将所述至少两个图像沿通道维粘连,以生成粘连后的张量;以及 第一伪深度图生成单元,用于将所述粘连后的张量输入神经网络,以生成所述伪深度图。15.如权利要求14所述的活体检测装置,其中,所述第一伪深度图生成单元将所述粘连后的张量输入神经网络,还获得所述伪深度图中所述目标的关键点位置。16.如权利要求14或15所述的活体检测装置,其中,所述活体检测装置还包括: 训练模块,用于利用训练图像对初始神经网络进行训练,以获得所述神经网络。17.如权利要求10所述的活体检测装置,其中,所述伪深度图生成模块还包括: 第二伪深度图生成单元,用于根据所述至少两个图像,基于运动恢复结构算法生成所述伪深度图。18.如权利要求17所述的活体检测装置,其中,所述伪深度图生成模块还包括: 关键点获得单元,用于使用神经网络获得所述伪深度图中所述目标的关键点位置。
【文档编号】G06N3/02GK105930710SQ201610258600
【公开日】2016年9月7日
【申请日】2016年4月22日
【发明人】周舒畅, 姚聪, 周昕宇, 何蔚然, 印奇
【申请人】北京旷视科技有限公司, 北京小孔科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1