人脸关键点检测方法、装置、设备及存储介质与流程

文档序号:20444278发布日期:2020-04-17 22:37阅读:189来源:国知局
人脸关键点检测方法、装置、设备及存储介质与流程

本申请涉及图像处理技术领域,尤其涉及一种人脸关键点检测方法、装置、设备及存储介质。



背景技术:

人脸关键点检测是指在人脸图像中检测出人脸上如眼睛、鼻子、脸部边缘等关键点的技术。人脸关键点检测可以应用于定位人脸局部、识别表情、智能驾考判定、辅助驾驶等场景中。

一般地,通过标记出关键点位置的多张正面人脸图像样本对预先构建的人脸关键点检测网络进行训练,然后通过训练后的人脸关键点检测网络检测待处理的图像中人脸的关键点位置。

然而,待处理的图像中人脸可能存在遮挡,例如图像中人脸转向角度过大,或者人脸上存在遮挡物等。采用现有的人脸关键点检测方法对人脸存在遮挡的人脸图像进行检测,检测结果的准确度较差。



技术实现要素:

本申请实施例提供一种人脸关键点检测方法、装置、设备及存储介质,以解决目前人脸关键点检测方法的检测准确度差的问题。

第一方面,本申请实施例提供一种人脸关键点检测方法,包括:

获取包含人脸的人脸图像;

通过神经网络对所述人脸图像进行关键点检测,得到所述人脸图像中人脸关键点的位置信息,其中,所述神经网络经过训练数据集训练,所述训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,所述标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息。

在一种可能的实施方式中,所述神经网络包括卷积神经网络;

通过神经网络对所述人脸图像进行关键点检测,得到所述人脸图像中人脸关键点的位置信息,包括:

将所述人脸图像输入所述卷积神经网络,得到预设张数的特征图,其中,所述特征图与所述人脸图像中人脸上的关键点一一对应;

针对每张特征图,将该张特征图中像素值最大的像素点所在位置的坐标,确定为该特征图对应的关键点的位置坐标。

在一种可能的实施方式中,获取包含人脸的人脸图像之前,所述方法还包括:

获取多张第一人脸图像样本及其预先标记的人脸关键点的标记坐标;

针对每张第一人脸图像样本,根据该第一人脸图像样本中人脸上每个关键点的标记坐标,生成一张与该关键点对应的热力图,其中,所述热力图中该关键点的标记坐标对应位置的像素值大于其余位置的像素值,并且其余位置的像素值随着与该关键点的标记坐标对应位置的距离增大而减小;

将各张第一人脸图像及其对应的一组热力图组成所述训练数据集。

在一种可能的实施方式中,将各张第一人脸图像样本及其对应的一组热力图组成所述训练数据集之后,所述方法还包括:

针对所述训练数据集中每张第一人脸图像样本,将该第一人脸图像样本输入预先构建的神经网络,得到所述神经网络输出的多张预测特征图,其中,所述预测特征图与该第一人脸图像样本的热力图一一对应,并根据该第一人脸图像样本的一组热力图和预测特征图调整所述神经网络的网络参数。

在一种可能的实施方式中,所述第一人脸图像样本中人脸被遮挡的部分的关键点个数在人脸关键点总数中的占比小于或等于预设阈值。

在一种可能的实施方式中,所述训练数据集还包括多张第二人脸图像样本及其相应的标记信息,每张第二人脸图像样本中包含没有被遮挡的人脸。

在一种可能的实施方式中,获取包含人脸的人脸图像,包括:

获取摄像头采集的图像;

识别所述图像中的人脸所在区域的位置信息;

从所述图像中提取所述位置信息对应区域的图像作为所述人脸图像。

在一种可能的实施方式中,识别所述图像中的人脸所在区域的位置信息,包括:

将所述图像输入单发多框检测ssd网络,得到所述图像中人脸所在区域的位置信息。

在一种可能的实施方式中,通过神经网络对所述人脸图像进行关键点检测,得到所述人脸图像中人脸关键点的位置信息之后,所述方法还包括:

根据所述人脸图像中人脸关键点的位置信息,在所述人脸图像中标注各人脸关键点,并显示标注后的人脸图像。

第二方面,本申请实施例提供一种人脸关键点检测装置,包括:

获取模块,用于获取包含人脸的人脸图像;

处理模块,用于通过神经网络对所述人脸图像进行关键点检测,得到所述人脸图像中人脸关键点的位置信息,其中,所述神经网络经过训练数据集训练,所述训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,所述标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息。

第三方面,本申请实施例提供一种人脸关键点检测设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的人脸关键点检测方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的人脸关键点检测方法。

本申请实施例提供的人脸关键点检测方法、装置、设备及存储介质,首先获取包含人脸的人脸图像;然后通过神经网络对人脸图像进行关键点检测,得到人脸图像中人脸关键点的位置信息,其中,神经网络经过训练数据集训练,训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息,能够通过标记出被遮挡部分的人脸关键点的人脸图像样本训练神经网络,使得神经网络对被部分遮挡的人脸的人脸图像也能准确检测出人脸关键点,提高人脸关键点检测的检测准确度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的人脸关键点检测系统的架构示意图;

图2为本申请一实施例提供的人脸关键点检测方法的流程示意图;

图3为本申请又一实施例提供的人脸关键点检测方法的流程示意图;

图4为本申请另一实施例提供的人脸关键点检测方法的流程示意图;

图5为本申请实施例提供的标记人脸关键点位置的示意图;

图6为本申请一实施例提供的人脸关键点检测装置的结构示意图;

图7为本申请又一实施例提供的人脸关键点检测装置的结构示意图;

图8为本申请一实施例提供的人脸关键点检测设备的硬件结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请一实施例提供的人脸关键点检测系统的架构示意图。如图1所示,本实施例提供的人脸关键点检测系统包括摄像机11和人脸关键点检测设备12。其中,摄像机11用于采集包含人脸的人脸图像。摄像机11可以将人脸图像发送给人脸关键点检测设备12。人脸关键点检测设备12用于对人脸图像进行关键点检测。人脸关键点检测设备12可以为手机、平板电脑、车载终端、台式计算机、便携式计算机、服务器等设备,在此不作限定。

本实施例提供的人脸关键点检测方法可以应用于定位人脸局部、识别表情、智能驾考判定、辅助驾驶等场景中,在此不作限定。以辅助驾驶为例,在辅助驾驶过程中常常需要判断驾驶员的状态,例如驾驶员视线方向、疲劳情况等,一般首先从采集的图像中定位出人脸及人脸的关键点的位置等,然后再根据关键点的位置对驾驶员的状态做判断。因此人脸关键点的定位准确率对驾驶员状态的准确判断起着很重要的作用。在该应用场景中,摄像机可以安装在车辆内部的固定位置,用于采集驾驶员的图像。人脸关键点检测设备可以为车载终端或者与摄像机通信连接的服务器等。摄像机采集驾驶员人脸的图像后,将图像发送给人脸关键点检测设备,由人脸关键点检测设备检测出图像中人脸的关键点位置,然后该人脸关键点检测设备根据人脸的关键点位置对图像中驾驶员的状态进行识别,或者该该人脸关键点检测设备将人脸的关键点位置发送给其他识别设备,由其他识别设备根据人脸的关键点位置对图像中驾驶员的状态进行识别。

目前的人脸关键点检测方法大都专注于人脸较为正面、人脸不被遮挡的状况,关键点被遮挡的情况下检测结果的准确度很差。如果驾驶员转向角度过大,或者驾驶员与摄像机之间存在遮挡物,则不能准确检测出驾驶员人脸上的关键点位置,进而导致驾驶员状态无法识别或识别错误。本申请实施例提供的人脸关键点检测方法,能够通过标记出被遮挡部分的人脸关键点的人脸图像样本训练神经网络,使得神经网络对被部分遮挡的人脸的人脸图像也能准确检测出人脸关键点,提高人脸关键点检测的检测准确度,进而提高后续驾驶员状态识别的准确度。

图2为本申请一实施例提供的人脸关键点检测方法的流程示意图。如图2所示,该方法包括:

s201、获取包含人脸的人脸图像。

本实施例中,人脸关键点检测设备可以获取人脸图像。例如,人脸关键点检测设备可以获取车辆内部的摄像机、道路安装的抓拍摄像机、手机等终端的摄像头等采集的人脸图像,也可以从服务器和数据库中获取人脸图像,在此不作限定。

s202、通过神经网络对所述人脸图像进行关键点检测,得到所述人脸图像中人脸关键点的位置信息,其中,所述神经网络经过训练数据集训练,所述训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,所述标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息。

本实施例中,人脸关键点检测设备可以将人脸图像输入到用于人脸关键点检测的神经网络中,该神经网络可以对人脸图像中人脸的关键点的位置进行检测,输出人脸关键点的位置信息。该神经网络为预先构建的,并通过训练数据集进行网络参数的训练。

训练数据集中包括多张人脸被部分遮挡的人脸图像样本及其相应的标记信息。本实施例中将人脸被部分遮挡的人脸图像样本称为第一人脸图像样本,将人脸未被遮挡的人脸图像样本称为第二人脸图像样本。每张第一人脸图像样本的标记信息为对该图像样本进行人工标记,标记出的该图像样本中人脸的关键点的位置信息。标记出的关键点位置信息包括该图像样本中人脸未被遮挡部分的关键点位置信息,以及该图像样本中人脸被这遮挡部分的关键点位置信息。

例如,假设每张第一人脸图像样本上标记68个关键点位置,对于某张第一人脸图像样本,该图像样本中人脸未被遮挡部分的关键点为56个,人脸被遮挡部分的关键点为12个,则人工标记时可以直接在该图像样本中标记出人脸未被遮挡部分的56个关键点位置,并根据人工经验,标记出人脸被遮挡部分的12个关键点位置。

本申请实施例首先获取包含人脸的人脸图像;然后通过神经网络对人脸图像进行关键点检测,得到人脸图像中人脸关键点的位置信息,其中,神经网络经过训练数据集训练,训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息,能够通过标记出被遮挡部分的人脸关键点的人脸图像样本训练神经网络,使得神经网络对被部分遮挡的人脸的人脸图像也能准确检测出人脸关键点,提高人脸关键点检测的检测准确度。

可选地,s202可以包括:

将所述人脸图像输入所述卷积神经网络,得到预设张数的特征图,其中,所述特征图与所述人脸图像中人脸上的关键点一一对应;

针对每张特征图,将该张特征图中像素值最大的像素点所在位置的坐标,确定为该特征图对应的关键点的位置坐标。

本实施例中,神经网络可以为用于对人脸图像进行关键点检测的卷积神经网络。人脸关键点检测设备可以将人脸图像输入到卷积神经网络中,该卷积神经网络输出该人脸图像对应的预设张数的特征图。其中,预设张数的取值在此不作限定,例如,可以为68、136等。预设张数与人脸上关键点的个数相同。例如,假设每张人脸图像中的人脸上识别68个关键点位置,则神经网络输入人脸图像后,输出68张特征图,每张特征图分别对应于一个关键点。每张特征图中像素值最大的像素点所在位置即为该特征图对应的关键点位置。人脸关键点检测设备可以从每张特征图中选取像素值最大的像素点所在位置的坐标,作为该特征图对应的关键点的位置坐标,从而得到人脸图像中人脸各关键点的位置坐标。

卷积神经网络的结构在此不作限定,例如卷积神经网络可以由18个卷积层、3个relu(rectifiedlinearunit,线性整流函数)激活层,5个池化层、4个反卷积层、5个eltwise层、3个batchnorm层搭建而成。

可选地,所述第一人脸图像样本中人脸被遮挡的部分的关键点个数在人脸关键点总数中的占比小于或等于预设阈值。

本实施例中,如果第一人脸图像样本中人脸被遮挡的部分过多,则无法有效对神经网络进行训练,例如图像样本中人脸区域超过90%的部分都被遮挡,神经网络或者人工标记都无法确定其关键点位置,通过该图像样本对神经网络训练不能改善其网络参数。因此本实施例通过预设阈值对第一人脸图像样本中被遮挡部分进行限定,从而保证对神经网络进行有效的训练。预设阈值的取值在此不作限定,例如,预设阈值可以为30%,40%等。每张第一人脸图像样本中人脸被遮挡的部分的关键点个数在人脸关键点总数中的占比小于或等于该预设阈值。例如,预设阈值为40%,某第一人脸图像样本中人脸被遮挡的部分的关键点个数为12,人脸关键点总数为68,则该第一人脸图像样本中人脸被遮挡的部分的关键点个数在人脸关键点总数中的占比为12/68=17.6%,因此该该第一人脸图像样本满足要求,可以用于对神经网络模型进行训练。

可选地,所述训练数据集还包括多张第二人脸图像样本及其相应的标记信息,每张第二人脸图像样本中包含没有被遮挡的人脸。

本实施例中,每张第二人脸图像样本的标记信息包括该第二人脸图像样本中人脸上的关键点的位置信息。本实施例除了采用多张第一人脸图像样本对神经网络进行训练之外,还采用多张第二人脸图像样本对神经网络进行训练,这样训练数据集中既包括人脸被部分遮挡的图像样本,也包括人脸未被遮挡的图像样本。通过该训练数据集对神经网络训练,能够使神经网络对人脸未被遮挡的图像和人脸被部分遮挡的图像进行关键点检测,都具有较高的准确度。

可选地,s202之后,上述方法还可以包括:

根据所述人脸图像中人脸关键点的位置信息,在所述人脸图像中标注各人脸关键点,并显示标注后的人脸图像。

本实施例中,人脸关键点检测设备可以根据人脸图像中人脸关键点的位置信息,在人脸图像中标注各人脸关键点,例如,可以通过预设的颜色或符号标注出人脸图像中人脸关键点,然后显示标注后的人脸图像,以便用户查看检测到的关键点。

可选地,人脸关键点检测设备可以将人脸图像与检测到的人脸图像中人脸关键点的位置信息关联存储到指定文件或指定数据库中。

图3为本申请又一实施例提供的人脸关键点检测方法的流程示意图。本实施例中在通过神经网络对人脸图像进行检测之前,首先构建训练数据集,然后通过训练数据对神经网络进行训练。本实施例对构建训练数据集的具体实现过程进行了详细说明。如图3所示,该方法还可以包括:

s301、获取多张第一人脸图像样本及其预先标记的人脸关键点的标记坐标。

本实施例中,可以获取多张第一人脸图像样本,通过人工标记的方式标记出各张第一人脸图像样本中的人脸关键点的标记坐标。标记坐标即为人工标记出的关键点的位置坐标。

s302、针对每张第一人脸图像样本,根据该第一人脸图像样本中人脸上每个关键点的标记坐标,生成一张与该关键点对应的热力图,其中,所述热力图中该关键点的标记坐标对应位置的像素值大于其余位置的像素值,并且其余位置的像素值随着与该关键点的标记坐标对应位置的距离增大而减小。

本实施例中,可以每次选取一张第一人脸图像样本,然后针对该第一人脸图像样本中人脸上的每个关键点,根据该关键点的标记坐标生成一张相应的热力图。该热力图的大小与该第一人脸图像样本的大小相同。该热力图中该关键点的标记坐标对应位置的像素值大于其余位置的像素值,并且其余位置的像素值随着与该关键点的标记坐标对应位置的距离增大而减小。一个位置距离该关键点的标记坐标对应位置越远,则其像素值越小。

可选地,每张热力图中其对应的关键点所在的位置[x,y]像素值为1,其余位置的像素值根据与[x,y]位置的距离符合高斯分布。这样对于每张第一人脸图像样本,得到该第一人脸图像样本对应的一组热力图。例如,每张第一人脸图像样本中人脸具有68个关键点,则每张第一人脸图像样本得到68张热力图。

s303、将各张第一人脸图像及其对应的一组热力图组成所述训练数据集。

本实施例中,可以将每张第一人脸图像对应的一组热力图坐标作为该第一人脸图像对应的标记信息,得到训练数据集。

可选地,s303之后,上述方法还可以包括:针对所述训练数据集中每张第一人脸图像样本,将该第一人脸图像样本输入预先构建的神经网络,得到所述神经网络输出的多张预测特征图,其中,所述预测特征图与该第一人脸图像样本的热力图一一对应,并根据该第一人脸图像样本的一组热力图和预测特征图调整所述神经网络的网络参数。

本实施例中,预测特征图与热力图的大小相同。对于某张第一人脸图像样本,可以根据该第一人脸图像样本的一组热力图和相应的预测特征图计算该第一人脸图像样本对应的损失函数值,然后根据损失函数值计算反向传播,迭代更新网络参数,当损失函数值趋于稳定到0.4左右或者更小的值则认为模型收敛,训练完成。其中,损失函数可以根据实际需求进行选择,在此不作限定,例如,损失函数可以为均方损失函数,表示为:

其中,l表示损失函数,xi表示神经网络输出的预测特征图的第i个像素值,yi表示热力图中第i个像素值,n为预测特征图和热力图中像素点的个数。

本实施例通过多张第一人脸图像样本和其相应的热力图对神经网络进行训练,再通过训练后的神经网络对待处理的人脸图像进行识别,能够通过每个特征图对应一个关键点位置,从而提高人脸关键点检测的准确度。

图4为本申请另一实施例提供的人脸关键点检测方法的流程示意图。本实施例对获取人脸图像的具体实现过程进行了详细说明。如图4所示,该方法包括:

s401、获取摄像头采集的图像。

本实施例中,人脸关键点检测设备可以获取摄像头采集的图像。摄像头采集的图像中包括人脸和人脸之外的背景图像。

s402、识别所述图像中的人脸所在区域的位置信息。

本实施例中,人脸关键点检测设备可以通过人脸检测方法识别出人脸所在区域的位置信息。例如,人脸所在区域的位置信息可以表示为[x,y,w,h],其中x,y,w,h分别表示人脸所在区域的最小外接矩形框的顶点坐标x值、y值,以及矩形框的宽、高。

可选地,将所述图像输入单发多框检测(singleshotmultiboxdetector,ssd)网络,得到所述图像中人脸所在区域的位置信息。

s403、从所述图像中提取所述位置信息对应区域的图像作为所述人脸图像。

本实施例中,人脸关键点检测设备可以通过ssd网络识别出图像中的人脸所在区域的位置信息,然后从图像中提取该位置信息的图像作为人脸图像,再通过上述的神经网络检测人脸图像中的人脸关键点位置。

可选地,ssd网络的结构在此不作限定,例如,ssd网络可以由10个卷积层、7个relu激活层,2个池化层、1个反卷积层、1个裁剪层、1个eltwise层、1个flatten层、3个拼接层搭建而成。

s404、通过神经网络对所述人脸图像进行关键点检测,得到所述人脸图像中人脸关键点的位置信息,其中,所述神经网络经过训练数据集训练,所述训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,所述标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息。

在本实施例中,s404与图2实施例中的s202类似,此处不再赘述。

本实施例通过识别摄像头采集的图像中的人脸所在区域的位置信息,然后提取出相应区域的图像作为人脸图像,再对人脸图像进行关键点识别,能够排除人脸所在区域之外的图像信息的干扰,进而提高关键点识别准确度。

在一种可能的实施示例中,本实施例提供的人脸关键点检测方式可以应用对驾驶员的人脸检测,可以包括以下步骤:

步骤1,在车内安装摄像头和程序运行设备,预先训练ssd网络。其主要步骤包括:

步骤1.1,准备数据。通过安装在车内的固定位置的彩色摄像头,收集不同人、不同光照条件下的车内场景rgb图像数据,对所有的收集到的图像做归一化处理,通过每个像素点上像素值减去127.5再除以127.5进行归一化,并且将归一化后的图像缩放到286×286像素大小。

步骤1.2,人工标记每张图像中的驾驶员人脸位置[x,y,width,height]记录到标签文件中,和图像一起制作成ssd网络的训练数据集。

步骤1.3,采用10个卷积层、7个relu激活层,2个池化层、1个反卷积层、1个裁剪层、1个eltwise层、1个flatten层、3个拼接层搭建ssd检测网络结构。

步骤1.4,训练ssd检测网络时,同时向ssd检测网络输入归一化后的图像数据和其对应的标签数据到网络中,事先人工设定好k个不同尺寸和长宽比的矩形作为预设位置框,判断每个预设位置框中是否与人工标记的人脸位置区域重叠度较大,是则认为该预设位置框是人脸区域,否则认为该预设位置框是背景区域,分别计算每个预设位置框上的分类损失函数值loss(背景和人脸区域两类)和位置回归loss,将两者相加得到网络的最终loss:

其中x表示预设位置框集合,c表示预设位置框的类别集合,l表示预设位置框的[x,y,width,height]参数集合,g表示人工标记位置的[x,y,width,height]参数集合,n表示和人工标记位置相匹配的预设位置框个数;lconf(x,c)表示计算预设位置框的类别与实际类别交叉熵损失;lloc(x,l,g)表示计算预设位置框的位置信息与实际位置信息的smoothl1损失。根据loss计算反向传播,迭代更新网络参数,当loss趋于稳定到1.0左右或者更小的值则认为模型收敛。

步骤2,训练人脸关键点网络模型,其主要步骤包括:

步骤2.1,准备数据,根据训练ssd网络时标记好的人脸区域信息[x,y,width,height],将图像中对应的位置截取下来保存为一张新的图片,将图片缩放到256×256像素。该图片即为上述的人脸图像样本,可以包含人脸被部分遮挡的图片和人脸未被遮挡的图片。

步骤2.2,如图5所示,标记获取到的图片中可以确认人脸眉毛、眼睛、鼻子、嘴巴、脸下半部分边缘等位置的关键点信息[x,y],x、y分别代表关键点的横向坐标和纵向坐标。共68组关键点信息表示68个关键点;根据关键点的位置绘制出68副256×256像素的热力图,每个关键点对应一张热力图,热力图中设置关键点所在的位置[x,y]像素值为1,其余位置的值根据与[x,y]位置的距离符合高斯分布,将这68幅热力图作为标签。

步骤2.3,采用18个卷积层、3个relu激活层,5个池化层、4个反卷积层、5个eltwise层、3个batchnorm层搭建人脸关键点检测网络结构。

步骤2.4,训练人脸关键点检测网络时,同时输入缩放后的图像数据和其对应的热力图数据到网络中,网络的最后一层卷积层会返回68×256×256的特征图,通过计算网络输出的特征图和热力图之间的均方损失函数mseloss,根据loss计算反向传播,迭代更新网络参数,当loss趋于稳定到0.4左右或者更小的值则认为模型收敛。

步骤3,将通过摄像机获取的实时车内画面输入步骤1获取的ssd网络,获取人脸位置信息[x,y,w,h],x,y,w,h分别代表包含人脸整体的最小矩形框的顶点坐标x值、y值和矩形框的宽、高。主要步骤包括:

步骤3.1,通过摄像机获取车内场景的rgb图像数据,对图像数据做归一化处理,每个点上像素值减去127.5再除以127.5,并且缩放到286×286像素大小。

步骤3.2,将归一化后的数据输入网络,在每个预设位置框得到一个分类的结果和一个位置回归的结果,将两者对应起来可以获得k组[score,x,y,width,height]数组,score表示当前预设位置框属于人脸的置信度,x,y,width,height表示人脸的详细位置。由于车内最多只有一个驾驶员,且驾驶员距离相机最近,因此可以选取score最大的数组作为检测结果。

步骤4,通过获取到的人脸位置信息截取人脸区域的图像,将该图像缩放到256×256之后输入人脸关键点检测网络,主要步骤包括:

步骤4.1,通过摄像机获取车内场景的rgb图像数据,根据步骤3获取到的人脸位置信息截取人脸区域的图像,将人脸图像缩放到256×256像素大小。

步骤4.2,将缩放后的图像输入人脸关键点检测网络,得到68张256×256大小的预测特征图,第k张256×256大小的特征图像获取其最大像素值所在的位置,认为是第k个关键点的位置,如此可以获取到68个关键点的位置。

本实施例能够通过标记出被遮挡部分的人脸关键点的人脸图像样本训练神经网络,使得神经网络对被部分遮挡的人脸的人脸图像也能准确检测出人脸关键点,提高人脸关键点检测的检测准确度。

图6为本申请一实施例提供的人脸关键点检测装置的结构示意图。如图6所示,该人脸关键点检测装置60包括:。

获取模块601,用于获取包含人脸的人脸图像。

处理模块602,用于通过神经网络对所述人脸图像进行关键点检测,得到所述人脸图像中人脸关键点的位置信息,其中,所述神经网络经过训练数据集训练,所述训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,所述标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息。

本申请实施例首先获取包含人脸的人脸图像;然后通过神经网络对人脸图像进行关键点检测,得到人脸图像中人脸关键点的位置信息,其中,神经网络经过训练数据集训练,训练数据集包括多张第一人脸图像样本及其相应的标记信息,每张第一人脸图像样本中所包含的人脸存在被遮挡的部分,标记信息包括人脸上被遮挡部分和未被遮挡部分的关键点的位置信息,能够通过标记出被遮挡部分的人脸关键点的人脸图像样本训练神经网络,使得神经网络对被部分遮挡的人脸的人脸图像也能准确检测出人脸关键点,提高人脸关键点检测的检测准确度。

图7为本申请又一实施例提供的人脸关键点检测装置的结构示意图。如图7所示,本实施例提供的人脸关键点检测装置60在图6所示实施例提供的人脸关键点检测装置的基础上,还可以包括:训练模块603、显示模块604。

可选地,所述神经网络包括卷积神经网络;

处理模块602,具体用于:

将所述人脸图像输入所述卷积神经网络,得到预设张数的特征图,其中,所述特征图与所述人脸图像中人脸上的关键点一一对应;

针对每张特征图,将该张特征图中像素值最大的像素点所在位置的坐标,确定为该特征图对应的关键点的位置坐标。

可选地,训练模块603,用于:

获取多张第一人脸图像样本及其预先标记的人脸关键点的标记坐标;

针对每张第一人脸图像样本,根据该第一人脸图像样本中人脸上每个关键点的标记坐标,生成一张与该关键点对应的热力图,其中,所述热力图中该关键点的标记坐标对应位置的像素值大于其余位置的像素值,并且其余位置的像素值随着与该关键点的标记坐标对应位置的距离增大而减小;

将各张第一人脸图像及其对应的一组热力图组成所述训练数据集。

可选地,训练模块603,还用于:

针对所述训练数据集中每张第一人脸图像样本,将该第一人脸图像样本输入预先构建的神经网络,得到所述神经网络输出的多张预测特征图,其中,所述预测特征图与该第一人脸图像样本的热力图一一对应,并根据该第一人脸图像样本的一组热力图和预测特征图调整所述神经网络的网络参数。

可选地,所述第一人脸图像样本中人脸被遮挡的部分的关键点个数在人脸关键点总数中的占比小于或等于预设阈值。

可选地,所述训练数据集还包括多张第二人脸图像样本及其相应的标记信息,每张第二人脸图像样本中包含没有被遮挡的人脸。

可选地,获取模块601,具体用于:

获取摄像头采集的图像;

识别所述图像中的人脸所在区域的位置信息;

从所述图像中提取所述位置信息对应区域的图像作为所述人脸图像。

可选地,获取模块601,具体用于:

将所述图像输入单发多框检测ssd网络,得到所述图像中人脸所在区域的位置信息。

可选地,显示模块604,用于:

根据所述人脸图像中人脸关键点的位置信息,在所述人脸图像中标注各人脸关键点,并显示标注后的人脸图像。

本申请实施例提供的人脸关键点检测装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

图8为本申请一实施例提供的人脸关键点检测设备的硬件结构示意图。如图8所示,本实施例提供的人脸关键点检测设备80包括:至少一个处理器801和存储器802。该人脸关键点检测设备80还包括通信部件803。其中,处理器801、存储器802以及通信部件803通过总线804连接。

在具体实现过程中,至少一个处理器801执行所述存储器802存储的计算机执行指令,使得至少一个处理器801执行如上的人脸关键点检测方法。

处理器801的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述的图8所示的实施例中,应理解,处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponentinterconnect,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的人脸关键点检测方法。

上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1