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

一种活体检测方法、装置、终端设备及存储介质与流程

2022-06-25 00:17:32 来源:中国专利 TAG:


1.本技术属于信息处理技术领域,尤其涉及一种活体检测方法、装置、终端设备及存储介质。


背景技术:

2.随着科技与经济的发展,人脸识别技术广泛应用于日常生活。伪造合法用户人脸的多种恶意攻击手段也随之频繁出现,这给人脸识别技术的应用带来了安全隐患。近年来,为了防范不法分子利用伪造的人脸进行违法犯罪活动,活体检测(face anti-spoofing)作为人脸识别系统必不可少的模块被广泛应用于社会服务、公共安全以及金融支付等领域。
3.目前,在人脸识别技术的应用中,现有的活体检测技术是通过获取连续多帧图片确定人脸的轻微运动,或者获取人脸的纹理信息以及微表情来区分是否是活体。这些活体检测技术大多需要在特定环境和特定设备条件下进行的,对环境和检测设备的要求比较高。并且,对于3d面具/3d头模攻击,即使用真人比例的面具戴在攻击者脸上或者利用3d头模来攻击活体检测,上述活体检测技术无法有效防御。
4.综上所述,现有的活体检测技术对环境和检测设备的要求比较高,且无法有效防御3d面具或3d头模的攻击,活体检测的成本较高,而有效性较低。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种活体检测方法、装置、终端设备及存储介质,以解决现有的活体检测技术存在对环境和检测设备的要求比较高,且无法有效防御3d面具或3d头模的攻击,活体检测的成本较高,而有效性较低的问题。
6.本技术实施例的第一方面提供了一种活体检测方法,包括:
7.获取待处理图像;
8.对所述待处理图像进行人脸检测,得到人脸框信息;
9.根据所述人脸框信息,验证所述待处理图像是否满足预设活体检测条件;
10.若所述待处理图像满足所述预设活体检测条件,则对所述待处理图像进行人体关键点检测,得到所述待处理图像中的人体关键点及其置信度;
11.根据所述人体关键点及其置信度,对所述待处理图像进行活体检测。
12.本技术实施例的第二方面提供了一种活体检测装置,包括:
13.图像获取单元,用于获取待处理图像;
14.人脸检测单元,用于对所述待处理图像进行人脸检测,得到人脸框信息;
15.图像验证单元,用于根据所述人脸框信息,验证所述待处理图像是否满足预设活体检测条件;
16.关键点检测单元,用于若所述待处理图像满足所述预设活体检测条件,则对所述待处理图像进行人体关键点检测,得到所述待处理图像中的人体关键点及其置信度;
17.活体检测单元,用于根据所述人体关键点及其置信度,对所述待处理图像进行活
体检测。
18.本技术实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
19.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
20.本技术实施例的第五方面提供了一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得终端设备实现如上述方法的步骤。
21.本技术实施例与现有技术相比存在的有益效果是:
22.在本技术的活体检测方法中,通过获取待处理图像,先对待处理图像进行人脸检测,得到人脸框信息,并根据人脸框信息,验证待处理图像是否满足预设活体检测条件,若待处理图像满足预设活体检测条件,则对待处理图像进行人体关键点检测,得到待处理图像中的人体关键点及其置信度,再根据人体关键点及其置信度,对待处理图像进行活体检测,从而可有效防御3d面具或3d头模的攻击,并且本技术无需额外的红外模组和深度模组,对检测环境和检测设备的要求不高,在提高活体检测的有效性的同时,有效控制活体检测的成本,解决了现有技术中无法有效防御3d面具或3d头模的攻击,活体检测的成本较高,而有效性较低的问题。
附图说明
23.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本技术实施例提供的活体检测方法的实现流程图;
25.图2是本技术实施例提供的活体检测方法中步骤s102的具体实现流程图;
26.图3是本技术实施例提供的活体检测方法中预设阈值的确定的具体实现流程图;
27.图4是本技术实施例提供的活体检测方法中获取人体关键点检测模型的具体实现流程图;
28.图5是本技术实施例提供的活体检测方法中步骤s105的具体实现流程图;
29.图6是本技术实施例提供的活体检测装置的结构框图;
30.图7是本技术实施例提供的终端设备的示意图。
具体实施方式
31.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
32.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
33.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特
征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
34.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
35.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
36.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0037]
另外,在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0038]
为了防范不法分子利用伪造的人脸进行违法犯罪活动,人脸识别系统都应用了活体检测技术,现有活体检测技术大多需要在特定环境和特定设备条件下进行,对检测环境和检测的设备要求较高,通过要求被检测者配合做一些动作,例如,眨眼、张嘴、摇头、点头等组合动作,再利用视频中多帧之间关联信息来判定是否是真实人脸。然而,在实际应用场景中,利用视频中多帧之间关联信息虽然实现了活体检测,但是,对于3d面具或3d头模缺乏有效检测,无法防御3d面具或3d头模的攻击。
[0039]
为了解决上述问题,本技术实施例提供了一种活体检测方法、装置、终端设备及存储介质,具体参见如下所述。
[0040]
本技术实施例提供的活体检测方法可以应用于人脸闸机、服务器、超级移动个人计算机(ultra-mobile personal computer,umpc)等终端设备上,本技术实施例对终端设备的具体类型不作任何限制。
[0041]
实施例一:
[0042]
图1示出了本技术实施例提供的活体检测方法的实现流程,该方法流程包括步骤s101至s104。各步骤的具体实现原理如下:
[0043]
步骤s101:获取待处理图像。
[0044]
上述待处理图像为要进行活体检测的图像。
[0045]
本技术实施例中,利用采集装置获取被检测人员的视频图像,拍摄的视频图像包括人体视频图像。上述采集装置可以为普通的摄像头,例如,普通摄像机、普通相机,也可以是其他带有拍摄功能的智能设备,例如手机、平板电脑等,上述采集装置无需额外采用复杂昂贵的红外模组、深度模组,可降低活体检测的成本。
[0046]
在一些实施方式中,为提高拍摄的效率,摄像头进行动态视频拍摄,一次视频拍摄能捕获所述被检测人员的多帧视频图像,从该多帧视频图像中抽取一帧视频图像作为上述待处理图像。
[0047]
在一些实施方式中,从摄像头拍摄的多帧视频图像中抽取指定帧数的视频图像,再根据预设的图像选择算法,从抽取的指定帧数的视频图像中选择一帧视频图像作为待处理图像。
[0048]
上述从摄像头拍摄的多帧视频图像中抽取指定帧数的视频图像可采用随机抽取算法,从上述多帧视频图像中随机抽取指定帧数的视频图像。
[0049]
示例性地,从摄像头拍摄的多帧视频图像中随机抽取12帧视频图像,再根据预设的图像选择算法,从抽取的12帧视频图像中选择一帧视频图像作为待处理图像。
[0050]
在一些实施方式中,利用预设的图像选择算法,对上述抽取的指定帧数的视频图像进行质量择优,选择质量相对最佳的一帧视频图像作为待处理图像。
[0051]
实际上,从多帧视频图像中抽取指定帧数的视频图像的过程,也是对视频图像进行初筛选的过程,初筛选的标准可以根据视频图像的清晰程度、视频图像中拍摄的人脸或者头肩的角度确定。
[0052]
在一些实施方式中,还可以是根据预设图像标准对视频图像进行筛选,抽取指定帧数的满足所述预设图标标准的视频图像,预设图像标准包括图像清晰度、人脸完整度、头肩完整度等。
[0053]
由于摄像头捕获的是针对被检测人员的视频图像,如果对每一帧人脸视频图像都进行处理,不仅会加大计算量,还会造成大量的冗余。
[0054]
在本技术实施例中,通过预设的图像选择算法进行质量择优,从多帧视频图像中选择质量最佳的视频图像作为待处理图像,可减少计算量,避免冗余,同时,选择质量最佳的视频图像作为待处理图像,有利于后续活体检测的准确性,进而提高活体检测的有效性。
[0055]
步骤s102:对所述待处理图像进行人脸检测,得到人脸框信息。
[0056]
本技术实施例中,通过人脸检测器对待处理图像进行人脸检测,获得待处理图像上的人脸框,并得到人脸框信息。人脸框是指图像中用方框或者椭圆勾勒出的区域。本实施例中人脸框为方框,上述人脸框信息包括人脸框的长、宽和高等信息。
[0057]
在实际应用场景中,往往是将检测到的图像中的人脸关键点作为锚点,勾勒得到人脸框,作为本技术一种可能的实施方式,可通过检测所述待处理图像中的人脸关键点,所述人脸关键点包括但不限于鼻子、左眼、右眼、左眉毛、右眉毛、左耳、右耳以及嘴巴。然后根据所述人脸关键点确定人脸框,进而获取人脸框信息。
[0058]
在本技术实施例中,可利用现有的人脸检测算法对待处理图像进行人脸检测,例如,采用blazeface算法作为本技术实施例中的人脸检测算法。blazeface是一种轻量型的人脸检测算法,运行速度快,可节约时间,提高人脸检测的效率。
[0059]
作为一种可能的实施方式,为提高目标人脸检测的准确性,在上述对所述待处理图像进行人脸检测,得到人脸框信息的步骤之前,对上述待处理图像进行图像预处理。
[0060]
图像预处理的目的是提高图像质量,为后续进行人脸检测、人体检测等处理做准备。在一些实施方式中,本技术实施例中所述图像预处理包括图像滤波、图像归一化、光照归一化以及姿态归一化中的一种或者多种。
[0061]
在一些实施方式中,所述图像预处理还包括图像裁剪。在本技术实施例中,将待处理图像进行裁剪成指定像素大小的图像,例如,将待处理图像裁剪成256
×
256像素大小的图像。
[0062]
在一些实施方式中,还可以获取所述待处理图像的灰度直方图,利用所述灰度直方图,对所述待处理图像进行均衡处理,得到均衡处理后的图像,对均衡处理后的图像进行人脸检测,进而提高人脸检测的准确度。
[0063]
对于一些光线较暗的场景来说,画面清晰度较差,直接进行人脸检测,准确性交底,本技术实施例中,通过先对待处理图像进行均衡处理,得到均衡处理后的图像,再对均衡处理后的图像进行人脸检测,可提高人脸检测的有效性。
[0064]
步骤s103:根据所述人脸框信息,验证所述待处理图像是否满足预设活体检测条件。
[0065]
在本技术实施例中,在进行活体检测之前,先根据人脸框信息,验证待处理图像是否满足预设活体条件,从而可提高活体检测的有效性,避免浪费时间。
[0066]
作为本技术一种可能的实施方式,图2示出了本技术实施例提供的所述根据所述人脸框信息,验证所述待处理图像是否满足预设活体检测条件的步骤s103的具体实现流程,详述如下:
[0067]
a1:获取所述待处理图像的宽。
[0068]
a2:计算所述待处理图像的宽与所述人脸框的宽的比值。
[0069]
将待处理图像的宽除以该待处理图像中人脸框的宽,得到上述比值。
[0070]
a3:若所述比值大于或等于预设阈值,则所述待处理图像满足预设活体检测条件。
[0071]
在本技术实施例中,上述预设活体检测条件包括图像中人体与摄像头之间的距离是否大于或等于预设距离值,例如,图像中人体与摄像头之间的距离大于或等于40厘米。上述预设阈值为可用于区分图像中人体与摄像头之间的距离是否达到预设距离值的临界值。
[0072]
上述预设活体检测条件的判断是用于确定待处理图像中的人体是否显示完整肩膀。
[0073]
在一些实施方式中,若待处理图像的宽与人脸框的宽的比值大于或等于预设阈值,则可确定该待处理图像中人体与摄像头之间的距离大于或等于预设距离值,上述待处理图像中人体的肩膀显示完整。
[0074]
在一些实施方式中,若待处理图像的宽与人脸框的宽的比值小于预设阈值,则可确定该待处理图像中人体与摄像头之间的距离小于预设距离值,上述待处理图像中人体的肩膀显示不完整。
[0075]
在一些实施方式中,若待处理图像的宽与人脸框的宽的比值小于预设阈值,即待处理图像中人体的肩膀显示不完整,则提示被检测人员拉开与摄像头的距离,以使得人体与摄像头之间的距离大于或等于预设距离值,方便获取显示完整肩膀的待处理图像。
[0076]
在本技术实施例中,基于待处理图像的宽与人脸框的宽的比值与预设阈值的比较结果,验证待处理图像中的人体是否显示完整肩膀,以提高活体检测的有效性。
[0077]
作为本技术一种可能的实施方式,如图3所示,上述预设阈值的确定步骤的具体实现流程,详述如下:
[0078]
b1:获取摄像头拍摄的多张样本图像,其中,多张样本图像中的人体与摄像头之间的距离各不相同。
[0079]
利用摄像头等采集设备预先拍摄一批人体与摄像头之间距离不同的图像作为样本图像。
[0080]
b2:对所述样本图像进行人脸检测,得到所述样本图像中的人脸边框。
[0081]
对样本图像进行人脸检测以及得到人脸边框的具体描述参见前述内容,此处不赘述。
[0082]
b3:获取所述样本图像对应的目标比值,所述目标比值为所述样本图像的宽与所述样本图像中人脸边框的宽的比值。
[0083]
b4:对多张样本图像分别对应的所述目标比值进行统计分析,并根据统计分析的结果确定所述预设阈值。
[0084]
在一些实施方式中,获取上述目标比值的直方图,根据直方图的分布进行统计分析,确定一个阈值,该阈值能够区分人体距离摄像头是否小于预设距离只,并将该阈值确定为上述预设阈值。
[0085]
示例性地,在一种应用场景中,利用采集设备预先拍摄一批人脸距离摄像头不同距离的样本图像,计算这些样本图像的宽与人脸框宽比值,然后获取样本图像的这些比值的直方图,根据直方图的分布确定一个阈值,该阈值能够区分人体距离摄像头是否小于40cm。因为当人体距离摄像头小于40cm时,人的肩膀就不完整,会对后续活体检测产生干扰,故需要界定距离。
[0086]
本技术实施例中,通过对多张样本图像的宽与其人脸框的宽的比值进行统计分析,确定一个用于界定人体与摄像头之间距离的阈值,方便提前对待处理图像是否满足预设活体检测条件进行验证,可提高活体检测的有效性。
[0087]
步骤s104:若所述待处理图像满足所述预设活体检测条件,则对所述待处理图像进行人体关键点检测,得到所述待处理图像中的人体关键点及其置信度。
[0088]
本技术实施例中,可通过人体检测器对待处理图像进行人体检测,获得待处理图像上的人体框,并得到人体框信息。人体框是指用方框或者椭圆勾勒出的区域。在实际应用场景中,往往是将检测到的图像中的人体关键点作为锚点,勾勒得到人脸框。
[0089]
在一些可能的实施方式中,基于上述步骤s102中人脸检测得到的人脸框,以指定比例进行外扩,得到上述待处理图像的人体框。再对所述人体框中的人体关键点进行检测。
[0090]
在一些可能的实施方式中,使用openpose检测指定个数的人体关键点,一般地,为21个。获取人脸关键点及其置信度。
[0091]
在一种可能的实施方式中,将所述待处理图像输入至已训练的人体关键点检测模型,输出所述待处理图像中人体关键点的区域及置信度,所述置信度表示图像区域为人体关键点的概率。
[0092]
作为本技术一种可能的实施方式,如图4所示,在所述对所述待处理图像进行人体关键点检测,得到所述待处理图像中的人体关键点及其置信度的步骤之前,包括:
[0093]
c1:将训练样本集合中的人体图像样本输入至初始关键点检测模型中处理,得到所述人体图像样本中人体关键点的区域及其置信度;其中,所述训练样本集合包括多张人体图像样本,以及所述人体图像样本对应的关键点样本区域及其样本置信度。
[0094]
c2:根据预设的损失函数,计算训练过程中所述初始关键点检测模型输出的人体关键点的区域及其置信度与所述关键点样本区域及其样本置信度之间的损失值。
[0095]
本技术实施例中,上述损失值用于标识根据人体关键点的置信度与关键点样本区域的样本置信度,计算得到的人体关键点的区域与关键点样本区域之间的损失。
[0096]
在一种可能的实施方式中,所述人体关键点有多个,并且,所述人体关键点包括肩膀关键点,所述人体图像样本包括肩膀图像样本,通过获取第一损失值与第二损失值,所述第一损失值为所述初始关键点检测模型输出的全部人体关键点及其置信度与所述人体图
像样本对应的全部关键点样本区域及其样本置信度之间的损失值,所述第二损失值为所述初始关键点检测模型输出的肩膀关键点及其置信度与所述肩膀图像样本对应的肩膀关键点样本区域及其样本置信度之间的损失值,再获取所述第二损失值对应的预设权重系数,根据所述预设的损失函数、所述第一损失值、所述第二损失值以及所述第二损失值对应的预设权重系数,计算所述损失值。
[0097]
在本技术实施例中,所述初始关键点检测模型不仅输出全部人体关键点及其置信度与所述人体图像样本对应的全部关键点样本区域及其样本置信度之间的第一损失值,还输出肩膀关键点及其置信度与所述肩膀图像样本对应的肩膀关键点样本区域及其样本置信度之间的第二损失值。再利用预设的损失函数,对所述第一损失值和所述第二损失值及其对应的预设权重系数进行计算,得到训练过程中所述初始关键点检测模型输出的人体关键点的区域及其置信度与所述关键点样本区域及其样本置信度之间的损失值。
[0098]
在一种实施方式中,根据下述损失函数(1)计算训练过程中所述初始关键点检测模型输出的人体关键点的区域及其置信度与所述关键点样本区域及其样本置信度之间的损失值loss:
[0099]
loss=l
body
α
×
l
shoulder
(1);
[0100]
其中,l为预测人体关键点和真实人体关键点的误差度量方式。l
body
表示第一损失值,即为所述初始关键点检测模型输出的全部人体关键点及其置信度与所述人体图像样本对应的全部关键点样本区域及其样本置信度之间的损失值,l
shoulder
表示第二损失值,即为所述初始关键点检测模型输出的肩膀关键点及其置信度与所述肩膀图像样本对应的肩膀关键点样本区域及其样本置信度之间的损失值,α表示预设的权重系数。
[0101]
在一些实施方式中,上述α可设置为0.5,该权重系数可以根据实际需求进行调整。
[0102]
本技术实施例中,上述l表示预测人体关键点和真实人体关键点的误差度量方式,该度量方式可以为任意距离度量方式。
[0103]
c3:当所述损失值满足预设条件时,停止训练所述初始关键点检测模型,并将训练后的所述初始关键点检测模型作为人体关键点检测模型。
[0104]
由于,在本技术实施例中需要用到人体关键点中的肩膀关键点及其置信度,故我们在训练初始关键点检测模型时,致力于让肩膀关键点拟合得更准确。通过设计上述损失函数(1),不仅让初始关键点检测模型拟合人体关键点的整体结构,也让初始关键点检测模型进一步拟合肩膀关键点的结构,从一定程度上给予了肩膀关键点更大的权值,增大其对模型训练的贡献。
[0105]
人体关键点包括头肩关键点,作为本技术一种可能的实施方式,上述步骤s104具体为:若所述待处理图像满足所述预设活体检测条件,则对所述待处理图像进行头肩关键点检测,得到所述待处理图像中的头肩关键点及其置信度。头肩关键点的置信度,即为图像区域为人体头肩部位的概率。
[0106]
具体地,利用头肩检测算法得到待处理图像中的头肩关键点及其置信度。例如,基于卷积神经网络的头肩检测算法获取待处理图像中的头肩关键点及其置信度。本实施例中,具体头肩检测算法不做限定。
[0107]
步骤s105:根据所述人体关键点及其置信度,对所述待处理图像进行活体检测。
[0108]
作为本技术一种可能的实施方式,所述人体关键点包括肩膀关键点,图5示出了本
申请实施例提供的根据所述人体关键点及其置信度,对所述待处理图像进行活体检测的步骤s105的具体实现流程,详述如下:
[0109]
d1:若所述肩膀关键点的置信度大于或等于预设置信度阈值时,则确定所述待处理图像中的人体为活体。
[0110]
d2:若所述肩膀关键点的置信度小于所述预设置信度阈值时,则确定所述待处理图像中的人体为非活体。
[0111]
在本技术实施例中,获取人体关键点中肩膀关键点的置信度,当两个肩膀关键点置信度均大于或等于预设置信度阈值时,则定义待处理图像中的人体肩膀可见。当两个肩膀关键点置信度至少一个小于预设置信度阈值时,则定义待处理图像中的人体肩膀不可见,判定为3d头模或3d面具的攻击。
[0112]
在一些可能的实施方式中,上述预设置信度阈值根据统计分析确定,具体可为0.4。通过所述肩膀关键点的置信度与上述预设置信度阈值的比较可以较好区分肩膀是否可见。
[0113]
由上可见,在本技术实施例中,通过获取待处理图像,先对待处理图像进行人脸检测,得到人脸框信息,并根据人脸框信息,验证待处理图像是否满足预设活体检测条件,若待处理图像满足预设活体检测条件,则对待处理图像进行人体关键点检测,得到待处理图像中的人体关键点及其置信度,再根据人体关键点及其置信度,对待处理图像进行活体检测,从而可有效防御3d面具或3d头模的攻击,并且本方案无需额外的红外模组和深度模组,对检测环境和检测设备的要求不高,在提高活体检测的有效性的同时,有效控制活体检测的成本,解决了现有技术中无法有效防御3d面具或3d头模的攻击,活体检测的成本较高,而有效性较低的问题。
[0114]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0115]
实施例二:
[0116]
对应于上文实施例所述的活体检测方法,图6示出了本技术实施例提供的活体检测装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0117]
参照图6,该活体检测装置包括:图像获取单元61,人脸检测单元62,图像验证单元63,关键点检测单元64,活体检测单元65,其中:
[0118]
图像获取单元61,用于获取待处理图像;
[0119]
人脸检测单元62,用于对所述待处理图像进行人脸检测,得到人脸框信息;
[0120]
图像验证单元63,用于根据所述人脸框信息,验证所述待处理图像是否满足预设活体检测条件;
[0121]
关键点检测单元64,用于若所述待处理图像满足所述预设活体检测条件,则对所述待处理图像进行人体关键点检测,得到所述待处理图像中的人体关键点及其置信度,所述置信度表示图像区域为人体关键点的概率;
[0122]
活体检测单元65,用于根据所述人体关键点及其置信度,对所述待处理图像进行活体检测。
[0123]
在一些可能的实现方式中,所述图像验证单元63包括:
[0124]
图像信息获取模块,用于获取所述待处理图像的宽;
[0125]
比值计算模块,用于计算所述待处理图像的宽与所述人脸框的宽的比值;
[0126]
条件验证模块,用于若所述比值大于或等于预设阈值,则所述待处理图像满足预设活体检测条件。
[0127]
在一些可能的实现方式中,所述图像验证单元63还包括:
[0128]
样本采集模块,用于获取摄像头拍摄的多张样本图像,其中,多张样本图像中的人体与摄像头之间的距离各不相同;
[0129]
人脸框获取模块,用于对所述样本图像进行人脸检测,得到所述样本图像中的人脸边框;
[0130]
目标比值确定模块,用于获取所述样本图像对应的目标比值,所述目标比值为所述样本图像的宽与所述样本图像中人脸边框的宽的比值;
[0131]
统计分析模块,用于对多张样本图像分别对应的所述目标比值进行统计分析,并根据统计分析的结果确定所述预设阈值。
[0132]
在一些可能的实现方式中,所述关键点检测单元64具体用于:
[0133]
将所述待处理图像输入至已训练的人体关键点检测模型,输出所述待处理图像中人体关键点的区域及置信度。
[0134]
在一些可能的实现方式中,所述活体检测装置还包括:
[0135]
样本训练单元,用于将训练样本集合中的人体图像样本输入至初始关键点检测模型中处理,得到所述人体图像样本中人体关键点的区域及其置信度;其中,所述训练样本集合包括多张人体图像样本,以及所述人体图像样本对应的关键点样本区域及其样本置信度;
[0136]
损失计算单元,用于根据预设的损失函数,计算训练过程中所述初始关键点检测模型输出的人体关键点的区域及其置信度与所述关键点样本区域及其样本置信度之间的损失值;
[0137]
模型生成单元,用于当所述损失值满足预设条件时,停止训练所述初始关键点检测模型,并将训练后的所述初始关键点检测模型作为人体关键点检测模型。
[0138]
在一些可能的实现方式中,所述人体关键点包括肩膀关键点,所述人体图像样本包括肩膀图像样本,所述损失计算单元具体用于:
[0139]
获取第一损失值与第二损失值,所述第一损失值为所述初始关键点检测模型输出的全部人体关键点及其置信度与所述人体图像样本对应的全部关键点样本区域及其样本置信度之间的损失值,所述第二损失值为所述初始关键点检测模型输出的肩膀关键点及其置信度与所述肩膀图像样本对应的肩膀关键点样本区域及其样本置信度之间的损失值;
[0140]
获取所述第二损失值对应的预设权重系数;
[0141]
根据所述预设的损失函数、所述第一损失值、所述第二损失值以及所述第二损失值对应的预设权重系数,计算所述损失值。具体地,根据下式计算训练过程中所述初始关键点检测模型输出的人体关键点的区域及其置信度与所述关键点样本区域及其样本置信度之间的损失值loss:
[0142]
loss=l
body
α
×
l
sh
oulder;
[0143]
其中,l
body
表示第一损失值,即为所述初始关键点检测模型输出的全部人体关键
点及其置信度与所述人体图像样本对应的全部关键点样本区域及其样本置信度之间的损失值,l
shoulder
表示第二损失值,即为所述初始关键点检测模型输出的肩膀关键点及其置信度与所述肩膀图像样本对应的肩膀关键点样本区域及其样本置信度之间的损失值,α表示权重系数。
[0144]
在一些可能的实现方式中,所述人体关键点包括肩膀关键点,活体检测单元65包括:
[0145]
第一判定模块,用于若所述肩膀关键点的置信度大于或等于预设置信度阈值时,则确定所述待处理图像中的人体为活体;
[0146]
第二判定模块,用于若所述肩膀关键点的置信度小于所述预设置信度阈值时,则确定所述待处理图像中的人体为非活体。
[0147]
在本技术实施例中,通过获取待处理图像,先对待处理图像进行人脸检测,得到人脸框信息,并根据人脸框信息,验证待处理图像是否满足预设活体检测条件,若待处理图像满足预设活体检测条件,则对待处理图像进行人体关键点检测,得到待处理图像中的人体关键点及其置信度,再根据人体关键点及其置信度,对待处理图像进行活体检测,从而可有效防御3d面具或3d头模的攻击,并且本方案无需额外的红外模组和深度模组,对检测环境和检测设备的要求不高,在提高活体检测的有效性的同时,有效控制活体检测的成本,解决了现有技术中无法有效防御3d面具或3d头模的攻击,活体检测的成本较高,而有效性较低的问题。
[0148]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0149]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图1至图5表示的任意一种活体检测方法的步骤。
[0150]
本技术实施例还提供一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如图1至图5表示的任意一种活体检测方法的步骤。
[0151]
本技术实施例还提供一种计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行实现如图1至图5表示的任意一种活体检测方法的步骤。
[0152]
实施例三:
[0153]
图7是本技术实施例三提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述活体检测方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示单元61至65的功能。
[0154]
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分
割成图像获取单元,人脸检测单元,图像验证单元,关键点检测单元,活体检测单元,各单元具体功能如下:
[0155]
图像获取单元,用于获取待处理图像;
[0156]
人脸检测单元,用于对所述待处理图像进行人脸检测,得到人脸框信息;
[0157]
图像验证单元,用于根据所述人脸框信息,验证所述待处理图像是否满足预设活体检测条件;
[0158]
关键点检测单元,用于若所述待处理图像满足所述预设活体检测条件,则对所述待处理图像进行人体关键点检测,得到所述待处理图像中的人体关键点及其置信度,所述置信度表示图像区域为人体关键点的概率;
[0159]
活体检测单元,用于根据所述人体关键点及其置信度,对所述待处理图像进行活体检测。
[0160]
所述终端设备7可以是活体检测设备、人脸闸机、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0161]
所称处理器70可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0162]
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0163]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0164]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0165]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单
元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0166]
在本技术所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0167]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0168]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0169]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0170]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献