人体关键点检测方法、装置、网络设备及存储介质转让专利

申请号 : CN202010674493.2

文献号 : CN111860276B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胥杰马丹乔曦雨周凯文杜欧杰范亚平周丹雷林

申请人 : 咪咕文化科技有限公司中国移动通信集团有限公司

摘要 :

本发明实施方式涉及计算机视觉技术领域,公开了一种人体关键点检测方法,应用于预训练的关键点检测模型,包括:提取目标人体图像的第一特征图;根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,将分辨率与前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积;根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。本发明实施方式还提供了一种人体关键点检测装置、网络设备及存储介质。本发明实施方式提供的人体关键点检测方法、装置、网络设备及存储介质,可以提高人体关键点的检测精度和人体姿态估计结果的准确性。

权利要求 :

1.一种人体关键点检测方法,其特征在于,应用于预训练的关键点检测模型,所述人体关键点检测方法包括:利用所述关键点检测模型的第一子模块提取目标人体图像的第一特征图,所述第一特征图包括多组不同分辨率的特征图;

利用所述关键点检测模型的第二子模块根据所述第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,利用所述第二子模块将分辨率与前一层反卷积得到的第三特征图相同的所述第一特征图和所述第三特征图组合后进行反卷积;

利用所述关键点检测模型的第三子模块根据所述第二特征图输出所述目标人体图像的各个人体关键点的热力图,并根据所述热力图确定所述目标人体图像的各个人体关键点;

其中,所述利用所述关键点检测模型的第三子模块根据所述第二特征图输出所述目标人体图像的各个人体关键点的热力图,包括:利用所述第三子模块根据人体肢体空间关系对所述第二特征图进行分组卷积,根据分组卷积的结果输出所述目标人体图像的各个人体关键点的热力图。

2.根据权利要求1所述的人体关键点检测方法,其特征在于,所述利用所述关键点检测模型的第二子模块根据所述第一特征图进行若干层的反卷积,包括:在进行每一层的反卷积时,利用所述第二子模块根据通道数将反卷积分为若干组。

3.根据权利要求1所述的人体关键点检测方法,其特征在于,所述利用所述关键点检测模型的第二子模块根据所述第一特征图进行若干层的反卷积,包括:在进行第一层的反卷积时,利用所述第二子模块根据最小分辨率的所述第一特征图进行反卷积。

4.根据权利要求1所述的人体关键点检测方法,其特征在于,所述利用所述第三子模块根据人体肢体空间关系对所述第二特征图进行分组卷积,具体为:利用所述第三子模块根据预设的关键点分组对所述第二特征图进行分组卷积,所述关键点分组中的每一组的所述第二特征图包括处于邻近位置、并属于人体同一肢体位置的第一人体关键点的所述第二特征图,所述第一人体关键点为根据人体肢体空间关系预先定义的关键点。

5.根据权利要求1所述的人体关键点检测方法,其特征在于,所述利用所述关键点检测模型的第一子模块提取所述目标人体图像的第一特征图,具体为:利用所述第一子模块根据轻量级卷积神经网络获取所述目标人体图像的第一特征图。

6.根据权利要求5所述的人体关键点检测方法,其特征在于,所述利用所述第一子模块根据轻量级卷积神经网络获取所述目标人体图像的第一特征图,包括:利用所述第一子模块将所述轻量级卷积神经网络最后一层卷积层的通道数减少至预设个数,根据减少通道数后的所述轻量级卷积神经网络获取所述目标人体图像的第一特征图。

7.一种人体关键点检测装置,其特征在于,包括:

提取模块,用于提取目标人体图像的第一特征图,所述第一特征图包括多组不同分辨率的特征图;

反卷积模块,用于根据所述第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,将分辨率前一层反卷积得到的第三特征图相同的所述第一特征图和所述第三特征图组合后进行反卷积;

检测模块,用于根据所述第二特征图输出所述目标人体图像的各个人体关键点的热力图,并根据所述热力图确定所述目标人体图像的各个人体关键点;

其中,所述根据所述第二特征图输出所述目标人体图像的各个人体关键点的热力图,包括:根据人体肢体空间关系对所述第二特征图进行分组卷积,根据分组卷积的结果输出所述目标人体图像的各个人体关键点的热力图。

8.一种网络设备,其特征在于,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一项所述的人体关键点检测方法。

9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的人体关键点检测方法。

说明书 :

人体关键点检测方法、装置、网络设备及存储介质

技术领域

[0001] 本发明涉及计算机视觉技术领域,特别涉及一种人体关键点检测方法、装置、网络设备及存储介质。

背景技术

[0002] 人体姿态估计是计算机视觉领域中的一个重要研究方向,被广泛应用于人体活动分析、人机交互以及视频监视等方面。人体姿态估计是指通过计算机算法在图像或视频中定位人体关键点(如肩、肘、腕、膝和踝等)来估计人体姿态。
[0003] 然而,发明人发现现有技术至少存在以下问题:目前人体关键点的检测方法精度不高,容易造成人体关键点的输出误差,影响人体姿态估计的结果。

发明内容

[0004] 本发明实施方式的目的在于提供一种人体关键点检测方法、装置、网络设备及存储介质,使得人体关键点的检测精度和人体姿态估计结果的准确性提高。
[0005] 为解决上述技术问题,本发明的实施方式提供了一种人体关键点检测方法,应用于预训练的关键点检测模型,包括:利用关键点检测模型的第一子模块提取目标人体图像的第一特征图,第一特征图包括多组不同分辨率的特征图;利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,利用第二子模块将分辨率与前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积;利用关键点检测模型的第三子模块根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。
[0006] 本发明的实施方式还提供了一种人体关键点检测装置,包括:提取模块,用于提取目标人体图像的第一特征图,第一特征图包括多组不同分辨率的特征图;反卷积模块,用于根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,将分辨率前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积;检测模块,用于根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。
[0007] 本发明的实施方式还提供了一种网络设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的人体关键点检测方法。
[0008] 本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的人体关键点检测方法。
[0009] 本发明实施方式相对于现有技术而言,通过关键点检测模型提取目标人体图像多组不同分辨率的第一特征图;根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,将分辨率与前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积;根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。由于第三特征图的信息与组合的第一特征图的信息可以互相弥补,因此将两个特征图组合后进行反卷积,可以使关键点检测模型学习到目标人体图像中更多的人体关键点的信息,从而有效地提高人体关键点的检测精度和人体姿态估计结果的准确性。
[0010] 另外,利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,包括:在进行每一层的反卷积时,利用第二子模块根据通道数将反卷积分为若干组。通过在进行每一层的反卷积时,根据通道数将每一层的反卷积分为若干组进行,可以使反卷积的运算量在原来的基础上大幅减少。
[0011] 另外,利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,包括:在进行第一层的反卷积时,利用第二子模块根据最小分辨率的第一特征图进行反卷积。
[0012] 另外,利用关键点检测模型的第三子模块根据第二特征图输出目标人体图像的各个人体关键点的热力图,包括:利用第三子模块根据人体肢体空间关系对第二特征图进行分组卷积,根据分组卷积的结果输出目标人体图像的各个人体关键点的热力图。由于人体中同一部位的肢体在目标人体图像中存在较为固定的空间关系,且同一部位的肢体在目标人体图像中的特征也较为类似,因此根据人体肢体空间关系对第二特征图进行分组卷积,可以使关键点检测模型在同一组卷积中互相学习和参考同一部位肢体的空间位置和图像特征,从而有效地提高人体关键点的检测精度。
[0013] 另外,利用第三子模块根据人体肢体空间关系对第二特征图进行分组卷积,具体为:利用第三子模块根据预设的关键点分组对第二特征图进行分组卷积,关键点分组中的每一组的第二特征图包括处于邻近位置、并属于人体同一肢体位置的第一人体关键点的第二特征图,第一人体关键点为根据人体肢体空间关系预先定义的关键点。
[0014] 另外,利用关键点检测模型的第一子模块提取目标人体图像的第一特征图,具体为:利用第一子模块根据轻量级卷积神经网络获取目标人体图像的第一特征图。由于轻量级卷积神经网络可以减少关键点检测模型对计算能力的要求,因此根据轻量级卷积神经网络获取第一特征图,可以从整体上降低关键点检测模型对运行模型的设备的计算能力要求。
[0015] 另外,利用第一子模块根据轻量级卷积神经网络获取目标人体图像的第一特征图,包括:利用第一子模块将轻量级卷积神经网络最后一层卷积层的通道数减少至预设个数,根据减少通道数后的轻量级卷积神经网络获取目标人体图像的第一特征图。通过合理设置预设个数并将轻量级卷积神经网络最后一层卷积层的通道数减少至预设个数,可以使关键点检测模型在检测效果相差不大的情况下减少轻量级卷积神经网络的运算量,从而进一步降低关键点检测模型对运行模型的设备的计算能力要求。

附图说明

[0016] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
[0017] 图1是本发明第一实施方式提供的人体关键点检测方法的流程示意图;
[0018] 图2是本发明第一实施方式提供的人体关键点检测方法的原理示意图;
[0019] 图3是本发明第二实施方式提供的人体关键点检测方法的流程示意图;
[0020] 图4是本发明第三实施方式提供的人体关键点检测方法的流程示意图;
[0021] 图5是本发明第三实施方式提供的人体关键点检测方法的检测示例图;
[0022] 图6是本发明第四实施方式提供的人体关键点检测装置的模块结构示意图;
[0023] 图7是本发明第五实施方式提供的网络设备的结构示意图。

具体实施方式

[0024] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0025] 本发明的第一实施方式涉及一种人体关键点检测方法,利用关键点检测模型的第一子模块提取目标人体图像的第一特征图,其中,第一特征图包括多组不同分辨率的特征图;利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,利用第二子模块将分辨率与前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行卷积;利用关键点检测模型的第三子模块根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个关键点。通过将分辨率与前一层反卷积得到的第三特征图相同的第一特征图链接到第三特征图,将两个特征图组合后进行下一层的反卷积,由于两个特征图的信息可以互相弥补,因此可以使关键点检测模型在反卷积的过程中学习到目标人体图像中更多的人体关键点的信息,从而提高人体关键点的检测精度和人体姿态估计的准确性。
[0026] 应当说明的是,本发明实施方式提供的人体关键点检测方法应用在预训练的关键点检测模型,即执行主体为关键点检测模型。可以理解的是,关键点检测模型的第一子模块、第二子模块和第三子模块为关键点检测模型中的组成部分。可选地,关键点检测模型还可以包括其它的组成部分(子模块),这里不做具体限定。可选地,关键点检测模型在训练时可以使用RGB格式的数据,而关键点检测模型在训练时采用的学习率、训练周期、批量大小等均可以根据实际需要进行设置,本发明实施方式对此不做具体限定。
[0027] 本发明实施方式提供的人体关键点检测方法的具体流程如图1所示,具体包括以下步骤:
[0028] S101:利用关键点检测模型的第一子模块提取目标人体图像的第一特征图,其中,第一特征图包括多组不同分辨率的特征图。
[0029] 其中,目标人体图像是指待检测人体关键点的人体图像,可以使用目标检测方法来获取,例如使用目标检测方法从视频的帧图像中获取目标人体图像,具体的目标检测方法可以根据实际需要进行设置,这里不做具体限定。
[0030] 请参考图2,其为本发明实施方式提供的人体关键点检测方法的原理示意图。具体地,关键点检测模型的第一子模块用于提取目标人体图像的第一特征图,对应图中的特征提取部分;第二子模块用于根据第一特征图进行反卷积,对应图中的反卷积部分;第三子模块用于输出人体关键点的热力图,对应图中的输出热力图部分。
[0031] 可选地,第一子模块具体可以使用子神经网络对目标人体图像的特征进行提取,其中,子神经网络例如是卷积神经网络,通过卷积神经网络的卷积层提取目标人体图像的第一特征图,具体使用的子神经网络可以根据实际需要进行设置,这里不做具体限定。通过将子神经网络中每一层的卷积核的尺寸设置为不同尺寸,可以得到多组不同分辨率的第一特征图,例如是64*48、32*24、16*12等不同分辨率,每一层的卷积核的尺寸可以根据实际需要进行设置,这里不做具体限定。
[0032] S102:利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,利用第二子模块将分辨率与前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积。
[0033] 如图2所示,G00/G10代表第一层的反卷积,G01/G11代表第二层的反卷积,G02/G12代表第三层的反卷积。在实际应用中,关键点检测模型的反卷积层数可以根据需要进行设置。可以理解的是,当反卷积层的层数越多时,人体关键点的检测精度越高,但相应的计算量就会越大,因此,反卷积的实际层数可以根据应用的场景和/或运行模型的设备的计算能力进行合理设置。
[0034] 在图2中,以G01为例,左边的(深色)方块为直接从提取的第一特征图中复制得到第一特征图,右边的(浅色)方块为对前一层进行反卷积得到的第三特征图,其中,左边方块的分辨率与右边方块的分辨率相同,例如,G01中的右边方块的分辨率为32*24,则从第一特征图中复制分辨率为32*24的第一特征图作为左边方块的内容。在进行G02(下一层)的反卷积时,将G01中的左边方块与右边方块进行组合后进行反卷积,具体可以将是左边方块对应的第一特征图与右边方块对应的第三特征图并排放置,然后使用反卷积的卷积核对并排放置的特征图进行反卷积。
[0035] 在一个具体的例子中,S102包括:在进行第一层的反卷积时,关键点检测模型利用第二子模块根据最小分辨率的第一特征图进行反卷积。
[0036] 继续参考图2,在进行G00(第一层)的反卷积时,直接使用图2中左边最长的方块(即最小分辨率的第一特征图)进行反卷积。可选地,最小分辨率的第一特征图为第一子模块的子神经网络的最后一层卷积层提取的特征图。
[0037] S103:利用关键点检测模型的第三子模块根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。
[0038] 其中,人体关键点的个数可以根据实际情况进行设置,例如是14、16或63等,这里不做具体限定。
[0039] 可选地,关键点检测模型利用第三子模块根据人体关键点的个数对第二子模块得到的第二特征图进行卷积,输出与人体关键点的个数相同的热力图,其中,每一热力图对应一个人体关键点;然后关键点检测模型再根据所有的热力图确定目标人体图像的所有的人体关键点。可选地,第三子模块对第二特征图进行卷积时,卷积核的尺寸使用1*1的尺寸。
[0040] 与现有技术相比,本发明实施方式提供的人体关键点检测方法,通过关键点检测模型提取目标人体图像多组不同分辨率的第一特征图;根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,将分辨率与前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积;根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。由于第三特征图的信息与组合的第一特征图的信息可以互相弥补,因此将两个特征图组合后进行反卷积,可以使关键点检测模型学习到目标人体图像中更多的人体关键点的信息,从而有效地提高人体关键点的检测精度和人体姿态估计结果的准确性。
[0041] 本发明的第二实施方式涉及一种人体关键点检测方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,包括:在进行每一层的反卷积时,利用第二子模块根据通道数将反卷积分为若干组。通过将反卷积分为若干组进行,可以使关键点检测模型的运算量大幅减少,从而使关键点检测模型可以在计算能力较低的移动终端上运行,拓宽人体关键点检测方法的应用范围。
[0042] 本发明实施方式提供的人体关键点检测方法的具体流程如图3所示,具体包括以下步骤:
[0043] S201:利用关键点检测模型的第一子模块提取目标人体图像的第一特征图,其中,第一特征图包括多组不同分辨率的特征图。
[0044] S202:利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,利用第二子模块将分辨率前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积,在进行每一层的反卷积时,利用第二子模块根据通道数将反卷积分为若干组。
[0045] S203:利用关键点检测模型的第三子模块根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。
[0046] 其中,S201和S203分别与第一实施方式中的S101和S103相同,具体可以参见第一实施方式中的描述,为了避免重复,这里不再赘述。
[0047] 对于S202,可以理解的是,为了输出多个人体关键点的热力图,需要使用多个卷积核对第一特征图进行反卷积,而卷积核的个数与通道数对应,因此,在每一层的反卷积中都会存在有多个通道数,关键点检测模型可以根据通道数将反卷积分为若干组进行。其中,每一层反卷积的分组数可以根据实际需要进行设置,例如分为2组、4组或8组等,这里不做具体限定。可选地,每一层反卷积的分组数可以相同也可以不同,例如图2中的G00与G01的分组数可以相同也可以不同。而为了方便对应前后层的反卷积,可以将每一层的分组数设置为相同的组数,例如均分为2组。
[0048] 为了评估反卷积的运算量,可以使用以下计算公式计算第i层反卷积的运算量:
[0049] FLOPsi=Ci‑1*Hi*Wi*Ci*C;
[0050] 其中,C表示常量,与反卷积的卷积核大小以及每次反卷积的运算量相关;Ci‑1表示反卷积输入的通道数,Ci表示反卷积输出的通道数,Hi和Wi分别表示反卷积输出的特征图的长和宽。
[0051] 由于Hi和Wi在分组时不会发生变化,而C为常量,因此若将反卷积进行2分组,Ci‑1和Ci均减少到原来的1/2,则每组的运算量减少为原来的1/4,总的运算量为原来(不分组)的1/2。若将反卷积进行4分组,Ci‑1和Ci均减少到原来的1/4,则每组的运算量减少为原来的1/
16,总的运算量为原来(不分组)的1/4。
[0052] 与现有技术相比,本发明实施方式提供的人体关键点检测方法,通过在进行每一层的反卷积时,根据通道数将反卷积分为若干组进行,可以使反卷积的运算量在原来的基础上大幅减少,从而使关键点检测模型可以在相同计算能力下通过增加模型运算量(如增加反卷积的层数)来提高人体关键点的检测精度,或者,使关键点检测模型在不增加模型运算量的情况下提高检测的速度,降低对运行模型的设备的计算能力要求,使关键点检测模型可以在计算能力较低的设备(例如移动终端)上运行,拓宽关键点检测模型及人体关键点检测方法的应用范围。
[0053] 为了进一步降低关键点检测模型对计算能力的要求,在一个具体的例子中,S201中,利用关键点检测模型的第一子模块提取目标人体图像的第一特征图,具体可以为:利用第一子模块根据轻量级卷积神经网络获取目标人体图像的第一特征图。
[0054] 其中,轻量级卷积神经网络具体可以根据实际需要选用,例如为MobileNet V2或ShuffleNet v2等,这里不做具体限制。由于轻量级卷积神经网络可以减少关键点检测模型对计算能力的要求,因此根据轻量级卷积神经网络获取第一特征图,可以从整体上降低关键点检测模型对运行模型的设备的计算能力要求。
[0055] 在一个具体的例子中,上述利用第一子模块根据轻量级卷积神经网络获取目标人体图像的第一特征图,可以进一步细化为:利用第一子模块将轻量级卷积神经网络最后一层卷积层的通道数减少至预设个数,根据减少通道数后的轻量级卷积神经网络获取目标人体图像的第一特征图。
[0056] 其中,预设个数可以根据训练的效果而决定,若将轻量级卷积神经网络最后一层卷积层的通道数减少后,检测的效果与减少前相比降低的程度在可以接收范围内,则将减少后的通道数作为预设个数进行应用。可以理解的是,将通道数减少至预设个数,可以进一步减少轻量级卷积神经网络的运算量。例如,若轻量级卷积神经网络为MobileNet V2,若将MobileNet V2最后一层的通道数从1280减少至160时,关键点检测模型的检测精度仅下降0.5%,则可以将160作为最后一层通道的预设个数。
[0057] 通过合理设置预设个数并将轻量级卷积神经网络最后一层卷积层的通道数减少至预设个数,可以使关键点检测模型在检测效果相差不大的情况下减少轻量级卷积神经网络的运算量,从而进一步降低关键点检测模型对运行模型的设备的计算能力要求。
[0058] 本发明的第三实施方式涉及一种人体关键点检测方法。第三实施方式与第一实施方式大致相同,主要区别之处在于:利用关键点检测模型的第三子模块根据第二特征图输出目标人体图像的各个人体关键点的热力图,包括:利用第三子模块根据人体肢体空间关系对第二特征图进行分组卷积,根据分组卷积的结果输出目标人体图像的各个人体关键点的热力图。由于人体相同部位的肢体在图像中具有较为固定的空间关系,因此根据人体肢体空间关系对第二特征图进行分组卷积,可以使人体关键点的检测更加准确。
[0059] 本发明实施方式提供的人体关键点检测方法的具体流程如图4所示,具体包括以下步骤:
[0060] S301:利用关键点检测模型的第一子模块提取目标人体图像的第一特征图,其中,第一特征图包括多组不同分辨率的特征图。
[0061] S302:利用关键点检测模型的第二子模块根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,利用第二子模块将分辨率前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积。
[0062] S303:利用关键点检测模型的第三子模块根据人体肢体空间关系对第二特征图进行分组卷积,根据分组卷积的结果输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。
[0063] 其中,S301和S302分别与第一实施方式中的S101和S102相同,具体可以参见第一实施方式中的描述,为了避免重复,这里不再赘述。
[0064] 对于S303,具体地,由于人体中同一部位的肢体在目标人体图像中会存在较为固定的空间关系,例如,手部中各个人体关键点的相对位置会相互邻近,并且,同一部位的肢体由于集中在目标人体图像的某个区域,在目标人体图像中的特征一般也较为类似,因此根据人体肢体空间关系对第二特征图进行分组卷积,可以使关键点检测模型在同一组卷积中互相学习和参考同一部位肢体的空间位置和图像特征,从而有效地提高人体关键点的检测精度。
[0065] 可选地,根据人体肢体空间关系对第二特征图的具体分组,可以根据实际需要设置分组数,这里不做具体限制。例如,可以根据头部、躯干、手部、和脚部等区域进行分组。可选地,还可以对某中一个部位进行细分从而得到新的分组,例如,将手部中的左手和右手各分为一组。
[0066] 可以理解的是,根据人体肢体空间关系对第二特征图进行分组卷积,在训练的过程中,第二特征图的分组卷积可以通过反向传播算法影响到关键检测模型的前面分组反卷积及其它部分,使关键点检测模型整体的检测效果是根据人体肢体空间关系得到的,从而有效地提高人体关键点的检测精度。
[0067] 在一个具体的例子中,利用第三子模块根据人体肢体空间关系对第二特征图进行分组卷积,具体可以为:利用第三子模块根据预设的关键点分组对第二特征图进行分组卷积,其中,关键点分组中的每一组的第二特征图包括处于邻近位置、并属于人体同一肢体位置的第一人体关键点的第二特征图,第一人体关键点为根据人体肢体空间关系预先定义的关键点。
[0068] 请参考图5,其为本发明实施方式提供的人体关键点检测方法的检测示例图。在图5中,人体关键点分为63个关键点,每一关键点为根据人体肢体空间关系预先定义的关键点,例如,0和58人体关键点分别是指颈部的左右两边的点。在图5中,每个框表示一个分组,其中头部的关键点分为一组、手部分为四组,躯干部分为两组、脚部分为两组。
[0069] 可以理解的是,图5的人体关键点为目标人体图像的边缘点,当需要知道目标人体图像中骨架所在的关键点时,可以根据骨架所在的关键点与图中定义的人体关键点的相对位置或相对距离计算得到。
[0070] 与现有技术相比,本发明实施方式提供的人体关键点检测方法,根据人体肢体空间关系对第二特征图进行分组卷积,根据分组卷积的结果输出目标人体图像的各个人体关键点的热力图。由于人体中同一部位的肢体在目标人体图像中存在较为固定的空间关系,且同一部位的肢体在目标人体图像中的特征也较为类似,因此根据人体肢体空间关系对第二特征图进行分组卷积,可以使关键点检测模型在同一组卷积中互相学习和参考同一部位肢体的空间位置和图像特征,从而有效地提高人体关键点的检测精度。
[0071] 上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0072] 本发明第四实施方式涉及一种人体关键点检测装置400,如图6所示,包含:提取模块401、反卷积模块402和检测模块403,各模块功能详细说明如下:
[0073] 提取模块401,用于提取目标人体图像的第一特征图,第一特征图包括多组不同分辨率的特征图;
[0074] 反卷积模块402,用于根据第一特征图进行若干层的反卷积,得到第二特征图,其中,在进行下一层的反卷积时,将分辨率前一层反卷积得到的第三特征图相同的第一特征图和第三特征图组合后进行反卷积;
[0075] 检测模块403,用于根据第二特征图输出目标人体图像的各个人体关键点的热力图,并根据热力图确定目标人体图像的各个人体关键点。
[0076] 进一步地,反卷积模块402还用于:
[0077] 在进行每一层的反卷积时,根据通道数将反卷积分为若干组。
[0078] 进一步地,反卷积模块402还用于:
[0079] 在进行第一层的反卷积时,根据最小分辨率的第一特征图进行反卷积。
[0080] 进一步地,检测模块403还用于:
[0081] 根据人体肢体空间关系对第二特征图进行分组卷积,根据分组卷积的结果输出目标人体图像的各个人体关键点的热力图。
[0082] 进一步地,检测模块403还用于:
[0083] 根据预设的关键点分组对第二特征图进行分组卷积,其中,关键点分组中的每一组的第二特征图包括处于邻近位置、并属于人体同一肢体位置的第一人体关键点的第二特征图,第一人体关键点为根据人体肢体空间关系预先定义的关键点。
[0084] 进一步地,提取模块401还用于:
[0085] 根据轻量级卷积神经网络获取目标人体图像的第一特征图。
[0086] 进一步地,提取模块401还用于:
[0087] 将轻量级卷积神经网络最后一层卷积层的通道数减少至预设个数,根据减少通道数后的轻量级卷积神经网络获取目标人体图像的第一特征图。
[0088] 不难发现,本实施方式为与第一实施方式、第二实施方式及第三实施方式相对应的装置实施例,本实施方式可与第一实施方式、第二实施方式及第三实施方式互相配合实施。第一实施方式、第二实施方式及第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式、第二实施方式及第三实施方式中。
[0089] 值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
[0090] 本发明第五实施方式涉及一种网络设备,如图7所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述的人体关键点检测方法。
[0091] 其中,存储器502和处理器501利用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
[0092] 处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
[0093] 本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
[0094] 即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0095] 本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。