关键点检测方法、装置、电子设备及存储介质转让专利
申请号 : CN202111052857.4
文献号 : CN113505763B
文献日 : 2022-02-01
发明人 : 呼延康
申请人 : 北京爱笔科技有限公司
摘要 :
权利要求 :
1.一种关键点检测方法,其特征在于,所述方法包括:获取待检测的第一图像;
将所述第一图像输入至检测模型中,所述检测模型是以第二图像为样本图像,以对所述样本图像中关键点的预测结果趋近于目标结果为目的,对卷积神经网络进行训练得到的,所述第一图像和所述第二图像包含同类对象,所述预测结果中包括关键点的位置坐标和置信度;所述卷积神经网络包括:骨架网络以及并行连接于所述骨架网络之后的回归层和分类层;在对所述卷积神经网络训练的过程中,通过对所述回归层输出的位置预测结果按照是否处于目标区域进行正负样本的划分,确定出每个关键点的类别标签,并通过分类学习获得每个关键点的置信度;所述目标区域表征对于所述样本图像中标注的各个关键点,选取的以其位置坐标为中心且以r为半径的区域,其中,r为正数;
获取所述检测模型所预测的所述第一图像中关键点的位置坐标和置信度,或者,获取所述检测模型所预测的所述第一图像中关键点的位置坐标。
2.根据权利要求1所述的方法,其特征在于,对所述卷积神经网络进行训练得到所述检测模型的过程,包括:
从所述样本图像中确定本次训练用的目标样本图像;
在本次训练中将所述目标样本图像输入至所述骨架网络,以实现:所述骨架网络基于其网络参数提取所述目标样本图像的特征图,并将所述目标样本图像的特征图分别输出至所述回归层和所述分类层;所述回归层基于其网络参数处理所述特征图,得到所述目标样本图像中关键点的位置预测结果;所述分类层基于其网络参数处理所述特征图,得到所述目标样本图像中关键点的类别预测结果;
根据所述位置预测结果和所述目标样本图像中关键点的位置标注结果计算位置损失函数值,以及,根据所述类别预测结果和类别标签计算分类损失函数值,所述类别标签是根据所述位置预测结果和所述位置标注结果确定的;
利用所述位置损失函数值和所述分类损失函数值计算本次训练的总损失函数值;
在所述总损失函数值不符合预设结束条件的情况下,调整所述骨架网络、所述回归层和所述分类层的网络参数,并返回执行所述从所述样本图像中确定本次训练用的目标样本图像,这一步骤;
在所述总损失函数值符合预设结束条件的情况下,结束训练,将本次训练后的所述卷积神经网络作为所述检测模型。
3.根据权利要求2所述的方法,其特征在于,所述样本图像是对所述第二图像进行预处理得到的;
对所述第二图像进行预处理得到所述样本图像的过程,包括:识别所述第二图像中的检测框;
放大所述检测框,并基于放大后的检测框从所述第二图像中裁剪所述对象所在的对象区域;
对所述对象区域进行缩放和像素归一化处理。
4.根据权利要求2所述的方法,其特征在于,根据所述位置预测结果和所述位置标注结果确定所述类别标签的过程,包括:根据所述位置标注结果确定所述目标样本图像中关键点的目标区域;
在所述位置预测结果位于所述目标区域内的情况下,确定所述类别标签为正样本;在所述位置预测结果位于所述目标区域外的情况下,确定所述类别标签为负样本。
5.根据权利要求2所述的方法,其特征在于,所述分类损失函数值中包含所述目标样本图像中不同关键点的子损失函数值,所述类别标签包括正样本和负样本;
相应的,所述利用所述位置损失函数值和所述分类损失函数值计算本次训练的总损失函数值,包括:
针对所述目标样本图像中类别标签为负样本的第一关键点,选取所述第一关键点中子损失函数值最大的多个目标第一关键点;
根据所述目标样本图像中类别标签为正样本的第二关键点的子损失函数值、所述多个目标第一关键点的子损失函数值计算实际分类损失函数值;
将所述位置损失函数值和所述实际分类损失函数值的迭加和作为所述总损失函数值。
6.一种关键点检测装置,其特征在于,所述装置包括:图像获取模块,用于获取待检测的第一图像;
检测模块,用于将所述第一图像输入至检测模型中,所述检测模型是以第二图像为样本图像,以对所述样本图像中关键点的预测结果趋近于目标结果为目的,对卷积神经网络进行训练得到的,所述第一图像和所述第二图像包含同类对象,所述预测结果中包括关键点的位置坐标和置信度;所述卷积神经网络包括:骨架网络以及并行连接于所述骨架网络之后的回归层和分类层;在对所述卷积神经网络训练的过程中,通过对所述回归层输出的位置预测结果按照是否处于目标区域进行正负样本的划分,确定出每个关键点的类别标签,并通过分类学习获得每个关键点的置信度;所述目标区域表征对于所述样本图像中标注的各个关键点,选取的以其位置坐标为中心且以r为半径的区域,其中,r为正数;获取所述检测模型所预测的所述第一图像中关键点的位置坐标和置信度,或者,获取所述检测模型所预测的所述第一图像中关键点的位置坐标。
7.一种电子设备,其特征在于,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现权利要求1‑5任意一项所述的关键点检测方法。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1‑5任意一项所述的关键点检测方法。
9.一种电子设备,其特征在于,所述电子设备包括:处理逻辑,被配置为获取待检测的第一图像,并使用检测模型来预测所述第一图像中关键点的位置坐标和置信度,或者预测所述第一图像中关键点的位置坐标;所述检测模型是以第二图像为样本图像,以对所述样本图像中关键点的预测结果趋近于目标结果为目的,对卷积神经网络进行训练得到的;所述卷积神经网络包括:骨架网络以及并行连接于所述骨架网络之后的回归层和分类层;在对所述卷积神经网络训练的过程中,通过对所述回归层输出的位置预测结果是否处于目标区域进行正负样本的划分,确定出每个关键点的类别标签,并通过分类学习获得每个关键点的置信度;所述目标区域表征对于所述样本图像中标注的各个关键点,选取的以其位置坐标为中心且以r为半径的区域,其中,r为正数;
所述骨架网络基于其网络参数提取所述第一图像的特征图,并将所述第一图像的特征图分别输出至所述回归层和所述分类层,所述第一图像的特征图中包含所述第一图像的关键点位置特征和关键点类别特征;所述回归层基于其网络参数处理所述关键点位置特征以定位关键点,得到所述第一图像中关键点的位置坐标;所述分类层基于其网络参数处理所述关键点类别特征以分类关键点,得到所述第一图像中关键点的置信度。
说明书 :
关键点检测方法、装置、电子设备及存储介质
技术领域
背景技术
关键点的遮挡、或者由于人脸旋转导致一半侧脸的关键点不可见等都无法被准确识别。
发明内容
到的,所述第一图像和所述第二图像包含同类对象,所述预测结果中包括关键点的位置坐
标和置信度;
述特征图,得到所述目标样本图像中关键点的位置预测结果;所述分类层基于其网络参数
处理所述特征图,得到所述目标样本图像中关键点的类别预测结果;
是根据所述位置预测结果和所述位置标注结果确定的;
样本图像,这一步骤;
网络进行训练得到的,所述第一图像和所述第二图像包含同类对象,所述预测结果中包括
关键点的位置坐标和置信度;获取所述检测模型所预测的所述第一图像中关键点的位置坐
标和置信度,或者,获取所述检测模型所预测的所述第一图像中关键点的位置坐标。
于实现所述的关键点检测方法。
的关键点位置特征和关键点类别特征;所述回归层基于其网络参数处理所述关键点位置特
征以定位关键点,得到所述第一图像中关键点的位置坐标;所述分类层基于其网络参数处
理所述关键点类别特征以分类关键点,得到所述第一图像中关键点的置信度。
的关键点,既保证了模型的计算速度,又可以获得可靠的关键点置信度,从而为后续的目标
识别应用提供有效的支持。
附图说明
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
具体实施方式
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
如车辆、再比如货物等。
尚不能在回归出人脸关键点位置坐标的同时回归出人脸关键点的置信度。
取值范围通常为[0,1]。热量图中人脸关键点部位的像素点为正样本,通常被赋予较高的热
量值如1,而非人脸关键点部位被认为是负样本,通常被赋予相对较低的热量值如0,这样人
脸关键点检测任务会被当成一个针对每一个像素的二分类任务。这类方法在得到人脸关键
点位置的同时可以得到人脸关键点的置信度。但是由于此类方法需要输出和原图等大的或
者稍小于原图的热量图,需要卷积神经网络对原图先降采样计算特征,再上采样生成热量
图。这个操作通常十分耗时,在ARM端处理器和CPU上会消耗大量的计算资源,计算速度较
慢。
现置信度回归的关键点检测方案,采用直接回归关键点位置坐标的方式,同时回归出每个
关键点的置信度,这既保证了模型的计算速度,又可以获得可靠的关键点置信度。
一图像和第二图像包含同类对象,预测结果中包括关键点的位置坐标和置信度。
目标结果的能力。其中,预测结果中包含两方面的信息,一方面是关键点的位置坐标,另一
方面是关键点的置信度,相应的,预测结果趋近于目标结果也有两方面含义,一方面是检测
模型能够准确回归关键点的位置坐标、另一方面是检测模型能够准确对关键点进行分类。
网络基于其网络参数提取第一人脸图像的特征图,并将第一人脸图像的特征图分别输出至
分类层和回归层,第一人脸图像的特征图中包含第一人脸图像的关键点位置特征和关键点
类别特征。回归层基于其网络参数处理该关键点位置特征以定位关键点,得到第一图像中
关键点的位置坐标。分类层基于其网络参数处理关键点类别特征以分类关键点,得到第一
图像中关键点的置信度。
类层。
关键点的位置预测结果;分类层基于其网络参数处理特征图,得到目标样本图像中关键点
的类别预测结果;
果和位置标注结果确定的;利用位置损失函数值和分类损失函数值计算本次训练的总损失
函数值;在总损失函数值不符合预设结束条件的情况下,调整骨架网络、回归层和分类层的
网络参数,并返回执行从样本图像中确定本次训练用的目标样本图像,这一步骤;在总损失
函数值符合预设结束条件的情况下,结束训练,将本次训练后的卷积神经网络作为检测模
型。
发明实施例对此不做限定。
图像的特征图,该特征图中以向量形式表示目标样本图像中关键点不同维度的特征。
类别产生类别预测结果。
的损失函数可以采用smooth L1损失函数。举例来说,假设特征图中提取到118个关键点,则
回归层可以输出236维的向量[x1,y1,x2,y2,…,x118,y118]来表示118个关键点的位置坐
标。
反之,如果位置预测结果与位置标注结果不一致,则类别标签为负样本;进一步,通过对比
目标样本图像中关键点的类别预测结果与类别标签类计算分类损失函数值。具体来说,类
别标签包括正样本和负样本,其中,正样本用于定义高质量关键点、负样本用于定义低质量
关键点。需要说明的是,分类层的损失函数可以采用交叉熵损失函数。
签“负样本”用“0”来表示,因此分类层输出的类别概率为0 1范围内的值,越接近1则表示属
~
于高质量关键点的概率越大、相应的置信度也就越大、被遮挡的程度越小,反之,越接近0则
表示属于低质量关键点的概率越大、相应的置信度也就越小、被遮挡的程度也就越大。
以梯度回传的方式反向调整骨架网络、回归层和分类层的网络参数,并进一步下一次的训
练中。而一旦该总损失函数值不符合预设结束条件,则结束对卷积神经网络的训练,将训练
后的卷积神经网络作为检测模型。
层,其可以通过关键点位置特征定位关键点,输出关键点的位置坐标。对于检测模型中的分
类层,其可以通过关键点类别特征分类关键点,输出关键点的置信度。
输出的关键点的位置坐标也会具有更高的准确度。
的过程,包括如下步骤:
从第二人脸图像中裁剪人脸区域;对人脸区域进行缩放和像素归一化处理。具体的:
了避免人脸框过小导致眉毛或者下巴在人脸框以外,首先将人脸框扩大为原来的数倍(比
如1.5倍)的正方行,具体的将1.5 * max(h,w)作为新的人脸框的边长,人脸框顶点则更新
为x=x‑0.25* max(h,w)、y=y‑0.25* max(h,w);进一步,根据新的人脸框从第二人脸图像中
裁剪出人脸区域,并缩放到为统一尺寸(比如128*128);最后,对人脸区域中的像素值做归
一化处理(比如像素值除以255)。基于此,输入卷积神经网络中的样本图像是归一化处理后
人脸区域对应的部分图像,这就可以保证输入至卷积神经网络中的样本图像被统一到相同
的尺寸,降低网络学习的难度,提升精度。
目标区域;在位置预测结果位于目标区域内的情况下,确定类别标签为正样本;在位置预测
结果位于目标区域外的情况下,确定类别标签为负样本。
位置坐标(即位置标注结果)为中心、以r为半径的区域作为其目标区域;如果回归层针对该
关键点输出的位置预测结果位于该目标区域内,可以确定该关键点的类别标签为“正样
本”,反之,如果回归层针对该关键点输出的位置预测结果位于该目标区域外,可以确定该
关键点的类别标签为“负样本”。当然,类别标签是以类别概率的形式来表示,正样本对应的
类别概率为1、负样本对应的类别概率为0。
素分类的方法,本发明不需要计算关键点的热量分布图,可以极大的减少模型计算量,在
CPU和ARM处理器上可以做到1000Fps和500Fps的计算速度。
很容易导致分类层中负样本过多、正样本过少,为解决该问题,在其他一些实施例中,可以
采用难例挖掘的策略,具体如下:
的子损失函数值、多个目标第一关键点的子损失函数值计算实际分类损失函数值;将位置
损失函数值和实际分类损失函数值的迭加和作为总损失函数值。
点)来说,可以选取其中子损失函数值最大的多个关键点作为目标第一关键点。继续以118
个关键点为例,假设其中10个关键点的类别标签为“正样本”、118个关键点的类别标签为
“负样本”,也就是有118个第一关键点、10个第二关键点,可以118个第一关键点中选取子损
失函数值最大的70个关键点作为目标第一关键点,而子损失函数最小的30个第一关键点则
不用作梯度回传。
值。继续以上述118个关键点为例,可以将70个目标第一关键点的子损失函数值和10个第二
关键点的子损失函数值迭加和作为实际分类损失函数值。
度越小,反之,越接近0则置信度也就越小、被遮挡的程度也就越大。此时,可以通过置信度
来筛选可靠的关键点,比如可以筛选分类概率大于预设的概率阈值的关键点。
的计算速度,又可以获得可靠的关键点置信度,从而为后续的目标识别应用提供有效的支
持。
练得到的,第一图像和第二图像包含同类对象,预测结果中包括关键点的位置坐标和置信
度;获取检测模型所预测的第一图像中关键点的位置坐标和置信度,或者,获取检测模型所
预测的第一图像中关键点的位置坐标。
关键点的位置预测结果;分类层基于其网络参数处理特征图,得到目标样本图像中关键点
的类别预测结果;
果和位置标注结果确定的;利用位置损失函数值和分类损失函数值计算本次训练的总损失
函数值;在总损失函数值不符合预设结束条件的情况下,调整骨架网络、回归层和分类层的
网络参数,并返回执行从样本图像中确定本次训练用的目标样本图像,这一步骤;在总损失
函数值符合预设结束条件的情况下,结束训练,将本次训练后的卷积神经网络作为检测模
型。
确定类别标签为负样本。
的子损失函数值、多个目标第一关键点的子损失函数值计算实际分类损失函数值;将位置
损失函数值和实际分类损失函数值的迭加和作为总损失函数值。
储器存储的程序,程序用于实现关键点检测方法。
特征;回归层基于其网络参数处理关键点位置特征以定位关键点,得到第一图像中关键点
的位置坐标;分类层基于其网络参数处理关键点类别特征以分类关键点,得到第一图像中
关键点的置信度。
说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依
据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容
不应理解为对本发明的限制。
对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相
关之处参见方法部分说明即可。
存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵
盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,
或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,
由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备
中还存在另外的相同要素。
一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。