掌桥专利:专业的专利平台
掌桥专利
首页

活体检测方法、模型训练方法、装置、存储介质及设备

文献发布时间:2023-06-19 11:11:32


活体检测方法、模型训练方法、装置、存储介质及设备

技术领域

本公开涉及自动驾驶技术领域,具体地,涉及一种活体检测方法、模型训练方法、装置、存储介质及设备。

背景技术

目前,活体检测主要应用于无人值守场景下的安全防控,例如通过对对象进行活体检测,以克服照片翻拍、视频翻录等欺诈手段带来的信息安全受到危险等问题。

但是随着自动驾驶、无人机、机器人等行业的发展,使得活体检测技术应用更加广泛,例如通过无人配送车进行配送并与用户交接时,需要针对无人配送车上的摄像装置采集的包括用户的图像进行活体检测,在检测到图像中的用户为活体对象后,再进行后续的交接操作。

发明内容

本公开的目的是提供一种活体检测方法、模型训练方法、装置、存储介质及设备。

为了实现上述目的,第一方面,本公开提供一种活体检测方法,包括:

获取待检测图像,所述待检测图像中包括目标对象;

通过深度估计模型对所述待检测图像进行深度估计,获得所述待检测图像的深度图;

根据所述目标对象在所述待检测图像中的位置信息,以及所述待检测图像的深度图,得到所述目标对象的深度信息;

根据所述深度信息,确定所述目标对象是否属于活体对象;

其中,所述深度估计模型通过如下方式训练得到:

通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与所述第一图像帧对应的目标深度图;

从所述输入视频中获取与所述第一图像帧相邻的预设数量个第二图像帧;

针对所述第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一所述对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一所述第一像素的光度误差指标,确定所述第一图像帧的光度误差指标;

针对所述目标深度图中的每一第二像素,确定该第二像素和所述目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定所述第一图像帧中与该第二像素对应的第三像素和所述第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值,根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一所述第二像素的平滑约束指标,确定所述目标深度图的平滑约束指标;

根据所述第一图像帧的光度误差指标和所述目标深度图的平滑约束指标,确定目标函数;

根据所述目标函数更新所述神经网络模型的模型参数,以得到所述深度估计模型。

可选地,所述根据该第一像素和每一所述对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,包括:

针对每一所述对应像素,根据该第一像素和该对应像素之间的光度误差和光度误差的权重,确定该对应像素的光度误差指标;

根据每一所述对应像素的光度误差指标,确定该第一像素的光度误差指标。

可选地,通过如下方式确定第一像素和该第一像素在第二图像帧中的对应像素之间的光度误差和该光度误差的权重:

可选地,通过如下方式确定第一像素在第二图像帧中的对应像素的光度误差指标:

通过如下方式确定第一像素的光度误差指标:

可选地,所述根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,包括:

针对每一所述第一其他像素,根据该第三像素和目标第二其他像素之间的平滑约束值,确定该第二像素和该第一其他像素之间的平滑约束值的权重,并根据该第二像素和该第一其他像素之间的平滑约束值以及该平滑约束值的权重,确定该第一其他像素的平滑约束指标,其中,所述目标第二其他像素为所述第一图像帧中与该第一其他像素位置对应的第二其他像素;

根据每一所述第一其他像素的平滑约束指标,确定该第二像素的平滑约束指标。

可选地,通过如下方式确定第二像素和与该第二像素相邻的第一其他像素之间的平滑约束值,以及第三像素和与该第三像素相邻的第二其他像素之间的平滑约束值:

可选地,通过如下方式确定第二像素和与该第二像素相邻的第一其他像素之间的平滑约束值的权重:

通过如下方式确定第一其他像素的平滑约束指标:

通过如下方式确定第二像素的平滑约束指标:

可选地,所述根据所述第一图像帧的光度误差指标和所述目标深度图的平滑约束指标,确定目标函数,包括:

将所述第一图像帧的光度误差指标和所述目标深度图的平滑约束指标进行相加,得到所述目标函数。

可选地,在所述根据所述目标函数更新所述神经网络模型的模型参数的步骤之后,所述方法还包括:

确定是否满足训练停止条件;

在不满足所述训练停止条件的情况下,重新执行所述通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与所述第一图像帧对应的目标深度图的步骤至所述根据所述目标函数更新所述神经网络模型的模型参数,以得到所述深度估计模型的步骤。

第二方面,本公开提供一种深度估计模型训练方法,包括:

通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与所述第一图像帧对应的目标深度图;

从所述输入视频中获取与所述第一图像帧相邻的预设数量个第二图像帧;

针对所述第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一所述对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一所述第一像素的光度误差指标,确定所述第一图像帧的光度误差指标;

针对所述目标深度图中的每一第二像素,确定该第二像素和所述目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定所述第一图像帧中与该第二像素对应的第三像素和所述第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值,根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一所述第二像素的平滑约束指标,确定所述目标深度图的平滑约束指标;

根据所述第一图像帧的光度误差指标和所述目标深度图的平滑约束指标,确定目标函数;

根据所述目标函数更新所述神经网络模型的模型参数,以得到深度估计模型。

第三方面,本公开提供一种活体检测装置,包括:

第一获取模块,用于获取待检测图像,所述待检测图像中包括目标对象;

第一处理模块,用于通过深度估计模型对所述待检测图像进行深度估计,获得所述待检测图像的深度图;

第一确定模块,用于根据所述目标对象在所述待检测图像中的位置信息,以及所述待检测图像的深度图,得到所述目标对象的深度信息,并根据所述深度信息,确定所述目标对象是否属于活体对象;

其中,所述深度估计模型通过如下方式训练得到:

通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与所述第一图像帧对应的目标深度图;

从所述输入视频中获取与所述第一图像帧相邻的预设数量个第二图像帧;

针对所述第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一所述对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一所述第一像素的光度误差指标,确定所述第一图像帧的光度误差指标;

针对所述目标深度图中的每一第二像素,确定该第二像素和所述目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定所述第一图像帧中与该第二像素对应的第三像素和所述第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值,根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一所述第二像素的平滑约束指标,确定所述目标深度图的平滑约束指标;

根据所述第一图像帧的光度误差指标和所述目标深度图的平滑约束指标,确定目标函数;

根据所述目标函数更新所述神经网络模型的模型参数,以得到所述深度估计模型。

第四方面,本公开提供一种深度估计模型训练装置,包括:

第二获取模块,用于通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与所述第一图像帧对应的目标深度图,从所述输入视频中获取与所述第一图像帧相邻的预设数量个第二图像帧;

第二确定模块,用于针对所述第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一所述对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一所述第一像素的光度误差指标,确定所述第一图像帧的光度误差指标;

第三确定模块,用于针对所述目标深度图中的每一第二像素,确定该第二像素和所述目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定所述第一图像帧中与该第二像素对应的第三像素和所述第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值,根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一所述第二像素的平滑约束指标,确定所述目标深度图的平滑约束指标;

第四确定模块,用于根据所述第一图像帧的光度误差指标和所述目标深度图的平滑约束指标,确定目标函数;

第二处理模块,用于根据所述目标函数更新所述神经网络模型的模型参数,以得到深度估计模型。

第五方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面和/或第二方面中任一项所述方法的步骤。

第六方面,本公开提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面和/或第二方面中任一项所述方法的步骤。

通过上述技术方案,对待检测图像中的目标对象进行活体检测时,通过将待检测图像输入预先训练的深度估计模型,通过深度估计模型获取待检测图像的深度图,进而获取目标对象的深度信息,避免通过昂贵的深度探测器,获取目标对象的深度信息,使得活体检测方法能被广泛应用,提升活体检测的普遍性、易用性。

此外,本公开在训练深度估计模型时,针对所述第一图像帧中的每一第一像素,可根据该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差,基于自我选择机制确定该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差的权重。根据第一图像帧中该第一像素和每一所述对应像素之间光度误差的权重,以及该第一像素和每一所述对应像素之间的光度误差,可确定第一像素在第二图像帧中的对应像素的光度误差指标,进而在确定该第一像素的光度误差指标时,可根据第一像素在第二图像帧中的对应像素的光度误差指标,自动优化对应像素未被遮挡的第二图像帧,提升训练后深度估计模型深度估计的准确度。

此外,针对所述目标深度图中的每一第二像素,确定该第二像素和所述目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定所述第一图像帧中与该第二像素对应的第三像素和所述第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值。之后针对每一所述第一其他像素,根据该第三像素和目标第二其他像素之间的平滑约束值,基于自我选择机制确定该第二像素和该第一其他像素之间的平滑约束值的权重。并根据该第二像素和该第一其他像素之间的平滑约束值以及该平滑约束值的权重,确定该第一其他像素的平滑约束指标。根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一所述第二像素的平滑约束指标,确定所述目标深度图的平滑约束指标,由此通过训练得到的深度估计模型可准确确定目标深度图中像素物体之间的边界,避免在物体边界上施加平滑约束,导致过度平滑的现象。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种深度估计模型训练方法的流程图。

图2是根据一示例性实施例示出的第一图像帧、与所述第一图像帧对应的目标深度图,以及第二图像帧的示例图。

图3是根据一示例性实施例示出的一种深度估计模型训练方法的流程图。

图4是根据一示例性实施例示出的一种活体检测方法的流程图。

图5是根据一示例性实施例示出的一种活体检测装置的框图。

图6是根据一示例性实施例示出的一种深度估计模型训练装置的框图。

图7是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

本公开将先介绍深度估计模型的训练方法,该深度估计模型可用于根据输入的待估计图像,输出待估计图像的深度图。

图1是根据一示例性实施例示出的一种深度估计模型训练方法的流程图,如图1所示,深度估计模型训练方法,包括以下步骤。

在步骤S11中,通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与第一图像帧对应的目标深度图。

本公开中,由于视频中的图像帧在时间轴上是连续的,基于无监督的方式训练神经网络模型,可根据视频中图像在时间轴上的几何一致性,使得神经网络模型对图像帧中包括的对象进行深度估计时,提供更好的几何约束,其中,几何约束可以是图像中对象在三维空存在的几何结构约束。故本公开中,可将视频输入神经网络模型,利用视频实现对神经网络模型的训练,得到深度估计模型。

其中,视频可以是单目相机拍摄的视频,也可以是多目相机拍摄的视频,例如双目相机拍摄的视频。第一图像帧可以是神经网络模型对输入视频中任意一个图像帧进行深度估计的图像帧。神经网络模型可以是任意的用于深度估计的模型。

在步骤S12中,从输入视频中获取与第一图像帧相邻的预设数量个第二图像帧。

本公开中,为了确保与第一图像帧相邻的预设数量个第二图像帧中,均存在第一图像帧中拍摄的对象,一种实施方式中,本公开可基于神经网络模型确定的第一图像帧,在视频中获取具有与第一图像帧处于相邻时刻、预设数量个第二图像帧。其中,第一图像帧可以称为目标图像帧,第二图像帧也可以称为源视角图像帧。

例如第一图像帧为视频中t1时刻的图像帧,与第一图像帧相邻的预设数量个第二图像帧可以是与t1时刻相邻的t2时刻和t3时刻的图像帧。

在步骤S13中,针对第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一第一像素的光度误差指标,确定第一图像帧的光度误差指标。

相关技术中,通过无监督的方式训练神经网络模型时,由于缺少人工标注的、图像对应深度图的深度真值,无法直接将神经网络模型所估计出的预测深度值与深度真值进行比较来指导神经网络模型的训练。故,目前采用的方式是通过神经网络模型对第一图像帧进行深度估计得到对应的目标深度图后,根据目标深度图,建立第一图像帧与第一图像帧相邻的第二图像帧之间的像素对应关系,通过第一图像帧中像素和第二图像帧中对应像素的相似度,来判断神经网络模型对第一图像帧中像素所估计深度值的准确度,这一评价指标被称为光度误差,可以记为H(I

其中,I

由于输入神经网络模型中的视频是连续拍摄的,故,针对目标视角图像帧中的每一第一像素,可根据该像素在目标深度图中的深度距离,得到该像素在每一第二图像帧所在时刻的变化深度距离。根据该像素在目标深度图中的深度距离和该像素在每一第二图像帧所在时刻的变化深度距离,可以得到该像素在每一个源视角图像帧中的对应的像素。故,像素p和像素p’的对应关系,由神经网络模型根据目标视角图像在目标深度图中像素p的深度距离确定得到。故,当与目标视角图像帧中像素p对应的源视角图像帧中像素p’未被遮挡时,通过神经网络模型对目标视角图像帧中像素p和源视角图像帧中像素p’的深度距离估计得越精确,像素p和像素p’的对应关系就越精确,像素p和像素p’之间的光度误差也会越小。

然而实际应用中,由于遮挡的干扰,以及对图像缺少人工标注的原因,基于无监督深度估计的神经网络模型,很难判断当前像素p在哪个视角拍摄的图像中是可见的,在哪个视角拍摄的图像中是遮挡的。如果当前源视角图像帧中的p’并不是与像素p对应的像素,而是被遮挡后的其他像素,则对像素p和该遮挡后的其他像素P’进行光度误差计算,并基于计算的光度误差对第一图像帧中的像素p施加几何一致性约束,会对神经网络模型的深度估计精度造成负面影响。

为避免将像素存在遮挡时的光度误差作为衡量像素之间相似性的指标,以提升神经网络模型深度估计的准确性,本公开中,可基于像素存在遮挡时的光度误差相对大,像素未存在遮挡时的光度误差相对小的特点,针对第一图像帧中的每一第一像素,可确定该第一像素和该第一像素在每一第二图像帧中的对应像素之间的光度误差,以及确定光度误差的权重,通过确定该第一像素和该第一像素在每一第二图像帧中的对应像素之间的光度误差,以及确定光度误差的权重,可以调节光度误差所占的比重,使得如果该第一像素和该第一像素在某个第二图像帧中的对应像素之间的光度误差大,说明第一像素和该对应像素之间可能被遮挡的其他像素,对应光度误差的权重反而小,如果该第一像素和该第一像素在另一个第二图像帧中的对应像素之间的光度误差小,说明第一像素和对应像素之间对应关系比较精确,光度误差的权重反而大。

为了实现光度误差的权重调节光度误差权重,提升神经网络模型深度估计的精确度,一种实施方式中,可通过如下方式确定第一像素和该第一像素在第二图像帧中的对应像素之间的光度误差和该光度误差的权重:

其中,p

在上述公式中,由于指数具有放大作用,当第n个第二图像帧被遮挡,其光度误差第一像素p

图2是根据一示例性实施例示出的第一图像帧、与第一图像帧对应的目标深度图,以及第二图像帧的示例图。

在图2中,第一图像帧为I

此外,根据该第一像素和所有第二图像帧中的对应像素之间的光度误差以及光度误差权重,可通过如下方式确定得到该第一像素的光度误差指标:

针对每一对应像素,根据该第一像素和该对应像素之间的光度误差和光度误差的权重,确定该对应像素的光度误差指标,根据每一对应像素的光度误差指标,确定该第一像素的光度误差指标。

其中,通过如下方式确定第一像素在第二图像帧中的对应像素的光度误差指标:

通过如下方式确定第一像素的光度误差指标:

其中,p

由此,在第一图像帧中的一个像素的光度误差指标确定之后,以此类推,通过确定第一图像帧中的其他像素的光度误差指标,得到包括全部像素光度误差指标的第一图像帧的光度误差指标。

由此,本公开中,根据该第一像素和每一对应像素之间光度误差的权重,对该第一像素和每一对应像素之间的光度误差可基于自我选择机制,确定第一像素在第二图像帧中的对应像素的光度误差指标,进而在确定该第一像素的光度误差指标时,可根据第一像素在第二图像帧中的对应像素的光度误差指标,自动优化对应像素未被遮挡的第二图像帧,避免将对应像素存在遮挡的第二图像帧的光度误差作为衡量第一像素之间相似性的指标,对第一像素和存在遮挡的对应像素之间施加几何一致性约束,造成神经网络模型深度估计准确性低的问题。

在步骤S14中,针对目标深度图中的每一第二像素,确定该第二像素和目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定第一图像帧中与该第二像素对应的第三像素和第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值,根据该第二像素和每一第一其他像素之间的平滑约束值、以及该第三像素和每一第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一第二像素的平滑约束指标,确定目标深度图的平滑约束指标。

通过神经网络模型对图像中物体进行深度估计时,由于物体是连续的,物体的深度也是连续不会发生突变的,故为了约束物体的深度变化,在无监督训练中,非常依赖深度图中相邻像素深度之间的平滑性约束,来促使像素信息从置信度高的区域流向置信度低的区域。

相关技术中,对目标深度图中的像素进行平滑约束时,为了防止模糊目标图像中物体之间的边界,并满足目标图中的像素的一阶差分尽量小,在目标深度图一阶差分的基础上,加入了权重阈值。当目标深度图中像素处于物体的边界,像素的一阶差分大,根据权重阈值,对应的权重小,所施加的平滑约束就小。

然而,经常会出现物体之间的边界相似度比较高,使得常见的平滑操作却不能得到清晰的物体边界,而是倾向于得到模糊的边界,更严重的是:它抹平前景和背景的深度差异,这会导致细长物体如灯杆弯曲,灯杆尾部的深度跟地面相近,而灯杆顶部的深度跟天空接近,产生过度平滑的现象。

进而,本公开为能准确确定目标深度图中像素物体之间的边界,避免在物体边界上施加平滑约束,导致过度平滑的现象,针对目标深度图中的每一第二像素,确定该第二像素和目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定第一图像帧中与该第二像素对应的第三像素和第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值。

之后根据该第二像素和每一第一其他像素之间的平滑约束值、以及该第三像素和每一第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一第二像素的平滑约束指标,确定目标深度图的平滑约束指标。

其中,根据该第二像素和每一第一其他像素之间的平滑约束值、以及该第三像素和每一第二其他像素之间的平滑约束值,例如可通过如下方式确定该第二像素的平滑约束指标:

针对每一第一其他像素,根据该第三像素和目标第二其他像素之间的平滑约束值,确定该第二像素和该第一其他像素之间的平滑约束值的权重。并根据该第二像素和该第一其他像素之间的平滑约束值以及该平滑约束值的权重,确定该第一其他像素的平滑约束指标,其中,目标第二其他像素为第一图像帧中与该第一其他像素位置对应的第二其他像素。根据每一第一其他像素的平滑约束指标,确定该第二像素的平滑约束指标。进而根据每一第二像素的平滑约束指标,确定目标深度图的平滑约束指标。

在步骤S15中,根据第一图像帧的光度误差指标和目标深度图的平滑约束指标,确定目标函数。

一种实施方式中,例如可将第一图像帧的光度误差指标和目标深度图的平滑约束指标进行相加,得到目标函数。

在步骤S16中,根据目标函数更新神经网络模型的模型参数,以得到深度估计模型。

在根据目标函数更新神经网络模型的模型参数后,确定是否满足训练停止条件,若在不满足训练停止条件的情况下,可重新执行通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与第一图像帧对应的目标深度图的步骤至根据目标函数更新神经网络模型的模型参数,以得到深度估计模型的步骤。

其中,训练停止条件例如可以是神经网络模型的深度估计精度达到预设的精度,得到深度估计模型。

在本公开的示例性实施例中,本公开针对第一图像帧中的每一第一像素,可根据该第一像素和该第一像素在每一第二图像帧中的对应像素之间的光度误差,基于自我选择机制确定该第一像素和该第一像素在每一第二图像帧中的对应像素之间的光度误差的权重。根据第一图像帧中该第一像素和每一对应像素之间光度误差的权重,以及该第一像素和每一对应像素之间的光度误差,可确定第一像素在第二图像帧中的对应像素的光度误差指标,进而在确定该第一像素的光度误差指标时,可根据第一像素在第二图像帧中的对应像素的光度误差指标,自动优化对应像素未被遮挡的第二图像帧,提升神经网络模型深度估计的准确度。

此外,针对目标深度图中的每一第二像素,确定该第二像素和目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定第一图像帧中与该第二像素对应的第三像素和第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值。之后针对每一第一其他像素,根据该第三像素和目标第二其他像素之间的平滑约束值,基于自我选择机制确定该第二像素和该第一其他像素之间的平滑约束值的权重。并根据该第二像素和该第一其他像素之间的平滑约束值以及该平滑约束值的权重,确定该第一其他像素的平滑约束指标。根据该第二像素和每一第一其他像素之间的平滑约束值、以及该第三像素和每一第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一第二像素的平滑约束指标,确定目标深度图的平滑约束指标,实现准确确定目标深度图中像素物体之间的边界,避免在物体边界上施加平滑约束,导致过度平滑的现象。

图3是根据一示例性实施例示出的一种深度估计模型训练方法的流程图,如图3所示,深度估计模型训练方法,包括以下步骤。

在步骤S31中,通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与第一图像帧对应的目标深度图。

在步骤S32中,从输入视频中获取与第一图像帧相邻的预设数量个第二图像帧。

在步骤S33中,针对第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一第一像素的光度误差指标,确定第一图像帧的光度误差指标。

在步骤S34中,针对目标深度图中的每一第二像素,确定该第二像素和目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定第一图像帧中与该第二像素对应的第三像素和第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值。

一种实施方式中,通过如下方式确定第二像素和与该第二像素相邻的第一其他像素之间的平滑约束值,以及第三像素和与该第三像素相邻的第二其他像素之间的平滑约束值:

其中,D

在步骤S35中,针对每一第一其他像素,根据该第三像素和目标第二其他像素之间的平滑约束值,确定该第二像素和该第一其他像素之间的平滑约束值的权重,并根据该第二像素和该第一其他像素之间的平滑约束值以及该平滑约束值的权重,确定该第一其他像素的平滑约束指标。

一种实施方式中,本公开可通过如下方式确定第二像素和与该第二像素相邻的第一其他像素之间的平滑约束值的权重:

通过如下方式确定第一其他像素的平滑约束指标:

在步骤S36中,根据每一第一其他像素的平滑约束指标,确定该第二像素的平滑约束指标,并根据每一第二像素的平滑约束指标,确定目标深度图的平滑约束指标。

一种实施方式中,本公开可通过如下方式确定第二像素的平滑约束指标:

其中,x

例如,与第二像素p

在步骤S37中,根据第一图像帧的光度误差指标和目标深度图的平滑约束指标,确定目标函数。

在步骤S38中,根据目标函数更新神经网络模型的模型参数,以得到深度估计模型。

在本公开的示例性实施例中,针对目标深度图中的每一第二像素,确定该第二像素和目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定第一图像帧中与该第二像素对应的第三像素和第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值。之后针对每一第一其他像素,根据该第三像素和目标第二其他像素之间的平滑约束值,可基于自我选择机制,确定该第二像素和该第一其他像素之间的平滑约束值的权重。并根据该第二像素和该第一其他像素之间的平滑约束值以及该平滑约束值的权重,确定该第一其他像素的平滑约束指标。根据该第二像素和每一第一其他像素之间的平滑约束值、以及该第三像素和每一第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一第二像素的平滑约束指标,确定目标深度图的平滑约束指标,实现准确确定目标深度图中像素物体之间的边界,提升深度估计模型的准确度。

图4是根据一示例性实施例示出的一种活体检测方法的流程图,如图4所示,活体检测方法,包括以下步骤。

在步骤S41中,获取待检测图像,所述待检测图像中包括目标对象。

在步骤S42中,通过深度估计模型对所述待检测图像进行深度估计,获得所述待检测图像的深度图。

在步骤S43中,根据所述目标对象在所述待检测图像中的位置信息,以及所述待检测图像的深度图,得到所述目标对象的深度信息。

在步骤S44中,根据所述深度信息,确定所述目标对象是否属于活体对象。

本公开中,待检测图像可以是基于无人机、无人车、无人船等移动设备中安装的摄像装置拍摄得到的图像,或者基于移动终端中安装的摄像装置拍摄得到的图像。其中,摄像装置可以是单目摄像装置或者是双目摄像装置,经过该摄像装置拍摄的待检测图像可以是包括目标对象的RGB图像。

对图像中目标对象进行活体检测时,需要获取目标对象的深度信息,而相关技术中,获取图像的深度信息,需要借助深度探测器来实现。由此需要额外增加深度探测器的费用,使得活体检测不具有普遍性。

由此,为提升活体检测的普遍性,本公开中,将待检测图像输入深度估计模型,通过深度估计模型对所述待检测图像进行深度估计,获得所述待检测图像的深度图。在得到待检测图像的深度图之后,可以基于目标对象各像素点的深度信息和目标对象各像素点在待检测图像中的二维位置信息,得到目标对象各像素点的深度信息,即目标对象的深度信息。

进而,在得到目标对象的深度信息之后,可根据目标对象的深度信息,确定目标对象是否属于活体对象。

本公开例如可通过如下方式确定目标对象是否属于活体对象:

一种实施方式中,基于目标对象各像素点的深度信息,确定目标对象各像素点是否属于同一平面,若目标对象各像素点属于同一平面,可以确定目标对象不属于活体对象。若目标对象各像素点不属于同一平面,可以确定目标对象属于活体对象。

或者,一种实施方式中,可通过确定目标对象各像素点中是否具有预设比例或预设数量以上的像素点属于同一平面,若目标对象各像素点中具有预设比例或预设数量以上的像素点属于同一平面,则确定目标对象不属于活体对象。

进而,例如将本公开的活体检测方法应用于对乘坐无人驾驶车辆的用户面部进行检测的应用场景时,针对无人车拍摄得到包括用户面部的待检测图像后,可通过深度估计模型对待检测图像进行深度估计,获得待检测图像的深度图。之后根据用户面部在待检测图像中的位置信息,以及待检测图像的深度图,得到用户面部的深度信息。根据用户面部的深度信息,确定用户面部是否属于真实人脸,以克服用户利用照片、面具等欺诈手段掩盖自己身份,避免信息安全受到危险等问题。

在本公开的示例性实施例中,对待检测图像中的目标对象进行活体检测时,通过将待检测图像输入预先训练的深度估计模型,通过深度估计模型获取待检测图像的深度图,进而获取目标对象的深度信息,避免通过昂贵的深度探测器,获取目标对象的深度信息,使得活体检测方法能被广泛应用,提升活体检测的普遍性、易用性。

此外,本公开在训练深度估计模型时,针对所述第一图像帧中的每一第一像素,可根据该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差,基于自我选择机制确定该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差的权重。根据第一图像帧中该第一像素和每一所述对应像素之间光度误差的权重,以及该第一像素和每一所述对应像素之间的光度误差,可确定第一像素在第二图像帧中的对应像素的光度误差指标,进而在确定该第一像素的光度误差指标时,可根据第一像素在第二图像帧中的对应像素的光度误差指标,自动优化对应像素未被遮挡的第二图像帧,提升训练后深度估计模型深度估计的准确度。

此外,针对所述目标深度图中的每一第二像素,确定该第二像素和所述目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定所述第一图像帧中与该第二像素对应的第三像素和所述第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值。之后针对每一所述第一其他像素,根据该第三像素和目标第二其他像素之间的平滑约束值,基于自我选择机制确定该第二像素和该第一其他像素之间的平滑约束值的权重。并根据该第二像素和该第一其他像素之间的平滑约束值以及该平滑约束值的权重,确定该第一其他像素的平滑约束指标。根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一所述第二像素的平滑约束指标,确定所述目标深度图的平滑约束指标,由此通过训练得到的深度估计模型可实现准确确定目标深度图中像素物体之间的边界,避免在物体边界上施加平滑约束,导致过度平滑的现象。

图5是根据一示例性实施例示出的一种活体检测装置的框图500。参照图5,活体检测装置包括第一获取模块501、第一处理模块502和第一确定模块503。

其中,第一获取模块501,用于获取待检测图像,所述待检测图像中包括目标对象;

第一处理模块502,用于通过深度估计模型对所述待检测图像进行深度估计,获得所述待检测图像的深度图;

第一确定模块503,用于根据所述目标对象在所述待检测图像中的位置信息,以及所述待检测图像的深度图,得到所述目标对象的深度信息,并根据所述深度信息,确定所述目标对象是否属于活体对象;

其中,所述深度估计模型通过如下方式训练得到:

通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与所述第一图像帧对应的目标深度图;

从所述输入视频中获取与所述第一图像帧相邻的预设数量个第二图像帧;

针对所述第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一所述第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一所述对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一所述第一像素的光度误差指标,确定所述第一图像帧的光度误差指标;

针对所述目标深度图中的每一第二像素,确定该第二像素和所述目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定所述第一图像帧中与该第二像素对应的第三像素和所述第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值,根据该第二像素和每一所述第一其他像素之间的平滑约束值、以及该第三像素和每一所述第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一所述第二像素的平滑约束指标,确定所述目标深度图的平滑约束指标;

根据所述第一图像帧的光度误差指标和所述目标深度图的平滑约束指标,确定目标函数;

根据所述目标函数更新所述神经网络模型的模型参数,以得到所述深度估计模型。

关于深度估计模型的训练过程,已在上文中进行了详细描述,此处不再赘述。

图6是根据一示例性实施例示出的一种深度估计模型训练装置的框图600。参照图6,深度估计模型训练装置包括第二获取模块601、第二确定模块602、第三确定模块603、第四确定模块604和第二处理模块605。

其中,第二获取模块601,用于通过神经网络模型对输入视频中的第一图像帧进行深度估计,得到与第一图像帧对应的目标深度图,从输入视频中获取与第一图像帧相邻的预设数量个第二图像帧;

第二确定模块602,用于针对第一图像帧中的每一第一像素,确定该第一像素和该第一像素在每一第二图像帧中的对应像素之间的光度误差和光度误差的权重,根据该第一像素和每一对应像素之间的光度误差和光度误差的权重,确定该第一像素的光度误差指标,并根据每一第一像素的光度误差指标,确定第一图像帧的光度误差指标;

第三确定模块603,用于针对目标深度图中的每一第二像素,确定该第二像素和目标深度图中与该第二像素相邻的每一第一其他像素之间的平滑约束值,并确定第一图像帧中与该第二像素对应的第三像素和第一图像帧中与该第三像素相邻的每一第二其他像素之间的平滑约束值,根据该第二像素和每一第一其他像素之间的平滑约束值、以及该第三像素和每一第二其他像素之间的平滑约束值,确定该第二像素的平滑约束指标,并根据每一第二像素的平滑约束指标,确定目标深度图的平滑约束指标;

第四确定模块604,用于根据第一图像帧的光度误差指标和目标深度图的平滑约束指标,确定目标函数;

第二处理模块605,用于根据目标函数更新神经网络模型的模型参数,以得到深度估计模型。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图7是根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该电子设备700的整体操作,以完成上述的活体检测方法和/或模型训练方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。

在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的活体检测方法和/或模型训练方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的活体检测方法和/或模型训练方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的活体检测方法和/或模型训练方法。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的活体检测方法和/或模型训练方法的代码部分。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

相关技术
  • 活体检测方法、模型训练方法、装置、存储介质及设备
  • 活体检测方法、活体检测网络模型训练方法及设备
技术分类

06120112836299