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

文档序号:14941194发布日期:2018-07-13 20:51阅读:110来源:国知局

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



背景技术:

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

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

另一种相关的人体关键点检测技术为基于黄绿蓝(rgb)摄像头的人体关键点检测系统,主要包括人体定位和人体关键点定位两部分。该人体关键点检测系统以普通rgb摄像头采集的图像为输入,仅使用单一尺度的框架来定位人体关键点。



技术实现要素:

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

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

通过l个嵌套网络块提取图像的特征;其中,所述嵌套网络块包括多个分支的网络块,所述多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;其中,l的取值为大于0的整数;

基于所述l个嵌套网络块提取的特征确定所述图像中的人体关键点。

可选地,在本发明上述各方法实施例中,所述嵌套网络块包括的多个分支的网络块中,不同分支的网络块的数量不同。

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

对所述图像进行人体检测,获得人体外接框;

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

所述通过l个嵌套网络块提取图像的特征,包括:

通过l个嵌套网络块提取所述图像块的特征。

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

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

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

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

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

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

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

可选地,在本发明上述各方法实施例中,所述l个嵌套网络块包括第一嵌套网络块;

所述通过l个嵌套网络块提取所述图像块的特征,包括:

分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对输入对象进行特征提取,得到第一输出特征;所述输入对象包括所述图像块或者所述第一嵌套网络块的前一嵌套网络块输出的特征;

对所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行拼接,得到第二输出特征。

可选地,在本发明上述各方法实施例中,所述第一嵌套网络块包括第一网络块,所述第一网络块包括多个分支的卷积神经网络;

所述分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对所述图像块进行特征提取,得到第一输出特征,包括:

分别通过所述第一网络块包括的多个分支的卷积神经网络中的每个分支的卷积神经网络对所述图像块进行特征提取;

对所述第一网络块包括的多个分支的卷积神经网络提取的特征进行拼接,得到第一输出特征。

可选地,在本发明上述各方法实施例中,所述基于所述l个嵌套网络块提取的特征确定所述图像块中的人体关键点,包括:

基于所述第二输出特征确定所述图像块中的人体关键点。

可选地,在本发明上述各方法实施例中,所述l个嵌套网络块还包括第二嵌套网络块,其中,所述第二嵌套网络块的输入端与所述第一嵌套网络块的输出端连接;

所述通过l个嵌套网络块提取所述图像块的特征,还包括:

通过所述第二嵌套网络块对所述第一嵌套网络块输出的所述第二输出特征进行特征提取,得到第三输出特征;

所述基于所述l个嵌套网络块提取的特征确定所述图像块中的人体关键点,包括:

基于所述第三输出特征确定所述图像块中的人体关键点。

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

分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对所述图像块进行特征提取,得到第一输出特征,包括:

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

可选地,在本发明上述各方法实施例中,所述对所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行拼接,得到第二输出特征,包括:

根据所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征,预测所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重;

分别根据所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重对第一嵌套网络块包括的所述多个分支的网络块输出的第一输出特征进行加权处理,获得多个加权特征;

对所述多个加权特征进行拼接,得到第二输出特征。

可选地,在本发明上述各方法实施例中,所述根据所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征,预测所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重,包括:

通过视觉注意力网络,对所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行至少一次卷积处理,获得所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重;

通过归一化函数,对所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重进行归一化处理,获得所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的归一化权重。

可选地,在本发明上述各方法实施例中,基于所述第二输出特征或第三输出特征确定所述图像块中的人体关键点,包括:

利用所述人体的至少一个关键点中每个关键点对应的分类器对所述第二输出特征或第三输出特征进行分类,获得所述图像块针对所述人体的至少一个关键点中每个关键点的置信度图像,所述关键点的置信度图像包含所述图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;

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

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

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

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

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

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

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

利用实现权利要求3-15任一所述人体关键点检测方法的人体关键点检测网络,对第一预设尺寸的样本图像块进行人体关键点检测,输出所述样本图像块针对人体的至少一个关键点中每个关键点的置信度图像;

根据所述人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与所述样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对所述人体关键点检测网络进行训练。

可选地,在本发明上述各方法实施例中,利用所述人体关键点检测网络,对第一预设尺寸的样本图像块进行人体关键点检测,包括:

对所述样本图像块与所述样本图像块的人体中心位置图进行拼接,得到拼接图;

利用所述人体关键点检测网络,对所述拼接图像块进行人体关键点检测。

可选地,在本发明上述各方法实施例中,所述根据所述人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与所述样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对所述人体关键点检测网络进行训练,包括:

根据所述人体关键点检测网络中第l个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与所述样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对所述人体关键点检测网络进行训练;以及根据所述人体关键点检测网络中第i个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与所述样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对所述人体关键点检测网络中第1个嵌套网络块至第i个嵌套网络块进行训练;其中,i=1,…,l-1,l为大于1的整数。

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

l个嵌套网络块,用于提取图像的特征;其中,所述嵌套网络块包括多个分支的网络块,所述多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;其中,l的取值为大于0的整数;

确定模块,用于基于所述l个嵌套网络块提取的特征确定所述图像中的人体关键点。

可选地,在本发明上述各装置实施例中,所述嵌套网络块包括的多个分支的网络块中,不同分支的网络块的数量不同。

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

检测模块,用于对所述图像进行人体检测,获得人体外接框;

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

所述l个嵌套网络块,具体用于提取所述图像块的特征。

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

所述获取模块,具体用于:

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

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

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

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

可选地,在本发明上述各装置实施例中,所述l个嵌套网络块包括第一嵌套网络块,具体用于:分别通过所述第一嵌套网络块包括的多个分支中每个分支的网络块对输入对象进行特征提取,得到第一输出特征;所述输入对象包括所述图像块或者所述第一嵌套网络块的前一嵌套网络块输出的特征;

所述装置还包括:

拼接模块,用于对所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行拼接,得到第二输出特征。

可选地,在本发明上述各装置实施例中,所述第一嵌套网络块包括第一网络块,所述第一网络块包括多个分支的卷积神经网络;

所述第一嵌套网络块,具体用于:

分别通过所述第一网络块包括的多个分支的卷积神经网络中的每个分支的卷积神经网络对所述图像块进行特征提取;

对所述第一网络块包括的多个分支的卷积神经网络提取的特征进行拼接,得到第一输出特征。

可选地,在本发明上述各装置实施例中,所述确定模块,具体用于基于所述第二输出特征确定所述图像块中的人体关键点。

可选地,在本发明上述各装置实施例中,所述l个嵌套网络块还包括第二嵌套网络块,其中,所述第二嵌套网络块的输入端与所述第一嵌套网络块的输出端连接;

所述第二嵌套网络块,用于对所述第一嵌套网络块输出的所述第二输出特征进行特征提取,得到第三输出特征;

所述确定模块,具体用于基于所述第三输出特征确定所述图像块中的人体关键点。

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

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

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

预测模块,用于根据所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征,预测所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重;

加权模块,用于分别根据所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重对第一嵌套网络块包括的所述多个分支的网络块输出的第一输出特征进行加权处理,获得多个加权特征;

所述拼接模块,具体用于对所述多个加权特征进行拼接,得到第二输出特征。

可选地,在本发明上述各装置实施例中,所述预测模块包括:

视觉注意力网络,用于对所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行至少一次卷积处理,获得所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重;

归一化函数模块,用于对所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重进行归一化处理,获得所述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的归一化权重。

可选地,在本发明上述各装置实施例中,所述确定模块包括:

所述人体的至少一个关键点中每个关键点对应的分类器,用于对所述第二输出特征或第三输出特征进行分类,获得所述图像块针对所述人体的至少一个关键点中每个关键点的置信度图像,所述关键点的置信度图像包含所述图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;

确定单元,用于将所述关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在所述图像块中的位置。

可选地,在本发明上述各装置实施例中,所述确定单元,还用于根据所述图像块中所述人体的关键点的位置和所述图像块在所述图像中的位置,确定所述人体的关键点在所述图像中的位置。

可选地,在本发明上述各装置实施例中,所述确定单元根据所述图像块中所述人体的关键点的位置和所述图像块在所述图像中的位置,确定所述人体的关键点在所述图像中的位置时,具体用于:

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

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

可选地,在本发明上述各装置实施例中,所述人体关键点检测装置包括人体关键点检测网络,还用于对第一预设尺寸的样本图像块进行人体关键点检测,输出所述样本图像块针对人体的至少一个关键点中每个关键点的置信度图像;

所述装置还包括:

训练模块,用于根据所述人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与所述样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对所述人体关键点检测网络进行训练。

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

对所述样本图像块与所述样本图像块的人体中心位置图进行拼接,得到拼接图;

以及对所述拼接图像块进行人体关键点检测。

可选地,在本发明上述各装置实施例中,所述训练模块,具体用于:根据所述人体关键点检测网络中第l个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与所述样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对所述人体关键点检测网络进行训练;以及根据所述人体关键点检测网络中第i个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与所述样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对所述人体关键点检测网络中第1个嵌套网络块至第i个嵌套网络块进行训练;其中,i=1,…,l-1,l为大于1的整数。

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

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

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

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

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

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

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

基于本发明上述实施例提供的人体关键点检测方法和装置、电子设备、存储介质和程序,引入嵌套网络块提取图像的特征;其中,嵌套网络块包括多个分支的网络块,多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;并基于嵌套网络块提取的特征确定图像中的人体关键点。本发明实施例基于嵌套网络块的多分支网络结构,融合多尺度特征对人体关键点进行预测,可以同时捕捉局部细节特征和高层结构信息,提高了进行人体关键点预测所需特征的尺度多样性,提高了人体关键点检测的准确性和抵抗遮挡物的鲁棒性。

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

附图说明

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

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

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

图2为本发明实施例中一个嵌套网络块的示例性结构示意图。

图3为本发明实施例中一个网络块的示例性结构示意图。

图4为本发明实施例提供的人体关键点检测方法另一个例子的流程图。

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

图6为本发明实施例中对人体关键点检测网络进行训练的一个例子的流程图。

图7为本发明实施例中对人体关键点检测网络进行训练的一个应用例子的示意图。

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

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

图10为本发明实施例提供的电子设备一个例子的结构示意图。

具体实施方式

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

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

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

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

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

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

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

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

102,通过l个嵌套网络块提取图像的特征。

其中,可选地,嵌套网络块具体可以为嵌套inception模块或其他类型的嵌套模块,本公开实施例对此不做限定。本发明各实施例的嵌套网络块包括多个分支的网络块,该多个分支的网络块中至少一个分支的网络块中每个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度。其中,l的取值为大于0的整数。

在本发明各实施例的其中一个实施方式中,每个或其中至少一个嵌套网络块包括的多个分支的网络块中,不同分支的网络块的数量不同。

在本发明各实施例的其中一个实施方式中,不同分支的卷积神经网络可以包括不同数量的网络层,和/或不同分支的卷积神经网络中一个以上网络层参数可以不同。

104,基于上述l个嵌套网络块提取的特征确定上述图像中的人体关键点。

基于本发明上述实施例提供的人体关键点检测方法,引入嵌套网络块提取图像的特征;其中,嵌套网络块包括多个分支的网络块,多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;并基于嵌套网络块提取的特征确定图像中的人体关键点。本发明实施例基于嵌套网络块的多分支网络结构,融合多尺度特征对人体关键点进行预测,可以同时捕捉局部细节特征和高层结构信息,提高了进行人体关键点预测所需特征的尺度多样性,提高了人体关键点检测的准确性和抵抗遮挡物的鲁棒性。

如图2所示,为本发明实施例中一个嵌套网络块(也称为:嵌套inception模块)的示例性结构示意图。如图3所示,为本发明实施例中一个网络块(也称为:inception模块)的示例性结构示意图。参见图3,为单个网络块(inception模块),其中每个分支的卷积神经网络包含不同数目的卷积层(conv),用于提取不同尺度的图像特征。其中,堆叠卷积层可以使得各个分支的网络块提取不同尺度的特征,堆叠的卷积层越多,其对应的特征尺度越大,反之则越小。其中,1×1、2×2、3×3为卷积核的大小。如图2所示,为一个嵌套网络块(也称为:嵌套inception模块),它用整个inception模块替代原始inception模块中的卷积层,形成嵌套模式。相比单个inception模块,这种嵌套模式成倍地增加了分支数量,且每支的卷积层数目各不相同,使得分布在各分支末梢的神经元的视野域各不相同。其中,在卷积层相同时,分支中的卷积层数越多,其感受野越大。卷积层数目最少的分支(如图2和图3中最左侧的分支)视野域小,更关注细节信息,而卷积层数目最多的分支(如图2和图3中最右侧的分支)视野域大,更关注空间结构信息,基于图2所示的嵌套网络块结构,整个网络结构的尺度多样性得到提高,本发明实施例通过保留不同深度的卷积层特征,同时保留了细节信息和高层的结构信息,使得实现本发明各实施例人体关键点检测方法的人体关键点检测网络对于遮挡的人体关节可以捕捉更多的细节信息,并同时保留高层次的人体结构的约束,因此对遮挡情况更加鲁棒,提高了人体关键点检测网络模型抵抗遮挡物的鲁棒性。

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

202,对图像进行人体检测,获得人体外接框。

在本发明各实施例的其中一个实施方式中,可以采用机器学习方法,例如神经网络、svm支持向量机、adaboost自适应增强和随机森林等方法,对图像进行人体检测,获得人体外接框。

204,根据人体外接框的位置信息,从上述图像中获取具有第一预设尺寸的图像块,该图像块包括人体的至少一部分。

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

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

206,通过l个嵌套网络块提取图像块的特征。

其中,本发明各实施例的嵌套网络块包括多个分支的网络块,该多个分支的网络块中至少一个分支的网络块中每个分支的网络块包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度。其中,l的取值为大于0的整数。

在本发明各实施例的其中一个实施方式中,每个或其中至少一个嵌套网络块包括的多个分支的网络块中,不同分支的网络块的数量不同。

208,基于上述l个嵌套网络块提取的特征确定上述图像中的人体关键点。

上述实施例中,先根据人体外接框的位置信息,从上述图像中获取具有第一预设尺寸的图像块,再对该图像块进行特征提取以进行人体关键点检测,缩小了关键点检测范围,提高了关键点检测的效率和准确率,上述实施例用于人体关键点检测网络的训练时,可以提高人体关键点检测网络的训练效率。

在本发明各实施例的其中一个实施方式中,人体外接框的位置信息可以包括:人体外接框的中心位置和尺寸(即:图像尺寸)信息。人体外接框的中心位置可以指图像中人体外接框的中心的位置坐标,但本申请实施例对此不做限定。在本发明实施例的一个或多个实现方式中,人体外接框的中心位置可以包括位于人体外接框中心的一个点或位于人体外接框中心区域的多个点,本申请实施例对该人体外接框的中心位置的具体实现不作限定。人体外接框的尺寸信息可以指示人体外接框在图像中的尺寸,作为一个例子,人体外接框的尺寸信息可以包括人体外接框长度w和人体外接框宽度h,即人体外接框在图像中的长度w和人体外接框在图像中的宽度h。相应地,该实施方式中,操作204可以包括:

根据人体外接框的尺寸信息,确定上述图像的归一化参数;

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

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

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

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

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

在其中一个可选示例中,根据人体外接框的尺寸信息,确定图像的归一化参数,可以通过如下方式实现:根据人体外接框的尺寸信息,确定将该人体外接框的尺寸缩放(即:归一化)到预设的归一化人体尺寸所对应的归一化参数。

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

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

在本发明各实施例的其中一个实施方式中,l个嵌套网络块包括第一嵌套网络块。相应地,操作206可以包括:

分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对输入对象进行特征提取,得到第一输出特征。其中的输入对象包括图像块或者第一嵌套网络块的前一嵌套网络块输出的特征。具体来说,第一嵌套网络块为l个嵌套网络块中的第1个嵌套网络块时,输入对象为上述图像块;第一嵌套网络块为l个嵌套网络块中的第2个至第l个嵌套网络块中的任一网络块时,输入对象为前一个嵌套网络块输出的特征(即:第一输出特征);

对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行拼接(concate),得到第二输出特征。

在本发明上述实施方式的一个可选示例中,第一嵌套网络块包括第一网络块,该第一网络块包括多个分支的卷积神经网络。相应地,分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对图像块进行特征提取,得到第一输出特征,可以包括:分别通过第一网络块包括的多个分支的卷积神经网络中的每个分支的卷积神经网络对图像块进行特征提取;对第一网络块包括的多个分支的卷积神经网络提取的特征进行拼接,得到第一输出特征。

在本发明上述实施方式的一个可选示例中,基于l个嵌套网络块提取的特征确定图像块中的人体关键点,可以包括:基于第二输出特征确定图像块中的人体关键点。

在本发明各实施例的其中一个实施方式中,l个嵌套网络块还包括第二嵌套网络块,其中,该第二嵌套网络块的输入端与上述第一嵌套网络块的输出端连接。相应地,操作206可以包括:通过第二嵌套网络块对第一嵌套网络块输出的第二输出特征进行特征提取,得到第三输出特征。操作208可以包括:基于第三输出特征确定图像块中的人体关键点。

在上述可选示例中,嵌套网络块中包括的卷积神经网络中,第一卷积神经网络可以包括多个分别位于不同网络深度的卷积层。相应地,分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对图像块进行特征提取,得到第一输出特征,可以包括:将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征;其中,第二特征是通过对第一特征经过至少一个卷积层依次进行特征提取得到的,第一卷积神经网络输出的特征是通过对融合特征进行处理得到的,1≤i<j。

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

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

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

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

本发明实施例通过构建多分支网络结构、增加跨层连接,进一步提高了关键点检测的准确性。

在上述可选示例中,对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行拼接,得到第二输出特征,可以包括:

根据第一嵌套网络块包括的多个分支的网络块输出的第一输出特征,预测该多个分支的网络块输出的第一输出特征的权重;

分别根据上述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重对上述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行加权处理,获得多个加权特征。例如,假设三个分支的网络块输出的第一输出特征为x、y、z,对应的权重为a、b、c,则分别通过a*x、b*y、c*z,实现对该三个分支的网络块输出的第一输出特征的加权处理,获得该三个加权特征;

对上述多个加权特征进行拼接,得到第二输出特征。继续上面例子,将a*x、b*y和c*z,进行拼接,得到第二输出特征。

具体地,根据第一嵌套网络块包括的多个分支的网络块输出的第一输出特征,预测该第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重,可以通过如下方式实现:

通过视觉注意力网络(attention),对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行至少一次卷积处理,获得上述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重,再将上述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重输入归一化函数,例如s型函数(sigmoid函数),进行归一化处理,即:将上述多个分支的网络块输出的第一输出特征的权重映射到[0,1]范围内,获得上述第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的归一化权重。

在本发明各实施例的其中一个可选示例中,基于第二输出特征或第三输出特征确定图像块中的人体关键点,可以包括:

利用人体的至少一个关键点中每个关键点对应的分类器对第二输出特征或第三输出特征进行分类,获得上述图像块针对人体的至少一个关键点中每个关键点的置信度图像,其中,关键点的置信度图像包含上述图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;

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

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

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

302,对图像进行人体检测,获得人体外接框。

在本发明各实施例的其中一个实施方式中,可以采用机器学习方法,例如神经网络、svm支持向量机、adaboost自适应增强和随机森林等方法,对图像进行人体检测,获得人体外接框。

304,根据人体外接框的位置信息,从上述图像中获取具有第一预设尺寸的图像块,该图像块包括人体的至少一部分。

306,通过l个嵌套网络块提取图像块的特征,获得第二输出特征或者第三输出特征。

其中,本发明各实施例的嵌套网络块包括多个分支的网络块,该多个分支的网络块中至少一个分支的网络块中每个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度。其中,l的取值为大于0的整数。

在本发明各实施例的其中一个实施方式中,每个或其中至少一个嵌套网络块包括的多个分支的网络块中,不同分支的网络块的数量不同。

可选地,可以通过本发明上述任一实施方式或示例所述方法,通过l个嵌套网络块提取图像块的特征,获得第二输出特征或者第三输出特征。

308,基于上述第二输出特征或者第三输出特征确定上述图像块中的进行人体关键点,获得该图像块中人体的关键点的位置。

310,根据上述图像块中人体的关键点的位置和该图像块在上述图像中的位置,确定人体的关键点在上述图像中的位置。

在其中一个实施方式中,该310可以包括:

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

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

另外,本发明上述各人体关键点检测方法可以通过一个神经网络实现,该神经网络可以称为人体关键点检测网络。

在本发明上述各人体关键点检测方法实施例之前,还可以包括:预先对人体关键点检测网络进行训练的操作。

在其中一个实施方式中,对人体关键点检测网络进行训练,可以包括:

利用人体关键点检测网络,对第一预设尺寸的样本图像块进行人体关键点检测,输出该样本图像块针对人体的至少一个关键点中每个关键点的置信度图像;

根据人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对人体关键点检测网络进行训练,即:对人体关键点检测网络中网络参数的参数值进行调整。

图6为本发明实施例中对人体关键点检测网络进行训练的一个例子的流程图。如图6所示,该实施例对人体关键点检测网络进行训练的流程包括:

402,对样本图像块与该样本图像块的人体中心位置图进行拼接,得到拼接图。

404,利用人体关键点检测网络,对上述拼接图像块进行人体关键点检测,输出该样本图像块针对人体的至少一个关键点中每个关键点的置信度图像。

406,根据人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像(即:样本图像块的训练监督信息)之间的差异,对人体关键点检测网络进行训练,即:对人体关键点检测网络中网络参数的参数值进行调整。

迭代执行上述图6所示流程、或者操作404~406,直至满足预设条件,例如,对人体关键点检测网络的训练次数达到预设次数阈值,和/或,人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异小于预设阈值。

在本发明上述对人体关键点检测网络进行训练的实施例中,根据人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对人体关键点检测网络进行训练,可以包括:

根据人体关键点检测网络中第l个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对人体关键点检测网络进行训练;以及根据人体关键点检测网络中第i个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对人体关键点检测网络中第1个嵌套网络块至第i个嵌套网络块进行训练;其中,i=1,…,l-1,l为大于1的整数。

作为本发明各实施例的一个可选示例,可以采用随机梯度下降法,对人体关键点检测网络进行训练。

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

图7为本发明实施例中对人体关键点检测网络进行训练的一个应用例子的示意图。如图7所示,首先用多个层叠的卷积层(convolution)对图像进行特征提取得到初始特征图(featuremaps),然后分阶段对人体关键点检测网络进行训练,图7分为两个阶段对人体关键点检测网络进行训练。在图7中,第一阶段和第二阶段对应的网络结构都是由层叠的嵌套网络块(block,即嵌套inception模块)和监督层组成。第一阶段对应的网络输出的预测结果(heatmaps,即:至少一个关键点中每个关键点的置信度图像)与初始特征图联接起来(即:拼接),作为下一个阶段的输入特征。第一阶段的监督层,相对于整个人体关键点检测网络,也叫作辅助监督层,用于获取该第一阶段对应的网络输出的预测结果与样本图像块的训练监督信息(样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像)之间的差异,并基于该差异对该第一阶段对应的网络进行训练,调整该第一阶段对应的网络中网络参数的参数值。同时,第二阶段的监督层,用于获取该第二阶段对应的网络输出的预测结果与样本图像块的训练监督信息之间的差异,并基于该差异对第一阶段和第二阶段对应的网络(即:人体关键点检测网络)进行训练,调整人体关键点检测网络中网络参数的参数值。

另外,在实际应用中,也可以根据人体关键点检测网络包括的嵌套网络块数量的多少,将人体关键点检测网络分为t个以上阶段进行训练,其中,t的取值为大于2的整数。每个阶段对应的网络结构都是由层叠的嵌套网络块和监督层组成。第t阶段对应的网络输出的预测结果与初始特征图联接起来,作为下一个阶段的输入特征,t=1,2,…,t-1。第t阶段的监督层,相对于整个人体关键点检测网络,也叫作辅助监督层,用于获取该第t阶段对应的网络输出的预测结果与样本图像块的训练监督信息之间的差异,并基于该差异对该第t阶段对应的网络进行训练,调整该第t阶段对应的网络中网络参数的参数值。同时,第t阶段的监督层,用于获取该第t阶段对应的网络输出的预测结果与样本图像块的训练监督信息之间的差异,并基于该差异对整个人体关键点检测网络进行训练,调整人体关键点检测网络中网络参数的参数值。

采用随机梯度下降法对人体关键点检测网络进行训练时,因为梯度值在后向传播时会随网络层数递减,当网络层数较深时,浅层的梯度信息已经衰减到较小的数值范围,使得网络参数的参数值的更新速度减慢,本发明实施例加入辅助监督层同时对浅层的网络层进行训练,使得训练监督信息能更直接有效地传递到浅层的参数,从而提高网络的训练效率,实现加速训练网络的目的。

在人体关键点检测网络训练完成后,可以向人体关键点检测网络输入测试图像,人体关键点检测网络为每一个待检测的关键点输出置信度图像,该置信度图像中每个位置的值为该位置的像素点被预测为相应关键点的置信度,该置信度图像中置信度最大的像素点的坐标为相应关键点的检测位置,测试该人体关键点检测网络输出的图像中人体各关键点的预测位置是否正确。

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

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

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

图8为本发明实施例提供的人体关键点检测装置一个例子的结构示意图。该实施例的人体关键点检测装置可用于实现本发明上述各实施例的人体关键点检测方法。如图8所示,该实施例的装置人体关键点检测包括:l个嵌套网络块和确定模块。其中:

l个嵌套网络块,用于提取图像的特征。其中,该嵌套网络块包括多个分支的网络块,多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;其中,l的取值为大于0的整数。在其中一个可选示例中,每个嵌套网络块包括的多个分支的网络块中,不同分支的网络块的数量可以不同。

确定模块,用于基于l个嵌套网络块提取的特征确定图像中的人体关键点。

基于本发明上述实施例提供的人体关键点检测装置,引入嵌套网络块提取图像的特征;其中,嵌套网络块包括多个分支的网络块,多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;并基于嵌套网络块提取的特征确定图像中的人体关键点。本发明实施例基于嵌套网络块的多分支网络结构,融合多尺度特征对人体关键点进行预测,可以同时捕捉局部细节特征和高层结构信息,提高了进行人体关键点预测所需特征的尺度多样性,提高了人体关键点检测的准确性和抵抗遮挡物的鲁棒性。

图9为本发明实施例提供的人体关键点检测装置另一个例子的结构示意图。如图9所示,与图8所示的实施例相比,该实施例的人体关键点检测装置还包括:

检测模块,用于对图像进行人体检测,获得人体外接框;

获取模块,用于根据人体外接框的位置信息,从图像中获取具有第一预设尺寸的图像块,图像块包括人体的至少一部分。

相应地,该实施例中,l个嵌套网络块,具体用于提取图像块的特征。

在其中一个实施方式中,上述人体外接框的位置信息可以包括:人体外接框的中心位置和尺寸信息。相应地,该实施例中,获取模块,具体用于:根据人体外接框的尺寸信息,确定图像的归一化参数;根据图像的归一化参数,对图像进行尺寸归一化处理,得到尺寸归一化后的图像;以及根据人体外接框的中心位置,在尺寸归一化后的图像中截取具有第一预设尺寸的图像块。

在该实施方式的一个可选示例中,获取模块根据人体外接框的尺寸信息,确定图像的归一化参数时,具体用于根据人体外接框的尺寸信息,确定将人体外接框的尺寸缩放到预设的归一化人体尺寸所对应的归一化参数。

在本发明上述各实施例的一个实施方式中,上述l个嵌套网络块包括第一嵌套网络块,具体用于:分别通过第一嵌套网络块包括的多个分支中每个分支的网络块对输入对象进行特征提取,得到第一输出特征;输入对象包括图像块或者第一嵌套网络块的前一嵌套网络块输出的特征。相应地,再参见图9,本发明实施例的人体关键点检测装置还可以包括:拼接模块,用于对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行拼接,得到第二输出特征。

可选地,每个第一嵌套网络块和拼接模块作为一组,本发明实施例的人体关键点检测装置可以包括一组或多组第一嵌套网络块和拼接模块。

在上述实施方式的一个可选示例中,第一嵌套网络块包括第一网络块,该第一网络块包括多个分支的卷积神经网络。相应地,第一嵌套网络块,具体用于:分别通过第一网络块包括的多个分支的卷积神经网络中的每个分支的卷积神经网络对图像块进行特征提取;以及对第一网络块包括的多个分支的卷积神经网络提取的特征进行拼接,得到第一输出特征。

在另一个可选示例中,确定模块具体用于基于第二输出特征确定图像块中的人体关键点。

在本发明上述各实施例的另一个实施方式中,上述l个嵌套网络块还可以包括第二嵌套网络块,其中,第二嵌套网络块的输入端与第一嵌套网络块的输出端连接。其中,该第二嵌套网络块,用于对第一嵌套网络块输出的第二输出特征进行特征提取,得到第三输出特征。相应地,该实施例中,确定模块具体用于基于第三输出特征确定图像块中的人体关键点。

在本发明上述各实施例的又一个实施方式中,第一嵌套网络块包括第一卷积神经网络,其中,该第一卷积神经网络包括多个分别位于不同网络深度的卷积层。相应地,该实施例中,第一嵌套网络块,具体用于:将网络深度为i的第一卷积层输出的第一特征和网络深度为j的第二卷积层输出的第二特征进行特征融合,得到融合特征;其中,第二特征是通过对第一特征经过至少一个卷积层依次进行特征提取得到的,第一卷积神经网络输出的特征是通过对融合特征进行处理得到的,1≤i<j。

另外,再参见图9,在本发明实施例提供的人体关键点检测装置的又一个例子中,还可以包括:

预测模块,用于根据第一嵌套网络块包括的多个分支的网络块输出的第一输出特征,预测第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重;

加权模块,用于分别根据第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行加权处理,获得多个加权特征;

拼接模块,具体用于对多个加权特征进行拼接,得到第二输出特征。

在其中一个实施方式中,预测模块可以包括:

视觉注意力网络,用于对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征进行至少一次卷积处理,获得第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重;

归一化函数模块,用于对第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的权重进行归一化处理,获得第一嵌套网络块包括的多个分支的网络块输出的第一输出特征的归一化权重。

在另一个实施方式中,确定模块可以包括:

人体的至少一个关键点中每个关键点对应的分类器,用于对第二输出特征或第三输出特征进行分类,获得图像块针对人体的至少一个关键点中每个关键点的置信度图像,关键点的置信度图像包含图像块中至少一个位置被判断为该置信度图像所属关键点的置信度;

确定单元,用于将关键点的置信度图像中置信度最大的位置确定为该置信度图像所属关键点在图像块中的位置。

在另一个实施方式中,确定单元还可用于根据图像块中人体的关键点的位置和图像块在图像中的位置,确定人体的关键点在图像中的位置。

示例性地,确定单元根据图像块中人体的关键点的位置和图像块在图像中的位置,确定人体的关键点在图像中的位置时,具体用于:根据图像块中人体的关键点的位置和图像块在尺寸归一化后的图像中的位置,由图像块中人体的关键点的位置获取人体的关键点在尺寸归一化后的图像中的位置;以及基于人体的关键点在尺寸归一化后的图像中的位置和图像的归一化参数,确定人体的关键点在图像中的位置。

本发明上述各实施例提供人体关键点检测装置可以通过一个人体关键点检测网络实现,在本发明上述各实施例提供人体关键点检测装置的再一个例子中,人体关键点检测网络还用于对第一预设尺寸的样本图像块进行人体关键点检测,输出样本图像块针对人体的至少一个关键点中每个关键点的置信度图像。再参见图9,该例子中,人体关键点检测装置还可以包括:训练模块,用于根据人体关键点检测网络输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对人体关键点检测网络进行训练。

在其中一个实施方式中,人体关键点检测网络,具体用于:对样本图像块与样本图像块的人体中心位置图进行拼接,得到拼接图;以及对拼接图像块进行人体关键点检测。

在另一个实施方式中,训练模块具体用于:根据人体关键点检测网络中第l个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对人体关键点检测网络进行训练;以及根据人体关键点检测网络中第i个嵌套网络块输出的至少一个关键点中每个关键点的置信度图像与样本图像块针对人体的至少一个关键点中每个关键点的参考置信度图像之间的差异,对人体关键点检测网络中第1个嵌套网络块至第i个嵌套网络块进行训练;其中,i=1,…,l-1,l为大于1的整数。

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

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

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

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

图10为本发明实施例提供的电子设备一个例子的结构示意图。下面参考图10,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。如图10所示,该电子设备包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu),和/或一个或多个图像处理器(gpu)等,处理器可以根据存储在只读存储器(rom)中的可执行指令或者从存储部分加载到随机访问存储器(ram)中的可执行指令而执行各种适当的动作和处理。通信部可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡,处理器可与只读存储器和/或随机访问存储器中通信以执行可执行指令,通过总线与通信部相连、并经通信部与其他目标设备通信,从而完成本申请实施例提供的任一方法对应的操作,例如,通过l个嵌套网络块提取图像的特征;其中,所述嵌套网络块包括多个分支的网络块,所述多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;其中,l的取值为大于0的整数;基于所述l个嵌套网络块提取的特征确定所述图像中的人体关键点。

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

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

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

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

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

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

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

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

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

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

特别地,根据本发明实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,通过l个嵌套网络块提取图像的特征的指令;其中,所述嵌套网络块包括多个分支的网络块,所述多个分支的网络块中至少一个分支的网络块分别包括多个分支的卷积神经网络,同一个网络块中不同分支的卷积神经网络提取的特征具有不同的尺度;其中,l的取值为大于0的整数;基于所述l个嵌套网络块提取的特征确定所述图像中的人体关键点的指令。

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

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

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

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