本申请涉及计算机技术领域,尤其涉及一种图像识别方法、装置、电子设备及可读存储介质。
背景技术:
随着科技的进步,刷脸支付、刷脸考勤等设备已经随处可见,为保障刷脸支付、刷脸考勤等的准确性和安全性,图像识别设备需要对刷脸目标予以识别,以鉴别出活体和攻击。
现有技术中,图像识别设备通过机器学习方法进行图像识别,即图像识别设备将深度图像输入至机器学习模型,以进行活体与攻击的识别。该方法需要制作大量的活体和攻击视频样本,然后通过这些样本以对机器学习模型进行训练,最终得到所需的机器学习模型。
为了适应于不同的场景,在活体与攻击的识别中,可能还需要对机器学习模型进行更新调整,基于此,存在图像识别效率低的问题。
技术实现要素:
本申请提供了一种图像识别方法、装置、电子设备及可读存储介质,用以提高图像识别效率。
第一方面,本申请提供一种图像识别方法,包括:获取深度图像,深度图像包括:人脸框;确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,摄像头的参数为水平方向视场角或者焦距;根据深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定人脸框的实际宽度;根据人脸框的实际宽度,判断深度图像为活体图像或者攻击图像。
由于本申请无需更新任何机器学习模型,而是图像识别设备直接根据人脸框的实际宽度,判断深度图像为活体图像或者攻击图像,从而可以提高图像识别的效率。
可选的,根据人脸框的实际宽度,判断深度图像为活体图像或者攻击图像,包括:若人脸框的实际宽度在预设范围内,则对深度图像进行高斯滤波,得到高斯滤波图像,根据高斯滤波图像判断深度图像为活体图像或者攻击图像;若人脸框的实际宽度不在预设范围内,则确定深度图像为攻击图像。通过该方法可以有效的确定深度图像为活体图像或者攻击图像。
可选的,在确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,摄像头的参数为水平方向视场角或者焦距之前,还包括:将深度图像平均分为两个子图像,分别为第一子图像和第二子图像;获取第一子图像中无效像素在该子图像中的第一比例,以及,第二子图像中无效像素在该子图像中的第二比例。无效像素是不成像的无穷远像素点或者是深度值小于预设深度值的像素点。在第一比例和第二比例中选择较小者。相应的,确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,摄像头的参数为水平方向视场角或者焦距,包括:若较小者大于预设阈值,则确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,摄像头的参数为水平方向视场角或者焦距。基于此,当存在多张深度图像时,通过该方法可以选择满足预设条件的深度图像进行活体和攻击识别,而不是针对所有的深度图像进行活体和攻击识别,从而进一步地提高图像识别效率。其中所谓满足预设条件的深度图像指的是该深度图像对应的较小者大于预设阈值。
可选的,对深度图像进行高斯滤波,得到高斯滤波图像,包括:通过第一高斯滤波模板对深度图像进行高斯滤波,得到第一高斯滤波图像,并通过第二高斯滤波模板对深度图像进行高斯滤波,得到第二高斯滤波图像,其中,第一高斯滤波模板的尺寸小于第二高斯滤波模板的尺寸;对第一高斯滤波图像与第二高斯滤波图像的对应像素值作差,得到第三高斯滤波图像;获取第三高斯滤波图像的图像标准差;根据第三高斯滤波图像的图像标准差,判断深度图像为活体图像或者攻击图像。通过该方法获得的高斯滤波图像的精度更高,从而提高了活体与攻击的识别的准确度,尤其是当深度图像为平面图像或者深度图像中各个像素点的深度值相差较小时,针对活体与攻击的识别的准确度会更高。
可选的,根据第三高斯滤波图像的图像标准差,判断深度图像为活体图像或者攻击图像,包括:若第三高斯滤波图像的图像标准差大于第一预设阈值,则对深度图像进行高斯滤波,得到第四高斯滤波图像,并对第四高斯滤波图像中每个像素求方向导数,得到第一图像,对第一图像中每个像素求方向角度,得到第二图像,获取第二图像的图像标准差;根据第二图像的图像标准差,判断深度图像为活体图像或者攻击图像;若第三高斯滤波图像的图像标准差小于或等于第一预设阈值,则确定深度图像为攻击图像。从而提高了活体与攻击的识别的准确度,尤其是当深度图像中各个像素点的方向角差异较小时,针对活体与攻击的识别的准确度会更高。
可选的,根据第二图像的图像标准差,判断深度图像为活体图像或者攻击图像,包括:若第二图像的图像标准差小于第二预设阈值,则确定深度图像为活体图像;若第二图像的图像标准差大于或等于第二预设阈值,则确定深度图像为攻击图像。从而提高了活体与攻击的识别的准确度。
可选的,获取第三高斯滤波图像的图像标准差之前,还包括:对第三高斯滤波图像进行高斯滤波,得到滤波之后的第三高斯滤波图像;相应的,获取第三高斯滤波图像的图像标准差,包括:获取滤波之后的第三高斯滤波图像的图像标准差。从而可以降低第三高斯滤波图像的噪声,进而提高了活体与攻击的识别的准确度。
可选的,获取第二图像的图像标准差之前,还包括:对第二图像进行滤波,得到滤波之后的第二图像;相应的,获取第二图像的图像标准差,包括:获取滤波之后的第二图像的图像标准差。从而可以降低第二图的噪声,进而提高了活体与攻击的识别的准确度。
下面将提供图像识别装置、设备、存储介质、程序产品,其效果可参考上述的图像识别方法对应的效果,下面对此不再赘述。
第二方面,本申请提供一种图像识别装置,包括:
获取模块,用于获取深度图像,深度图像包括:人脸框。
第一确定模块,用于确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,摄像头的参数为水平方向视场角或者焦距。
第二确定模块,用于根据深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定人脸框的实际宽度。
判断模块,用于根据人脸框的实际宽度,判断深度图像为活体图像或者攻击图像。
第三方面,本申请提供一种图像识别设备,包括:至少一个处理器;以与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面或第一方面的可选方式的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面或第一方面的可选方式的方法。
第五方面,本申请提供一种计算机程序产品,包括:计算机指令,该计算机指令用于使计算机执行如第一方面或第一方面的可选方式中任一项的方法。
本申请提供一种图像识别方法、装置、电子设备及可读存储介质,由于本申请无需更新任何机器学习模型,而是图像识别设备直接根据人脸框的实际宽度,判断深度图像为活体图像或者攻击图像,从而可以提高图像识别效率。并且还可以通过高斯滤波、计算图像标准差、计算图像的方向导数、方向角度等来判断深度图像为活体图像或者攻击图像,也可以提高图像识别效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请一实施例提供的应用场景示意图;
图2为本申请一实施例提供的一种图像识别方法的流程图;
图3为本申请一实施例提供的活体图像的示意图;
图4为本申请一实施例提供的攻击图像的示意图;
图5为本申请一实施例提供的获取高斯滤波图像的流程图;
图6为本申请一实施例提供的根据高斯滤波图像判断深度图像是否为活体图像的流程图;
图7为本申请另一实施例提供的根据高斯滤波图像判断深度图像是否为活体图像的流程图;
图8为本申请另一实施例提供的一种图像识别方法的流程图;
图9为本申请再一实施例提供的一种图像识别方法的流程图;
图10为本申请一实施例提供的一种图像识别装置的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
日常生活中,刷脸支付、刷脸考勤随处可见,但可能存在利用照片、视频等虚假目标冒充活体的情况,这类冒充活体的照片或者视频等可以被称为攻击。为保障刷脸支付、刷脸考勤等的准确性和安全性,图像识别设备需要对刷脸目标予以识别,以鉴别出活体和攻击。现有技术中,图像识别设备通过机器学习方法进行图像识别,即图像识别设备将深度图像输入至机器学习模型,以进行活体与攻击的识别。该方法需要制作大量的活体和攻击视频样本,然后通过这些样本对机器学习模型进行训练,最终得到所需的机器学习模型。为了适应于不同的场景,在活体与攻击的识别中,可能还需要对机器学习模型进行更新调整,因而存在图像识别效率低的问题。
本申请的主旨思想是:通过人脸框的实际宽度,判断深度图像为活体图像或者攻击图像;和/或,通过高斯滤波技术和图像标准差技术,判断深度图像为活体图像或者攻击图像;和/或,通过高斯滤波技术、计算图像方向导数、方向角度以及图像标准差的方式,来判断深度图像为活体图像或者攻击图像。
图1为本申请一实施例提供的应用场景示意图,如图1所示,图像识别设备11上安装有摄像头12和处理器,摄像头12和处理器连接,该摄像头12可以采集深度图像,并将深度图像传输给处理器,以使处理器判断深度图像是否为活体图像。其中摄像头12可以是结构光摄像头。需要说明的是,图1所示的是攻击在图像识别设备面前的场景,实际上,还可以是活体在图像识别设备面前的场景,本申请的应用场景不限于此。
图2为本申请一实施例提供的一种图像识别方法的流程图,如图2所示,该方法可以由图像识别设备的部分或全部执行,所谓图像识别设备的部分为图像识别设备中的处理器,下面以图像识别设备为执行主体对图像识别方法进行说明,该图像识别方法包括如下步骤:
步骤s201:图像识别设备获取深度图像。深度图像包括:人脸框。
可选的,图像识别设备可以通过如下可选方式获取深度图像:图像识别设备通过该设备上的摄像头采集深度图像;或者,图像识别设备对摄像头采集得到的深度图像进行裁剪和/或缩放之后,得到深度图像。
所谓图像识别设备对摄像头采集得到的深度图像进行裁剪:是指图像识别设备将摄像头采集得到的深度图像裁剪掉人脸框区域以外的深度图像,以保留人脸框区域的深度图像。所谓图像识别设备对摄像头采集得到的深度图像进行缩放:是指图像识别设备将摄像头采集得到的深度图像缩放至预设分辨率,例如缩放至112*112或者125*125的分辨率;其中,图像识别设备可以采用等比缩放方式或者非等比缩放方式。另外,当图像识别设备对摄像头采集得到的深度图像进行裁剪和缩放时,其可以先裁剪,再进行缩放,也可以先进行缩放,后进行裁剪,本申请对裁剪和缩放顺序不做限制。
人脸框可以是矩形框,本申请对此不做限制。其中,该人脸框可以是预先设置好的;或者,用户可以根据实际情况调节人脸框;或者,图像识别设备可以根据实际情况自动调节人脸框,本申请对此不做限制。
步骤s202:图像识别设备确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数。
可选的,图像识别设备根据人脸框坐标得到人脸框的宽度。摄像头的参数包括摄像头的水平方向视场角或者焦距。
可选的,图像识别设备在步骤s202之前还可以判断获取到的深度图像是否满足无效像素比例过滤条件,如果满足,则进行步骤s202,否则不执行步骤s202。其中图像识别设备可以通过如下方式判断深度图像是否满足无效像素比例过滤条件:图像识别设备将上述深度图像平均分为第一子图像和第二子图像,并获取第一子图像中无效像素在该子图像中的第一比例;以及,第二子图像中无效像素在该子图像中的第二比例。其中,无效像素是不成像的无穷远像素点或者是深度值小于预设深度值的像素点。进一步地,图像识别设备在第一比例和第二比例中选择较小者与预设无效像素比例阈值进行比较,若较小者大于预设无效像素比例阈值,图像识别设备则不执行步骤s202;否则,图像识别设备则执行步骤s202。该方法可以适用于存在至少一张深度图像的场景。基于此,图像识别设备选择满足无效像素比例过滤条件的深度图像,以进行活体图像和攻击图像识别,而不是针对所有的深度图像进行活体图像和攻击图像识别,从而进一步地提高图像识别效率。
步骤s203:图像识别设备根据深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定人脸框的实际宽度。
可选方式一:图像识别设备获取深度图像的深度,即获取深度图像中所有像素的深度值。基于此,图像识别设备确定所有像素的深度值的中位数,并根据深度图像的宽度、人脸框的宽度、摄像头的参数和该中位数,得到人脸框的实际宽度。例如,图像识别设备可以根据公式(1)计算人脸框的实际宽度:
d=2*tan(fw*f*pi/(360*w))*d(1)
其中,d表示所有像素的深度值的中位数,w表示深度图像的宽度,fw表示人脸框的宽度、f表示摄像头的参数,d表示人脸框的实际宽度,pi表示圆周率,tan()表示正切函数。
可选方式二:图像识别设备获取深度图像的深度,即获取深度图像中所有像素的深度值。基于此,图像是被设备可以计算所有像素的深度值的平均值,并根据深度图像的宽度、人脸框的宽度、摄像头的参数和该平均值,得到人脸框的实际宽度。例如,图像识别设备可以根据公式(2)计算人脸框的实际宽度:
d=2*tan(fw*f*pi/(360*w))*p(2)
其中,p表示所有像素的深度值的平均值,w表示深度图像的宽度,fw表示人脸框的宽度、f表示摄像头的参数,d表示人脸框的实际宽度,pi表示圆周率,tan()表示正切函数。
需要说明的是,本申请对如何确定人脸框的实际宽度不限于上述两种可选方式。
步骤s204:图像识别设备根据人脸框的实际宽度,判断深度图像是否为活体图像。
可选方式一:当人脸框的实际宽度在预设范围内时,则图像识别设备判定深度图像为活体图像,活体图像如图3所示;否则,则图像识别设备判定深度图像为攻击图像,攻击图像如图4所示。其中,该预设范围可以根据实际情况来设定,例如预设范围可以为[10cm,30cm]。
可选方式二:若人脸框的实际宽度在预设范围内,图像识别设备则对深度图像进行高斯滤波,得到高斯滤波图像,并根据高斯滤波图像判断深度图像是否为活体图像;若人脸框的实际宽度不在预设范围内,图像识别设备则确定深度图像为攻击图像。其中,本申请对如何进行高斯滤波不做限制,下面对此不再赘述。
本申请通过获取带有人脸框的深度图像,进而确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,再根据深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定出人脸框的实际宽度,最后根据人脸框的实际宽度,判断得到深度图像为活体图像或者攻击图像。由于本申请无需更新任何机器学习模型,而是图像识别设备直接根据人脸框的实际宽度,判断深度图像是否为活体图像,从而可以提高图像识别效率。
如上所述,上述步骤s204的可选方式二涉及:图像识别设备对深度图像进行高斯滤波,得到高斯滤波图像,并根据高斯滤波图像判断深度图像是否为活体图像,下面对此进行详细说明:
下面首先介绍获取高斯滤波图像的方式:
可选方式一:图5为本申请一实施例提供的获取高斯滤波图像的流程图,如图5所示,该方法包括如下步骤:
步骤s501:图像识别设备通过第一高斯滤波模板对深度图像进行高斯滤波,得到第一高斯滤波图像,并通过第二高斯滤波模板对深度图像进行高斯滤波,得到第二高斯滤波图像。
可选的,第一高斯滤波模板的尺寸小于第二高斯滤波模板的尺寸。比如第一高斯滤波器模板可以为9*9大小的模板。通过第一高斯滤波模板对深度图像进行高斯滤波,能够滤除深度图像中的高频信号,保留中、低频信号。第二高斯滤波器模板可以为21*21大小的模板。通过第二高斯滤波模板对深度图像进行高斯滤波能够滤除图像中的中、高频信号,保留低频信号。
步骤s502:图像识别设备对第一高斯滤波图像与第二高斯滤波图像的对应像素值作差,得到第三高斯滤波图像。
由于第一高斯滤波图像为保留中、低频信号的图像;第二高斯滤波图像为保留低频信号的图像,因此,当图像识别设备对第一高斯滤波图像与第二高斯滤波图像的对应像素值作差之后,得到的是保留中频信号的图像,即第三高斯滤波图像。
相应的,图像识别设备可以通过如下方式判断深度图像是否为活体图像:图6为本申请一实施例提供的根据高斯滤波图像判断深度图像是否为活体图像的流程图,如图6所示,该方法包括如下步骤:
步骤s601:图像识别设备获取第三高斯滤波图像的图像标准差。
步骤s602:图像识别设备根据第三高斯滤波图像的图像标准差,判断深度图像是否为活体图像。
针对步骤s601进行如下说明:
图像识别设备根据第三高斯滤波图像的像素值,获取第三高斯滤波图像的图像标准差可以通过公式(3)和公式(4)实现。
mean=sum(pi)/n(3)
std=sqrt(sum((pi-mean)^2)/n)(4)
其中,sum表示求和运算;pi表示第三高斯滤波图像的第i个像素的像素值;sum(pi)表示对第三高斯滤波图像的所有像素的像素值求和;n表示图像的像素的总个数;mean表示第三高斯滤波图像的所有像素的像素值均值;sqrt表示计算算术平方根;std表示第三高斯滤波图像的像素标准差。
针对步骤s602进行如下说明:
可选方式一:若第三高斯滤波图像的图像标准差大于第一预设阈值,图像识别设备则判定深度图像为活体图像;否则,图像识别设备则判定深度图像为攻击图像。
可选方式二:若第三高斯滤波图像的图像标准差大于第一预设阈值,图像识别设备则对深度图像进行高斯滤波,得到第四高斯滤波图像;并对第四高斯滤波图像中每个像素求方向导数,得到第一图像;对第一图像中每个像素求方向角度,得到第二图像;获取第二图像的图像标准差;若第二图像的图像标准差小于第二预设阈值,图像识别设备则确定深度图像为活体图像;若第二图像的图像标准差大于或等于第二预设阈值,图像识别设备则确定深度图像为攻击图像。若第三高斯滤波图像的图像标准差小于或等于第一预设阈值,图像识别设备则确定深度图像为攻击图像。
在可选方式一和可选方式二中,第一预设阈值可以根据实际情况来设定,例如第一预设阈值可以为10。
针对计算第四高斯滤波图像中每个像素求方向导数和方向角度进行说明:
对于第四高斯滤波图像中任一像素:
a:图像识别设备根据第一预设矩阵和该像素的卷积,得到该像素的横向方向导数。
b:图像识别设备根据第二预设矩阵和该像素的卷积,得到该像素的纵向方向导数。
例如,第一预设矩阵可以是
c:图像识别设备根据该像素的横向方向导数和该像素的纵向方向导数得到该像素的方向角度。
例如,图像识别设备可以根据公式(5)得到图像中任一像素的方向角度。
a=arctan(gy/gx)(5)
其中,gx表示图像中该像素的横向方向导数;gy表示图像中该像素的纵向方向导数;arctan表示反正切运算;a表示图像中该像素的方向角度
可选的,在步骤s602之前,图像识别设备对第三高斯滤波图像进行滤波,得到滤波之后的第三高斯滤波图像。其中图像识别设备可以通过第三高斯滤波模板对第三高斯滤波图像进行高斯滤波,第三高斯滤波模板的尺寸小于第一高斯滤波模板的尺寸,例如,第三高斯滤波模板的尺寸可以是5*5大小的模板。通过高斯滤波能够降低第三高斯滤波图像中的噪声,降低干扰,提高图像的精度。在步骤s602中,图像识别设备可以根据滤波之后的第三高斯滤波图像的图像标准差,判断深度图像是否为活体图像。其中,图像识别设备如何根据滤波之后的第三高斯滤波图像的图像标准差,判断深度图像是否为活体图像可参考步骤s602的解释说明,对此不再赘述。
图像识别设备获取高斯滤波图像的可选方式二为:图像识别设备对深度图像进行高斯滤波,得到第四高斯滤波图像。相应的,图像识别设备可以通过如下方式判断深度图像是否为活体图像:图7为本申请另一实施例提供的根据高斯滤波图像判断深度图像是否为活体图像的流程图,如图7所示,该方法包括如下步骤:
步骤s701:图像识别设备对第四高斯滤波图像中每个像素求方向导数,得到第一图像。
步骤s702:图像识别设备对第一图像中每个像素求方向角度,得到第二图像,获取第二图像的图像标准差;根据第二图像的图像标准差,判断深度图像是否为活体图像。
可选的,若第二图像的图像标准差小于第二预设阈值,图像识别设备则确定深度图像为活体图像;若第二图像的图像标准差大于或等于第二预设阈值,图像识别设备则确定深度图像为攻击图像。其中,该第二预设阈值可以根据实际情况来设定,例如第二预设阈值可以为10。
或者,若第二图像的图像标准差小于第二预设阈值,图像识别设备则通过第一高斯滤波模板对深度图像进行高斯滤波,得到第一高斯滤波图像;并通过第二高斯滤波模板对深度图像进行高斯滤波,得到第二高斯滤波图像,其中,第一高斯滤波模板的尺寸小于第二高斯滤波模板的尺寸,图像识别设备对第一高斯滤波图像与第二高斯滤波图像的对应像素值作差,得到第三高斯滤波图像;若第三高斯滤波图像的图像标准差大于第一预设阈值,图像识别设备则确定深度图像为活体图像;否则,图像识别设备则确定深度图像为攻击图像;若第二图像的图像标准差大于或等于第二预设阈值,图像识别设备则确定深度图像为攻击图像。
在本申请中,图像识别设备可以结合人脸框的实际宽度和高斯滤波方式,判断深度图像是否为活体图像,从而可以进一步地提高图像识别效率和精度。
需要说明的是,假设将图像识别设备根据上述人脸框的实际宽度,判断深度图像是否为活体图像称为图像识别的可选方式一;将根据上述第三高斯滤波图像的图像标准差,判断深度图像是否为活体图像称为图像识别的可选方式二;将根据上述第二图像的图像标准差,判断深度图像是否为活体图像称为图像识别的可选方式三;那么图像识别设备可以单独执行这三种方式,例如:图像识别设备可以单独执行可选方式二,即图像识别设备通过第一高斯滤波模板对深度图像进行高斯滤波,得到第一高斯滤波图像,并通过第二高斯滤波模板对深度图像进行高斯滤波,得到第二高斯滤波图像;图像识别设备对第一高斯滤波图像与第二高斯滤波图像的对应像素值作差,得到第三高斯滤波图像;图像识别设备获取第三高斯滤波图像的图像标准差;若第三高斯滤波图像的图像标准差大于第一预设阈值,图像识别设备则判定深度图像为活体图像;否则,图像识别设备则判定深度图像为攻击图像。或者,图像识别设备可以单独执行可选方式三,图像识别设备对深度图像进行高斯滤波,得到第四高斯滤波图像,并对第四高斯滤波图像中每个像素求方向导数,得到第一图像,对第一图像中每个像素求方向角度,得到第二图像,获取第二图像的图像标准差;若第二图像的图像标准差小于第二预设阈值,图像识别设备则确定深度图像为活体图像;若第二图像的图像标准差大于或等于第二预设阈值,图像识别设备则确定深度图像为攻击图像。
图像识别设备也可以对三种可选方式进行任意排序和组合,以执行组合之后的方案。例如:上述介绍了图像识别设备执行可选方式一和可选方式二的组合方案、可选方式一和可选方式三的组合方案、可选方式一、可选方式二和可选方式三的组合方案、可选方式一、可选方式三和可选方式一的组合方案,当然,图像识别设备还可以执行可选方式二和可选方式一的组合方案、可选方式二和可选方式三的组合方案、可选方式二、可选方式一和可选方式三的组合方案、可选方式二、可选方式三和可选方式一的组合方案,可选方式三和可选方式一的组合方案、可选方式三和可选方式二的组合方案、可选方式三、可选方式一和可选方式二的组合方案、可选方式三、可选方式二和可选方式一的组合方案。
为了进一步提高目标识别的准确性,图像识别设备可以获取多张深度图像,针对每张深度图像,可以实行上述的图像识别方法,得到根据每张深度图像所确定的识别结果。进一步地,图像识别设备可以对所有深度图像对应的识别结果进行分析,来确定最终的识别结果,即最终识别目标对象为活体或者攻击。
图8为本申请另一实施例提供的一种图像识别方法的流程图,该方法可以由图像识别设备的部分或全部执行,所谓图像识别设备的部分为图像识别设备中的处理器,下面以图像识别设备为执行主体对图像识别方法进行说明,该图像识别方法包括如下步骤:
步骤s801:图像识别设备获取至少一张深度图像。每张深度图像包括:人脸框。
其中,深度图像是目标对象的深度图像,该目标对象为活体或者攻击。
步骤s802:图像识别设备针对多张深度图像中的第一张深度图像,确定第一张深度图像的宽度、深度、人脸框的宽度以及摄像头的参数。
步骤s803:图像识别设备根据第一张深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定人脸框的实际宽度。
步骤s801~步骤s803的具体内容可以参考步骤s201~步骤s203,在此不做赘述。
步骤s804:图像识别设备根据人脸框的实际宽度,判断第一张深度图像是否为活体图像。若第一张深度图像为攻击图像,则执行步骤s807;否则,图像识别设备则执行步骤s805。
图像识别设备根据人脸框的实际宽度,判断第一张深度图像是否为活体图像的具体内容可以参考步骤s204,在此不做赘述。
可选的,在图像识别设备根据人脸框的实际宽度,判断第一张深度图像是否为活体图像的可选方式二中,在图像识别设备对第一张深度图像进行高斯滤波之前,还可以判断获取到的第一张深度图像是否满足无效像素比例过滤条件,如果满足,图像识别设备则对第一张深度图像进行高斯滤波,否则,图像识别设备则执行步骤s807。其中,图像识别设备可以通过如下方式判断第一张深度图像是否满足无效像素比例过滤条件:图像识别设备将上述第一张深度图像平均分为第一子图像和第二子图像,并获取第一子图像中无效像素在该子图像中的第一比例,以及,第二子图像中无效像素在该子图像中的第二比例。其中,无效像素是不成像的无穷远像素点或者是深度值小于预设深度值的像素点。进一步地,图像识别设备在第一比例和第二比例中选择较小者与预设无效像素比例阈值进行比较,若较小者大于预设无效像素比例阈值,图像识别设备则不对第一张深度图像进行高斯滤波,否则,图像识别设备对第一张深度图像进行高斯滤波。
步骤s805:图像识别设备令活体图像计数值加1。
活体图像计数值初始值为0。
步骤s806:图像识别设备根据活体图像计数值判断目标对象是否为活体,若图像识别设备判定目标对象为活体,则结束判定;否则,图像识别设备执行步骤s809。
图像识别设备根据活体图像计数值判断目标对象是否为活体的可选方式一:图像识别设备判断活体图像计数值是否为连续增加至预设活体图像计数阈值,若活体图像计数值是连续增加至预设活体图像计数阈值,图像识别设备则判定目标对象为活体,并结束判定;否则,图像识别设备执行步骤s807。其中,该活体图像计数阈值可以根据实际情况来设定,例如活体图像计数阈值可以为[4,8]中的任意一个整数。
图像识别设备判断活体图像计数值是否为连续增加至预设活体图像计数阈值的一种可能的实现方式是:
若活体图像计数值是连续增加至预设活体图像计数阈值时,图像识别设备判断其所识别的深度图像的总张数是否等于活体图像计数值,若图像识别设备识别的深度图像的总张数等于活体图像计数值,图像识别设备则判定活体图像计数值为连续增加至预设活体图像计数阈值。
图像识别设备根据活体图像计数值判断判断目标对象是否为活体的可选方式二:图像识别设备判断活体图像计数值是否达到预设活体图像计数阈值,若活体图像计数值达到预设活体图像计数阈值,图像识别设备则判定深度图像为活体图像,并结束判定;否则,图像识别设备执行步骤s807。其中,活体图像计数值可以是连续增加至预设活体图像计数阈值,也可以不是连续的。
步骤s807:图像识别设备令攻击图像计数值加1。
攻击图像计数值初始值为0。
步骤s808:图像识别设备判断攻击图像计数值是否达到预设攻击计数阈值,若攻击图像计数值达到预设攻击计数阈值,图像识别设备执行步骤s810。否则,图像识别设备执行步骤s809。
其中,预设时长可以根据实际情况来设定,例如预设时长可以是[3,10]秒。
步骤s809:图像识别设备判断第一张深度图像是否为最后一张深度图像,若第一张深度图像是最后一张深度图像,则图像识别设备结束判定;否则,图像识别设备将第二张图像作为新的第一张图像,并继续开始执行步骤s802。
s810:图像识别设备开始计时,当计时时长达到预设时长时,图像识别设备判断第一张深度图像是否为最后一张深度图像;若第一张深度图像是最后一张深度图像,图像识别设备则结束判定;否则,图像识别设备将第二张图像作为新的第一张图像,并继续开始执行步骤s802。
本申请通过获取至少一张带有人脸框的目标深度图像,针对多张深度图像中的第一张深度图像,图像识别设备确定第一张深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,再根据该深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定出人脸框的实际宽度,根据人脸框的实际宽度,判断得到第一张深度图像为活体图像或者攻击图像,当判定该第一张深度图像为活体图像时,图像识别设备则令活体计数值加1,最后根据活体计数值判定目标对象是否为活体。由于本申请无需更新任何机器学习模型,而是图像识别设备直接根据人脸框的实际宽度,判断深度图像是否为活体图像,从而可以提高图像识别效率,通过多张深度图像的识别结果来判定深度图像为活体图像或者攻击图像能够进一步提高深度图像识别的准确性。
上述步骤s804中图像识别设备根据人脸框的实际宽度,判断第一张深度图像是否为活体图像的可选方式二的详细内容可以参考对步骤s204的可选方式二涉及的图像识别设备对深度图像进行高斯滤波,得到高斯滤波图像,并根据高斯滤波图像判断深度图像是否为活体图像的详细说明,在此不做赘述。
如上所述,假设将图像识别设备根据上述人脸框的实际宽度,判断深度图像是否为活体图像称为图像识别的可选方式一;将根据上述第三高斯滤波图像的图像标准差,判断深度图像是否为活体图像称为图像识别的可选方式二;将根据上述第二图像的图像标准差,判断深度图像是否为活体图像称为图像识别的可选方式三。那么图像识别设备在获取一张深度图像并对该深度图像进行图像识别时,可以单独执行这三种图像识别的可选方式,也可以对三种可选方式进行任意排序和组合,以执行组合之后的方案。相应的,图像识别设备获取多张深度图像时,在对每一张深度图像进行图像识别时,也可以单独执行这三种图像识别的可选方式,或者对三种可选方式进行任意排序和组合,执行组合之后的方案。三种图像识别的可选方式的具体内容及组合方式可以参考前文所述内容,再次不做赘述。
下面举例说明三种图像识别的可选方式的一种组合方式,详细说明可以参考前文所述内容,在此不做赘述。
图9为本申请再一实施例提供的一种图像识别方法的流程图,该方法可以由图像识别设备的部分或全部执行,所谓图像识别设备的部分为图像识别设备中的处理器,下面以图像识别设备为执行主体对图像识别方法进行说明,该图像识别方法包括如下步骤:
步骤s901:图像识别设备获取至少一张深度图像。每张深度图像包括:人脸框。
其中,深度图像是目标对象的深度图像,该目标对象为活体或者攻击。
步骤s902:图像识别设备针对多张深度图像中的第一张深度图像,确定第一张深度图像的宽度、深度、人脸框的宽度以及摄像头的参数。
步骤s903:图像识别设备根据第一张深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定人脸框的实际宽度。
步骤s904:图像识别设备判断获取到的第一张深度图像是否满足无效像素比例过滤条件,若第一张深度图像满足无效像素比例过滤条件,则图像识别设备执行步骤s905,否则,则图像识别设备执行步骤s914。
步骤s905:图像识别设备通过第一高斯滤波模板对第一张深度图像进行高斯滤波,得到第一高斯滤波图像,并通过第二高斯滤波模板对第一张深度图像进行高斯滤波,得到第二高斯滤波图像。
步骤s906:图像识别设备对第一高斯滤波图像与第二高斯滤波图像的对应像素值作差,得到第三高斯滤波图像。
步骤s907:图像识别设备获取第三高斯滤波图像的图像标准差。
步骤s908:图像识别设备根据第三高斯滤波图像的图像标准差,判断第一张深度图像是否为活体图像,若第一张深度图像是活体图像,则图像识别设备执行步骤s909;否则,则图像识别设备执行步骤s914。
步骤s909:图像识别设备对第一张深度图像进行高斯滤波,得到第四高斯滤波图像。
步骤s910:图像识别设备对第四高斯滤波图像中每个像素求方向导数,得到第一图像。
步骤s911:对第一图像中每个像素求方向角度,得到第二图像,获取第二图像的图像标准差;根据第二图像的图像标准差,判断第一张深度图像是否为活体图像,若第一张深度图像是活体图像,则图像识别设备执行步骤s912,否则,则图像识别设备执行步骤s914。
步骤s912:图像识别设备令活体图像计数值加1。
活体图像计数值初始值为0。
步骤s913:图像识别设备根据活体图像计数值判断目标对象是否为活体,若图像识别设备判定目标对象为活体,则结束判定;否则,图像识别设备执行步骤s914。
步骤s914:图像识别设备令攻击图像计数值加1。
攻击图像计数值初始值为0。
步骤s915:图像识别设备判断攻击图像计数值是否达到预设攻击计数阈值,若攻击图像计数值达到预设攻击计数阈值,则执行步骤s917,否则,图像识别设备执行步骤s916。
步骤s916:图像识别设备判断第一张深度图像是否为最后一张深度图像,若第一张深度图像是最后一张深度图像,则图像识别设备结束判定;否则,图像识别设备将第二张图像作为新的第一张图像,并继续开始执行步骤s902。
步骤s917:图像识别设备开始计时,当计时时长达到预设时长时,图像识别设备判断第一张深度图像是否为最后一张深度图像,若第一张深度图像是最后一张深度图像,则图像识别设备结束判定;否则,图像识别设备将第二张图像作为新的第一张图像,并继续开始执行步骤s902。
图10为本申请一实施例提供的一种图像识别装置的结构示意图,如图10所示,包括:
获取模块1001,用于获取至少一张深度图像。深度图像包括:人脸框。
第一确定模块1002,用于确定深度图像的宽度、深度、人脸框的宽度以及摄像头的参数。摄像头的参数为水平方向视场角或者焦距。
第二确定模块1003,用于根据深度图像的宽度、深度、人脸框的宽度以及摄像头的参数,确定人脸框的实际宽度。
第一判断模块1004,用于根据人脸框的实际宽度,判断深度图像是否为活体图像。
可选的,第一判断模块1004包括:高斯滤波子模块10041、判断子模块10042、和确定子模块10043。
高斯滤波子模块10041,用于若人脸框的实际宽度在预设范围内,则对深度图像进行高斯滤波,得到高斯滤波图像。
判断子模块10042,用于根据高斯滤波图像判断深度图像为活体图像或者攻击图像。
确定子模块10043,用于若人脸框的实际宽度不在预设范围内,则确定深度图像为攻击图像。
可选的,高斯滤波子模块10041具体用于:通过第一高斯滤波模板对深度图像进行高斯滤波,得到第一高斯滤波图像,并通过第二高斯滤波模板对深度图像进行高斯滤波,得到第二高斯滤波图像,其中,第一高斯滤波模板的尺寸小于第二高斯滤波模板的尺寸;对第一高斯滤波图像与第二高斯滤波图像的对应像素值作差,得到第三高斯滤波图像。
相应的,判断子模块10042,具体用于获取第三高斯滤波图像的图像标准差,根据第三高斯滤波图像的图像标准差,判断深度图像为活体图像或者攻击图像。
判断子模块10042,具体用于若第三高斯滤波图像的图像标准差大于第一预设阈值,则对深度图像进行高斯滤波,得到第四高斯滤波图像,并对第四高斯滤波图像中每个像素求方向导数,得到第一图像,对第一图像中每个像素求方向角度,得到第二图像,获取第二图像的图像标准差;根据第二图像的图像标准差,判断深度图像为活体图像或者攻击图像;若第三高斯滤波图像的图像标准差小于或等于第一预设阈值,则确定深度图像为攻击图像。
判断子模块10042,具体用于若第二图像的图像标准差小于第二预设阈值,则确定深度图像为活体图像;若第二图像的图像标准差大于或等于第二预设阈值,则确定深度图像为攻击图像。
可选的,图像识别设备还包括:第一高斯滤波模块,用于在判断子模块10042获取第三高斯滤波图像的图像标准差之前,对第三高斯滤波图像进行高斯滤波,得到滤波之后的第三高斯滤波图像。
相应的,判断子模块10042,还用于获取滤波之后的第三高斯滤波图像的图像标准差。
可选的,图像识别设备还包括:第二高斯滤波模块,用于在判断子模块10042获取第二图像的图像标准差之前,对第二图像进行滤波,得到滤波之后的第二图像。
相应的,判断子模块10042,还用于获取滤波之后的第二图像的图像标准差。
本申请提供的图像识别设备,可以执行上述的图像识别方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本申请还提供了一种图像识别设备,包括:至少一个处理器;以与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述图像识别方法。该图像识别设备可以执行上述的图像识别方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述图像识别方法。该计算机可读存储介质所存储的计算机执行指令被处理器执行时能实现上述图像识别方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本申请还提供了一种计算机程序产品,包括:计算机指令,该计算机指令用于使计算机执行上述图像识别方法。该计算机指令使计算机能够执行上述图像识别方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
1.一种图像识别方法,其特征在于,包括:
获取深度图像,所述深度图像包括:人脸框;
确定所述深度图像的宽度、深度、所述人脸框的宽度以及摄像头的参数,所述摄像头的参数为水平方向视场角或者焦距;
根据所述深度图像的宽度、深度、所述人脸框的宽度以及摄像头的参数,确定所述人脸框的实际宽度;
根据所述人脸框的实际宽度,判断所述深度图像为活体图像或者攻击图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述人脸框的实际宽度,判断所述深度图像为活体图像或者攻击图像,包括:
若所述人脸框的实际宽度在预设范围内,则对所述深度图像进行高斯滤波,得到高斯滤波图像,根据所述高斯滤波图像判断所述深度图像为活体图像或者攻击图像;
若所述人脸框的实际宽度不在所述预设范围内,则确定所述深度图像为攻击图像。
3.根据权利要求2所述的方法,其特征在于,所述对所述深度图像进行高斯滤波,得到高斯滤波图像,包括:
通过第一高斯滤波模板对所述深度图像进行高斯滤波,得到第一高斯滤波图像,并通过第二高斯滤波模板对所述深度图像进行高斯滤波,得到第二高斯滤波图像,其中,所述第一高斯滤波模板的尺寸小于所述第二高斯滤波模板的尺寸;
对所述第一高斯滤波图像与所述第二高斯滤波图像的对应像素值作差,得到第三高斯滤波图像;
相应的,根据所述高斯滤波图像判断所述深度图像为活体图像或者攻击图像,包括:
获取所述第三高斯滤波图像的图像标准差;
根据所述第三高斯滤波图像的图像标准差,判断所述深度图像为活体图像或者攻击图像。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第三高斯滤波图像的图像标准差,判断所述深度图像为活体图像或者攻击图像,包括:
若所述第三高斯滤波图像的图像标准差大于第一预设阈值,则对所述深度图像进行高斯滤波,得到第四高斯滤波图像,并对所述第四高斯滤波图像中每个像素求方向导数,得到第一图像,对所述第一图像中每个像素求方向角度,得到第二图像,获取所述第二图像的图像标准差;根据所述第二图像的图像标准差,判断所述深度图像为活体图像或者攻击图像;
若所述第三高斯滤波图像的图像标准差小于或等于所述第一预设阈值,则确定所述深度图像为攻击图像。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二图像的图像标准差,判断所述深度图像为活体图像或者攻击图像,包括:
若所述第二图像的图像标准差小于第二预设阈值,则确定所述深度图像为活体图像;
若所述第二图像的图像标准差大于或等于所述第二预设阈值,则确定所述深度图像为攻击图像。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述获取所述第三高斯滤波图像的图像标准差之前,还包括:
对所述第三高斯滤波图像进行高斯滤波,得到滤波之后的第三高斯滤波图像;
相应的,获取所述第三高斯滤波图像的图像标准差,包括:
获取所述滤波之后的第三高斯滤波图像的图像标准差。
7.根据权利要求4或5所述的方法,其特征在于,所述获取所述第二图像的图像标准差之前,还包括:
对所述第二图像进行滤波,得到滤波之后的第二图像;
相应的,所述获取所述第二图像的图像标准差,包括:
获取所述滤波之后的第二图像的图像标准差。
8.一种图像识别装置,其特征在于,包括:
获取模块,用于获取深度图像,所述深度图像包括:人脸框;
第一确定模块,用于确定所述深度图像的宽度、深度、所述人脸框的宽度以及摄像头的参数,所述摄像头的参数为水平方向视场角或者焦距;
第二确定模块,用于根据所述深度图像的宽度、深度、所述人脸框的宽度以及摄像头的参数,确定所述人脸框的实际宽度;
判断模块,用于根据所述人脸框的实际宽度,判断所述深度图像为活体图像或者攻击图像。
9.一种图像识别设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的图像识别方法。
技术总结