本发明涉及人脸识别领域,具体涉及一种人脸验伪方法、装置、计算机设备和存储介质。
背景技术:
人脸识别作为重要的机器视觉技术,在人工智能领域发挥重大作用。在很多应用场景(如门锁、门禁、闸机等)对设备功耗、防攻能力、识别准确率与通过率有很高的要求。现在通常采用两种摄像头进行检测,例如采用rgb摄像头拍摄的图像进行人脸识别、ir摄像头拍摄的图像做活体检测,这样不仅增加了设备成本,而且ir摄像头容易过于依赖反馈的视频图像,一旦摄像头被攻击,例如攻击者将预先录制的视频图像替换摄像头采集的视频图像,则会导致活体检测失败或活体检测错误,给用户带来损失,安全性较低。
技术实现要素:
因此,为了克服上述现有技术的缺点,本发明提供了一种降低成本且提高人脸识别验证准确率的人脸验伪方法、装置、计算机设备和存储介质。
为了实现上述目的,本发明提供一种人脸验伪方法,包括:当判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像时,判断所述人脸图像对应的待验证目标是否为活体;当判定所述待验证目标为活体时,从所述红外图像中提取人脸关键点;采用所述人脸关键点对所述红外图像及与所述红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像;对4个通道的所述矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度;当所述比对相似度大于预设识别阈值时,判定人脸识别成功。
在其中一个实施例中,所述判断所述人脸图像对应的待验证目标是否为活体,包括:将所述单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据;根据所述红外图像中的人脸坐标分别截取红外图像和所述三通道数据的图像中人脸区域,组成4个通道的人脸图像数据;将所述4个通道的人脸图像数据输入活体识别网络,计算出活体分数;当所述活体分数大于活体判断阈值时,采用人脸位置检测单元判定所述人脸图像数据对应的待验证目标为活体。
在其中一个实施例中,所述将所述单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据,包括:根据像素坐标与相机坐标的转换原理,将所述单3d结构光或tof摄像头拍摄的深度图像上的点转化为相机坐标中的三维点,并将所述三维点组成红外图像的三个通道;计算每个像素点对应所述三维点的法向的方向以及偏移量;根据预设角度阈值对所述法向的方向进行迭代,并根据所述方向计算旋转矩阵得到三通道初始数据;将所述三通道初始数据归一化成值为0-255的三通道数据。
在其中一个实施例中,判断单3d结构光或tof摄像头拍摄的红外图像中是否存在人脸图像,包括:根据预设距离阈值对单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像中的深度距离信息进行二值化处理,得到二值化图像,设定低于所述预设距离阈值的区域为1,高于所述预设距离阈值的区域为0;确定所述二值化图像中连通区域,并计算连通域区的面积;当所述面积大于预设面积阈值时,判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像。
在其中一个实施例中,判断所述人脸图像对应的待验证目标是否为活体之前,还包括:判断所述红外图像中人脸区域的亮度和所述深度图像中人脸区域有效点云数量占比数是否处于预设阈值区间;当判定不处于时,计算所述人脸区域的亮度与所述预设阈值区间的亮度差异值;根据所述亮度差异值计算所述单3d结构光或tof摄像头的拍摄红外图像的红外理想曝光时长区间;根据所述亮度差异值和深度图像中人脸区域的平均距离信息计算所述单3d结构光或tof摄像头的拍摄深度图像的深度理想曝光时长区间;根据所述红外理想曝光时长区间和所述深度理想曝光时长区间调整所述单3d结构光或tof摄像头的当前曝光时长。
在其中一个实施例中,所述根据所述红外理想曝光时长区间和所述深度理想曝光时长区间调整所述单3d结构光或tof摄像头的当前曝光时长,包括:判断所述红外理想曝光时长区间和所述深度理想曝光时长区间是否存在交集;当判定存在交集时,设定所述交集的中心点值作为目标曝光时长,调整所述单3d结构光或tof摄像头的当前曝光时长;当判定不存在交集时,调整单3d结构光或tof摄像头识别距离,并重新计算所述红外理想曝光时长区间和所述深度理想曝光时长区间。
在其中一个实施例中,所述采用所述人脸关键点对所述红外图像及与所述红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像之后,包括:对所述矫正人脸图像进行归一化处理,得到各个通道下的固定尺寸的矫正人脸图像。
本发明提供一种人脸验伪装置,所述装置包括:活体判断模块,用于当判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像时,判断所述人脸图像对应的待验证目标是否为活体;图像提取模块,用于当判定所述待验证目标为活体时,从所述红外图像中提取人脸关键点;人脸矫正模块,用于采用所述人脸关键点对所述红外图像及与所述红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像;比对计算模块,用于对4个通道的所述矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度;人脸识别判断模块,用于当所述比对相似度大于预设识别阈值时,判定人脸识别成功。
本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述人脸验伪方法、装置、计算机设备和存储介质,通过单3d结构光或tof摄像头,输出深度数据和红外视频流,在某些恶劣光线环境条件下(如强逆光、强顺光、低照度),红外成像质量会远高于rgb摄像头成像质量,受光线干扰较小,并通过结合红外图像和深度图像做活体判断和人脸识别,不仅将深度图像转换为三种不同的通道(水平差异,对地高度以及表面法向量的角度)通过每个通道数据之间的互补信息提升活体判断准确率,同时结合ir图像信息和深度信息,提升人脸识别准确率,实现高精度的防伪及人脸识别功能。另外可以去掉rgb摄像头,降低人脸识别硬件终端的成本。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为一个实施例中人脸验伪方法的应用场景图;
图2为一个实施例中人脸验伪方法的流程示意图;
图3为一个实施例中活体判断步骤的流程示意图;
图4为一个实施例中活体识别网络的示意图;
图5为另一个实施例中参数调整步骤的流程示意图;
图6为一个实施例中人脸验伪装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践方面。
本申请提供的人脸验伪方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102实时将拍摄的红外图像和深度图像上传给服务器104;服务器104接收终端102上传的红外图像和深度图像;当服务器104判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像时,服务器104判断人脸图像对应的待验证目标是否为活体;当服务器104判定待验证目标为活体时,服务器104从红外图像中提取人脸关键点;服务器104采用人脸关键点对红外图像及与红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像;服务器104对4个通道的矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度;当比对相似度大于预设识别阈值时,服务器104判定人脸识别成功。其中,终端102可以但不限于是各种携带有单3d结构光摄像头或tof摄像头的设备或智能设备等,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种人脸验伪方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,当判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像时,判断人脸图像对应的待验证目标是否为活体。
服务器判断单3d结构光或tof摄像头拍摄的红外图像(ir图像)中是否存在人脸图像。在一个实施例中,判断单3d结构光或tof摄像头拍摄的红外图像中是否存在人脸图像,包括以下步骤:根据预设距离阈值对单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像中的深度距离信息进行二值化处理,得到二值化图像,设定低于预设距离阈值的区域为1,高于预设距离阈值的区域为0;确定二值化图像中连通区域,并计算连通域区的面积;当面积大于预设面积阈值时,判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像。在一个实施例中,当判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像且待验证目标到设备的距离在人脸识别距离阈值之内时,唤醒人脸识别服务;否则继续待机。这样可以维持摄像头所属的设备一直处于低功耗的状态。
当判定红外图像中存在人脸图像时,服务器判断人脸图像对应的待验证目标是否为活体。
步骤204,当判定待验证目标为活体时,从红外图像中提取人脸关键点。
当判定待验证目标为活体时,服务器从红外图像中提取人脸关键点。服务器可以根据预设规则确定关键点,并根据红外图像各像素点的数据计算得到关键点在红外图像中的坐标值。
步骤206,采用人脸关键点对红外图像及与红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像。
服务器采用人脸关键点对红外图像及与红外图像对应的深度图像(depth图像)生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像。服务器采用hha编码(horizontaldisparity,heightaboveground,andtheanglethepixel’slocalsurfacenormalmakeswiththeinferredgravitydirection)将深度图像转换为三种不同的通道(水平差异,对地高度以及表面法向量的角度)。在一个实施例中,服务器还对矫正人脸图像进行归一化处理,得到各个通道下的固定尺寸的矫正人脸图像。
步骤208,对4个通道的矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度。
服务器对4个通道的矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度。特征库存储有大量的不同人的人脸各部位的图像特征。服务器可以对每个通道的矫正人脸图像都通过人脸特征抽取模型提取特征,并将每个矫正人脸图像特征都与特征库的特征作比对计算,得到每个矫正人脸图像特征的比对相似度。服务器可以根据每个矫正人脸图像特征的比对相似度计算每个矫正人脸图像的比对相似度;服务器也可以选择特定矫正人脸图像特征的比对相似度作为每个矫正人脸图像的比对相似度。
步骤210,当比对相似度大于预设识别阈值时,判定人脸识别成功。
当比对相似度大于预设识别阈值时,服务器判定人脸识别成功。当比对相似度小于预设识别阈值时,服务器判定人脸识别失败。
上述人脸验伪方法,通过单3d结构光或tof摄像头,输出深度数据和红外视频流,在某些恶劣光线环境条件下(如强逆光、强顺光、低照度),红外成像质量会远高于rgb摄像头成像质量,受光线干扰较小,并通过结合红外图像和深度图像相做活体判断和人脸识别,不仅将深度图像转换为三种不同的通道(水平差异,对地高度以及表面法向量的角度)通过每个通道数据之间的互补信息提升活体判断准确率,同时结合ir图像信息和深度信息,提升人脸识别准确率,实现高精度的防伪及人脸识别功能。另外可以去掉rgb摄像头,降低人脸识别硬件终端的成本。而且,服务器还可以只使用深度图像信息判断是否需要唤醒人脸识别服务,减少设备功耗的同时,也减少了服务器的运算量。
在一个实施例中,如图3所示,判断人脸图像对应的待验证目标是否为活体,包括:
步骤302,将单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据。
服务器将单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据。在一个实施例中,服务器可以根据像素坐标与相机坐标的转换原理,将单3d结构光或tof摄像头拍摄的深度图像上的点转化为相机坐标中的三维点,并将三维点组成红外图像的三个通道。
步骤304,根据红外图像中的人脸坐标分别截取红外图像和三通道数据的图像中人脸区域,组成4个通道的人脸图像数据。
服务器根据红外图像中的人脸坐标分别截取红外图像和三通道数据的图像中人脸区域,组成4个通道的人脸图像数据。服务器根据ir图像中人脸坐标分别截取ir图像和hha编码生成的3个通道图像中的人脸区域,组成4个通道的人脸图像数据。
步骤306,将4个通道的人脸图像数据输入活体识别网络,计算出活体分数。
服务器将4个通道的人脸图像数据输入活体识别网络,计算出活体分数。如图4所示,活体识别网络可以包括conv+bn+prelu、resnetblocks、fullyconnected、softmaxloss等数据处理层。
步骤308,当活体分数大于活体判断阈值时,采用人脸位置检测单元判定人脸图像数据对应的待验证目标为活体。
当活体分数大于活体判断阈值时,服务器采用人脸位置检测单元对人脸图像数据进行检测,当检测到人脸时,服务器判定人脸图像数据对应的待验证目标为活体。
在一个实施例中,如图5所示,判断人脸图像对应的待验证目标是否为活体之前,还包括:
步骤502,判断红外图像中人脸区域的亮度和深度图像中人脸区域有效点云数量占比数是否处于预设阈值区间。
服务器获取红外图像中人脸区域的亮度
步骤504,当判定不处于时,计算人脸区域的亮度与预设阈值区间的亮度差异值。
当服务器判定
步骤506,根据亮度差异值计算单3d结构光或tof摄像头的拍摄红外图像的红外理想曝光时长区间。
服务器根据亮度差异值计算单3d结构光或tof摄像头的拍摄红外图像的红外理想曝光时长区间。服务器可以获取事先根据曝光时长和亮度
服务器根据光线light、距离dis和人脸亮度差异值diff对曝光时间进行调整得到
步骤508,根据亮度差异值和深度图像中人脸区域的平均距离信息计算摄像头的拍摄深度图像的深度理想曝光时长区间。
服务器根据亮度差异值和深度图像中人脸区域的平均距离信息计算摄像头的拍摄深度图像的深度理想曝光时长区间。服务器可以获取事先根据光线和距离对深度理想曝光时长区间拟合得到的拟合函数
步骤510,根据红外理想曝光时长区间和深度理想曝光时长区间调整摄像头的当前曝光时长。
服务器根据红外理想曝光时长区间和深度理想曝光时长区间调整摄像头的当前曝光时长。在一个实施例中,服务器可以先判断红外理想曝光时长区间和深度理想曝光时长区间是否存在交集。当服务器判定存在交集时,设定交集的中心点值作为目标曝光时长,调整单3d结构光或tof摄像头的当前曝光时长,此时曝光时间为:
在一个实施例中,如图6所示,提供了一种人脸验伪装置,包括:活体判断模块602、图像提取模块604、人脸矫正模块606、比对计算模块608和人脸识别判断模块610,其中:
活体判断模块602,用于当判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像时,判断人脸图像对应的待验证目标是否为活体。
图像提取模块604,用于当判定待验证目标为活体时,从红外图像中提取人脸关键点。
人脸矫正模块606,用于采用人脸关键点对红外图像及与红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像。
比对计算模块608,用于对4个通道的矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度。
人脸识别判断模块610,用于当比对相似度大于预设识别阈值时,判定人脸识别成功。
在一个实施例中,活体判断模块602包括:
转换单元,用于将单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据。
图像截取单元,用于根据红外图像中的人脸坐标分别截取红外图像和三通道数据的图像中人脸区域,组成4个通道的人脸图像数据。
计算单元,用于将4个通道的人脸图像数据输入活体识别网络,计算出活体分数。
判断单元,用于当活体分数大于活体判断阈值时,判定人脸图像数据对应的待验证目标为活体。
在一个实施例中,活体判断模块602包括:
点转换单元,用于根据像素坐标与相机坐标的转换原理,将单3d结构光或tof摄像头拍摄的深度图像上的点转化为相机坐标中的三维点,并将三维点组成红外图像的三个通道。
三维点计算单元,用于计算每个像素点对应三维点的法向的方向以及偏移量。
迭代单元,用于根据预设角度阈值对法向的方向进行迭代,并根据方向计算旋转矩阵得到三通道初始数据。
归一化单元,用于将三通道初始数据归一化成值为0-255的三通道数据。
在一个实施例中,活体判断模块602包括:
二值化处理单元,用于根据预设距离阈值对单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像中的深度距离信息进行二值化处理,得到二值化图像,设定低于预设距离阈值的区域为1,高于预设距离阈值的区域为0。
面积计算单元,用于确定二值化图像中连通区域,并计算连通域区的面积。
判断单元,用于当面积大于预设面积阈值时,判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像。
在一个实施例中,装置还包括:
比对判断模块,用于判断红外图像中人脸区域的亮度和深度图像中人脸区域有效点云数量占比数是否处于预设阈值区间。
亮度差异值计算模块,用于当判定不处于时,计算人脸区域的亮度与预设阈值区间的亮度差异值。
红外理想曝光时间计算模块,用于根据亮度差异值计算单3d结构光或tof摄像头的拍摄红外图像的红外理想曝光时长区间。
深度理想曝光时间计算模块,用于根据亮度差异值和深度图像中人脸区域的平均距离信息计算摄像头的拍摄深度图像的深度理想曝光时长区间。
时长调整模块,用于根据红外理想曝光时长区间和深度理想曝光时长区间调整摄像头的当前曝光时长。
在一个实施例中,装置还包括:
交集判断模块,用于判断红外理想曝光时长区间和深度理想曝光时长区间是否存在交集。
时长调整模块,用于当判定存在交集时,设定交集的中心点值作为目标曝光时长,调整单3d结构光或tof摄像头的当前曝光时长;当判定不存在交集时,调整单3d结构光或tof摄像头的识别距离,并重新计算红外理想曝光时长区间和深度理想曝光时长区间。
关于人脸验伪装置的具体限定可以参见上文中对于人脸验伪方法的限定,在此不再赘述。上述人脸验伪装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储人脸验伪数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人脸验伪方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:当判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像时,判断人脸图像对应的待验证目标是否为活体;当判定待验证目标为活体时,从红外图像中提取人脸关键点;采用人脸关键点对红外图像及与红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像;对4个通道的矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度;当比对相似度大于预设识别阈值时,判定人脸识别成功。
在一个实施例中,处理器执行计算机程序时实现的判断人脸图像对应的待验证目标是否为活体,包括:将单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据;根据红外图像中的人脸坐标分别截取红外图像和三通道数据的图像中人脸区域,组成4个通道的人脸图像数据;将4个通道的人脸图像数据输入活体识别网络,计算出活体分数;当活体分数大于活体判断阈值时,判定人脸图像数据对应的待验证目标为活体。
在一个实施例中,处理器执行计算机程序时实现的将单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据,包括:根据像素坐标与相机坐标的转换原理,将单3d结构光或tof摄像头拍摄的深度图像上的点转化为相机坐标中的三维点,并将三维点组成红外图像的三个通道;计算每个像素点对应三维点的法向的方向以及偏移量;根据预设角度阈值对法向的方向进行迭代,并根据方向计算旋转矩阵得到三通道初始数据;将三通道初始数据归一化成值为0-255的三通道数据。
在一个实施例中,处理器执行计算机程序时实现的判断单3d结构光或tof摄像头拍摄的红外图像中是否存在人脸图像,包括:根据预设距离阈值对单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像中的深度距离信息进行二值化处理,得到二值化图像,设定低于预设距离阈值的区域为1,高于预设距离阈值的区域为0;确定二值化图像中连通区域,并计算连通域区的面积;当面积大于预设面积阈值时,判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像。
在一个实施例中,处理器执行计算机程序时实现的判断人脸图像对应的待验证目标是否为活体之前,还包括:判断红外图像中人脸区域的亮度和深度图像中人脸区域有效点云数量占比数是否处于预设阈值区间;当判定不处于时,计算人脸区域的亮度与预设阈值区间的亮度差异值;根据亮度差异值计算单3d结构光或tof摄像头的拍摄红外图像的红外理想曝光时长区间;根据亮度差异值和深度图像中人脸区域的平均距离信息计算单3d结构光或tof摄像头的拍摄深度图像的深度理想曝光时长区间;根据红外理想曝光时长区间和深度理想曝光时长区间调整单3d结构光或tof摄像头的当前曝光时长。
在一个实施例中,处理器执行计算机程序时实现的根据红外理想曝光时长区间和深度理想曝光时长区间调整单3d结构光或tof摄像头的当前曝光时长,包括:判断红外理想曝光时长区间和深度理想曝光时长区间是否存在交集;当判定存在交集时,设定交集的中心点值作为目标曝光时长,调整单3d结构光或tof摄像头的当前曝光时长;当判定不存在交集时,调整单3d结构光或tof摄像头识别距离,并重新计算红外理想曝光时长区间和深度理想曝光时长区间。
在一个实施例中,处理器执行计算机程序时实现的采用人脸关键点对红外图像及与红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像之后,包括:对矫正人脸图像进行归一化处理,得到各个通道下的固定尺寸的矫正人脸图像。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像时,判断人脸图像对应的待验证目标是否为活体;当判定待验证目标为活体时,从红外图像中提取人脸关键点;采用人脸关键点对红外图像及与红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像;对4个通道的矫正人脸图像通过人脸特征抽取模型提取特征,并与特征库的特征作比对计算,得到比对相似度;当比对相似度大于预设识别阈值时,判定人脸识别成功。
在一个实施例中,计算机程序被处理器执行时实现的判断人脸图像对应的待验证目标是否为活体,包括:将单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据;根据红外图像中的人脸坐标分别截取红外图像和三通道数据的图像中人脸区域,组成4个通道的人脸图像数据;将4个通道的人脸图像数据输入活体识别网络,计算出活体分数;当活体分数大于活体判断阈值时,判定人脸图像数据对应的待验证目标为活体。
在一个实施例中,计算机程序被处理器执行时实现的将单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像转换成三通道数据,包括:根据像素坐标与相机坐标的转换原理,将单3d结构光或tof摄像头拍摄的深度图像上的点转化为相机坐标中的三维点,并将三维点组成红外图像的三个通道;计算每个像素点对应三维点的法向的方向以及偏移量;根据预设角度阈值对法向的方向进行迭代,并根据方向计算旋转矩阵得到三通道初始数据;将三通道初始数据归一化成值为0-255的三通道数据。
在一个实施例中,计算机程序被处理器执行时实现的判断单3d结构光或tof摄像头拍摄的红外图像中是否存在人脸图像,包括:根据预设距离阈值对单3d结构光或tof摄像头拍摄的与红外图像对应的深度图像中的深度距离信息进行二值化处理,得到二值化图像,设定低于预设距离阈值的区域为1,高于预设距离阈值的区域为0;确定二值化图像中连通区域,并计算连通域区的面积;当面积大于预设面积阈值时,判定单3d结构光或tof摄像头拍摄的红外图像中存在人脸图像。
在一个实施例中,计算机程序被处理器执行时实现的判断人脸图像对应的待验证目标是否为活体之前,还包括:判断红外图像中人脸区域的亮度和深度图像中人脸区域有效点云数量占比数是否处于预设阈值区间;当判定不处于时,计算人脸区域的亮度与预设阈值区间的亮度差异值;根据亮度差异值计算单3d结构光或tof摄像头的拍摄红外图像的红外理想曝光时长区间;根据亮度差异值和深度图像中人脸区域的平均距离信息计算单3d结构光或tof摄像头的拍摄深度图像的深度理想曝光时长区间;根据红外理想曝光时长区间和深度理想曝光时长区间调整单3d结构光或tof摄像头的当前曝光时长。
在一个实施例中,计算机程序被处理器执行时实现的根据红外理想曝光时长区间和深度理想曝光时长区间调整单3d结构光或tof摄像头的当前曝光时长,包括:判断红外理想曝光时长区间和深度理想曝光时长区间是否存在交集;当判定存在交集时,设定交集的中心点值作为目标曝光时长,调整单3d结构光或tof摄像头的当前曝光时长;当判定不存在交集时,调整单3d结构光或tof摄像头识别距离,并重新计算红外理想曝光时长区间和深度理想曝光时长区间。
在一个实施例中,计算机程序被处理器执行时实现的采用人脸关键点对红外图像及与红外图像对应的深度图像生成的三个通道图像进行人脸矫正,得到各个通道下的矫正人脸图像之后,包括:对矫正人脸图像进行归一化处理,得到各个通道下的固定尺寸的矫正人脸图像。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。