人体关键点检测方法和装置、电子设备、存储介质和程序与流程

文档序号:14836464发布日期:2018-06-30 12:37阅读:138来源:国知局
人体关键点检测方法和装置、电子设备、存储介质和程序与流程

本发明涉及人工智能技术,尤其是一种人体关键点检测方法和装置、电子设备、存储介质和程序。



背景技术:

人体关键点检测技术是人体视频数据自动处理、人体行为分析和人机交互的基础,可以为视频结构化提供重要的技术支撑。

一种相关的人体关键点检测技术主要基于深度传感器实现,以深度传感器获取的深度图像为输入检测人体关键点的位置。

另一种相关的人体关键点检测技术为基于黄绿蓝(RGB)摄像头的人体关键点检测系统,主要包括人体定位和人体关键点定位两部分。该人体关键点检测系统以普通RGB摄像头采集的图像为输入,获取人体外接框并基于该人体外接框进行人体关键点检测。



技术实现要素:

本发明实施例提供一种用于人体关键点检测的技术方案。

根据本发明实施例的一个方面,提供的一种人体关键点检测方法,包括:

对图像进行人脸检测,获得所述图像中人脸的位置信息;

根据所述人脸的位置信息,确定所述人脸对应的人体中心点的位置信息;

根据所述人体中心点的位置信息,对所述图像进行人体关键点检测。

可选地,在本发明上述各方法实施例中,所述根据所述人脸的位置信息,确定所述人脸对应的人体中心点的位置信息,包括:

根据所述人脸的位置信息,从所述图像中获取具有第一预设尺寸的第一图像块,所述第一图像块包括所述人脸对应的人体的至少一部分;

根据所述第一图像块和头身映射网络,确定所述人脸对应的人体中心点的位置信息。

可选地,在本发明上述各方法实施例中,所述人脸的位置信息包括所述人脸的中心位置和所述人脸的尺寸信息;

所述根据所述人脸的位置信息,从所述图像中获取具有第一预设尺寸的第一图像块,包括:

根据所述人脸的尺寸信息,确定所述图像的归一化参数;

根据所述图像的归一化参数,对所述图像进行尺寸归一化处理,得到尺寸归一化后的图像;

根据所述人脸的中心位置,在所述尺寸归一化后的图像中截取所述具有第一预设尺寸的第一图像块。

可选地,在本发明上述各方法实施例中,所述根据所述人脸的尺寸信息,确定所述图像的归一化参数,包括:

根据所述人脸的尺寸信息,确定将所述人脸的尺寸缩放到预设的归一化人脸尺寸所对应的归一化参数。

可选地,在本发明上述各方法实施例中,所述根据所述人脸的中心位置,在所述尺寸归一化后的所述图像中截取所述具有第一预设尺寸的第一图像块,包括:

从所述尺寸归一化后的图像中截取以所述人脸的中心位置为中心、大小为所述归一化人脸尺寸的M倍的图像块,并将截取的所述图像块缩放到所述第一预设大小,获得所述第一图像块,其中,M的取值大于3且小于20。

可选地,在本发明上述各方法实施例中,所述根据所述人体中心点的位置信息,对所述图像进行人体关键点检测,包括:

根据所述人体中心点的位置信息,从所述图像中获取具有第二预设尺寸的第二图像块,所述第二图像块包括所述人脸对应的人体的至少一部分;

通过人体关键点检测网络,在所述第二图像块中进行人体关键点检测。

可选地,在本发明上述各方法实施例中,所述根据所述人体中心点的位置信息,从所述图像中获取具有第二预设尺寸的第二图像块,包括:

从尺寸归一化后的所述图像中截取以所述人体中心点的位置为中心、所述具有第二预设尺寸的第二图像块。

可选地,在本发明上述各方法实施例中,所述在所述第二图像块中进行人体关键点检测,包括:

对所述第二图像块进行人体关键点检测,获得所述第二图像块中所述人体的关键点的位置。

可选地,在本发明上述各方法实施例中,所述对所述第二图像块进行人体关键点检测,获得所述第二图像块中所述人体的关键点的位置,包括:

对所述第二图像块中的所述人体进行关键点检测,获取所述第二图像块针对所述人体的至少一个关键点中每个关键点的置信度图像,所述关键点的置信度图像包含所述第二图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;

将所述关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在所述第二图像块中的位置。

可选地,在本发明上述各方法实施例中,在所述获得所述第二图像块中所述人体的关键点的位置之后,所述方法还包括:

根据所述第二图像块中所述人体的关键点的位置和所述第二图像块在所述图像中的位置,确定所述人体的关键点在所述图像中的位置。

可选地,在本发明上述各方法实施例中,所述根据所述第二图像块中所述人体的关键点的位置和所述第二图像块在所述图像中的位置,确定所述人体的关键点在所述图像中的位置,包括:

根据所述第二图像块中所述人体的关键点的位置和所述第二图像块在尺寸归一化后的所述图像中的位置,由所述第二图像块中所述人体的关键点的位置获取所述人体的关键点在所述尺寸归一化后的图像中的位置;

基于所述人体的关键点在所述尺寸归一化后的图像中的位置和所述图像的归一化参数,确定所述人体的关键点在所述图像中的位置。

可选地,在本发明上述各方法实施例中,所述人体关键点检测网络包括多个卷积神经网络;

所述对所述第二图像块中的所述人体进行关键点检测,获取所述第二图像块针对所述人体的至少一个关键点中每个关键点的置信度图像,包括:

通过所述多个卷积神经网络中每个卷积神经网络,提取所述第二图像块的图像特征,其中,所述多个卷积神经网络中的不同卷积神经网络提取的图像特征具有不同的尺度;

将所述多个卷积神经网络提取的不同尺度的图像特征进行拼接,获得拼接特征;

利用所述人体的至少一个关键点中每个关键点对应的分类器对所述拼接特征进行分类,获得所述第二图像块针对所述人体的至少一个关键点中每个关键点的置信度图像。

可选地,在本发明上述各方法实施例中,所述多个卷积神经网络中的第一卷积神经网络包括多个分别位于不同网络深度的卷积层;

所述通过所述多个卷积神经网络中每个卷积神经网络,提取所述第二图像块的图像特征,包括:

将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,所述第二特征是通过对所述第一特征经过至少一个卷积层依次进行特征提取得到的,所述第一卷积神经网络输出的所述第二图像块的图像特征是通过对融合特征进行处理得到的,1≤i<j。

可选地,在本发明上述各方法实施例中,所述人体关键点检测网络包括连接的M个网络块,每个所述网络块包括所述多个卷积神经网络,所述M个网络块中的第p网络块的输出为所述第p网络块包括的多个卷积神经网络得到的拼接特征,并且所述第p网络块输出的拼接特征输入到第p+1网络块中,其中,M≥2,p=1,…,M-1;

所述利用所述人体的多个关键点中每个关键点对应的分类器对所述拼接特征进行分类,获得所述第二图像块针对所述人体的多个关键点中每个关键点的置信度图像,包括:

利用所述人体的多个关键点中每个关键点对应的分类器对第M网络块输出的拼接特征进行分类,获得所述第二图像块针对所述人体的多个关键点中每个关键点的置信度图像。

可选地,在本发明上述各方法实施例中,所述人体关键点检测网络包括多个分别位于不同网络深度的卷积层;

所述对所述第二图像块中的所述人体进行关键点检测,获取所述第二图像块针对所述人体的至少一个关键点中每个关键点的置信度图像,包括:

将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,所述第二特征是通过对所述第一特征经过至少一个卷积层依次进行特征提取得到的,所述第二图像块的图像特征是通过对所述融合特征进行处理得到的,1≤i<j。

根据本发明实施例的另一个方面,提供的人体关键点检测装置,包括:

人脸检测模块,用于对图像进行人脸检测,获得所述图像中人脸的位置信息;

头身映射网络,用于根据所述人脸的位置信息,确定所述人脸对应的人体中心点的位置信息;

人体关键点检测网络,用于根据所述人体中心点的位置信息,对所述图像进行人体关键点检测。

可选地,在本发明上述各装置实施例中,还包括:

第一截取模块,用于根据所述人脸的位置信息,从所述图像中获取具有第一预设尺寸的第一图像块,所述第一图像块包括所述人脸对应的人体的至少一部分;

所述头身映射网络,具体用于根据所述第一图像块确定所述人脸对应的人体中心点的位置信息。

可选地,在本发明上述各装置实施例中,所述人脸的位置信息包括所述人脸的中心位置和所述人脸的尺寸信息;

所述第一截取模块,具体用于:

根据所述人脸的尺寸信息,确定所述图像的归一化参数;

根据所述图像的归一化参数,对所述图像进行尺寸归一化处理,得到尺寸归一化后的图像;

根据所述人脸的中心位置,在所述尺寸归一化后的图像中截取所述具有第一预设尺寸的第一图像块。

可选地,在本发明上述各装置实施例中,所述第一截取模块根据所述人脸的尺寸信息,确定所述图像的归一化参数时,具体用于:根据所述人脸的尺寸信息,确定将所述人脸的尺寸缩放到预设的归一化人脸尺寸所对应的归一化参数。

可选地,在本发明上述各装置实施例中,所述根据所述人脸的中心位置,在所述尺寸归一化后的所述图像中截取所述具有第一预设尺寸的第一图像块时,具体用于:从所述尺寸归一化后的图像中截取以所述人脸的中心位置为中心、大小为所述归一化人脸尺寸的M倍的图像块,并将截取的所述图像块缩放到所述第一预设大小,获得所述第一图像块,其中,M的取值大于3且小于20。

可选地,在本发明上述各装置实施例中,还包括:

第二截取模块,用于根据所述人体中心点的位置信息,从所述图像中获取具有第二预设尺寸的第二图像块,所述第二图像块包括所述人脸对应的人体的至少一部分;

所述人体关键点检测网络,具体用于通过人体关键点检测网络,在所述第二图像块中进行人体关键点检测。

可选地,在本发明上述各装置实施例中,所述第二截取模块,具体用于:从所述尺寸归一化后的所述图像中截取以所述人体中心点的位置为中心、所述具有第二预设尺寸的第二图像块。

可选地,在本发明上述各装置实施例中,所述人体关键点检测网络在所述第二图像块中进行人体关键点检测时,具体用于:对所述第二图像块进行人体关键点检测,获得所述第二图像块中所述人体的关键点的位置。

可选地,在本发明上述各装置实施例中,所述人体关键点检测网络对所述第二图像块进行人体关键点检测,获得所述第二图像块中所述人体的关键点的位置时,具体用于:

对所述第二图像块中的所述人体进行关键点检测,获取所述第二图像块针对所述人体的至少一个关键点中每个关键点的置信度图像,所述关键点的置信度图像包含所述第二图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;将所述关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在所述第二图像块中的位置。

可选地,在本发明上述各装置实施例中,还包括:

获取模块,用于根据所述第二图像块中所述人体的关键点的位置和所述第二图像块在所述图像中的位置,确定所述人体的关键点在所述图像中的位置。

可选地,在本发明上述各装置实施例中,所述获取模块,具体用于:

根据所述第二图像块中所述人体的关键点的位置和所述第二图像块在尺寸归一化后的所述图像中的位置,由所述第二图像块中所述人体的关键点的位置获取所述人体的关键点在所述尺寸归一化后的图像中的位置;

基于所述人体的关键点在所述尺寸归一化后的图像中的位置和所述图像的归一化参数,确定所述人体的关键点在所述图像中的位置。

可选地,在本发明上述各装置实施例中,所述人体关键点检测网络包括:

多个卷积网络,分别用于通过所述多个卷积网络中每个卷积网络,提取所述第二图像块的图像特征,其中,所述多个卷积网络中的不同卷积网络提取的图像特征具有不同的尺度;

拼接单元,用于将所述多个卷积网络提取的不同尺度的图像特征进行拼接,获得拼接特征;

人体至少一个关键点中各关键点对应的分类器,分别用于对所述拼接特征进行分类,获得所述第二图像块针对所述人体的至少一个关键点中每个关键点的置信度图像。

可选地,在本发明上述各装置实施例中,每个所述网络包括多个分别位于不同网络深度的卷积层;

所述多个卷积网络中的第一卷积网络,具体用于:将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,所述第二特征是通过对所述第一特征经过至少一个卷积层依次进行特征提取得到的,所述第一卷积网络输出的所述第二图像块的图像特征是通过对融合特征进行处理得到的,1≤i<j。

可选地,在本发明上述各装置实施例中,所述人体关键点检测网络包括M个网络块,每个所述网络块包括所述多个卷积网络,所述M个网络块中的第p网络块的输出为所述第p网络块包括的多个卷积网络得到的拼接特征,并且所述第p网络块输出的拼接特征输入到第p+1网络块中,其中,M≥2,p=1,…,M-1;

人体至少一个关键点中各关键点对应的分类器,分别具体用于:对第M网络块输出的拼接特征进行分类,获得所述第二图像块针对所述人体的多个关键点中每个关键点的置信度图像。

可选地,在本发明上述各装置实施例中,所述人体关键点检测网络包括:

多个分别位于不同网络深度的卷积层,分别用于进行特征提取;

融合单元,用于将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,所述第二特征是通过对所述第一特征经过至少一个卷积层依次进行特征提取得到的,所述第二图像块的图像特征是通过对所述融合特征进行处理得到的,1≤i<j;

人体至少一个关键点中各关键点对应的分类器,分别用于对所述第二图像块的图像特征进行分类,获得所述第二图像块针对所述人体的至少一个关键点中每个关键点的置信度图像。

根据本发明实施例的再一个方面,提供的一种电子设备,包括:

存储器,用于存储可执行指令;以及

处理器,用于与所述存储器通信以执行所述可执行指令从而完成本发明上述任一实施例所述人体关键点检测方法的操作。

根据本发明实施例的再一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,所述指令被执行时实现本发明上述任一实施例所述人体关键点检测方法的操作。

根据本发明实施例的再一个方面,提供的一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述的人体关键点检测方法。

在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如软件开发包(Software Development Kit,SDK),等等。

根据本发明实施例的再一个方面,提供的一种计算机程序,包括计算机可读取的指令,当所述计算机可读取的指令在设备中运行时,所述设备中的处理器执行用于实现本发明上述任一实施例所述人体关键点检测方法中的步骤的可执行指令。

基于本发明上述实施例提供的人体关键点检测方法和装置、电子设备、存储介质和程序,对图像进行人脸检测,获得图像中人脸的位置信息后,根据该人脸的位置信息,确定人脸对应的人体中心点的位置信息;根据人体中心点的位置信息,对图像进行人体关键点检测。本发明实施例通过检测人脸位置、人体中心点位置进行人体关键点检测,而不需要输出完整的人体外接框,由于人体中心点位置一般位于人体的上半身躯干范围内,而上半身躯干的形变相对较小,因此本发明实施例受人体复杂姿态的影响较小,检测出的人体关键点位置准确度较高。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明人体关键点检测方法一个实施例的流程图。

图2为本发明人体关键点检测方法又一个实施例的流程图。

图3为本发明人体关键点检测装置一个实施例的结构示意图。

图4为本发明人体关键点检测装置另一个实施例的结构示意图。

图5为本发明实施例中人体关键点检测网络一个实施例的结构示意图。

图6为本发明实施例中人体关键点检测网络另一个实施例的结构示意图。

图7为本发明电子设备一个应用实施例的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

在实现本发明的过程中,本发明人通过研究发现,现有技术至少存在如下问题:

基于深度传感器实现的人体关键点检测技术由于需要深度传感器实现,深度传感器价格昂贵、不易安装和部署;

基于RGB摄像头的人体关键点检测系统需要准确的检测人体位置,而人体位置受人体姿态影响较大,从而导致检测出的人体关键点位置不准确。

图1为本发明人体关键点检测方法一个实施例的流程图。如图1所示,该实施例的人体关键点检测方法包括:

102,对图像进行人脸检测,获得该图像中人脸的位置信息。

本发明实施例中的图像可以通过任意摄像头采集获得的头像,例如RGB摄像头或深度摄像头等采集获得的图像,相应地,该图像可以是彩图图像等,本申请实施例对此不做限定。

104,根据上述人脸的位置信息,确定上述人脸对应的人体中心点的位置(即:人体中心位置)信息。

106,根据上述人体中心点的位置信息,对上述图像进行人体关键点检测。

基于本发明上述实施例提供的人体关键点检测方法,对图像进行人脸检测,获得图像中人脸的位置信息后,根据该人脸的位置信息,确定人脸对应的人体中心点的位置信息;根据人体中心点的位置信息,对图像进行人体关键点检测。本发明实施例可以通过检测人脸位置和人体中心点位置进行人体关键点检测,由于人体中心点位置一般位于人体的上半身躯干范围内,而上半身躯干的形变相对较小,因此与其他根据完整的人体外接框进行关键点检测的方式相比,本发明实施例受人体复杂姿态的影响较小,检测出的人体关键点位置准确度较高。

在本发明实施例通过RGB摄像头采集的图像进行人体关键点检测时,由于无需借助于额外的例如深度传感器的输入信息,设备易于安装和部署,价格较低。

在本发明实施例提供的人体关键点检测方法各实施例的其中一种实施方式中,上述操作104可以包括:根据上述人脸的位置信息,从上述图像中获取具有第一预设尺寸的第一图像块,该第一图像块可以包括上述人脸对应的人体的至少一部分;根据该第一图像块和头身映射网络,确定上述人脸对应的人体中心点的位置信息。

在本发明各实施例的一个可选方式中,头身映射网络可以是神经网络,例如深度神经网络。

可选地,第一图像块包括人体的至少一部分,作为一个可选例子,该第一图像块可以包括人体中心点及其以上的部分,或包括人体上半身,等等,本申请实施例对第一图像块的具体实现不做限定。

在一个或多个实现方式中,可以将第一图像块输入到头身映射网络,利用头身映射网络对该第一图像块进行处理,得到人体中心点的位置信息。

在本发明实施例的一个或多个实现方式中,人体中心点可以包括位于人体中心的一个点或位于人体中心区域的多个点,本申请实施例对该人体中心点的具体实现不作限定。可选地,人脸的位置信息可以用于指示人脸的位置,在一个或多个实施方式中,人脸的位置信息可以包括人脸的中心位置,或者包括人脸的多个边界点的位置,等等,本申请实施例对人脸的位置信息的具体实现不做限定。作为一个可选实施方式,人脸的位置信息可以包括人脸的中心位置和人脸的尺寸信息。其中,这里的人脸的尺寸信息可以包括人脸在图像中的尺寸,或者还可以包括其他信息,本申请实施例对此不做限定。

在一个可选实施方式中,根据人脸的位置信息,从上述图像中获取具有第一预设尺寸的第一图像块,可以包括:

根据人脸的尺寸信息,确定图像的归一化参数;

根据该图像的归一化参数,对图像进行尺寸归一化处理,得到尺寸归一化后的图像;

根据上述人脸的中心位置,在尺寸归一化后的图像中截取具有第一预设尺寸的第一图像块。例如,在其中一个或多个可选实施方式中,在尺寸归一化后的图像中截取以上述人脸的中心位置为中心、具有第一预设尺寸的第一图像块,也可以以距离上述人脸的中心位置预设距离的位置为中心,在尺寸归一化后的图像中截取具有第一预设尺寸的第一图像块。

示例性地,根据人脸的尺寸信息,确定图像的归一化参数,可以包括:

根据上述人脸的尺寸信息,确定将上述人脸的尺寸归一化(即:缩放)到预设归一化人脸尺寸对应的归一化参数。

示例性地,上述在尺寸归一化后的图像中截取以上述人脸的中心位置为中心、具有第一预设尺寸的第一图像块,可以包括:从尺寸归一化后的图像中截取以上述人脸的中心位置为中心、大小为预设归一化人脸尺寸的M倍的图像块,并将该截取的图像块缩放到第一预设大小,获得上述第一图像块,其中,M的取值大于3且小于20。

在上述实施例中,根据上述人脸的位置信息,先从原始图像中截取具有第一预设尺寸的第一图像块,再通过头身映射网络预测该人脸对应的人体中心点的位置信息,缩小了人体中心位置的检测范围,提高了人体中心位置的预测效率和预测准确率,并可以提高头身映射网络的训练效率。

在本发明人体关键点检测方法各实施例的另一种实施方式中,上述操作106可以包括:根据上述人体中心点的位置信息,从上述原始图像中获取具有第二预设尺寸的第二图像块,该第二图像块包括上述人脸对应的人体的至少一部分;通过人体关键点检测网络,在该第二图像块中进行人体关键点检测。

在本发明各实施例的一个可选方式中,人体关键点检测网络可以是神经网络,例如深度神经网络。

可选地,第二图像块包括人体的至少一部分,作为一个可选例子,该第二图像块可以包括以人体中心点为中心、具有第二预设尺寸的部分,或包括人体上半身的部分,或同时包括人体上半身和下半身的一部分,等等,本申请实施例对第二图像块的具体实现不做限定。

在一个或多个实现方式中,可以将第二图像块输入到人体关键点检测网络,利用人体关键点检测网络对该第二图像块进行人体关键点检测。

可选地,在其中一个示例中,根据上述人体中心点的位置信息,从上述原始图像中获取具有第二预设尺寸的第二图像块,可以包括:从尺寸归一化后的图像中截取以上述人体中心点的位置为中心、具有第二预设尺寸的第二图像块。

可选地,在上述实施方式中,在第二图像块中进行人体关键点检测,可以包括:对第二图像块进行人体关键点检测,获得第二图像块中人体的关键点的位置。

示例性地,对第二图像块进行人体关键点检测,获得第二图像块中人体的关键点的位置,可以包括:

对第二图像块中的人体进行关键点检测,分别获取第二图像块针对人体的至少一个关键点中各关键点的置信度图像,其中,一个关键点的置信度图像包含第二图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;

将关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在第二图像块中的位置。

基于上述实施方式,在本发明人体关键点检测方法的另一实施例中,获得第二图像块中人体的关键点的位置之后,还可以包括:根据第二图像块中人体的关键点的位置和第二图像块在图像中的位置,确定人体的关键点在图像中的位置。

在其中一个可选的实施方式中,可以通过如下方式,根据第二图像块中人体的关键点的位置和第二图像块在所述图像中的位置,确定人体的关键点在图像中的位置:

根据第二图像块中人体的关键点的位置和第二图像块在尺寸归一化后的图像中的位置,由第二图像块中人体的关键点的位置获取人体的关键点在尺寸归一化后的图像中的位置;

基于人体的关键点在尺寸归一化后的图像中的位置和上述归一化参数,由人体的关键点在尺寸归一化后的图像中的位置确定人体的关键点在原始图像中的位置。

上述实施例中,先根据上述人体中心点的位置信息从原始图像中截取具有第二预设尺寸的第二图像块,再通过人体关键点检测网络,在该第二图像块中进行人体关键点检测,缩小了关键点检测范围,提高了关键点检测的效率和准确率,上述实施例用于人体关键点检测网络的训练时,可以提高人体关键点检测网络的训练效率。

图2为本发明人体关键点检测方法又一个实施例的流程图。如图2所示,该实施例的人体关键点检测方法包括:

202,对图像进行人脸检测,获得该图像中人脸的位置信息,包括人脸的中心位置和人脸的尺寸(即:图像尺寸)信息。

其中,人脸的尺寸信息可以指示人脸在图像中的尺寸,作为一个例子,人脸的尺寸信息可以包括人脸长度w和人脸宽度h,即人脸在图像中的长度w和人脸在图像中的宽度h。人脸的中心位置可以指图像中人脸的中心的位置坐标,但本申请实施例对此不做限定。

204,通过人脸的尺寸信息,计算将上述人脸的尺寸归一化到预设归一化人脸尺寸对应的归一化参数。

可以根据人脸的尺寸信息,对图像进行归一化处理(即尺寸归一化处理),以使得归一化处理后的图像中的人脸尺寸为预设的归一化人脸尺寸。其中,该预设的归一化人脸尺寸可以具体为归一化的人脸宽度,也可以是归一化的人脸长度,或者为归一化的人脸长度与归一化的人脸宽度之和,等等,本申请实施例对此不做限定。该归一化人脸尺寸的数值可以根据实际需要设置,例如可以为29个像素,本申请实施例对其具体实现不作限定。

可选地,对图像进行归一化处理时采用的归一化参数可以是根据人脸的尺寸信息和预设的归一化人脸尺寸确定的。在本发明各实施例的其中一种可选示例中,归一化参数S可以通过下式确定:S=Wr/(w+h),其中,Wr为预设的归一化人脸尺寸。当归一化人脸尺寸Wr是归一化的人脸宽度时,通过上式计算归一化参数S,可以防止由于人脸角度带来的人脸长度和/或人脸宽度影响。

206,根据归一化参数对上述图像进行尺寸归一化处理,获得尺寸归一化后的图像。

作为一个可选例子,可以采用插值方式对图像进行归一化处理。例如,原始图像的长度和宽度分别为W和H,则可以通过对原始图像进行插值,例如双线性插值法或其他插值法,将原始图像归一化至尺寸为W×S、H×S的图像,但本申请实施例对此不做限定。

208,从尺寸归一化后的图像中截取以人脸的中心位置为中心、具有第一预设尺寸的第一图像块。

在本发明各实施例的其中一种可选示例中,可以从尺寸归一化后的图像中截取以人脸的中心位置为中心、大小为归一化人脸尺寸的M倍的图像块并缩放到上述第一预设尺寸,获得第一图像块,其中,M的取值可以大于3且小于20。

第一预设大小可以根据实际需要设置,在一个可选例子中,第一预设大小例如可以是256*256像素,但本申请实施例对第一预设大小的具体实现不做限定。

可选地,考虑到人的头身比例,M的取值可以为6~11,此时,第一图像块可以包括人体中心点,具体可以包括人体上半身或者人体上半身的大部分或包括人体上半身以及人体下半身的一部分,可以根据实际情况的不同而不同,本申请实施例对此不做限定。

作为一个可选例子,M=9。本发明人通过数据统计发现,人身体长度大约是人头长度的8倍,M的取值为9时,可以从尺寸归一化后的图像中截取以人脸的中心位置为中心、归一化人脸尺寸的9倍长度的图像块,该图像块可以包括人体完整的上半身体,并且还可以包括图像中的一部分背景信息,从而有助于后续的图像特征提取和关键点检测。此外,由于第一图像块用于预测人体的中心位置,而人体中心位置一般位于人体的上半身,因此人体的下本身对于人体的中心位置的预测不是很重要,第一图像块中可以不包括腿等人体下半身的部分,从而降低数据处理量,提高检测效率。

210,通过头身映射网络,确定上述第一图像块中人脸对应的人体中心点的位置。

可以利用头身映射网络对第一图像块进行处理,得到人体中心点的位置。可选地,可以将第一图像块直接输入到头身映射网络,或者可以将第一图像块进行一种或多种预处理,并将预处理后的第一图像块输入到头身映射网络。可选地,人体中心点的位置可以包括在头身映射网络的输出中,或者是通过对头身映射网络的输出进行一种或多种处理之后得到的,本申请实施例对此不做限定。

可选地,头身映射网络可以是网络或者其他类型的网络,本申请实施例对此不做限定。

212,从尺寸归一化后的图像中截取以上述人体中心点的位置为中心、具有第二预设尺寸的第二图像块。

在本发明各实施例的其中一种可选示例中,第一预设尺寸可以与第二预设尺寸相同,也可以与第二预设尺寸不同。

可选地,这里的尺寸归一化后的图像可以是上文中利用归一化参数S对图像进行归一化处理后得到的图像,也可以是利用其它归一化参数进行归一化处理后得到的图像,本申请实施例对此不做限定。

作为一个例子,该截取第二图像块的过程可以参照上文对第一图像块的截取过程的描述,这里不再赘述。

214,通过人体关键点检测网络,对上述第二图像块进行关键点检测,获得第二图像块中人体的关键点的位置。

基于本实施例,根据人脸的尺寸信息对图像进行尺寸归一化处理,可以使人体被归一化到预设尺寸,从尺寸归一化后的图像中截取第二图像块预测人体中心点的位置、进行关键点检测,可以提高人体中心位置预测和关键点检测的效率,本实施例用于头身映射网络的训练时,可以降低头身映射网络和人体关键点检测网络的图像学习难度。

216,基于人体的关键点在第二图像块中的位置和第二图像块在尺寸归一化后的图像中的位置关系,由人体的关键点在第二图像块中的位置获取人体的关键点在尺寸归一化后的图像中的位置。

在本发明各实施例的其中一种可选示例中,该操作216可以通过如下方式实现:

对第二图像块中的人体进行关键点检测,分别获取该第二图像块针对上述人体的至少一个关键中各关键点的置信度图像,该置信度图像包含第二图像块中每个位置被判断为该置信度图像所属关键点的置信度;将关键点的置信度图像中置信度最大的位置确定为所属关键点在第二图像块中的位置。

在一些实施例中,该至少一个关键点可以是人体的部分或所有关键点。可选地,针对某个关键点的置信度图像,该置信度图像可以包括第二图像块中至少一个位置中每个位置被判断为该关键点的置信度,其中,该至少一个位置可以具体指该第二图像块中的部分或所有位置或像素点,本申请实施例对此不做限定。

218,根据第二图像块中人体的关键点的位置和该第二图像块在上述图像(即:原始图像)中的位置,确定人体的关键点在上述图像中的位置。

在本发明各实施例的其中一种可选示例中,该操作218可以通过如下方式实现:根据第二图像块中人体的关键点的位置和第二图像块在尺寸归一化后的图像中的位置,由第二图像块中人体的关键点的位置获取人体的关键点在尺寸归一化后的图像中的位置;基于人体的关键点在尺寸归一化后的图像中的位置和上述归一化参数,由上述人体的关键点在尺寸归一化后的图像中的位置获取该人体的关键点在上述图像中的位置。

在本发明各实施例的第一个可选实施方式中,人体关键点检测网络可以包括多个卷积神经网络,该多个卷积神经网络分别作为一个分支,形成多个不同分支的卷积神经网络,不同分支的卷积神经网络可以包括不同数量的网络层,和/或不同分支的卷积神经网络中一个以上网络层参数可以不同。相应地,该可选示例中,对第二图像块中的人体进行关键点检测,获取第二图像块针对人体的至少一个关键点中每个关键点的置信度图像,可以包括:

分别通过上述多个不同分支的卷积神经网络中的每个卷积神经网络,提取第二图像块的图像特征;其中,不同卷积神经网络提取的图像特征具有不同的尺度;

将上述多个不同分支的卷积神经网络提取的不同尺度的图像特征进行拼接,获得拼接特征;

分别通过上述各关键点对应的分类器对上述拼接特征进行分类,获得第二图像块针对上述人体的至少一个关键点中各关键点的置信度图像。

该实施例构建了多分支网络结构,可以通过不同分支的卷积神经网络提取第二图像块不同尺度的图像特征并进行拼接,从而可以针对第二图像块同时捕捉不同层次的全局信息和细节信息,基于得到的拼接特征而非单一尺度的特征进行关键点决策,提高了关键点检测的准确率。

在上述实施方式的一个可选示例中,上述多个分支的卷积神经网络中的其中一个或任意多个卷积神经网络,此处称为第一卷积神经网络,可以包括多个分别位于不同网络深度的卷积层。相应地,该示例中,通过多个卷积神经网络中的第一卷积神经网络,提取第二图像块的图像特征,可以包括:

将第一卷积神经网络中网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,第二特征是通过对第一特征经过至少一个卷积层依次进行特征提取得到的,第一卷积神经网络输出的第二图像块的图像特征是通过对融合特征进行处理得到的,1≤i<j。

其中,对不同网络深度的卷积层提取的特征进行融合的方式,可以是不同网络深度的卷积层提取的特征进行拼接或相加。

在一些实施例中,第一卷积神经网络输出的图像特征可以是该融合特征,或者可以是对该融合特征进行任意一种或多种处理得到的,例如可以将该融合特征输入到后续卷积层,并由后续卷积层对其进行特征提取处理,得到输出的图像特征,但本申请实施例不限于此。

本发明实施例中,第一卷积层和第二卷积层仅仅用于区分卷积神经网络中的不同网络深度的任意两个卷积层,并不表示具体的卷积层,并且,第一卷积层和第二卷积层可以是相邻的两个卷积层,也可以是中间相隔至少一个卷积层的两个卷积层,另外,本发明实施例中的卷积神经网络中,在第一卷积层之前可能包括一个或多个卷积层,在第二卷积层之后也可能包括一个或多个卷积层,本发明实施例对此不作任何限制。

在本发明各实施例的第二个可选实施方式中,人体关键点检测网络可以包括多个网络块(block),例如M个网络块,前一网络块的输出作为后一网络块的输入;每个网络块可以包括多个不同分支的卷积神经网络,即:上述第一个可选实施方式中人体关键点检测网络包括的多个不同分支的卷积神经网络构成该示例中的一个网络块,即:M个网络块中的第p网络块的输出为该第p网络块包括的多个卷积神经网络得到的拼接特征,并且该第p网络块输出的拼接特征输入到第p+1网络块中,其中,M≥2,p=1,…,M-1。相应地,该实施例中,利用人体的多个关键点中每个关键点对应的分类器对拼接特征进行分类,获得第二图像块针对人体的多个关键点中每个关键点的置信度图像,可以包括:利用人体的多个关键点中每个关键点对应的分类器对第M网络块输出的拼接特征进行分类,获得第二图像块针对人体的多个关键点中每个关键点的置信度图像。

在一些实施例中,每个网络块输出的特征可以输入到其后一网络块中,其中,每个网络块输出的特征都可以是通过前文所述的多个卷积神经网络的特征进行拼接得到的拼接特征。此时,可选地,关键点的置信度图像可以是通过分类器对最后一个网络块输出的特征(即拼接特征)进行分类得到的。

在本发明各实施例的第三个可选实施方式中,人体关键点检测网络可以包括L个嵌套网络块。其中,嵌套网络块具体可以为嵌套Inception模块或其他类型的嵌套模块,本公开实施例对此不做限定。本发明各实施例的嵌套网络块包括多个分支的网络块,该多个分支的网络块中至少一个分支的网络块中每个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度。其中,L的取值为大于0的整数。在本发明各实施例的其中一个实施方式中,每个或其中至少一个嵌套网络块包括的多个分支的网络块中,不同分支的网络块的数量不同。在本发明各实施例的其中一个实施方式中,不同分支的卷积神经网络可以包括不同数量的网络层,和/或不同分支的卷积神经网络中一个以上网络层参数可以不同。相应地,该可选示例中,对第二图像块中的人体进行关键点检测,获取第二图像块针对人体的至少一个关键点中每个关键点的置信度图像,可以包括:分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对输入对象进行特征提取,得到第一输出特征,其中的输入对象包括第二图像块或者第一嵌套网络块的前一嵌套网络块输出的特征。具体来说,第一嵌套网络块为L个嵌套网络块中的第1个嵌套网络块时,输入对象为上述第二图像块;第一嵌套网络块为L个嵌套网络块中的第2个至第L个嵌套网络块中的任一网络块时,输入对象为前一个嵌套网络块输出的特征(即:第一输出特征);对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行拼接(concate),得到第二输出特征;利用人体的至少一个关键点中每个关键点对应的分类器对第二输出特征进行分类,获得上述第二图像块针对人体的至少一个关键点中每个关键点的置信度图像,其中,关键点的置信度图像包含上述图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;将关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在图像块中的位置。

另外,可选地,在上述第三个可选实施方式中,上述L个嵌套网络块还可以包括第二嵌套网络块,其中,该第二嵌套网络块的输入端与上述第一嵌套网络块的输出端连接。相应地,对第二图像块中的人体进行关键点检测,获取第二图像块针对人体的至少一个关键点中每个关键点的置信度图像,还可以包括:通过第二嵌套网络块对第一嵌套网络块输出的第二输出特征进行特征提取,得到第三输出特征。相应地,利用人体的至少一个关键点中每个关键点对应的分类器对第三输出特征进行分类,获得上述第二图像块针对人体的至少一个关键点中每个关键点的置信度图像,其中,关键点的置信度图像包含上述图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;将关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在图像块中的位置。

在本发明各实施例的第四个可选实施方式中,人体关键点检测网络可以包括多个分别位于不同网络深度的卷积层。相应地,该可选示例中,对第二图像块中的人体进行关键点检测,获取第二图像块针对人体的至少一个关键点中每个关键点的置信度图像,可以包括:

将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,第二特征是通过对第一特征经过至少一个卷积层依次进行特征提取得到的,第二图像块的图像特征是通过对融合特征进行处理得到的,1≤i<j。

本发明实施例中,第一卷积层和第二卷积层仅仅用于区分卷积神经网络中的不同网络深度的任意两个卷积层,并不表示具体的卷积层,并且,第一卷积层和第二卷积层可以是相邻的两个卷积层,也可以是中间相隔至少一个卷积层的两个卷积层,另外,本发明实施例中的卷积神经网络中,在第一卷积层之前可能包括一个或多个卷积层,在第二卷积层之后也可能包括一个或多个卷积层,本发明实施例对此不作任何限制。

其中,对不同网络深度的卷积层提取的特征进行融合的方式,可以是不同网络深度的卷积层提取的特征进行拼接或相加。

本发明实施例中,第一卷积层和第二卷积层仅仅用于区分卷积神经网络中的不同网络深度的任意两个卷积层,并不表示具体的卷积层,并且,第一卷积层和第二卷积层可以是相邻的两个卷积层,也可以是中间相隔至少一个卷积层的两个卷积层,另外,本发明实施例中的卷积神经网络中,在第一卷积层之前可能包括一个或多个卷积层,在第二卷积层之后也可能包括一个或多个卷积层,本发明实施例对此不作任何限制。

该实施例增加了跨层连接,将两个或以上位于不同网络深度的卷积层提取的特征进行融合,将较低层次卷积层提取的特征连接到较高层次卷积层提取的特征,从而得到的融合特征中增加了特征的信息量和高层次卷积层提取的特征的细节信息,进一步为关键点决策提供细节特征,从而有助于提高关键点检测的准确率。

本发明实施例使用卷积神经网络实现人体关键点检测网络,保证了关键点检测的鲁棒性和准确性。本发明实施例通过构建多分支网络结构、增加跨层连接,进一步提高了关键点检测的准确性。

另外,上述第四个可选实施方式也可以与上述第二个可选实施方式或者第三个可选实施方式结合使用,与第二个可选实施方式或者第三个可选实施方式结合使用时,可以对其中一个或多个网络块,在其中的一个或多个不同分支的卷积网络中采用上述特征融合的技术方案;也可以将不同层次网络块输出的特征进行跨层连接,例如,将第一个网络块输出的特征和第五个卷积层输出的特征进行融合,作为该第五个网络块输出的特征。

进一步地,在本发明上述各实施例的人体关键点检测方法实施例流程之前,还可以包括:

通过第一样本图像块对头身映射网络进行训练,第一样本图像块标注有人体中心点的位置;和/或

通过第二样本图像块对人体关键点检测网络进行训练,第二样本图像块标注有人体的关键点信息。

在本发明实施例的一种可选示例中,头身映射网络包括多个卷积层和一个分类层。通过第一样本图像块对头身映射网络进行训练,第一样本图像块标注有人体中心位置,例如可以包括如下训练流程:

采用本发明上述任一实施例的方法,利用归一化参数S对所有采集的原始图像进行尺寸归一化处理,使人脸长边或宽边等于归一化人脸尺寸Wr,例如29像素;

从尺寸归一化后的图像中截取以人脸的中心位置为中心、大小为归一化人脸尺寸的M倍的图像块并缩放到第一预设大小,例如,从原始图片中裁剪出小为归一化人脸尺寸的9倍的图像块并缩放到256*256像素大小,作为第一样本图像块输入头身映射网络,该第一样本图像块中标注有准确的人体中心点的位置作为监督标签;

头身映射网络中的多个卷积层依次对第一样本图像块中进行特征提取,并通过分类层基于多个卷积层输出的特征判断第一样本图像块中每个位置(即:每个像素)被判断为身体中心点的置信度,选取置信度最大的一个位置作为预测人体中心点的位置;

通过第一样本图像块标注的人体中心点的位置和预测人体中心点的位置之间的差异,通过随机梯度下降法对头身映射网络进行训练,调整头身映射网络各个网络层的网络参数值,直至满足预设条件。

上述训练过程可以是一个迭代训练过程,即:重复执行上述训练流程,直至满足预设条件,例如,训练次数达到预设次数,或者第一样本图像块标注的人体中心点的位置和预测人体中心点的位置之间的差异小于第一预设值。

在头身映射网络训练完成后,可以向头身映射网络输入测试图像,比较头身映射网络输出的图像中人体中心点的位置是否正确。

在本发明实施例的另一种可选示例中,人体关键点检测网络包括多个层次网络块,前一层次的网络块的输出作为后一层次的网络块的输入;每个网络块包括多个不同分支的卷积网络。

通过第二样本图像块对人体关键点检测网络进行训练,第二样本图像块标注有人体的关键点信息,例如可以包括如下训练流程:

在得到人体中心点的位置和归一化参数S后,首先利用归一化参数S对原始图像进行放缩,得到尺寸归一化的人体图像;

根据上述人体中心点的位置,从原始图像中裁剪出具体第二预设尺寸的图像块作为第二样本图像块输入人体关键点检测网络。其中第二预设尺寸例如可以是256*256像素大小。对于人体每一个关键点,分别生成一张第二样本图像块中各位置存在该关键点的置信度图像作为人体关键点检测网络的训练监督信息,其中的置信度图像通过在标注为人体关键点的位置周围,利用高斯响应函数基于第二样本图像块中各位置到该关键点的距离生成;

各网络层块依次对第二样本图像块进行特征提取。其中,各网络层块中不同分支的卷积网络分别提取不同尺度的图像特征并进行特征拼接,得到拼接特征;不同网络层块或同一网络块中不同网络深度的卷积层跨层连接进行特征融合;

分别通过人体的至少一个关键点中各关键点对应的分类器,对多个层次网络块最终输出的特征进行分类,获得第二样本图像块针对人体的各关键点的置信度图像,即:为每一个待检测的关键点输出一张对应的置信度图像,该置信度图像包含第二样本图像块中每个位置被判断为该关键点的置信度。其中,人体每个关键点对应一个分类器,用于判断第二样本图像块中各位置为该关键点的置信度图像;

分别针对各关键点的置信度图像,选取一个置信度最大的位置作为关键点位置,从而获得人体各关键点的预测位置;

通过第二样本图像块的训练监督信息确定的人体关键点位置和人体各关键点的预测位置之间的差异,通过随机梯度下降法对人体关键点检测网络进行训练,调整人体关键点检测网络各个网络层的网络参数值,直至满足预设条件。

上述训练过程可以是一个迭代训练过程,即:重复执行上述训练流程,直至满足预设条件,例如,训练次数达到预设次数,或者通过训练监督信息确定的人体关键点位置和人体各关键点的预测位置之间的差异小于第二预设值。

在人体关键点检测网络训练完成后,可以向人体关键点检测网络输入测试图像,比较人体关键点检测网络输出的图像中人体各关键点的预测位置是否正确。

在进一步可选示例中,在上述人体关键点检测网络的训练流程中,可以在每个网络块的输出层之后增加人体各关键点对应的分类器,对当前网络块输出的特征进行分类,获得人体的各关键点的置信度图像,并由此获取人体各关键点的预测位置,然后通过第二样本图像块的训练监督信息确定的人体关键点位置和当前网络块获得的人体各关键点的预测位置之间的差异作为当前差异,进一步结合各网络块的当前差异对人体关键点检测网络进行训练,从而提升训练效率和训练结果。

本发明上述对头身映射网络和人体关键点检测网络的训练流程中,与上述各人体关键点检测方法中对应技术内容的实现,可以采用对应的任一实施例的方式实现,本发明不再赘述。

本发明实施例提供的任一种人体关键点检测方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本发明实施例提供的任一种人体关键点检测方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本发明实施例提及的任一种人体关键点检测方法。下文不再赘述。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

图3为本发明人体关键点检测装置一个实施例的结构示意图。该实施例的人体关键点检测装置可用于实现本发明上述各人体关键点检测方法实施例。如图3所示,该实施例的人体关键点检测装置包括:人脸检测模块,头身映射网络和人体关键点检测网络。其中:

人脸检测模块,用于对图像进行人脸检测,获得该图像中人脸的位置信息。

头身映射网络模块,用于根据上述人脸的位置信息,确定上述人脸对应的人体中心点的位置信息。

人体关键点检测网络模块,用于根据上述人体中心点的位置信息,对上述图像进行人体关键点检测。

基于本发明上述实施例提供的人体关键点检测装置,对图像进行人脸检测,获得图像中人脸的位置信息后,根据该人脸的位置信息,确定人脸对应的人体中心点的位置信息;根据人体中心点的位置信息,对图像进行人体关键点检测。本发明实施例通过检测人脸位置、人体中心点位置进行人体关键点检测,而不需要输出完整的人体外接框,由于人体中心点位置一般位于人体的上半身躯干范围内,而上半身躯干的形变相对较小,因此本发明实施例受人体复杂姿态的影响较小,检测出的人体关键点位置准确度较高。

图4为本发明人体关键点检测装置另一个实施例的结构示意图。如图4所示,与图3所示的实施例相比,该实施例的人体关键点检测装置还包括:第一截取模块,用于根据上述人脸的位置信息,从上述图像(即:原始图像)中获取具有第一预设尺寸的第一图像块,第一图像块包括人脸对应的人体的至少一部分。相应地,该实施例中,头身映射网络模块具体用于根据第一图像块确定上述人脸对应的人体中心点的位置信息。

在图4所示人体关键点检测装置实施例的一个可选实施方式中,人脸的位置信息包括人脸的中心位置和人脸的尺寸信息。相应地,该实施方式中,第一截取模块具体用于:根据人脸的尺寸信息,确定图像的归一化参数;根据图像的归一化参数,对图像进行尺寸归一化处理,得到尺寸归一化后的图像;以及根据人脸的中心位置,在尺寸归一化后的图像中截取具有第一预设尺寸的第一图像块。

示例性地,第一截取模块根据人脸的尺寸信息,确定图像的归一化参数时,具体用于:根据人脸的尺寸信息,确定将人脸的尺寸缩放到预设的归一化人脸尺寸所对应的归一化参数。

进一步示例性地,第一截取模块根据人脸的中心位置,在尺寸归一化后的图像中截取具有第一预设尺寸的第一图像块时,具体用于:从尺寸归一化后的图像中截取以人脸的中心位置为中心、大小为归一化人脸尺寸的M倍的图像块,并将截取的图像块缩放到第一预设大小,获得第一图像块,其中,M的取值大于3且小于20。

另外,再参见图4,在人体关键点检测装置的又一个实施例中,还包括:第二截取模块,用于根据上述人体中心点的位置信息,从上述图像中获取具有第二预设尺寸的第二图像块,该第二图像块包括人脸对应的人体的至少一部分。相应地,该实施例中,人体关键点检测网络模块具体用于在第二图像块中进行人体关键点检测。

在上述人体关键点检测装置实施例的一个可选实施方式中,第二截取模块具体用于:从尺寸归一化后的图像中截取以人体中心点的位置为中心、具有第二预设尺寸的第二图像块。

示例性地,人体关键点检测网络模块在第二图像块中进行人体关键点检测时,具体用于:对第二图像块进行人体关键点检测,获得第二图像块中人体的关键点的位置。

进一步示例性地,人体关键点检测网络模块对第二图像块进行人体关键点检测,获得第二图像块中人体的关键点的位置时,具体用于:对第二图像块中的人体进行关键点检测,获取第二图像块针对人体的至少一个关键点中各关键点的置信度图像,其中,每个关键点的置信度图像包含第二图像块中每个位置被判断为该关键点的置信度;将关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在第二图像块中的位置。

另外,再参见图4,在人体关键点检测装置的再一个实施例中,还可以包括:获取模块,用于根据第二图像块中人体的关键点的位置和第二图像块在图像中的位置,确定人体的关键点在图像中的位置。

在其中一个可选实施方式中,获取模块具体用于:根据第二图像块中人体的关键点的位置和第二图像块在尺寸归一化后的图像中的位置,由第二图像块中人体的关键点的位置获取人体的关键点在尺寸归一化后的图像中的位置;以及基于人体的关键点在尺寸归一化后的图像中的位置和上述归一化参数,由人体的关键点在尺寸归一化后的图像中的位置确定人体的关键点在图像中的位置。

图5为本发明实施例中人体关键点检测网络模块一个实施例的结构示意图。如图5所示,该实施例的人体关键点检测网络模块包括:多个卷积网络模块,拼接单元和人体各关键点对应的分类器。其中:

多个卷积网络模块,分别用于通过多个卷积网络模块中每个卷积网络模块,提取第二图像块的图像特征,其中,多个卷积网络模块中的不同卷积网络模块提取的图像特征具有不同的尺度。

拼接单元,用于将多个卷积网络模块提取的不同尺度的图像特征进行拼接,获得拼接特征。

人体各关键点对应的分类器,分别用于对拼接特征进行分类,获得第二图像块针对人体的至少一个关键点中各关键点的置信度图像。

在图5所示实施例的一个可选实施方式中,每个网络模块可以包括多个分别位于不同网络模块深度的卷积层。其中,多个卷积网络模块中的第一卷积网络模块,具体用于:将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,第二特征是通过对第一特征经过至少一个卷积层依次进行特征提取得到的,第一卷积神经网络输出的第二图像块的图像特征是通过对融合特征进行处理得到的,1≤i<j。

在其中一个可选示例中,人体关键点检测网络模块可以包括多个网络块,例如M个网络块,前一网络模块块的输出作为后一网络块的输入;每个网络块包括多个卷积网络模块,即:M个网络块中的第p网络块的输出为第p网络块包括的多个卷积神经网络得到的拼接特征,并且第p网络块输出的拼接特征输入到第p+1网络块中,其中,M≥2,p=1,…,M-1。相应地,该实施例中,人体关键点检测网络模块中的各网络块中的拼接单元,具体用于对第M网络块输出的拼接特征进行分类,获得第二图像块针对所述人体的多个关键点中每个关键点的置信度图像。

图6为本发明实施例中人体关键点检测网络模块另一个实施例的结构示意图。如图6所示,该实施例的人体关键点检测网络模块包括:多个分别位于不同网络模块深度的卷积层,融合单元和人体各关键点对应的分类器。其中:

多个分别位于不同网络模块深度的卷积层,分别用于依次对第二图像块进行特征提取。

融合单元,用于将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征,其中,第二特征是通过对第一特征经过至少一个卷积层依次进行特征提取得到的,第二图像块的图像特征是通过对融合特征进行处理得到的,1≤i<j。

人体至少一个关键点中各关键点对应的分类器,分别用于对第二图像块的图像特征进行分类,获得第二图像块针对人体的至少一个关键点中各关键点的置信度图像。

另外,本发明实施例还提供了一种电子设备,包括本发明上述任一实施例的人体关键点检测装置。

另外,本发明实施例还提供了另一种电子设备,包括:

存储器,用于存储可执行指令;以及

处理器,用于与存储器通信以执行可执行指令从而完成本发明上述任一实施例的人体关键点检测方法的操作。

图7为本发明电子设备一个应用实施例的结构示意图。下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。如图7所示,该电子设备包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU),和/或一个或多个图像处理器(GPU)等,处理器可以根据存储在只读存储器(ROM)中的可执行指令或者从存储部分加载到随机访问存储器(RAM)中的可执行指令而执行各种适当的动作和处理。通信部可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,处理器可与只读存储器和/或随机访问存储器中通信以执行可执行指令,通过总线与通信部相连、并经通信部与其他目标设备通信,从而完成本申请实施例提供的任一方法对应的操作,例如,对图像进行人脸检测,获得所述图像中人脸的位置信息;根据所述人脸的位置信息,确定所述人脸对应的人体中心点的位置信息;根据所述人体中心点的位置信息,对所述图像进行人体关键点检测。

此外,在RAM中,还可存储有装置操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。在有RAM的情况下,ROM为可选模块。RAM存储可执行指令,或在运行时向ROM中写入可执行指令,可执行指令使处理器执行本发明上述任一方法对应的操作。输入/输出(I/O)接口也连接至总线。通信部可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。

以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。

需要说明的,如图7所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图7的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明公开的保护范围。

另外,本发明实施例还提供了一种计算机存储介质,用于存储计算机可读取的指令,该指令被执行时实现本发明上述任一实施例人体关键点检测方法的操作。

另外,本发明实施例还提供了一种计算机程序,包括计算机可读取的指令,当计算机可读取的指令在设备中运行时,设备中的处理器执行用于实现本发明上述任一实施例人体关键点检测方法中的步骤的可执行指令。

在一个可选实施方式中,所述计算机程序具体为软件产品,例如软件开发包(Software Development Kit,SDK),等等。

在一个或多个可选实施方式中,本发明实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一可能的实现方式中所述的人体关键点检测方法。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如SDK等等。

在一个或多个可选实施方式中,本发明实施例还提供了一种人体关键点检测方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:第一装置向第二装置发送人体关键点检测指示,该指示使得第二装置执行上述任一可能的实施例中的人体关键点检测方法;第一装置接收第二装置发送的人体关键点信息。

在一些实施例中,该人体关键点检测指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行人体关键点的检测,相应地,响应于接收到调用指令,第二装置可以执行上述人体关键点检测方法中的任意实施例中的步骤和/或流程。

特别地,根据本发明实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,对图像进行人脸检测,获得所述图像中人脸的位置信息的指令;根据所述人脸的位置信息,确定所述人脸对应的人体中心点的位置信息的指令;根据所述人体中心点的位置信息,对所述图像进行人体关键点检测的指令。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所发明实施例的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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