
本发明公开了一种融合集成注意力的2D人体姿态估计方法,通过在现有的HRNet基础上增加一个集成注意力模块构建得到融合集成注意力模块的HRNet网络,融合集成注意力模块的HRNet网络包括HRNet和集成注意力模块,集成注意力模块具有第一分支、第二分支和合并分支,第一分支采用一个平均池化层实现,第二分支采用一个平均池化层实现,合并分支包括concat层、第1个全连接层、ReLu激活层、第2个全连接层、Sigmoid激活层,集成注意力模块通过提取不同感受野大小的层域特征集合,在通道方向上聚合信息,达到局部特征再学习的目的,优点是人体姿态估计速度快,且准确度高。
步骤1,从官方网站获取一个2D人体姿态估计任务的公共数据集MSCOCO,该公共数据集MSCOCO包含N张自然场景下人的图像以及每张人的图像中人体17个关节点的坐标,每张人的图像均为三通道彩色图像,其中(N)
175000,17个关节点包括左眼、右眼、鼻子、左耳、右耳、左肩、右肩、左手肘、右手肘、左手腕、右手腕、左胯、右胯、左膝盖、右膝盖、左脚踝和右脚踝,各个关节点的坐标基于图像坐标系确定,由横坐标和纵坐标构成,图像坐标系以图像左上角顶点为坐标原点,从坐标原点水平向右方向(即图像左上角顶点和右上角顶点的连线方向)为正横坐标,从坐标原点垂直向下方向(即图像左上角顶点和左下角顶点的连线方向)为正纵坐标,从公共数据集MSCOCO中175000张人的图像及这175000张人的图像中每张人的图像中人体17个关节点的坐标,将MSCOCO数据集中这175000张人的图像随机划分为训练集、验证集和测试集三类,其中训练集有150000张人的图像,验证集有5000张人的图像,测试集有20000张人的图像,
步骤2,从训练集和验证集中获取所有人的图像,然后分别制作每张人的图像对应的17张关节点热图,其中每张人的图像对应的第K张关节点热图的制作方法为,设计一张尺寸大小等于人的图像的空白图像,人的图像中每个像素点与空白图像中相同位置处的像素点相对应,然后将人的图像中第K个关节点的坐标定义为中心坐标,将该中心坐标的横坐标记为
纵坐标记为K(1)2,…(17)在与中心坐标处像素点对应的空白图像中的像素点处标注数值1,1表示是第K个关节点的正确位置,接着以中心坐标为圆心,σ,3cm为半径在人
域中除中心坐标处像素点以外的其余每个像素点处的数值,将得到的每个像素点处的数值标注在空白图像中对应的像素点处,其中,e表示自然对数的底,mK表示圆形区域内除中心坐标处像素点以外的其余某个像素点的横坐标,nK表示圆形区域内除中心坐标处像素点以外的其余某个像素点的纵坐标,圆形区域内除中心坐标的像素点数值外,其余像素点的数值分别大于0且小于1,其数值表示与第K个关节点的正确位置相近,但不是第K个关节点的正确位置,最后,将空白图像中其余未标注的所有像素点处标记数值0,0表示不是第K个关节点的正确位置,空白图像中所有像素点对应标记完成后,即为人的图像对应的第K张关节点热图,
对训练集和验证集中所有人的图像和每张人的图像对应的17张关节点热图分别进行拉伸,使其长均为256厘米,宽均为192厘米,即所有人的图像以及所有关节点热图的尺寸均为256×192,每张人的图像对应的17张关节点热图即为其对应的17个标签,
步骤3,在现有的HRNet基础上增加一个集成注意力模块构建得到融合集成注意力模块的HRNet网络,所述的融合集成注意力模块的HRNet网络包括HRNet和集成注意力模块,所述的HRNet具有第一阶段、第二阶段、第三阶段、第四阶段和解码阶段,所述的第一阶段用于接收大小为256×192×3的图像,并对该图像进行特征提取,生成大小为64×48×256的特征图输出,所述的第二阶段用于接收所述的第一阶段输出的大小为64×48×256的特征图,并对该特征图进行特征提取,生成大小为64×48×32的特征图输出,所述的第三阶段用于接入所述的第二阶段输出的大小为64×48×32的特征图,并生成大小为64×48×32的特征图
输出,所述的集成注意力模块用于接入所述的第二阶段输出的大小为64×48×32的特征图以及所述的第三阶段输出的大小为64×48×32的特征图,并分别对接入的两张特征图进行通道特征提取,生成大小为64×48×32的特征图输出,所述的第四阶段用于接入所述的集成注意力模块输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为64×48×32的特征图输出,所述的解码阶段用于接入所述的第四阶段输出的大小为64×48×32的特征图,并生成大小为64×48×17的预测关节点热图输出,
所述的集成注意力模块具有第一分支、第二分支和合并分支,所述的第一分支采用一个平均池化层实现,所述的第一分支用于接入所述的第二阶段输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,所述的第二分支采用一个平均池化层实现,所述的第二分支用于接入所述的第三阶段输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,所述的合并分支包括concat层、第1个全连接层、ReLu激活层、第2个全连接层、Sigmoid激活层,所述的合并分支的concat层用于接入所述的第一分支输出的大小为1×1×32的特征图以及所述的第二分支输出的大小为1×1×32的特征图,并进行特征提取,生成大小为1×1×64的特征图输出,所述的合并分支的第1个全连接层用于接入所述的合并分支的concat层输出的大小为1×1×64的特征图,并对该特征图进行特征提取,生成大小为1×1×4的特征图输出,所述的合并分支的ReLu激活层用于接入所述的合并分支的第1个全连接层输出的大小为1×1×4的特征图,并对该特征图进行特征提取,生成大小为1×1×4的特征图输出,所述的合并分支的第2个全连接层用于接入所述的ReLu激活层输出的大小为1×1×4的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,所述的合并分支的Sigmoid激活层用于接入所述的合并分支的第2个全连接层输出的大小为1×1×32的特征图以及所述的第三阶段输出的大小为64×48×32的特征图,并对大小为1×1×32的特征图进行特征提取后与所述的第三阶段输出的大小为64×48×32的特征图相乘,生成大小为64×48×32的特征图输出。
步骤4,对所述的融合集成注意力模块的HRNet网络进行训练,具体过程为,
(1)对所述的融合集成注意力模块的HRNet网络采用he_normal参数初始化方法进行初始化,
(3)取其中一个batch,对这个batch中所有人的图像均采用随机旋转进行数据增强处理,其中旋转度数范围为大于0°且小于等于45° ,
(4)将所选取batch中所有人的图像作为所述的融合集成注意力模块的HRNet网络的输入,输入到所述的融合集成注意力模块的HRNet网络中进行识别处理,所述的融合集成注意力模块的HRNet网络得到该batch中每张人的图像对应的17张预测关节点热图输出,
(5)对所选取batch中每张人的图像,分别根据对应的17张预测关节点热图和对应的17个标签,计算每张人的图像的人体姿态估计损失值,并计算得到所选取batch中所有人的图像的人体姿态估计损失值平均值作为最终损失值,其中,每张人的图像的人体姿态估计损
其中(M)256×192×17,GHeatj表示所取batch中一张人的图像对应的第j个关节点热图,Heatj表示该张人的图像对应的第j个预测关节点热图,其中j(1 )2(3)…( 17)
(6)根据步骤(5)中计算得到的所取batch中所有人的图像的人体姿态估计损失值,使用学习率为1e‑3的Adam优化器对所述的融合集成注意力模块的HRNet网络的参数进行训练,完成所选取batch对所述的融合集成注意力模块的HRNet网络的训练,
(7)重复步骤(3) ‑ (6) ,直至所有的batch都对所述的融合集成注意力模块的HRNet网络进行一次训练,然后将验证集中所有人的图像输入到此时训练后的融合集成注意力模块的HRNet网络中,并采用步骤(5)相同的方法得到验证集中每张人的图像的人体姿态估计损失值,计算并得到验证集中所有人的图像的人体姿态估计损失值平均值,
(8)重复步骤(2) ‑ (7)共Num次,直至所述的融合集成注意力模块的HRNet网络在验证集上的损失收敛,最终得到训练好的融合集成注意力模块的HRNet网络,其中Num≥210,
步骤5,将需要人体姿态估计的人的图像进行拉伸,使其长为256厘米,宽为192厘米,然后将拉伸后的人的图像输入到训练好的融合集成注意力模块的HRNet网络中,训练好的融合集成注意力模块的HRNet网络生成17张预测关节点热图输出,该17张预测关节点热图即为人体姿态估计结果。
[0001] 本发明涉及一种2D人体姿态估计方法,尤其是涉及一种融合集成注意力的2D人体姿态估计方法。
[0002] 2D人体姿态估计(Human Pose Estimation,HPE)是计算机视觉领域中十分基础的一项任务,目的为检测二维图像中人的头、肩、手腕和膝盖等各个关节点位置信息,是很多其他视觉任务的辅助和铺垫性工作,当前已经在智能视频监控、人机交互、自动驾驶以及智能医疗等领域有着重要且广泛的应用。然而,由于人体关节点小,姿态多变,并且通常受到复杂背景和表观特征差异的影响,如人的衣着、身形、人体动作导致的自遮挡和遮挡等因素,使得准确估计人体关节点的位置成为一项具有挑战的任务。
[0003] 近几年,深度学习方法在图像识别领域获得了极大成功,基于深度网络的方法已广泛应用于2D人体姿态估计中。深度卷积神经网络模型是当前2D人体姿态估计方法中最常用的一种深度网络。目前,基于深度卷积神经网络模型的2D人体姿态估计方法主要有两种,第一种方法是文献1 (B.Xiao,H.Wu,Y.Wei .Simple baselines for human pose estimation and tracking[C]//ECCV.2018:472‑487.)中公开的基于ResNet主干网络的SimpleBaseline方法,该方法利用多分辨率图像进行监督,使得深度卷积神经网络模型能够看到不同分辨率图像下的信息,但是低分辨率的图像可能对关节点的定位有误差,无法完全可靠,因此目前大多数方法主要还是依据深度卷积神经网络模型中最高分辨率的图像进行监督。第二种方法是文献Deep high‑resolution representation learning for human pose estimation[C]//CVPR.2019:5693‑5703.)中公开的利用高分率保持多分辨率并行的深度卷积网络HRNet的方法,该方法通过多分辨率并行子网架构一直保持高分辨率图像信息的学习,加上重复多尺度特征融合,进一步精确了关节点的定位。
[0004] 但是,上述两种基于深度卷积神经网络模型的2D人体姿态估计方法均存在以下问题,一、两种深度卷积神经网络模型存在参数量大、计算速度慢和推理速度慢的问题,由此导致人体姿态估计速度慢,二、人体关节点在图像中占比小,属于小目标,对图像局部信息学习有需求,但是两种深度卷积神经网络模型均不具备高级局部信息学习的能力,由此导致人体姿态估计准确度不高。
[0005] 本发明所要解决的技术问题是提供一种人体姿态估计速度快,且准确度高的融合集成注意力的2D人体姿态估计方法。
[0006] 本发明解决上述技术问题所采用的技术方案为,一种融合集成注意力的2D人体姿态估计方法,包括以下步骤,
姿态估计任务的公共数据集MS COCO,该公共数据集MS COCO包含N张自然场景下人的图像以及每张人的图像中人体17个关节点的坐标,每张人的图像均为三通道彩色图像,其中(N )175000, 17个关节点包括左眼、右眼、鼻子、左耳、右耳、左肩、右肩、左手肘、右手肘、左手腕、右手腕、左胯、右胯开云体育官方入口arget=_blank>2d人体姿态估计、左膝盖、右膝盖、左脚踝和右脚踝,各个关节点的坐标基于图像坐标系确定,由横坐标和纵坐标构成,图像坐标系以图像左上角顶点为坐标原点,从坐标原点水平向右方向(即图像左上角顶点和右上角顶点的连线方向)为正横坐标,从坐标原点垂直向下方向(即图像左上角顶点和左下角顶点的连线方向)为正纵坐标,从公共数据集MS COCO 中获取175000张人的图像及这175000张人的图像中每张人的图像中人体17个关节点的坐标,将公共数据集MS COCO中这175000张人的图像随机划分为训练集、验证集和测试集三类,其中训练集有150000张人的图像,验证集有5000张人的图像,测试集有20000张人的图像,
[0008] 步骤2,从训练集和验证集中获取所有人的图像,然后分别制作每张人的图像对应的17张关节点热图,其中每张人的图像对应的第K张关节点热图的制作方法为,设计一张尺寸大小等于人的图像的空白图像,人的图像中每个像素点与空白图像中相同位置处的像素点相对应,然后将人的图像中第K个关节点的坐标定义为中心坐标,将该中心坐标的横坐标记为 纵坐标记为 在与中心坐标处像素点对应的空白图像中的像素点处标注数值1 , 1表示是第K个关节点的正确位置,接着以中心坐标为圆心,σ,3cm为半
圆形区域中除中心坐标处像素点以外的其余每个像素点处的数值,将得到的每个像素点处的数值标注在空白图像中对应的像素点处,其中,e表示自然对数的底,mK表示圆形区域内除中心坐标处像素点以外的其余某个像素点的横坐标,nK表示圆形区域内除中心坐标处像素点以外的其余某个像素点的纵坐标,圆形区域内除中心坐标的像素点数值外,其余像素点的数值分别大于0且小于1 ,其数值表示与第K个关节点的正确位置相近,但不是第K个关节点的正确位置,最后,将空白图像中其余未标注的所有像素点处标记数值0,0表示不是第K个关节点的正确位置,空白图像中所有像素点对应标记完成后,即为人的图像对应的第K 张关节点热图,
[0009] 对训练集和验证集中所有人的图像和每张人的图像对应的17张关节点热图分别进行拉伸,使其长均为256厘米,宽均为192厘米,即所有人的图像以及所有关节点热图的尺寸均为256×192,每张人的图像对应的17张关节点热图即为其对应的17个标签,
[0010] 步骤3,在现有的HRNet基础上增加一个集成注意力模块构建得到融合集成注意力模块的HRNet网络,所述的融合集成注意力模块的HRNet网络包括HRNet和集成注意力模块,所述的HRNet具有第一阶段、第二阶段、第三阶段、第四阶段和解码阶段,所述的第一阶段用于接收大小为256×192×3的图像,并对该图像进行特征提取,生成大小为64×48×256的特征图输出,所述的第二阶段用于接收所述的第一阶段输出的大小为64×48×256的特征图,并对该特征图进行特征提取,生成大小为64×48×32的特征图输出,所述的第三阶段用于接入所述的第二阶段输出的大小为64×48×32的特征图,并生成大小为64×48×32的特征图输出,所述的集成注意力模块用于接入所述的第二阶段输出的大小为64×48×32的特
征图以及所述的第三阶段输出的大小为64×48×32的特征图,并分别对接入的两张特征图进行通道特征提取,生成大小为64×48×32的特征图输出,所述的第四阶段用于接入所述的集成注意力模块输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为64×48×32的特征图输出,所述的解码阶段用于接入所述的第四阶段输出的大小为64×48×32的特征图,并生成大小为64×48×17的预测关节点热图输出,
[001 1] 所述的集成注意力模块具有第一分支、第二分支和合并分支,所述的第一分支采用一个平均池化层实现,所述的第一分支用于接入所述的第二阶段输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,所述的第二分支采用一个平均池化层实现,所述的第二分支用于接入所述的第三阶段输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,所述的合并分支包括concat层、第1个全连接层、ReLu激活层、第2个全连接层、Sigmoid激活层,所述的合并分支的concat层用于接入所述的第一分支输出的大小为1×1×32的特征图以及所述的第二分支输出的大小为1×1×32的特征图,并进行特征提取,生成大小为1×1×64的特征图输出,所述的合并分支的第1个全连接层用于接入所述的合并分支的concat层输出的大小为1×1×64的特征图,并对该特征图进行特征提取,生成大小为1×1×4的特征图输出,所述的合并分支的ReLu激活层用于接入所述的合并分支的第1个全连接层输出的大小为1×1×4的特征图,并对该特征图进行特征提取,生成大小为1×1×4的特征图输出,所述的合并分支的第2个全连接层用于接入所述的ReLu激活层输出的大小为1×1×4的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,所述的合并分支的Sigmoid激活层用于接入所述的合并分支的第2个全连接层输出的大小为1×1×32的特征图以及所述的第三阶段输出的大小为64×48×32的特征图,并对大小为1×1×32的特征图进行特征提取后与所述的第三阶段输出的大小为64×48×32的特征图相乘,生成大小为64×48×32的特征图输出。
[0012] 步骤4,对所述的融合集成注意力模块的HRNet网络进行训练,具体过程为,
[0013] (1)对所述的融合集成注意力模块的HRNet网络采用he_normal参数初始化方法进行初始化,
[0015] (3)取其中一个batch,对这个batch中所有人的图像均采用随机旋转进行数据增强处理,其中旋转度数范围为大于0°且小于等于45° ,
[0016] (4)将所选取batch中所有人的图像作为所述的融合集成注意力模块的HRNet网络的输入,输入到所述的融合集成注意力模块的HRNet网络中进行识别处理,所述的融合集成注意力模块的HRNet网络得到该batch中每张人的图像对应的17张预测关节点热图输出,
[0017] (5)对所选取batch中每张人的图像,分别根据对应的17张预测关节点热图和对应的17个标签,计算每张人的图像的人体姿态估计损失值,并计算得到所选取batch中所有人的图像的人体姿态估计损失值平均值作为最终损失值,其中,每张人的图像的人体姿态估计损失值计算如下所示,
[0020] (6)根据步骤(5)中计算得到的所取batch中所有人的图像的人体姿态估计损失值,使用学习率为1e‑3的Adam优化器对所述的融合集成注意力模块的HRNet网络的参数进行训练,完成所选取batch对所述的融合集成注意力模块的HRNet网络的训练,
[0021] (7)重复步骤(3) ‑ (6) ,直至所有的batch都对所述的融合集成注意力模块的HRNet 网络进行一次训练,然后将验证集中所有人的图像输入到此时训练后的融合集成注意力模块的HRNet网络中,并采用步骤(5)相同的方法得到验证集中每张人的图像的人体姿态估计损失值,计算并得到验证集中所有人的图像的人体姿态估计损失值平均值,
[0022] (8)重复步骤(2) ‑ (7)共Num次,直至所述的融合集成注意力模块的HRNet网络在验证集上的损失收敛,最终得到训练好的融合集成注意力模块的HRNet网络,其中Num≥210,
[0023] 步骤5,将需要人体姿态估计的人的图像进行拉伸,使其长为256厘米,宽为192厘米,然后将拉伸后的人的图像输入到训练好的融合集成注意力模块的HRNet网络中,训练好的融合集成注意力模块的HRNet网络生成17张预测关节点热图输出,该17张预测关节点热图即为人体姿态估计结果。
[0024] 与现有技术相比,本发明的优点在于通过在现有的HRNet基础上增加一个集成注意力模块构建得到融合集成注意力模块的HRNet网络,融合集成注意力模块的HRNet网络包括HRNet和集成注意力模块,HRNet具有第一阶段、第二阶段、第三阶段、第四阶段和解码阶段,第一阶段用于接收大小为256×192×3的图像,并对该图像进行特征提取,生成大小为64×48×256的特征图输出,第二阶段用于接收第一阶段输出的大小为64×48×256的特征图,并对该特征图进行特征提取,生成大小为64×48×32的特征图输出,第三阶段用于接入第二阶段输出的大小为64×48×32的特征图,并生成大小为64×48×32的特征图输出,集成注意力模块用于接入第二阶段输出的大小为64×48×32的特征图以及第三阶段输出的大小为64×48×32的特征图,并分别对接入的两张特征图进行通道特征提取,生成大小为64×48×32的特征图输出,第四阶段用于接入集成注意力模块输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为64×48×32的特征图输出,解码阶段用于接入第四阶段输出的大小为64×48×32的特征图,并生成大小为64×48×17的预测关节点热图输出,集成注意力模块具有第一分支、第二分支和合并分支,第一分支采用一个平均池化层实现,第一分支用于接入第二阶段输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,第二分支采用一个平均池化层实现,第二分支用于接入第三阶段输出的大小为64×48×32的特征图,并对该特征图进行特征提取,生成大小为1×1×32的特征图输出,合并分支包括concat层、第1个全连接层、ReLu激活层、第2个全连接层、Sigmoid激活层,合并分支的concat层用于接入第一分支输出的大小为1×1×32的特征图以及第二分支输出的大小为1×1×32的特征图,并进行特征提取,生成大小为1×1×64的特征图输出,合并分支的第1个全连接层用于接入合并分支的concat层输出的大小为1×1×64的特征图,并对该特征图进行特征提取,生成大小为1×1×4的特征