姿态关键点识别模型的训练方法、姿态识别方法及装置与流程

文档序号:22678486发布日期:2020-10-28 12:36阅读:197来源:国知局
姿态关键点识别模型的训练方法、姿态识别方法及装置与流程

本发明涉及计算机技术领域,更具体地,涉及一种姿态关键点识别模型的训练方法、姿态识别方法及装置。



背景技术:

关键点识别是指从一张含有目标对象的图像中对该目标对象的关键点进行建模识别。例如,人体关键点一般定义为:踝关节,左膝关节,左臀部,右臀部,左膝关节,左踝关节,右踝关节,上颈部,头顶,右手腕,左肘,左肩,右肩,右肘,左手腕等。人体具有柔性特征,当人体处于不同的动作时,会出现各种姿态和形状,人体任何一个部位的微小变化都会产生一种新的姿态,同时其关键点的可见性受穿着、姿态、视角等影响非常大,而且还可能面临着遮挡、光照、雾等环境的影响,除此之外,2d人体关键点和3d人体关键点在视觉上会有明显的差异,身体不同部位都会有视觉上缩短的效果(foreshortening),使得人体骨骼关键点检测成为计算机视觉领域中一个极具挑战性的问题。



技术实现要素:

有鉴于此,本发明实施例提供一种姿态关键点识别模型的训练方法、姿态识别方法及装置,以提高姿态关键点识别的准确性。

第一方面,本发明实施例提供一种姿态关键点识别模型的训练方法,所述姿态关键点识别模型包括特征金字塔网络和矫正网络,所述方法包括:

获取训练样本,所述训练样本包括多组含有目标对象的训练图像以及对应的姿态关键点标注图像;

将所述训练图像输入至所述特征金字塔网络进行处理,获取所述训练图像对应的多个不同尺度的第一特征图;

对所述多个不同尺度的第一特征图依次进行加和处理,生成至少一个第二特征图;

基于第一损失函数,根据所述至少一个第二特征图与所述训练图像对应的标准关键点热力图计算第一损失,所述标准关键点热力图根据所述训练图像对应的姿态关键点标注图像获取;

根据所述第一损失调节所述特征金字塔网络的参数;

将所述至少一个第二特征图输入至所述矫正网络进行处理,生成第三特征图;

基于第二损失函数,根据所述第三特征图与所述训练图像对应的标准关键点热力图计算第二损失;

根据所述第二损失调节所述特征金字塔网络的参数和所述矫正网络的参数;

响应于所述第一损失和第二损失满足预定条件,确定所述姿态关键点识别模型。

第二方面,本发明实施例提供一种姿态识别方法,所述方法包括:

获取待处理图像;

对所述待处理图像进行目标检测,获取目标对象区域图像;

将所述目标区域图像输入至姿态关键点识别模型的特征金字塔网络中进行处理,获取所述目标区域图像对应的多个不同尺度的第一特征图;

对所述多个不同尺度的第一特征图依次进行加和处理,生成至少一个第二特征图;

根据所述至少一个第二特征图确定所述目标区域图像对应的初始热力图;

将所述至少一个第二特征图和所述初始热力图输入至所述姿态关键点识别模型的矫正网络中进行处理,以对所述初始热力图进行矫正,确定目标热力图;

将所述目标热力图映射至所述待处理图像中,确定目标对象的姿态。

第三方面,本发明实施例提供一种姿态关键点识别模型的训练装置,所述姿态关键点识别模型包括特征金字塔网络和矫正网络,所述装置包括:

样本获取单元,被配置为获取训练样本,所述训练样本包括多组含有目标对象的训练图像以及对应的姿态关键点标注图像;

第一处理单元,被配置为将所述训练图像输入至所述特征金字塔网络进行处理,获取所述训练图像对应的多个不同尺度的第一特征图;

第二处理单元,被配置为对所述多个不同尺度的第一特征图依次进行加和处理,生成至少一个第二特征图;

第一损失计算单元,被配置为基于第一损失函数,根据所述至少一个第二特征图与所述训练图像对应的标准关键点热力图计算第一损失,所述标准关键点热力图根据所述训练图像对应的姿态关键点标注图像获取;

第一参数调节单元,被配置为根据所述第一损失调节所述特征金字塔网络的参数;

第三处理单元,被配置为将所述至少一个第二特征图输入至所述矫正网络进行处理,生成第三特征图;

第二损失计算单元,被配置为基于第二损失函数,根据所述第三特征图与所述训练图像对应的标准关键点热力图计算第二损失;

第二参数调节单元,被配置为根据所述第二损失调节所述特征金字塔网络的参数和所述矫正网络的参数;

模型确定单元,被配置为响应于所述第一损失和第二损失满足预定条件,确定所述姿态关键点识别模型。

第四方面,本发明实施例提供一种姿态识别装置,所述装置包括:

待处理图像获取单元,被配置为获取待处理图像;

目标检测单元,被配置为对所述待处理图像进行目标检测,获取目标对象区域图像;

第一特征处理单元,被配置为将所述目标区域图像输入至姿态关键点识别模型的特征金字塔网络中进行处理,获取所述目标区域图像对应的多个不同尺度的第一特征图;

第二特征处理单元,被配置为对所述多个不同尺度的第一特征图依次进行加和处理,生成至少一个第二特征图;

初始热力图确定单元,被配置为根据所述至少一个第二特征图确定所述目标区域图像对应的初始热力图;

目标热力图确定单元,被配置为将所述至少一个第二特征图和所述初始热力图输入至所述姿态关键点识别模型的矫正网络中进行处理,以对所述初始热力图进行矫正,确定目标热力图;

映射单元,被配置为将所述目标热力图映射至所述待处理图像中,确定目标对象的姿态。

第五方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如本发明实施例第一方面所述的方法和/或本发明实施例第二方面所述的方法。

第六方面,本发明实施例提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时以实现如本发明实施例第一方面所述的方法和/或本发明实施例第二方面所述的方法。

本发明实施例基于第一损失函数和第二损失函数,根据训练图像训练姿态关键点识别模型的特征金字塔网络和矫正网络,并在第一损失和第二损失满足预定条件时,确定姿态关键点识别模型,将经过目标检测后裁剪获取的目标区域图像输入至训练好的姿态关键点识别模型中进行处理,得到各关键点对应的热力图,根据各关键点对应的热力图确定目标对象的姿态,由此,本实施例通过采用包括特征金字塔网络和矫正网络的姿态关键识别模型,提高了姿态关键点识别的准确性。

本发明的各种可行实施例及其技术优势将在下文中详细说明。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本发明实施例的姿态关键点识别模型的训练方法的流程图;

图2是本发明实施例的姿态关键点识别模型的训练过程示意图;

图3是本发明实施例的bottleneck的示意图;

图4是本发明实施例的dilatedbottleneck的示意图;

图5是本发明实施例的姿态识别方法的流程图;

图6是本发明实施例的姿态识别过程示意图;

图7是相关技术的目标对象姿态识别结果的示意图;

图8是本发明实施例的目标对象识别结果的示意图;

图9是本发明实施例的姿态关键点识别模型的训练装置的示意图;

图10是本发明实施例的姿态识别装置的示意图;

图11是本发明实施例的电子装置的示意图。

具体实施方式

以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

现有解决人体图像关键点识别的人体关键点检测算法基本上是在几何先验的基础上基于模版匹配的思路来进行,核心就在于如何去用模版表示整个人体结构,包括关键点的表示、肢体结构的表示以及不同肢体结构之间的关系的表示。由于人体的姿态变化性较大,采用模版匹配的方法的关键点识别准确性较低。由此,本发明实施例提供一种基于神经网络的姿态关键点识别模型的训练方法,以及基于该姿态关键点识别模型的姿态识别方法,以提高姿态关键点识别的准确性,进而提供姿态识别的准确性。

图1是本发明实施例的姿态关键点识别模型的训练方法的流程图。如图1所示,本实施例的姿态关键点识别模型的训练方法包括以下步骤:

步骤s110,获取训练样本,所述训练样本包括多组含有目标对象的训练图像以及对应的姿态关键点标注图像。在一种可选的实现方式中,本实施例的训练样本可以采用mscoco数据集。应理解,其他具有目标标注的数据集也可应用于本实施例中,本实施例并不对此进行限制。以下训练步骤以一个训练图像的处理过程为例进行说明。

步骤s120,将训练图像输入至特征金字塔网络进行处理,获取该训练图像对应的多个不同尺度的第一特征图。在本实施例中,姿态关键点识别模型包括特征金字塔网络和矫正网络,特征金字塔网络用于生成表征关键点的初始热力图,矫正网络用于对初始热力图进行矫正,获取目标热力图。

在神经网络中,随着网络的加深,空间分辨率降低,输出的特征图具有更多的图像局部语义信息,为了有效权衡空间分辨率和图像语义信息的平衡,本实施例采用特征金字塔网络(featurepyramidnetworks,fpn)。特征金字塔网络使得各分辨率的特征图与其后续分辨率的特征图进行加和操作,以使得相应层输出的特征图融合了不同分辨率、不同语义强度的特征,由此,可以在不增加额外计算时间和计算量的情况下,有效权衡空间分辨率和图像语义信息的平衡。在一种可选的实现方式中,姿态关键点识别模型以残差网络resnet-50或resnet-101为骨干网络。可选的,残差网络resnet-50或resnet-101经过imagenet数据集预训练。

resnet(residualneuralnetwork)的主要思想是在网络中增加了直连通道,允许原始输入信息直接传输到后面的网络层中,使得这一网络层可以不用学习前一层的整个输出,而是学习上一个网络层输出的残差。resnet通过将输出信息直接绕道传输到输出,保护了信息的完整性,并且整个网络只需要学习输入、输出的差别部分,简化了学习目标和难度。resnet有不同的层数,例如,resnet-50(50层的resnet)、resnet-101(101层的resnet)、resnet-152(152层的resnet)等,其均可应用于本实施例中。

可选的,特征金字塔网络包括多个残差块,每个残差块输出对应的第一特征图。特征金字塔网络中残差块的数量可以根据实际情况进行设置,本实施例并不对此进行限制。其中,残差块的结构为卷积神经网络结构,包括归一化层、激活层和卷积层,其中,卷积层的层数和卷积层中滤波器的个数可以根据实际情况进行设置。可选的,卷积层滤波器的大小、补偿和填充分别为3*3、1、1。

步骤s130,对各第一特征图依次进行加和处理,生成多个第二特征图。在一种可选的实现方式中,步骤s130具体可以包括:

将当前层残差块输出的第一特征图与加和特征图进行加和处理,获取对应的第二特征图,所述加和特征图为当前层之后的各层残差块输出的第一特征图的加和处理结果、或最后一层残差块输出的第一特征图,以及根据最后一层残差块输出的第一特征图确定对应的第二特征图。

步骤s140,基于第一损失函数,根据至少一个第二特征图与该训练图像对应的标准关键点热力图计算第一损失。其中,标准关键点热力图根据所述训练图像对应的姿态关键点标注图像的热力图预先处理获取。

在一种可选的实现方式中,步骤s140具体可以包括:

a1:对于各第二特征图,对该第二特征图进行卷积处理,获取该训练图像的各关键点的第一热力图。

a2:对于各关键点,根据该关键点的至少一个第一热力图分别与对应的标准关键点热力图计算关键点的第一关键点损失。

a3:根据各关键点的第一关键点损失确定第一损失。

在本实施例中,对一个第二特征图进行卷积处理,可以获取一组关键点的第一热力图。可选的,假设步骤s130获取n个(n大于等于1)第二特征,步骤s140可以获取n组关键点的第二热力图,也即每个关键点具有对应的n个第一热力图,计算关键点的n个第一热力图分别与该关键点的标准关键点热力图的n个损失,计算n个损失的和或平均值以确定该关键点的第一关键点损失,根据各关键点的第一关键点损失确定第一损失。可选的,第一损失可以为包括各关键点损失的向量或数组。

步骤s150,根据第一损失调节特征金字塔网络的参数。

在一种可选的实现方式中,第一损失函数为l2损失函数:

l2=ex,y~p(x,y)||fgenerate(x)-y||2

其中,x为输入的训练图像,y为该训练图像的各关键点对应的标准关键点热力图,fgenerate(x)为特征金字塔网络输出的各第二特征图对应的第一热力图,ex,y~p(x,y)为各第二特征图对应的关键点的概率分布。

图2是本发明实施例的姿态关键点识别模型的训练过程示意图。如图2所示,本实施例的特征金字塔网络2包括第一卷积层21、第一残差块22、第二残差块23、第三残差块24和第四残差块25。将训练图像输入至特征金字塔网络2中,经第一卷积层21处理后输出初始特征图c1。例如输入的训练图像为经过裁剪后的人体图像,大小为384*288,第一卷积层21对训练图像进行卷积处理和最大池化处理后输出96*72*64的初始特征图c1,其中,在第一卷积层21中,卷积核的大小为7*7、通道数为64、填充为3、步长为2,池化核的大小为3*3、填充为0、步长为2。将初始特征图c1依次通过第一残差块22、第二残差块23、第三残差块24和第四残差块25,分别输出不同尺度的特征图c2、c3、c4和c5。以上述训练为例,特征图c2、c3、c4和c5的尺度大小分别为96*72*256,48*36*512,24*18*1024,12*9*2014。

进一步地,对特征图c2、c3、c4和c5进行1*1的卷积处理得到第一特征图c2'、c3'、c4'和c5',对第一特征图c2'、c3'、c4'和c5'依次进行加和处理,生成多个第二特征图c2”、c3”、c4”和c5”。可选的,对ci′(i=5,4,3)进行1*1的卷积处理后进行上采样处理,将上采样后的特征图与上一层残差块对应的第一特征图ci-1′依次进行加和操作,得到第二特征图ci-1″。其中,将第一特征图c5'和c4'进行加和处理后得到c4”,将第一特征图c5'、c4'和c3'进行加和处理后得到c3”(也即将c4”上采样后与c3'加和处理得到c3”),将第一特征图c5'、c4'、c3'和c2'进行加和处理后得到c3”(也即将c3”上采样后与c2'加和处理得到c2”)。上采样处理(unsample)使得第一特征图ci′的分辨率与第一特征图ci-1′相同,以可以进行加和操作。其中,对第一特征图c5'进行卷积处理等操作后获取第二特征图c5”。根据第二特征图cj″(j=5,4,3,2),获取第二特征图cj″对应的多个关键点的热力图,基于l2损失函数,根据各关键点的热力图与训练图像的各关键点的标准关键点热力图计算第一损失,根据第一损失调节特征金字塔网络2的参数。其中,标准关键点热力图根据所述训练图像对应的姿态关键点标注图像预先处理获取。也即,对于每个第二特征图,计算一个关键点对应的热力图与该关键点的标准关键点热力图的损失,根据各关键点对应的损失计算第一损失。

在mscoco数据集中,人体图像一般取17个关键点,本实施例以人体图像的17个关键点为例,在一种可选的实现方式中,对第二特征图cj″(j=5,4,3,2)分别进行1*1的卷积处理后,再进行3*3的卷积处理,获取第二特征图cj″对应的17个热力图,每个热力图对应1个人体关键点,然后计算第二特征图cj″对应的17个热力图分别与17个标准关键点热力图的损失,获得第二特征图cj″对应的各关键点损失,根据各第二特征图对应的关键点损失获得第一损失。

容易理解,图2中各特征图的大小仅仅是示例性的,其并不与实际大小相对应。应理解,在本实施例中,各深层残差块输出的第一特征图与其前一层残差块输出的第一特征图(或与之前的加和特征图)加和后输出一个第二特征图,因此,本实施例输出多个第二特征图(例如c2”-c5”),应理解,也可以将各第一特征图全部加和后输出一个第二特征图(例如c2”),也可以间隔输出多个第二特征图(例如c2”、c4”),本实施例并不对此进行限制。

步骤s160,将至少一个第二特征图输入至矫正网络进行处理,生成第三特征图。在一种可选的实现方式中,矫正网络由多个瓶颈层和上采样层组成。瓶颈层可以为bottleneck或dilatedbottleneck(膨胀型的瓶颈层)。

可选的,步骤s160具体包括:将至少一个第二特征图输入对应的瓶颈层和上采样层进行处理,获取对应的第四特征图,将各第四特征图进行合并连接(concat)处理,生成所述对应的第三特征图。由此,本实施例通过加入瓶颈层减少参数的数量,以减小计算量,提高识别效率。

应理解,在同一训练迭代周期内,步骤s160和步骤s140-s150没有前后的执行顺序。

步骤s170,基于第二损失函数,根据第三特征图与该训练图像对应的标准关键点热力图计算第二损失。可选的,第二损失函数为l2损失函数。

在一种可选的实现方式中,步骤s170包括:

b1:对第三特征图进行卷积处理,获取训练图像的各关键点的第二热力图。

b2:对于各所述关键点,根据所述关键点的第二热力图与对应的标准关键点热力图计算所述关键点的第二关键点损失。

b3:对各第二关键点损失进行排序。

b4:根据关键点损失排序结果选择预定个第二关键点损失确定所述第二损失。

可选的,在本实施例的矫正网络中,选择关键点损失较大的预定个关键点损失计入矫正网络的第二损失函数,由此,使得矫正网络针对误差较大的关键点进行矫正,在提高关键点识别准确性的同时提高了识别效率。

步骤s180,根据第二损失调节特征金字塔网络的参数和所述矫正网络的参数。

步骤s190,响应于所述第一损失和第二损失满足预定条件,确定所述姿态关键点识别模型。在一种可选的实现方式中,所述预定条件为所述第一损失小于第一预定值,且所述第二损失小于第二预定值。在另一种可选的实现方式中,预定条件还可以包括训练过程的迭代次数达到预定次数等。例如所述预定条件为训练迭代次数达到预定值,所述第一损失小于第一预定值,且所述第二损失小于第二预定值。

如图2所示,矫正网络3包括bottleneck层31、dilatedbottleneck层32、dilatedbottleneck层33以及上采样层34、上采样层35和上采样层36。

图3是本发明实施例的bottleneck层的示意图。图4是本发明实施例的dilatedbottleneck层的示意图。如图3所示,bottleneck层包括路径1和路径2,将路径1和路径2的处理结果经过线性整流后输出。其中,路径1包括1*1卷积层、3*3卷积层和1*1卷积层。路径2不对输入特征图进行处理。其中,bottleneck层中的1*1卷积层用于降低和升高特征维度,以减少参数的数量,从而可以减小计算量,并且,在降低维度后可以更加有效地进行数据的训练和特征提取。

如图4所示,dilatedbottleneck层包括路径3和路径4,将路径3和路径4的处理结果经过线性整流后输出。其中,路径3包括1*1卷积层、3*3的膨胀卷积层和1*1卷积层。路径4包括1*1卷积层。由此,本实施例通过引入dilatedbottleneck层可以在可以减小计算量的同时,有效地扩大感受野,提高了识别准确性。

在一种可选的实现方式中,根据第二特征图c2”获取第四特征图f2,第二特征图c3”经过bottleneck层31和上采样层34处理,获取第四特征图f3,第二特征图c4”经过dilatedbottleneck层32和上采样层35处理,获取第四特征图f4,第二特征图c5”经过dilatedbottleneck33和上采样层36处理,获取第四特征图f5。容易理解,在特征图的尺度较小,感受野较小时,可以采用dilatedbottleneck层,由例如第二特征图c4”和第二特征图c5”。其中,通过上采样层34-36使得第四特征图f3-f5的分辨率大小与f2相同。

应理解,由于第二特征图c2”-c5”的分辨率大小不同,因此,采用的瓶颈层和上采样层的数量不同,具体数量可以根据实际情况设置,本实施例并不对此进行限制。在本实施例中,第二特征图c2”采用0个瓶颈层和0个上采样层。

在本实施例中,如图2所示,对第四特征图f2-f5进行concat连接处理,并将concat连接处理后的特征图经过bottleneck层37处理得到第三特征图。将第三特征图进行1*1的卷积处理和3*3的卷积处理,获取第三特征图对应的各关键点的热力图,基于第二损失函数(例如l2损失函数),根据第三特征图对应的各关键点的热力图和各标准关键点热力图计算各关键点对应的第二关键点损失,对各第二关键点损失进行排序,例如按照第二关键点损失从大到小进行排序,根据关键点损失排序结果选择预定个第二关键点损失确定所述第二损失。例如,以人体的17个关键点为例,根据关键点损失排序结果选择9个最大的第二关键点损失计入第二损失计算。应理解,第二关键点损失的选取个数根据实际情况进行设置,本实施例并不对此进行限制。在本实施例中,通过在矫正网络中,选择关键点损失较大的预定个第二关键点损失计入矫正网络的第二损失函数,使得矫正网络针对误差较大的关键点进行矫正,在提高关键点识别准确性的同时提高了识别效率。

本发明实施例基于第一损失函数和第二损失函数,根据训练图像训练姿态关键点识别模型的特征金字塔网络和矫正网络,并在第一损失和第二损失满足预定条件时,确定姿态关键点识别模型,本实施例通过采用包括特征金字塔网络和矫正网络的姿态关键识别模型,提高了姿态关键点识别的准确性。

图5是本发明实施例的姿态识别方法的流程图。如图5所示,本发明实施例的姿态识别方法包括以下步骤:

步骤s210,获取待处理图像。其中,待处理图像包括至少一个目标对象,例如,目标对象为行人,则待处理图像中包括至少一个行人。

步骤s220,对待处理图像进行目标检测,获取目标对象区域图像。在一种可选的实现方式中,采用预定的目标检测模型对待处理图像进行目标检测,获取目标对象区域图像。其中,目标检测模型可以为fasterr-cnn模型、ssd模型或yolo模型等,本实施例并不对此进行限制。

步骤s230,将目标区域图像输入至姿态关键点识别模型的特征金字塔网络中进行处理,获取所述目标区域图像对应的多个不同尺度的第一特征图。在一种可选的实现方式中,姿态关键点识别模型以resnet-101或resnet-50为骨干网络。可选的,特征金字塔网络根据l2损失函数预先训练。

特征金字塔网络包括多个残差块,每个残差块对应输出一个尺度的第一特征图。特征金字塔网络中残差块的数量可以根据实际情况进行设置,本实施例并不对此进行限制。其中,残差块的结构为卷积神经网络结构,包括归一化层、激活层和卷积层,其中,卷积层的层数和卷积层中滤波器的个数可以根据实际情况进行设置。在本实施例中,姿态关键点识别模型通过上述实施例中的训练方法进行训练,在此不再赘述。

步骤s240,对多个不同尺度的第一特征图依次进行加和处理,生成至少一个第二特征图。

将当前层残差块输出的第一特征图与加和特征图进行加和处理,获取对应的第二特征图,所述加和特征图为当前层之后的各层残差块输出的第一特征图的加和处理结果、或最后一层残差块输出的第一特征图,以及根据最后一层残差块输出的第一特征图确定对应的第二特征图,具体方法可参照图2中关于加和处理的说明,在此不再赘述。

本实施例采用特征金字塔网络(featurepyramidnetworks,fpn)。特征金字塔网络使得各分辨率的特征图与后续分辨率的特征图进行加和操作,以使得相应层输出的特征图融合了不同分辨率、不同语义强度的特征,由此,可以在不增加额外计算时间和计算量的情况下,有效权衡空间分辨率和图像语义信息的平衡。

步骤s250,根据至少一个第二特征图确定所述目标区域图像对应的初始热力图。可选的,将第二特征图经过1*1卷积处理和3*3卷积处理后,获取各关键点的关键点热力图。由于每个第二特征图对应一组各关键点的关键点热力图,也即,每个关键点对应多个关键点热力图,因此可以根据关键点对应的多个关键点热力图确定该关键点对应的初始热力图。也即,目标区域图像对应的初始热力图包括目标区域图像对应的多个关键点的初始热力图,例如若目标对象为人体,预置有17个关键点,则可根据各第二特征图确定这17个关键点分别对应的初始热力图。

步骤s260,将至少一个第二特征图和初始热力图输入至姿态关键点识别模型的矫正网络中进行处理,以对初始热力图进行矫正,确定目标热力图。在一种可选的实现方式中,矫正网络包括多个瓶颈层和上采样层。多个瓶颈层可以包括bottleneck层和dilatedbottleneck层,瓶颈层的结构图如图3和图4所示,其中,瓶颈层中的1*1卷积层用于降低和升高特征维度,以减少参数的数量,从而可以减小计算量,并且,在降低维度后可以更加有效地进行数据的训练和特征提取。同时,通过引入dilatedbottleneck层可以在可以减小计算量的同时,有效地扩大感受野,提高了识别准确性。可选的,矫正网络根据l2损失函数预先训练。

在一种可选的实现方式中,步骤s260包括:

c1:将至少一个第二特征图输入至对应的瓶颈层和上采样层进行处理,确定所述目标区域图像对应的第三特征图。可选的,将至少一个第二特征图输入对应的瓶颈层和上采样层进行处理,获取对应的第四特征图,将各第四特征图进行合并连接(concat)处理,生成目标区域图像对应的第三特征图。

c2:根据第三特征图确定预定个关键点对应的矫正热力图。可选的,将第三特征图经过1*1的卷积处理和3*3的卷积处理,获取第三特征图对应的预定个关键点的矫正热力图。容易理解,这里关键点的选取个数根据矫正网络的训练过程中设置的关键点损失选取个数确定。

c3:根据初始热力图和矫正热力图确定目标热力图。具体地,根据各关键点对应的矫正热力图对对应的初始热力图进行矫正,确定各关键点的目标热力图。在本实施例中,通过对部分误差较大的关键点的初始热力图进行矫正,在提高关键点识别准确性的同时提高了识别效率。

步骤s270,将目标热力图映射至待处理图像中,确定目标对象的姿态。在本实施例中,将识别的目标区域图像的各关键点的目标热力图映射至待处理图像中,连接各关键点以识别目标对象的姿态。由此,本实施例可以较为准确地识别出的关键点,进而较为准确地确定目标对象的姿态。可选的,在一些应用场景中,可以根据目标对象的姿态确定用户的行为,进而判断用户行为是否符合当前要求,例如,可以通过对司机姿态的识别确定司机行为,判断司机在开车过程中是否存在不合规(玩手机等)行为等。

图6是本发明实施例的姿态识别过程示意图。如图6所示,获取待处理图像61,通过目标检测模型62对待处理图像61进行目标检测,获得目标区域图像63和64,将目标区域图像63和64输入至预先训练的姿态关键点识别模型65中,经特征金字塔网络651和矫正网络652处理后,输出目标区域图像63对应的各关键点的目标热力图66、以及目标区域图像64对应的各关键点的目标热力图67,将识别的目标区域图像63和64的各关键点的目标热力图映射至待处理图像61中,根据映射获得的图像68确定目标对象的姿态。其中,特征金字塔网络651和矫正网络652的具体处理过程与图2中的训练过程类似,在此不再赘述。

图7是相关技术的目标对象姿态识别结果的示意图。图8是本发明实施例的目标对象识别结果的示意图。如图7和图8所示,相比与相关技术,本发明实施例能够更准确的识别人体的关键点。

本实施例通过对待处理图像进行目标检测,获取目标对象区域图像,将目标区域图像输入至姿态关键点识别模型的特征金字塔网络中进行处理,获取所述目标区域图像对应的多个不同尺度的第一特征图,对各所述第一特征图依次进行加和处理,生成多个第二特征图,根据多个所述第二特征图确定所述目标区域图像对应的初始热力图,将多个所述第二特征图和所述初始热力图输入至所述姿态关键点识别模型的矫正网络中进行处理,以对所述初始热力图进行矫正,确定目标热力图,将所述目标热力图映射至所述待处理图像中,确定目标对象的姿态,由此,本实施例通过采用包括特征金字塔网络和矫正网络的姿态关键识别模型,提高了姿态关键点识别的准确性,从而提高目标对象姿态识别的准确性。

图9是本发明实施例的姿态关键点识别模型的训练装置的示意图。在本实施例中,所述姿态关键点识别模型包括特征金字塔网络和矫正网络。可选的,所述姿态关键点识别模型以resnet-101或resnet-50为骨干网络。

本实施例的训练装置9包括样本获取单元91、第一处理单元92、第二处理单元93、第一损失计算单元94、第一参数调节单元95、第三处理单元96、第二损失计算单元97、第二参数调节单元98和模型确定单元99。

样本获取单元91被配置为获取训练样本,所述训练样本包括多组含有目标对象的训练图像以及对应的姿态关键点标注图像。第一处理单元92被配置为将所述训练图像输入至所述特征金字塔网络进行处理,获取所述训练图像对应的多个不同尺度的第一特征图。第二处理单元93被配置为对各所述第一特征图依次进行加和处理,生成至少一个第二特征图。

在一种可选的实现方式中,所述特征金字塔网络包括多层残差块,各层残差块输出有对应的第一特征图。第二处理单元93包括第二特征图确定子单元931。第二特征图确定子单元931被配置为将当前层残差块输出的第一特征图与加和特征图进行加和处理,获取对应的第二特征图,所述加和特征图为当前层之后的各层残差块输出的第一特征图的加和处理结果、或最后一层残差块输出的第一特征图。第一特征图确定子单元931还被配置根据最后一层残差块输出的第一特征图确定对应的第二特征图。

第一损失计算单元94被配置为被配置为基于第一损失函数,根据所述至少一个第二特征图与所述训练图像对应的标准关键点热力图计算第一损失,所述标准关键点热力图根据所述训练图像对应的姿态关键点标注图像获取。在一种可选的实现方式中,第一损失计算单元包括第一热力图获取子单元941、第一关键损失计算子单元942以及第一损失计算子单元943。第一热力图获取子单元941被配置为对于各所述第二特征图,对所述第二特征图进行卷积处理,获取所述训练图像的各关键点的第一热力图。第一关键损失计算子单元942被配置为对于各所述关键点,根据所述关键点的至少一个第一热力图分别与对应的标准关键点热力图计算所述关键点的第一关键点损失。第一损失计算子单元943被配置为根据各所述关键点的第一关键点损失确定所述第一损失。

第一参数调节单元95被配置为根据所述第一损失调节所述特征金字塔网络的参数。在一种可选的实现方式中,所述第一损失函数为l2损失函数。

第三处理单元96被配置为将所述至少一个第二特征图输入至所述矫正网络进行处理,生成第三特征图。在一种可选的实现方式中,第三处理单元96包括第四特征图获取子单元961和第三特征图确定子单元962。第四特征图获取子单元961被配置为将所述至少一个第二特征图输入对应的瓶颈层和上采样层进行处理,获取对应的第四特征图。第三特征图确定子单元962被配置为将各第四特征图进行连接处理,生成所述对应的第三特征图。

第二损失计算单元97被配置为被配置为基于第二损失函数,根据所述第三特征图与所述训练图像对应的标准关键点热力图计算第二损失。可选的,第二损失函数为l2损失函数。在一种可选的实现方式中,第二损失计算单元97包括第二热力图获取子单元971、第二关键点损失计算子单元972、排序子单元973和第二损失确定子单元974。第二热力图获取子单元971被配置为对所述第三特征图进行卷积处理,获取所述训练图像的各关键点的第二热力图。第二关键点损失计算子单元972被配置为对于各所述关键点,根据所述关键点的第二热力图与对应的标准关键点热力图计算所述关键点的第二关键点损失。排序子单元973被配置为对各所述第二关键点损失进行排序。第二损失确定子单元974被配置为根据关键点损失排序结果选择预定个第二关键点损失确定所述第二损失。

第二参数调节单元98被配置为根据所述第二损失调节所述特征金字塔网络的参数和所述矫正网络的参数。模型确定单元99被配置为响应于所述第一损失和第二损失满足预定条件,确定所述姿态关键点识别模型。在一种可选的实现方式中,所述预定条件为所述第一损失小于第一预定值,所述第二损失小于第二预定值。

本发明实施例基于第一损失函数和第二损失函数,根据训练图像训练姿态关键点识别模型的特征金字塔网络和矫正网络,并在第一损失和第二损失满足预定条件时,确定姿态关键点识别模型,本实施例通过采用包括特征金字塔网络和矫正网络的姿态关键识别模型,提高了姿态关键点识别的准确性。

图10是本发明实施例的姿态识别装置的示意图。如图10所示,本发明实施例的姿态识别装置10包括待处理图像获取单元101、目标检测单元102、第一特征处理单元103、第二特征处理单元104、初始热力图确定单元105、目标热力图确定单元106以及映射单元107。

待处理图像获取单元101被配置为获取待处理图像。目标检测单元102被配置为对所述待处理图像进行目标检测,获取目标对象区域图像。

第一特征处理单元103被配置为将所述目标区域图像输入至姿态关键点识别模型的特征金字塔网络中进行处理,获取所述目标区域图像对应的多个不同尺度的第一特征图。可选的,所述姿态关键点识别模型以resnet-101或resnet-50为骨干网络。可选的,所述特征金字塔网络的损失函数为l2损失函数。

第二特征处理单元104被配置为对所述多个不同尺度的第一特征图依次进行加和处理,生成至少一个第二特征图。在一种可选的实现方式中,所述特征金字塔网络包括多层残差块,各层残差块输出有对应的第一特征图。第二特征处理单元104包括第二特征处理子单元1041。第二特征处理子单元1041被配置为将当前层残差块输出的第一特征图与加和特征图进行加和处理,获取对应的第二特征图,所述加和特征图为当前层之后的各层残差块输出的第一特征图的加和处理结果、或最后一层残差块输出的第一特征图。第二特征处理子单元1041还被配置为根据最后一层残差块输出的第一特征图确定对应的第二特征图。

初始热力图确定单元105被配置为根据所述至少一个第二特征图确定所述目标区域图像对应的初始热力图。目标热力图确定单元106被配置为将所述至少一个第二特征图和所述初始热力图输入至所述姿态关键点识别模型的矫正网络中进行处理,以对所述初始热力图进行矫正,确定目标热力图。可选的,矫正网络的损失函数为l2损失函数。

在一种可选的实现方式中,目标热力图确定单元106包括第三特征图确定子单元1061、矫正热力图确定子单元1062和目标热力图确定子单元1063。第三特征图确定子单元1061被配置为将所述至少一个第二特征图输入至对应的瓶颈层和上采样层进行处理,确定所述目标区域图像对应的第三特征图。矫正热力图确定子单元1062被配置为根据所述第三特征图确定预定个关键点对应的矫正热力图。目标热力图确定子单元1063被配置为根据所述初始热力图和所述矫正热力图确定目标热力图。

映射单元107被配置为将所述目标热力图映射至所述待处理图像中,确定目标对象的姿态。

本实施例通过对待处理图像进行目标检测,获取目标对象区域图像,将目标区域图像输入至姿态关键点识别模型的特征金字塔网络中进行处理,获取所述目标区域图像对应的多个不同尺度的第一特征图,对各所述第一特征图依次进行加和处理,生成多个第二特征图,根据多个所述第二特征图确定所述目标区域图像对应的初始热力图,将多个所述第二特征图和所述初始热力图输入至所述姿态关键点识别模型的矫正网络中进行处理,以对所述初始热力图进行矫正,确定目标热力图,将所述目标热力图映射至所述待处理图像中,确定目标对象的姿态,由此,本实施例通过采用包括特征金字塔网络和矫正网络的姿态关键识别模型,提高了姿态关键点识别的准确性,从而提高目标对象姿态识别的准确性。

图11是本发明实施例的电子设备的示意图。如图11所示,图11所示的电子设备为通用地址查询装置,其包括通用的计算机硬件结构,其至少包括处理器111和存储器112。处理器111和存储器112通过总线113连接。存储器112适于存储处理器111可执行的指令或程序。处理器111可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器111通过执行存储器112所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线113将上述多个组件连接在一起,同时将上述组件连接到显示控制器114和显示装置以及输入/输出(i/o)装置115。输入/输出(i/o)装置115可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置115通过输入/输出(i/o)控制器1111与系统相连。

本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品。

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。

这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。

也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。

本发明的另一实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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