人脸关键点检测方法、人脸关键点检测装置及电子设备与流程

文档序号:32256606发布日期:2022-11-19 08:42阅读:82来源:国知局
人脸关键点检测方法、人脸关键点检测装置及电子设备与流程

1.本发明涉及人工智能技术领域,尤其涉及一种人脸关键点检测方法、人脸关键点检测装置及电子设备。


背景技术:

2.列车调度员是铁路及城市轨道交通指挥系统的核心人员,他们工作的疲劳状态会影响铁路及城市轨道交通的运营安全,因此有必要对其进行疲劳检测。通过眼部动作检测人体疲劳状态是行之有效的方法之一,检测眼部动作,需要对脸部关键点,尤其是眼部的关键点进行准确而快速的定位。因此,如何准确、实时、低运算成本地检测人眼关键点,是疲劳检测的关键。
3.现有技术中,对于驾驶员疲劳的监测方法有很多,直接监测方法包括眼睛的开合状况、打瞌睡情况、头部的方向(点头),间接监测方法包括驾驶员驾驶的道路偏离情况等,上述检测方法的置信度存在严重不足,并且有高度场景依赖性。而且能部署在低运算能力机器上且实时性和准确度均较佳的模型较少,存在实时性较佳但准确度待提升,或者准确度较佳但实时性较差的问题。


技术实现要素:

4.本发明提供一种人脸关键点检测方法、人脸关键点检测装置及电子设备,用以解决现有技术中无法同时保证疲劳检测的实时性和准确度的技术问题。
5.本发明提供一种人脸关键点检测方法,包括:
6.获取待检测图像;
7.将所述待检测图像输入至目标神经网络模型进行人脸关键点检测,获得所述目标神经网络模型输出的目标检测图像,所述目标检测图像为标注有目标人脸关键点的图像;
8.其中,所述目标神经网络模型基于gabor滤波器、主干特征提取网络和上下文模块构建。
9.在一些实施例中,所述将所述待检测图像输入至目标神经网络模型进行人脸关键点检测,获得所述目标神经网络模型输出的目标检测图像包括:
10.基于所述gabor滤波器,对所述待检测图像进行预处理,得到预处理图像;
11.基于所述主干特征提取网络,对所述预处理图像进行特征提取,生成目标特征金字塔;
12.基于所述上下文模块,对所述目标特征金字塔进行特征提取,获得所述目标检测图像。
13.在一些实施例中,所述目标神经网络模型的目标损失函数基于脸部分类结果对应的第一损失函数、人脸框回归结果对应的第二损失函数和人脸关键点定位结果对应的第三损失函数确定。
14.在一些实施例中,所述目标损失函数为:
[0015][0016]
其中,为所述第一损失函数,pi为所述目标神经网络模型预测的第i个锚点框为人脸的概率,为数据标签;
[0017]
为所述第二损失函数,ti为所述目标神经网络模型预测的锚点框坐标,为数据标签中的锚点框坐标,λ1为第一权重系数;
[0018]
为所述第三损失函数,li为所述目标神经网络模型预测的人脸关键点坐标,为所述数据标签中的人脸关键点坐标,λ2为第二权重系数。
[0019]
在一些实施例中,所述上下文模块包括第一检测模块和第二检测模块;所述第一检测模块检测的人脸尺度大于所述第二检测模块检测的人脸尺度。
[0020]
在一些实施例中,所述目标神经网络模型基于人脸关键点数据集训练得到;
[0021]
其中,所述人脸关键点数据集中的每个图像均标注有第一数量的眼部关键点和第二数量的嘴部关键点。
[0022]
本发明还提供一种人脸关键点检测装置,包括:
[0023]
获取模块,用于获取待检测图像;
[0024]
检测模块,用于将所述待检测图像输入至目标神经网络模型进行人脸关键点检测,获得所述目标神经网络模型输出的目标检测图像,所述目标检测图像为标注有目标人脸关键点的图像;
[0025]
其中,所述目标神经网络模型基于gabor滤波器、主干特征提取网络和上下文模块构建。
[0026]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述人脸关键点检测方法。
[0027]
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述人脸关键点检测方法。
[0028]
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述人脸关键点检测方法。
[0029]
本发明提供的人脸关键点检测方法、人脸关键点检测装置及电子设备,通过目标神经网络模型,对待检测图像进行特征提取,回归计算人脸关键点定位,可以在低算力要求的前提下,保证人脸关键点检测的时效性和人脸关键点检测的准确率。
附图说明
[0030]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]
图1是本发明提供的人脸关键点检测方法的流程示意图;
[0032]
图2是应用本发明提供的人脸关键点检测方法的人脸关键点示意图之一;
[0033]
图3是应用本发明提供的人脸关键点检测方法的人脸关键点示意图之二;
[0034]
图4是本发明提供的人脸关键点检测装置的结构示意图;
[0035]
图5是本发明提供的电子设备的实体结构示意图。
具体实施方式
[0036]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]
图1为本发明提供的人脸关键点检测方法的流程示意图。参照图 1,本发明提供的人脸关键点检测方法可以包括:步骤110和步骤120。
[0038]
需要说明的是,本发明提供的人脸关键点检测方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer, umpc)、上网本或者个人数字助理(personal digital assistant,pda) 等,非移动电子设备可以为服务器、网络附属存储器(networkattached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本发明不作具体限定。
[0039]
下面以计算机执行本发明提供的人脸关键点检测方法为例,详细说明本发明的技术方案。
[0040]
步骤110、获取待检测图像;
[0041]
步骤120、将待检测图像输入至目标神经网络模型进行人脸关键点检测,获得目标神经网络模型输出的目标检测图像,目标检测图像为标注有目标人脸关键点的图像;
[0042]
其中,目标神经网络模型基于gabor滤波器、主干特征提取网络和上下文模块构建。
[0043]
在实际执行中,待检测图像为针对处于工作场景下的待检测人员采集的图像。待检测人员可以为列车调度员或驾驶员等。
[0044]
在对待检测图像进行人脸关键点检测之前,需要先获取训练完成的目标神经网络模型。
[0045]
在实际执行中,目标神经网络模型基于人脸关键点数据集训练得到;其中,人脸关键点数据集中的每个图像均标注有第一数量的眼部关键点和第二数量的嘴部关键点。
[0046]
结合列车调度员或驾驶员的真实工作场景,制作人脸关键点数据集。
[0047]
例如:采集调度员或驾驶员的工作场景视频,将视频中的每一帧图像提取出来,并且可以设定收集预设数量的视频图像。或者是直接对工作场景下的调度员或驾驶员进行拍摄,获取预设数量的图像。
[0048]
其中,预设数量可以根据实际需求设定,例如可以设定收集1000 张图像作为初始数据集,本发明实施例对预设数量不作具体限定。
[0049]
然后对初始数据集进行人脸关键点标注,从而完成人脸关键点数据集的制作。
[0050]
需要说明的是,helen、ibug、300w和wflw数据集均为可以用于人脸检测及人脸关键点检测的数据集。
[0051]
其中,helen、ibug、300w数据集中标注了68个人脸关键点, wflw数据集标注了98个人脸关键点,上述数据集标注的眼部都是 12个点,标注的嘴部都是20个点。由于本发明实施例获取的目标检测图像是用于对人员的疲劳状态进行检测,所以可以选择眼部12个关键点和嘴部20个关键点作为人脸关键点。
[0052]
因此,如图2所示,人脸关键点数据集中的每个图像均标注有 12个眼部关键点和20个嘴部关键点,即第一数量为12个和第二数量为20个。
[0053]
可以理解的是,图2中的圆圈仅用作人脸关键点的示例位置。
[0054]
在制作好人脸关键点数据集之后,将人脸关键点数据集输入至搭建的深度卷积神经网络中,采用迁移学习的方式进行训练。
[0055]
在一些实施例中,可以将人脸关键点数据集按照预设比例分为训练数据集、验证数据集和测试数据集,并基于训练数据集、验证数据集和测试数据集对深度卷积神经网络进行训练。
[0056]
在本发明实施例中,深度卷积神经网络的框架主要包括:主干特征提取网络、gabor滤波器和上下文模块(single stage headless facedetector,ssh)。
[0057]
在一些实施例中,主干特征提取网络为深度卷积神经网络,在实际执行中,可以采用轻量化卷积神经网络特征提取器作为主干特征提取网络。例如可以包括:mobilenet v3网络。
[0058]
mobilenet v3分为large和small两个版本,large版本适用于计算和存储性能较高的平台,small版本适用于硬件性能较低的平台。large版本共有15个瓶颈层(bottleneck层),一个标准卷积层,三个逐点卷积层。small版本共有12个瓶颈层(bottleneck层),一个标准卷积层,两个逐点卷积层。
[0059]
可以理解的是,在其他实施例中,主干特征提取网络也可以选择其他网络,包括但不限于mobilenet v3网络、vgg(visual geometrygroup,视觉几何组)网络等,具体可根据实际需要决定,本发明实施例对此不作具体限定。
[0060]
gabor是一个用于边缘提取的线性滤波器,其频率和方向表达与人类视觉系统类似,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,因此十分适合图像纹理分析。
[0061]
上下文模块通过设计进行尺度不变,并且在网络的单个前向传递中可以检测来自不同层不同尺度的人脸。
[0062]
相关技术中,上下文模块包含三个检测模块:第一检测模块m3、第二检测模块m2和第三检测模块m1,且m3检测的人脸尺度>m2 检测的人脸尺度>m1检测的人脸尺度。
[0063]
为了更快速的识别中大尺寸的人脸,本发明实施例中的上下文模块去掉了第三检测模块m1,仅包括第一检测模块m3和第二检测模块m2,即减少一个3
×
3的卷积运算,从而减少了模型运算量,提高了算法速度。
[0064]
在深度卷积神经网络构建完成后,将人脸关键点数据集输入至 gabor滤波器进行预处理,即对人脸关键点数据集进行gabor特征提取,并将特征提取后的数据集输入至主干特征提取网络进行特征提取,可以获取三个目标特征图(feature map)。
[0065]
对三个目标特征图执行特征金字塔(feature pyramid network, fpn)操作,生成三个不同尺寸的有效特征层,例如可以为20
×
20、 40
×
40、80
×
80特征层金字塔。
[0066]
为了进一步加强特征提取,采用上下文模块加强感受野。将特征层金字塔输入至上下文模块后,获取网络预测结果。
[0067]
在本发明实施例中,网络预测结果为人脸分类结果、人脸框回归结果、人脸关键点定位,去除了现有人脸关键点检测模型中预测的人脸密集点回归结果,以达到提高网络模型推理速度的效果。
[0068]
在训练过程中,不断调整深度卷积神经网络中的参数,优化目标损失函数的值,使其达到最小,最终完成模型的训练,得到目标神经网络模型。
[0069]
在一些实施例中,目标神经网络模型的目标损失函数基于脸部分类结果对应的第一损失函数、人脸框回归结果对应的第二损失函数和人脸关键点定位结果对应的第三损失函数确定。
[0070]
相关技术中,现有人脸关键点检测模型的损失函数由四部分组成:
[0071][0072]
其中,第一项是人脸分类结果对应的损失函数,pi是网络预测的第i个锚点框为人脸的概率,是数据标签。
[0073]
第二项为人脸框回归结果对应的损失函数,ti,分别为现有人脸关键点检测模型预测的锚点框坐标和数据标签中的锚点框坐标,包含人脸框4个定位数据:t
x
、ty、tw和th。
[0074]
第三项是人脸关键点定位结果对应的损失函数。
[0075]
如图3所示,现有人脸关键点检测模型针对5个人脸关键点进行预测。可以理解的是,图3中的圆圈仅用作人脸关键点的示例位置。
[0076]
li={l
x1
,l
y1
,l
x2
,l
y2
,

,l
x5
,l
y5
}i,分别代表现有人脸关键点检测模型预测的5个人脸关键点坐标和数据标签中的5个人脸关键点坐标;
[0077]
第四项l
pixel
是人脸密集点回归结果对应的损失函数。
[0078]
而在本发明实施例中,对上述损失函数进行了优化。
[0079]
由于人脸密集点回归结果对应的损失函数l
pixel
在原损失函数中对人眼关键点回归的贡献较少。在本发明实施例中移除了人脸密集点回归结果对应的损失函数,则有目标神经网络模型的目标损失函数基于脸部分类结果对应的第一损失函数、人脸框回归结果对应的第二损失函数和人脸关键点定位结果对应的第三损失函数确定。
[0080]
在一些实施例中,目标损失函数为:
[0081][0082]
其中,为第一损失函数,pi为目标神经网络模型预测的第i个锚点框为人脸的概率,为数据标签;
[0083]
为第二损失函数,ti为目标神经网络模型预测的锚点框坐标,为数
据标签中的锚点框坐标,λ1为第一权重系数;
[0084]
为第三损失函数,li为目标神经网络模型预测的人脸关键点坐标,为数据标签中的人脸关键点坐标,λ2为第二权重系数。
[0085]
如图3所示,现有人脸关键点检测模型中的人脸关键点是5个,分别是左右双眼2个关键点、左右嘴角2个关键点,以及鼻尖1个关键点。
[0086]
本发明实施例对需要检测的人员的脸部关键点进行了重新设计,包括眼部12个关键点和嘴部20个关键点,共32个关键点。第三损失函数就变成了对32个人脸关键点坐标的预测。
[0087]
在目标神经网络模型的目标损失函数中,li和分别代表32个人脸关键点的预测坐标和标签中32个人脸关键点的真实坐标,即: li={l
x1
,l
y1
,l
x2
,l
y2
,

,l
x32
,l
y32
}i,
[0088]
在本实施例中,第一权重系数λ1和第二权重系数λ2可以根据实际训练需求确定,在此不作具体限定,第一权重系数λ1和第二权重系数λ2主要用于增加模型训练的侧重点。
[0089]
在得到目标神经网络模型之后,将待检测图像输入至目标神经网络模型进行人脸关键点检测。
[0090]
在一些实施例中,将待检测图像输入至目标神经网络模型进行人脸关键点检测,获得目标神经网络模型输出的目标检测图像包括:
[0091]
基于gabor滤波器,对待检测图像进行预处理,得到预处理图像;
[0092]
基于主干特征提取网络,对预处理图像进行特征提取,生成目标特征金字塔;
[0093]
基于上下文模块,对目标特征金字塔进行特征提取,获得目标检测图像。
[0094]
在实际执行中,通过目标神经网络模型中的gabor滤波器对待检测图像进行预处理,得到预处理图像。预处理图像即为对待检测图像进行gabor特征提取后的图像。
[0095]
将预处理图像输入至目标神经网络模型中的主干特征提取网络,得到目标特征金字塔。
[0096]
将目标特征金字塔输入至目标神经网络模型中的上下文模块中进一步增强特征提取,最终获得目标神经网络模型输出的目标检测图像,从而可以实现脸部关键点的检测。其中,目标检测图像中标注的目标人脸关键点为12个眼部关键点和20个嘴部关键点。
[0097]
本发明提供的人脸关键点检测方法,通过设计目标神经网络模型,有效提升模型鲁棒性,并可以实现提高模型表现能力的目的;在保证时效性和关键点检测准确率的同时,进一步减少了模型参数量,使其能够在低算力的小型工控机或嵌入式系统进行人脸关键点检测。
[0098]
下面对本发明提供的人脸关键点检测装置进行描述,下文描述的人脸关键点检测装置与上文描述的人脸关键点检测方法可相互对应参照。
[0099]
图4为本发明提供的人脸关键点检测装置的结构示意图。参照图 4,本发明提供的人脸关键点检测装置可以包括:获取模块410和检测模块420。
[0100]
获取模块410,用于获取待检测图像;
[0101]
检测模块420,用于将所述待检测图像输入至目标神经网络模型进行人脸关键点
检测,获得所述目标神经网络模型输出的目标检测图像,所述目标检测图像为标注有目标人脸关键点的图像;
[0102]
其中,所述目标神经网络模型基于gabor滤波器、主干特征提取网络和上下文模块构建。
[0103]
本发明提供的人脸关键点检测装置,通过设计目标神经网络模型,有效提升模型鲁棒性,并可以实现提高模型表现能力的目的;在保证时效性和关键点检测准确率的同时,进一步减少了模型参数量,使其能够在低算力的小型工控机或嵌入式系统进行人脸关键点检测。
[0104]
在一些实施例中,所述检测模块420,还用于:
[0105]
基于所述gabor滤波器,对所述待检测图像进行预处理,得到预处理图像;
[0106]
基于所述主干特征提取网络,对所述预处理图像进行特征提取,生成目标特征金字塔;
[0107]
基于所述上下文模块,对所述目标特征金字塔进行特征提取,获得所述目标检测图像。
[0108]
在一些实施例中,所述目标神经网络模型的目标损失函数基于脸部分类结果对应的第一损失函数、人脸框回归结果对应的第二损失函数和人脸关键点定位结果对应的第三损失函数确定。
[0109]
在一些实施例中,所述目标损失函数为:
[0110][0111]
其中,为所述第一损失函数,pi为所述目标神经网络模型预测的第i个锚点框为人脸的概率,为数据标签;
[0112]
为所述第二损失函数,ti为所述目标神经网络模型预测的锚点框坐标,为数据标签中的锚点框坐标,λ1为第一权重系数;
[0113]
为所述第三损失函数,li为所述目标神经网络模型预测的人脸关键点坐标,为所述数据标签中的人脸关键点坐标,λ2为第二权重系数。
[0114]
在一些实施例中,所述上下文模块包括第一检测模块和第二检测模块;所述第一检测模块检测的人脸尺度大于所述第二检测模块检测的人脸尺度。
[0115]
在一些实施例中,所述目标神经网络模型基于人脸关键点数据集训练得到;
[0116]
其中,所述人脸关键点数据集中的每个图像均标注有第一数量的眼部关键点和第二数量的嘴部关键点。
[0117]
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communicationsinterface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行人脸关键点检测方法,该方法包括:
[0118]
获取待检测图像;
[0119]
将所述待检测图像输入至目标神经网络模型进行人脸关键点检测,获得所述目标神经网络模型输出的目标检测图像,所述目标检测图像为标注有目标人脸关键点的图像;
[0120]
其中,所述目标神经网络模型基于gabor滤波器、主干特征提取网络和上下文模块构建。
[0121]
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0122]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的人脸关键点检测方法,该方法包括
[0123]
获取待检测图像;
[0124]
将所述待检测图像输入至目标神经网络模型进行人脸关键点检测,获得所述目标神经网络模型输出的目标检测图像,所述目标检测图像为标注有目标人脸关键点的图像;
[0125]
其中,所述目标神经网络模型基于gabor滤波器、主干特征提取网络和上下文模块构建。
[0126]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的人脸关键点检测方法,该方法包括:
[0127]
获取待检测图像;
[0128]
将所述待检测图像输入至目标神经网络模型进行人脸关键点检测,获得所述目标神经网络模型输出的目标检测图像,所述目标检测图像为标注有目标人脸关键点的图像;
[0129]
其中,所述目标神经网络模型基于gabor滤波器、主干特征提取网络和上下文模块构建。
[0130]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0131]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0132]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1