掌桥专利:专业的专利平台
掌桥专利
首页

人体姿态识别方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 20:01:55


人体姿态识别方法、装置、电子设备及存储介质

技术领域

本申请属于计算机视觉领域,涉及图像处理技术领域,尤其涉及一种人体姿态识别方法、装置、电子设备及存储介质。

背景技术

人体姿态识别广泛应用于各类场景中,例如,服装设计、虚拟试衣、广告优化及用户行为识别等场景中。然而,如果图像中的人体关键点有所缺失,例如图像中仅包括上半身人体或者下半身人体,由于缺乏全面的信息,往往难以对人体关键点进行准确识别,导致人体姿态识别效果不佳。此外,相关技术中的人体姿态识别方法无法对缺失的人体关键点进行补全预测。

发明内容

鉴于以上内容,有必要提供一种人体姿态识别方法、装置、电子设备及存储介质,能够解决人体姿态的识别效果不佳以及无法对缺失的人体关键点进行补全预测的技术问题。

一方面,本申请提供一种人体姿态识别方法,所述方法包括:获取待识别的人体图像,调用预训练的人体姿态识别模型对所述人体图像进行识别,得到所述人体图像中的多个人体关键点、每个人体关键点的关键点坐标及所述每个人体关键点的置信度,所述人体姿态识别模型包括主干网络、预设卷积层、软最大化值层及全连接层,包括:将所述人体图像输入所述主干网络中,得到所述主干网络中的每个卷积层输出的特征图,对所述每个卷积层输出的特征图进行上采样操作以及特征融合操作,直至获得所述主干网络中第一个卷积层对应的融合特征图,调用所述预设卷积层对所述第一个卷积层对应的融合特征图进行卷积操作,得到热力图,将所述热力图输入至所述软最大化值层,得到所述多个人体关键点及所述每个人体关键点的关键点坐标,将所述主干网络中最后一个卷积层输出的特征图输入至所述全连接层,得到所述每个人体关键点的置信度,根据所述多个人体关键点、每个人体关键点的关键点坐标及每个人体关键点的置信度,确定所述待识别人体图像的人体姿态。

在本申请的一些实施例中,所述对所述每个卷积层输出的特征图进行上采样操作以及特征融合操作,直至获得所述主干网络中第一个卷积层对应的融合特征图,包括:将所述主干网络中最后一个卷积层输出的特征图进行上采样操作,得到上采样特征图,将所述上采样特征图与所述最后一个卷积层的前一个卷积层输出的特征图进行特征融合,得到所述前一个卷积层对应的融合特征图,对所述融合特征图进行上采样操作,直至获得所述主干网络中第一个卷积层对应的融合特征图。

在本申请的一些实施例中,所述热力图包括多个通道,每个通道对应一人体关键点,所述将所述热力图输入至所述软最大化值层,得到所述多个人体关键点及所述每个人体关键点的关键点坐标,包括:通过激活函数对所述每个通道中的所有像素点的像素值进行归一化处理,得到每个像素点对应的概率值,基于所述概率值,对所述每个通道中所有像素点的像素坐标进行加权平均运算,得到所述每个通道的关键点坐标,并根据所述每个通道的关键点坐标确定所述每个通道对应的人体关键点。

在本申请的一些实施例中,所述人体姿态识别模型的生成包括:获取多张包括人体的训练图像及每张训练图像中多个标注关键点的标注坐标,对所述每张训练图像进行剪裁,得到所述每张训练图像对应的缺失人体图像,基于每张缺失人体图像的图像尺寸调整对应的多个标注关键点的标注坐标,得到所述每张训练图像中每个标注关键点的目标坐标,调用预设的人体姿态识别网络对所述多张缺失人体图像进行预测,得到所述每个标注关键点的预测坐标,根据所述预测坐标及所述目标坐标计算所述人体姿态识别网络的损失值,根据所述损失值调整所述人体姿态识别网络,直至所述损失值处于预设范围,得到所述人体姿态识别模型。

在本申请的一些实施例中,所述缺失人体图像包括上半身及下半身图像,所述上半身及所述下半身图像的生成包括:从所述每张训练图像的多个标注关键点中确定多个第一目标关键点及多个第二目标关键点,根据所述多个第一目标关键点的标注坐标确定第一目标高度,并根据所述多个第二目标关键点的标注坐标确定第二目标高度,根据所述第一目标高度对所述每张训练图像进行剪裁,并将剪裁得到的上半部分图像作为所述上半身图像,并根据所述第二目标高度对所述每张训练图像进行剪裁,并将剪裁得到的下半部分图像作为所述下半身图像。

在本申请的一些实施例中,若所述缺失人体图像为下半身图像,所述基于每张缺失人体图像的图像尺寸调整对应的多个标注关键点的标注坐标,得到所述每张训练图像中每个标注关键点的目标坐标,包括:基于所述每个标注关键点的标注坐标与所述目标高度,生成所述每个标注关键点的运算坐标,根据所述下半身图像的图像尺寸对所述每个标注关键点的运算坐标进行归一化处理,得到所述每个标注关键点的目标坐标。

在本申请的一些实施例中,所述根据所述多个人体关键点、每个人体关键点的关键点坐标及每个人体关键点的置信度,确定所述待识别人体图像的人体姿态包括:根据所述置信度从所述多个人体关键点中选取多个目标关键点,并依据所述多个目标关键点的坐标将所述多个目标关键点进行连接,得到所述待识别人体图像的人体姿态。

另一方面,本申请提供一种人体姿态识别装置,运行于电子设备,所述装置包括:获取单元,用于获取待识别的人体图像,识别单元,用于调用预训练的人体姿态识别模型对所述人体图像进行识别,得到所述人体图像中的多个人体关键点、每个人体关键点的关键点坐标及所述每个人体关键点的置信度,所述人体姿态识别模型包括主干网络、预设卷积层、软最大化值层及全连接层,包括:将所述人体图像输入所述主干网络中,得到所述主干网络中的每个卷积层输出的特征图,对所述每个卷积层输出的特征图进行上采样操作以及特征融合操作,直至获得所述主干网络中第一个卷积层对应的融合特征图,调用所述预设卷积层对所述第一个卷积层对应的融合特征图进行卷积操作,得到热力图,将所述热力图输入至所述软最大化值层,得到所述多个人体关键点及所述每个人体关键点的关键点坐标,将所述主干网络中最后一个卷积层输出的特征图输入至所述全连接层,得到所述每个人体关键点的置信度,确定单元,用于根据所述多个人体关键点、每个人体关键点的关键点坐标及每个人体关键点的置信度,确定所述待识别人体图像的人体姿态。

另一方面,本申请提供一种电子设备,电子设备包括:存储器,存储至少一个指令;及处理器,执行至少一个指令以实现所述的人体姿态识别方法。

另一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的人体姿态识别方法。

在上述的方案中,由于人体姿态识别模型通过缺失人体图像训练得到,因此能够实现对缺失的人体关键点的补全预测。对主干网络中每个卷积层输出的特征图进行上采样及特征融合操作,能够从多个尺度上捕捉到人体姿态的关键信息,并将捕捉到的关键信息整合至第一个卷积层对应的融合特征图中。通过预设卷积层对第一个卷积层对应的融合特征图进行卷积处理,能够使得到的热力图更加清晰地呈现出每个人体关键点的位置,通过软最大化值层基于清晰的热力图对人体关键点进行预测,能够提高人体关键点的识别准确性,从而提高人体姿态的识别效果。

附图说明

图1是本申请一实施例提供的电子设备的结构示意图。

图2是本申请一实施例提供的人体姿态识别方法的流程图。

图3是本申请一实施例提供的人体姿态识别模型的识别示意图。

图4是本申请一实施例提供的人体姿态的示意图。

图5是本申请一实施例提供的人体关键点及关键点坐标的生成方法的流程图。

图6是本申请一实施例提供的人体姿态识别模型的训练方法的流程图。

图7是本申请一实施例提供的像素坐标系的示意图。

图8是本申请一实施例提供的人体姿态识别装置的功能模块图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

人体姿态识别广泛应用于各类场景中,例如,服装设计、虚拟试衣、广告优化及用户行为识别等场景中。然而,如果图像中的人体关键点有所缺失,例如图像中仅包括上半身人体或者下半身人体,由于缺乏全面的信息,往往难以对人体关键点进行准确识别,导致人体姿态识别效果不佳。此外,相关技术中的人体姿态识别方法无法对缺失的人体关键点进行补全预测。

为了解决上述技术问题,本申请提供一种人体姿态识别方法、装置、电子设备及存储介质,能够提高对人体图像中人体关键点的识别准确性,以及对图像中缺失的人体关键点进行补全预测。本申请实施例提供的人体姿态识别方法可应用于一个或者多个电子设备中。

如图1所示,是本申请一实施例提供的电子设备的结构示意图。该电子设备10可以为手机、平板电脑、笔记本电脑及计算机等电子设备,本申请实施例对电子设备的具体类型不作任何限制。

如图1所示,该电子设备10可以包括通信模块101、存储器102、处理器103、输入/输出(Input/Output,I/O)接口104及总线105。处理器103通过总线105分别耦合于通信模块101、存储器102、输入/输出接口104。

通信模块101可以包括有线通信模块和/或无线通信模块。有线通信模块可以提供通用串行总线(universalserialbus,USB)、控制器局域网总线(CAN,ControllerAreaNetwork)等有线通信的解决方案中的一种或多种。无线通信模块可以提供无线保真(wirelessfidelity,Wi-Fi),蓝牙(Bluetooth,BT),移动通信网络,调频(frequencymodulation,FM),近距离无线通信技术(nearfieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案中的一种或多种。

存储器102可以包括一个或多个随机存取存储器(randomaccessmemory,RAM)和一个或多个非易失性存储器(non-volatilememory,NVM)。随机存取存储器可以由处理器103直接进行读写,可以用于存储或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用的数据等。随机存取存储器可以包括静态随机存储器(staticrandom-accessmemory,SRAM)、动态随机存储器(dynamicrandomaccessmemory,DRAM)、同步动态随机存储器(synchronousdynamicrandomaccessmemory,SDRAM)、双倍资料率同步动态随机存取存储器(doubledataratesynchronousdynamicrandomaccessmemory,DDRSDRAM)等。

非易失性存储器也可以存储可执行程序和存储用户及应用的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。非易失性存储器可以包括磁盘存储器件、快闪存储器(flashmemory)。

存储器102用于存储一个或多个计算机程序。一个或多个计算机程序被配置为被处理器103执行。该一个或多个计算机程序包括多个指令,多个指令被处理器103执行时,可实现在电子设备10上执行的人体姿态识别方法。

在其他实施例中,如图1所示的电子设备10还包括外部存储器接口,用于连接外部的存储器,实现扩展电子设备10的存储能力。

处理器103可以包括一个或多个处理单元,例如:处理器103可以包括应用处理器(applicationprocessor,AP),调制解调处理器,图形处理器(graphicsprocessingunit,GPU),图像信号处理器(imagesignalprocessor,ISP),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,DSP),和/或神经网络处理器(neural-networkprocessingunit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

处理器103提供计算和控制能力,例如,处理器103用于执行存储器102内存储的计算机程序,以实现上述的人体姿态识别方法。

输入/输出接口104用于提供用户输入或输出的通道,例如输入/输出接口104可用于连接各种输入输出设备,例如,鼠标、键盘、触控装置、显示屏等,使得用户可以录入信息,或者使信息可视化。

总线105至少用于提供电子设备10中的通信模块101、存储器102、处理器103、输入/输出接口104之间相互通信的通道。

可以理解的是,本申请实施例示意的结构并不构成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

如图2所示,是本申请一实施例提供的人体姿态识别方法的流程图。根据不同的需求,该流程图中各个步骤的顺序可以根据实际要求进行调整,某些步骤可以省略。所述方法的执行主体为电子设备,例如图1所示的电子设备10。

S11,获取待识别的人体图像。

在本申请的一些实施例中,电子设备可以通过多种方式获取人体图像。例如,人体图像可以由用户在电子设备上输入,或者,电子设备可以从电商平台或直播平台的数据库中获取人体图像。由于电商平台上存储有各类人体图像,例如模特试衣图像,因此电子设备可以从电商平台的数据库中获取人体图像。人体图像中可以包括完整的人体,也可以包括部分人体。例如,人体图像可以是人体的上半身图像、人体的下半身图像、人体的左半身图像及人体的右半身图像等,本申请对此不作限制。

在本实施例中,在获得人体图像之后,电子设备可以调用预训练的人体姿态识别模型对人体图像进行识别,得到人体图像中的多个人体关键点、每个人体关键点的关键点坐标及每个人体关键点的置信度。其中,人体姿态识别模型包括主干网络、预设卷积层、软最大化值层SoftArgMax及全连接层(FullyConnectedLayer)。

S12,将人体图像输入主干网络中,得到主干网络中的每个卷积层输出的特征图。

在本申请一实施例中,主干网络包括多个卷积层,多个卷积层的数量及卷积层中卷积核的大小可以自行设置,本申请对此不作限制。

在本实施例中,主干网络中的卷积层对输入的数据进行特征提取,得到每个卷积层输出的特征图,其中,在先的卷积层输出的特征图作为在后的卷积层的输入数据。

在本实施例中,由于在先的卷积层输出的特征图作为在后的卷积层的输入数据,因此能够捕捉到不同尺度的特征。通过传递先前卷积层的特征图,后续卷积层可以利用更广阔的上下文信息进行特征提取,便于人体姿态识别模型更好地识别人体图像中的人体的姿态。此外,通过传递先前卷积层的特征图,使得特征图中的特征得到充分地利用。

S13,对每个卷积层输出的特征图进行上采样操作以及特征融合操作,直至获得主干网络中第一个卷积层对应的融合特征图。

在本申请的一些实施例中,电子设备可以从主干网络中最后一个卷积层输出的特征图进行上采样操作,得到上采样特征图,并将上采样特征图与最后一个卷积层的前一个卷积层输出的特征图进行特征融合,得到前一个卷积层对应的融合特征图,对前一个卷积层对应的融合特征图进行上采样及特征融合操作,直至获得主干网络中第一个卷积层对应的融合特征图。

在本实施例中,上采样操作可以为2倍上采样操作,电子设备可以通过多种方式进行特征融合,本申请对特征融合的方式不作限制。例如,可以将上采样特征图与前一个卷积层输出的特征图之间对应像素点的像素值进行相加、相减、相乘及相除,得到前一个卷积层对应的融合特征图。或者,可以将上采样特征图与前一个卷积层输出的特征图进行拼接,得到前一个卷积层对应的融合特征图。或者,可以对上采样特征图与前一个卷积层输出的特征图进行卷积运算,得到前一个卷积层对应的融合特征图。

在本实施例中,通过上采样及特征融合操作,能够将多个维度的信息融合至融合特征图中,从而使得前一个卷积层对应的融合特征图更加准确。

S14,调用预设卷积层对第一个卷积层对应的融合特征图进行卷积操作,得到热力图。

在本申请的一些实施例中,预设卷积层可以为1x1卷积层,1x1卷积层中卷积核的尺寸可以为1x1xC'xC,其中,C'表示输出通道数,C表示输入通道数(第一个卷积层对应的融合特征图的通道数)。

在本实施例中,若第一个卷积层对应的融合特征图的尺寸为NxCxHxW,其中,N表示融合特征图的批次大小,C表示融合特征图的通道数,H和W分别表示融合特征图的高度和宽度,在通过1x1的卷积层对第一个卷积层对应的融合特征图进行卷积操作之后,得到的热力图的尺寸为NxC'xHxW。

在本实施例中,通过1x1卷积层,可以将融合特征图的通道数由C转换为C',从而实现热力图的通道数的转变,使得热力图的通道数与所要预测的人体关键点的数量相同。

S15,将热力图输入至软最大化值层,得到多个人体关键点及每个人体关键点的关键点坐标。

在本申请的一些实施例中,相关技术中软最大值化层输出的关键点坐标的原始取值范围为(0,1)。由于人体图像包括缺失人体图像(比如上半身图像),在对缺失人体图像进行补全预测时,由于补全预测出的人体关键点处于人体图像之外,补全预测出的人体关键点的关键点坐标会处于(0,1)之外,若直接以原始取值范围对人体图像进行人体关键点的补全预测,将会导致补全预测得到的人体关键点及关键点坐标不准确或者无法对人体关键点进行补全预测,因此需要对软最大化值层的原始取值范围进行调整。例如,可以将软最大值化层输出的关键点坐标的原始取值范围(0,1)修改为预设范围(-2,2)。

例如,人体关键点的数量可以17个,17个人体关键点包括鼻子、左眼、右眼、左耳、右耳、左肩、右肩、左胳膊肘、右胳膊肘、左手腕、右手腕、左臀、右臀、左膝、右膝、左脚踝及右脚踝。

在本实施例中,通过对软最大化值层的原始取值范围进行调整,能够解决补全预测时关键点坐标越界的问题,从而使人体关键点的补全预测更加准确可靠。

S16,将主干网络中最后一个卷积层输出的特征图输入至全连接层,得到每个人体关键点的置信度。

在本申请的一些实施例中,每个人体关键点的置信度表示人体姿态识别网络预测得到的每个人体关键点属于真实的人体关键点的概率。电子设备可以调用全连接层对最后一个卷积层输出的特征图进行全连接操作(FullyConnected,FC),得到特征向量,并将特征向量的每个元素值确定为一人体关键点的置信度。

在本实施例中,特征向量中元素值的数量与多个人体关键点的数量相同。其中,调用全连接层对最后一个卷积层输出的特征图进行全连接操作,得到特征向量可以参考相关技术,本申请实施例对此不做限制。每个人体关键点的置信度处于(0,1)范围内,越接近1的置信度对应的人体关键点的可靠性越高。

在本实施例中,每个人体关键点的置信度为人体姿态识别网络预测得到的每个人体关键点属于真实的人体关键点的概率,通过置信度能够对每个人体关键点的可靠性进行准确评估。

S17,根据置信度从多个人体关键点中选取多个目标关键点,并依据多个目标关键点的坐标将多个目标关键点进行连接,得到人体图像的人体姿态。

在本实施例中,电子设备可以通过多种方式从多个人体关键点中选取多个目标关键点。例如,电子设备可以从由高自低的置信度中选取预设数量个目标关键点,或者,电子设备也可以将每个人体关键点的置信度与预设阈值进行比较,并选取大于或者等于预设阈值的置信度对应的人体关键点作为目标关键点。其中,预设数量及预设阈值可以自行设置,本申请对此不作限制。例如,若多个人体关键点的数量为17个,预设数量可以为16。若每个人体关键点的置信度处于(0,1)范围内,预设阈值可以为0.8。

例如,如图3所示,是本申请一实施例提供的人体姿态识别模型的识别示意图。图3中包括输入的人体图像及3个卷积层输出的特征图,将第3个卷积层输出的特征图进行全连接操作(FC),得到17个人体关键点的置信度,每个人体关键点对应1个置信度。将第3个卷积层输出的特征图进行2倍上采样操作(x2上采样),得到上采样特征图,将上采样特征图与第2个卷积层输出的特征图之间对应像素点的像素值进行相加运算,得到第2个卷积层对应的融合特征图,对第2个卷积层对应的融合特征图进行2倍上采样操作,并将上采样操作得到的上采样特征图与第1个卷积层输出的特征图之间对应像素点的像素值进行相加运算,得到第1个卷积层对应的融合特征图。对第1个卷积层对应的融合特征图进行1x1卷积操作,得到热力图,将热力图输入软最大化值层SoftArgMax,得到17个人体关键点的关键点坐标,每个关键点坐标包括2个坐标,分别为横坐标和纵坐标。

例如,如图4所示,是本申请一实施例提供的人体姿态的示意图。图4中的人体图像为下半身图像,图4中上半身的人体是缺失的。图4中补全了人体上半身对应的多个人体关键点,人体姿态为多个人体关键点连接而成的人体骨架构成的姿态。从图4中可以看出,在人体图像存在缺失时,本申请能够对缺失的人体关键点进行补全预测。

在获得人体图像的人体关键点及人体姿态之后,可以将获得的人体关键点及人体姿态应用于如下一种或多种场景中:服装设计、虚拟试衣及广告优化等。例如,在服装设计及虚拟试衣场景中,电子设备根据用户上传的图片识别出用户的姿态及人体关键点,根据人体关键点及用户的姿态构建对应的三维人体模型,并为三维人体模型设计并搭配不同款式的服装,以便于评估用户与各类服装之间的适配度,从而提高用户的购物体验及减少退货率。同时,也可结合基于用户创建的三维人体模型以及用户选择的服装,为用户提供在线虚拟换衣功能。在广告优化场景中,电子设备根据用户上传的图片识别出用户的姿态及身材数据,并根据用户的姿态及身材数据投放或推送与用户适配的商品广告。

在上述的方案中,由于人体姿态识别模型通过缺失人体图像训练得到,因此能够实现对缺失的人体关键点的补全预测。对主干网络中每个卷积层输出的特征图进行上采样及特征融合操作,能够从多个尺度上捕捉到人体姿态的关键信息,并将捕捉到的关键信息整合至第一个卷积层对应的融合特征图中。通过预设卷积层对第一个卷积层对应的融合特征图进行卷积处理,能够使得到的热力图更加清晰地呈现出每个人体关键点的位置,通过软最大化值层基于清晰的热力图对人体关键点进行预测,能够提高人体关键点的识别准确性,从而提高人体姿态的识别效果。

在本申请的一些实施例中,如图5所示,是本申请一实施例提供的人体关键点及关键点坐标的生成方法的流程图,具体包括以下步骤:

S151,通过激活函数对每个通道中的所有像素点的像素值进行归一化处理,得到每个像素点对应的概率值。

在本申请的一些实施例中,激活函数包括,但不限于:Softmax函数或Sigmoid函数等。

在本申请的一些实施例中,若激活函数为Softmax函数,每个像素点对应的概率值的计算方法可以参考公式(1):

其中,σ

在本实施例中,通过激活函数对每个通道中的所有像素点的像素值进行归一化处理,能够将每个像素点的像素值映射至概率分布中,从而能够增大较大的像素值所对应的概率,减小较小的像素值的影响,从而提高模型对关键的像素点的关注程度。

S152,基于概率值,对每个通道中所有像素点的像素坐标进行加权平均运算,得到每个通道的关键点坐标。

在本申请的一些实施例中,电子设备可以将每个通道中每个像素点的像素坐标与对应的概率值进行相乘运算,得到每个通道中每个像素点的加权坐标,对每个通道中所有像素点的加权坐标进行求和,得到每个通道的求和坐标,并将每个通道的求和坐标与每个通道内所有像素点的数量进行相除运算,得到每个通道的关键点坐标。

在本实施例中,通过加权平均运算,能够将关键的像素点对人体关键点的贡献更加突出,以及减少噪声的影响,从而能够提高关键点坐标的准确性。

S153,根据每个通道的关键点坐标确定每个通道对应的人体关键点。

在本实施例中,电子设备可以将每个人体图像中处于每个关键点坐标上的像素点作为每个通道对应的人体关键点。

在使用人体姿态识别模型对人体图像进行识别之前,需要对人体识别网络进行训练,得到人体姿态识别模型。如图6所示,是本申请一实施例提供的人体姿态识别模型的训练方法的流程图,包括以下步骤:

S21,获取多张包括人体的训练图像及每张训练图像中多个标注关键点的标注坐标。

在一些实施例中,标注关键点为训练图像中的人体关键点,本申请对标注关键点的数量不作限制。例如,多个标注关键点的数量可以为17个。每个标注关键点的标注坐标可以为每张训练图像对应的像素坐标系中的坐标,每个标注坐标包括横坐标及纵坐标。例如,如图7所示,是本申请一实施例提供的像素坐标系的示意图。电子设备以训练图像的第一行第一列的像素点O

表1

在本实施例中,电子设备可以从数据库中获取多张训练图像及每张训练图像中多个标注关键点的标注坐标。其中,数据库包括,但不限于:BiologicalIdentificationDatabase(BioID)数据库、CommonObjectsinContext(CoCo)数据库及LeedsSportsPoseDataset(LSP)数据库等。

S22,对每张训练图像进行剪裁,得到每张训练图像对应的缺失人体图像。

在本申请的一些实施例中,缺失图像包括上本身图像、下半身图像、左半身图像及右半身图像等。

在本申请的一些实施例中,上半身及下半身图像的生成包括:电子设备从每张训练图像的多个标注关键点中确定多个第一目标关键点及多个第二目标关键点,根据多个第一目标关键点的标注坐标确定第一目标高度,并根据多个第二目标关键点的标注坐标确定第二目标高度,电子设备根据第一目标高度对每张训练图像进行剪裁,并将剪裁得到的上半部分图像作为上半身图像,并根据第二目标高度对每张训练图像进行剪裁,并将剪裁得到的下半部分图像作为下半身图像。其中,多个第二目标关键点可以为肩部(比如左肩或右肩)和胳膊肘(比如左胳膊肘或右胳膊),多个第二目标关键点可以为臀部(比如左臀或右臀)和膝盖(比如左膝或右膝)。

其中,电子设备可以通过多种方式从根据多个第一目标关键点的标注坐标确定第一目标高度,以及从根据多个第二目标关键点的标注坐标确定第二目标高度,本申请对此不作限制。例如,电子设备可以将左肩的纵坐标与左胳膊肘的纵坐标之间的任一值确定为第一目标高度,并将左臀的纵坐标与左膝的纵坐标之间的任一值确定为第二目标高度。

例如,若一训练图像的宽度为400,高度为500,左肩的纵坐标为80,左胳膊肘的纵坐标为120,可以选取80与120之间的任一值作为目标高度。若选取100作为第一目标高度,电子设备可以在该训练图像中高度为100处进行剪裁,得到宽度为400、高度为100的上半部分图像,及宽度为400、高度为400的下半部分图像,电子设备可以将宽度为400、高度为100的上半部分图像确定为上半身图像。

例如,承接上述实施例,若一训练图像的宽度为400,高度为500,左臀的纵坐标为180,左膝的纵坐标为230,可以选取180与230之间的任一值作为目标高度。若选取200作为第二目标高度,电子设备可以在该训练图像中高度为200处进行剪裁,得到宽度为400、高度为200的上半部分图像,及宽度为400、高度为300的下半部分图像,电子设备可以将宽度为400、高度为300的下半部分图像确定为下半身图像。

在本实施例中,由于第一目标关键点及第二目标关键点可以个性化选取,能够提高上半身图像及下半身图像的生成灵活性。

在本申请的其它实施例中,左半身图像及右半身图像等图像的生成方法与上半身图像的生成方法基本相同,故本申请不再重复描述。

S23,基于每张缺失人体图像的图像尺寸调整对应的多个标注关键点的标注坐标,得到每张训练图像中每个标注关键点的目标坐标。

在本申请的一些实施例中,若缺失人体图像为上半身图像,根据上半身图像的图像尺寸对每个标注关键点的标注坐标进行归一化处理,得到每个标注关键点的目标坐标。

其中,对标注关键点的标注坐标进行归一化处理流程包括:将每个标注坐标中的横坐标与上半身图像的宽度进行相除运算,并将每个标注坐标中的纵坐标与上半身图像的高度进行相除运算,得到每个标注关键点的目标坐标。

在本申请的另一实施例中,若缺失人体图像为下半身图像,电子设备基于每张缺失人体图像的图像尺寸调整对应的多个标注关键点的标注坐标,得到每张训练图像中每个标注关键点的目标坐标,包括:电子设备基于每个标注关键点的标注坐标与目标高度,生成每个标注关键点的运算坐标,并根据下半身图像的图像尺寸对每个标注关键点的运算坐标进行归一化处理,得到每个标注关键点的目标坐标。

其中,电子设备将每个标注关键点的标注坐标中的纵坐标与目标高度进行相减运算,得到每个标注关键点的运算坐标。对标注关键点的运算坐标进行归一化处理流程与对标注关键点的标注坐标进行归一化处理流程基本相同,故本申请不再重复描述。

在本实施例中,通过进行归一化处理,能够减小目标坐标的数值,以及减少人体姿态识别网络的运算量,从而能够加快人体姿态识别网络的收敛。

在本申请的其它实施例中,左半身图像及右半身图像对应的每个标注关键点的目标坐标的计算方式可以参考上半身图像及下半身图像对应的每个标注关键点的目标坐标的计算方式,本申请在此不再重复描述。

S24,调用预设的人体姿态识别网络对多张缺失人体图像进行预测,得到每个标注关键点的预测坐标。

在本申请的一些实施例中,每个标注关键点的预测坐标的预测方法与上文中目标关键点的关键点坐标的生成方法基本相同,故本申请不再重复描述。

S25,根据预测坐标及目标坐标计算人体姿态识别网络的损失值,并根据损失值调整人体姿态识别网络。

在本申请的一些实施例中,损失值包括,但不限于:平均绝对误差(MeanAbsoluteError,MAE),均方误差(MeanSquaredError,MSE)或者均方根误差(RootMeanSquaredError,RMSE)等。

在本实施例中,由于身体部位的人体关键点(比如左肩、右肩、左胳膊肘、右胳膊肘、左手腕、右手腕、左臀、右臀、左膝、右膝、左脚踝及右脚踝)的数量多于头部的人体关键点(比如鼻子、左眼、右眼、左耳、右耳)的数量,身体部位的人体关键点的坐标的跨度大于头部的人体关键点的坐标的跨度,对身体部位的人体关键点的预测难于对头部的人体关键点的预测,

因此,为了提高人体识别网络对身体部位的人体关键点的预测的关注度(重视程度),在计算损失值时,可以通过预设权重对身体部位的人体关键点对应的损失进行加权。其中,预设权重可以自行设置,本申请对此不作限制。

在本实施例中,根据预测坐标及目标坐标计算得到的损失值对人体姿态识别网络进行调整,能够提高人体姿态识别网络的精度,并使得人体识别网络学习到如何对缺失人体图像的人体关键点进行补全预测。

S26,判断损失值是否处于预设范围。

在本实施例中,预设范围可以自行设置,本申请对此不作限制。例如,预设范围可以为0.1-0.2。若损失值处于预设范围,执行步骤S27,或者,若损失值未处于预设范围,流程返回至步骤S24。

S27,停止调整,并将调整后的人体姿态识别网络确定为人体姿态识别模型。

在本实施例中,在损失值处于预设范围时,代表调整后的人体姿态识别网络已经收敛,停止对人体姿态识别网络的调整,能够确保人体姿态识别模型的精度。

如图8所示,是本申请一实施例提供的人体姿态识别装置的功能模块图。人体姿态识别装置11包括获取单元110、识别单元111以及确定单元112。本申请所称的模块/单元是指一种能够被图1中的处理器103所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在图1中的存储器102中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。

获取单元110,用于获取待识别的人体图像。

识别单元111,用于调用预训练的人体姿态识别模型对所述人体图像进行识别,得到所述人体图像中的多个人体关键点、每个人体关键点的关键点坐标及所述每个人体关键点的置信度,所述人体姿态识别模型包括主干网络、预设卷积层、软最大化值层及全连接层,包括:将所述人体图像输入所述主干网络中,得到所述主干网络中的每个卷积层输出的特征图,对所述每个卷积层输出的特征图进行上采样操作以及特征融合操作,直至获得所述主干网络中第一个卷积层对应的融合特征图,调用所述预设卷积层对所述第一个卷积层对应的融合特征图进行卷积操作,得到热力图,将所述热力图输入至所述软最大化值层,得到所述多个人体关键点及所述每个人体关键点的关键点坐标,将所述主干网络中最后一个卷积层输出的特征图输入至所述全连接层,得到所述每个人体关键点的置信度。

确定单元112,用于根据所述多个人体关键点、每个人体关键点的关键点坐标及每个人体关键点的置信度,确定所述待识别人体图像的人体姿态。

在本申请的一些实施例中,识别单元111还用于:将所述主干网络中最后一个卷积层输出的特征图进行上采样操作,得到上采样特征图,将所述上采样特征图与所述最后一个卷积层的前一个卷积层输出的特征图进行特征融合,得到所述前一个卷积层对应的融合特征图,对所述融合特征图进行上采样操作,直至获得所述主干网络中第一个卷积层对应的融合特征图。

在本申请的一些实施例中,所述热力图包括多个通道,每个通道对应一人体关键点,识别单元111还用于:通过激活函数对所述每个通道中的所有像素点的像素值进行归一化处理,得到每个像素点对应的概率值,基于所述概率值,对所述每个通道中所有像素点的像素坐标进行加权平均运算,得到所述每个通道的关键点坐标,并根据所述每个通道的关键点坐标确定所述每个通道对应的人体关键点。

在本申请的一些实施例中,获取单元111还用于:获取多张包括人体的训练图像及每张训练图像中多个标注关键点的标注坐标,对所述每张训练图像进行剪裁,得到所述每张训练图像对应的缺失人体图像,基于每张缺失人体图像的图像尺寸调整对应的多个标注关键点的标注坐标,得到所述每张训练图像中每个标注关键点的目标坐标,调用预设的人体姿态识别网络对所述多张缺失人体图像进行预测,得到所述每个标注关键点的预测坐标,根据所述预测坐标及所述目标坐标计算所述人体姿态识别网络的损失值,根据所述损失值调整所述人体姿态识别网络,直至所述损失值处于预设范围,得到所述人体姿态识别模型。

在本申请的一些实施例中,获取单元111还用于:从所述每张训练图像的多个标注关键点中确定多个第一目标关键点及多个第二目标关键点,根据所述多个第一目标关键点的标注坐标确定第一目标高度,并根据所述多个第二目标关键点的标注坐标确定第二目标高度,根据所述第一目标高度对所述每张训练图像进行剪裁,并将剪裁得到的上半部分图像作为所述上半身图像,并根据所述第二目标高度对所述每张训练图像进行剪裁,并将剪裁得到的下半部分图像作为所述下半身图像。

在本申请的一些实施例中,若所述缺失人体图像为下半身图像,获取单元111还用于:基于所述每个标注关键点的标注坐标与所述目标高度,生成所述每个标注关键点的运算坐标,根据所述下半身图像的图像尺寸对所述每个标注关键点的运算坐标进行归一化处理,得到所述每个标注关键点的目标坐标。

在本申请的一些实施例中,确定单元112还用于根据所述置信度从所述多个人体关键点中选取多个目标关键点,并依据所述多个目标关键点的坐标将所述多个目标关键点进行连接,得到所述待识别人体图像的人体姿态。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

技术分类

06120116571037