1.本发明涉及人体姿态估计领域,尤其涉及一种基于流式注意力的轻量级人体姿态估计方法及系统。
背景技术:
2.在计算机视觉方向,人体姿态估计是一个非常热门且重要的课题。它的主要任务是基于图像或视频得到人的关节点和肢体信息,得到这些信息后,可以进一步完成一些认知层面的任务。例如行为识别和人机交互。
3.人体姿态估计任务一般有两种思路:自顶向下和自底向上,因此神经网络的结构设计也是这两种思路。自顶向下的人体姿态估计算法包含两个步骤:目标检测和单人姿态估计。即先用faster-rcnn等经典的目标检测算法框出图像中的人,再对每个人进行单人姿态估计。其特点是准确率较高,但速度和人的数量有关,且准确率和检测出人的目标检测网络性能相关,针对拥挤人群效果较差,因此该方法适用于单人场景或人较少的场景。而自底向上的人体姿态估计算法也包含两步,首先找出图中所有的人体关键点,然后通过后处理等方式将这些关键点组装成一个个人。其特点是速度与人的数量无关,但准确率较低,该方法适用于多人场景。
4.无论是哪种思路,先进的人体姿态估计网络,例如高分辨率网络(high resolution network,hrnet)和多阶段网络(multi-stage pose networks,mspn),在实际应用中存在许多困难。最重要的原因是这些网络具有很高的复杂度。在智能手机等移动设备上进行部署是一个挑战,因此设计一种针对移动设备的轻量级人体姿态估计网络是很有必要的。
技术实现要素:
5.本发明提供了一种基于流式注意力的轻量级人体姿态估计方法及系统,用以解决现有的人体姿态估计网络的识别精度低以及复杂度高的技术问题。
6.为解决上述技术问题,本发明提出的技术方案为:
7.一种基于流式注意力的轻量级人体姿态估计方法,包括以下步骤:
8.获取需要姿态估计的目标图像;对目标图像进行标准化剪裁以及归一化处理;将目标图像输入训练好的基于流式注意力的轻量级人体姿态估计网络中,输出姿态估计热图结果;
9.训练好的基于流式注意力的轻量级人体姿态估计网络,通过以下步骤训练得到:
10.通过训练数据集中的训练图像进行训练,训练数据集中的训练图像经过不同尺度的卷积进行下采样,再经过多组带有流式注意力的ghost轻量级模块,得到四个不同尺度的第一特征图c1、c2、c3和c4;将四个不同尺度的第一特征图c1、c2、c3和c4作为上采样模块的输入,分别进行卷积得到相同通道数的四个第二特征图m1、m2、m3和m4;将四个第二特征图中除了尺寸最大的一张第二特征图以外的其他第二特征图进行双线性上采样操作,得到二倍的
特征图,并将第一特征图和上采样模块得到的二倍特征图中同一尺度的特征图进行特征融合,输出第三特征图,转化后得到人体姿态估计所需要的热图。
11.优选地,四个不同尺度的第一特征图c1、c2、c3和c4的尺度分别为训练图像的1/4、1/8、1/16和1/32;第三特征图的尺度为训练图像的1/4。
12.优选地,带有流式注意力的ghost轻量级模块,用于执行以下步骤:
13.将特征图输入ghost单元,首先经过1x1卷积得到之后采用3x3的深度可分离卷积得到最后将u和u’进行拼接操作得到其中,是实数集,h代表特征图高度,w代表特征图宽度,c代表特征图维度,m代表ghost单元输出特征图的维度;
14.将特征图输入流式注意力模块,生成多尺度特征图和其中和是两个不同的同尺度的深度可分离卷积;将输出的两个特征图m和n进行拼接操作得到特征图
15.将特征图f输入到坐标通道注意力单元中,得到权重向量v=ccau(f);
16.将权重向量v平均分为两个向量和然后将这两个向量和之前得到的两个特征图m和n相乘再相加得到输出特征图即为yc=ac×
mc bc×
nc,其中c表示特征图和权重向量的第c维。
17.本发明还提供一种基于流式注意力的轻量级人体姿态估计系统,包括:
18.主体网络模块:即神经网络的编码模块,用于将输入的目标图像经过不同尺度的卷积进行下采样,再经过多组带有流式注意力的ghost轻量级模块,得到四个不同尺度的第一特征图c1、c2、c3和c4;
19.上采样模块:即神经网络的解码模块,用于将输入的四个不同尺度的第一特征图c1、c2、c3和c4,分别进行卷积得到相同通道数的四个第二特征图m1、m2、m3和m4;将四个第二特征图中除了尺寸最大的一张第二特征图以外的其他第二特征图进行双线性上采样操作,得到二倍的特征图,并将第一特征图和上采样模块得到的二倍特征图中同一尺度的特征图进行特征融合,输出第三特征图;
20.热图模块:用于将第三特征图进行转化,得到人体姿态估计所需要的热图。
21.优选地,四个尺度的特征图c1、c2、c3和c4的尺度分别是原始图像的1/4、1/8、1/16和1/32;
22.优选地,主体网络模块采用带有流式注意力的ghost轻量级模块;带有流式注意力的ghost轻量级模块包括:ghost单元和流式注意力模块以及坐标通道注意力单元;ghost轻量级模块,用于执行以下步骤:
23.ghost单元,用于将输入的特征图首先经过1x1卷积得到之后采用3x3的深度可分离卷积得到最后将u和u’进行拼接操作得到其中,是实数集,h代表特征图高度,w代表特征图宽度,c代表特征图维度,m代表ghost单元输出特征图的维度;
24.流式注意力模块,用于将输入的特征图生成多尺度特征图
和其中和是两个不同的同尺度的深度可分离卷积;将输出的两个特征图m和n进行拼接操作得到特征图流式注意力模块还包括坐标通道注意力单元;
25.坐标通道注意力单元,用于根据输入的特征图f,得到权重向量v=ccau(f);
26.将权重向量v平均分为两个向量和然后将这两个向量和之前得到的两个特征图m和n相乘再相加得到输出特征图即为yc=ac×
mc bc×
nc,其中c表示特征图和权重向量的第c维。
27.本发明还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的步骤。
28.本发明具有以下有益效果:
29.1、本发明的基于流式注意力的轻量级人体姿态估计方法及系统,具备识别精度较高、复杂度低的特征,可以运行在智能手机等移动设备上,进行实时的人体姿态估计。
30.2、本发明的基于流式注意力的轻量级人体姿态估计方法及系统,通过ghost轻量模块,显著降低模型的复杂度和参数量;之后采用流式注意力的模块,用于代替深度可分离卷积,在网络的同一层内生成多尺度特征并将其进行有效的聚合,在少量增加参数量的前提下,提高了模型的精度。上述方法在保持较低复杂度的基础上,达到较好的人体姿态估计性能,可以运行在智能手机等移动设备上面,具备精度较高、复杂度低的优点。
31.除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
32.构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
33.图1是本发明优选实施例的基于流式注意力的轻量级人体姿态估计方法的结构示意图;
34.图2是本发明优选实施例的基于流式注意力的轻量级人体姿态估计系统的结构示意图;
35.图3是本发明优选实施例的流式注意力融合模块(ffab)的结构示意图;
36.图4是本发明优选实施例的基于流式注意力的ghost轻量模块(fglb)的结构示意图。
具体实施方式
37.以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
38.参见图1,本发明的基于流式注意力的轻量级人体姿态估计方法,包括以下步骤:
39.获取需要姿态估计的目标图像(可以通过手机摄像头等装置获取需要姿态估计的目标图像;);对目标图像进行标准化剪裁以及归一化处理;将目标图像输入训练好的基于流式注意力的轻量级人体姿态估计网络中,输出姿态估计热图结果;
40.其中,训练好的基于流式注意力的轻量级人体姿态估计网络(flow-based attention lightweight network,falnet),通过以下步骤训练得到:
41.通过训练数据集中的训练图像进行训练,训练数据集中的训练图像经过不同尺度的卷积进行下采样,再经过多组带有流式注意力的ghost轻量级模块,得到四个不同尺度的第一特征图c1、c2、c3和c4;将四个不同尺度的第一特征图c1、c2、c3和c4作为上采样模块的输入,分别进行卷积得到相同通道数的四个第二特征图m1、m2、m3和m4;将四个第二特征图中除了尺寸最大的一张第二特征图(除了m1以外)以外的其他第二特征图进行双线性上采样操作,得到二倍的特征图,并将第一特征图和上采样模块得到的二倍特征图中同一尺度的特征图进行特征融合,输出第三特征图,转化后得到人体姿态估计所需要的热图。
42.通过上述步骤,在模型复杂性和准确性之间实现了良好的平衡。具备识别精度较高、复杂度低的特征,可以运行在智能手机等移动设备上,进行实时的人体姿态估计。
43.在一些实施方式中,训练好的基于流式注意力的轻量级人体姿态估计网络(flow-based attention lightweight network,falnet),通过以下步骤训练得到:
44.(1)获取原始图像数据,并对原始图像进行预处理,获得预处理后图像。
45.首先对原始图像进行人体目标识别,得到人体标注框,然后将这部分图像裁剪为256x192大小,并进行归一化处理。
46.(2)对预处理后的图像进行数据增强,获取增强后图像。
47.在具体实施时,对图像进行随机翻转、随机旋转、随机缩放等操作。其中随机旋转的角度范围是[-45
°
,45
°
],随机缩放的尺度范围是[0.7,1.35],获得增强后的图像。
[0048]
(3)通过数据增强后的图像,构建训练数据集,通过训练数据集对基于流式注意力的轻量级人体姿态估计网络模型进行训练,获得训练好的基于流式注意力的轻量级人体姿态估计网络模型,训练时采用adam优化器和余弦退火学习率衰减方法,学习率从1e-4逐渐降低到0。损失函数使用在线困难关键点挖掘(online hard keypoints mining)均方误差(ohkm l2 loss)。
[0049]
在一些实施方式中,基于流式注意力的轻量级人体姿态估计网络的网络主体模块依照resnet50网络结构设计,将基础模块bottleneck替换为基于流式注意力的ghost轻量模块(fglb)。
[0050]
首先,对目标图像进行标准化剪裁以及归一化处理,可以将图像裁剪为256x192大小,并进行归一化处理。可以将裁剪好的图像首先经过一个7x7卷积和一个3x3卷积进行四倍下采样,之后经过16个fglb,得到四个不同尺度的特征图,网络主体模块由fglb依照[3,4,6,3]的方式堆叠得到,分别在第3个、第7个、第13个和第16个进行两倍下采样。得到四个不同尺度的第一特征图c1、c2、c3和c4的尺度分别为训练图像的1/4、1/8、1/16和1/32;第三特征图的尺度为训练图像的1/4。
[0051]
在一些实施方式中,带有流式注意力的ghost轻量级模块(f-ghost lightweight block,fglb),用于执行以下步骤:
[0052]
将特征图输入ghost单元,首先经过1x1卷积得到之后采用3x3的深度可分离卷积得到最后将u和u’进行拼接操作得到其中,z是ghost单元的输入特征图,是实数集,h代表特征图高度,w代表特征图宽度,c代表特征图维度,m代表ghost单元输出特征图的维度。u和u’分别是中间产生的
特征图。
[0053]
将特征图输入流式注意力模块,生成多尺度特征图和其中和是两个不同的同尺度的深度可分离卷积;将输出的两个特征图m和n进行拼接操作得到特征图将特征图f输入到坐标通道注意力单元中,得到权重向量v=ccau(f);
[0054]
将权重向量v平均分为两个向量和然后将这两个向量和之前得到的两个特征图m和n相乘再相加得到输出特征图即为yc=ac×
mc bc×
nc,其中c表示特征图和权重向量的第c维。
[0055]
参见图2,本发明还提供一种基于流式注意力的轻量级人体姿态估计系统,包括:
[0056]
主体网络模块:即神经网络的编码模块(采用特征金字塔结构设计模型,将resnet的基本网络模块bottleneck替换为带有流式注意力的轻量级模块)在轻量化的基础上,将输入的目标图像经过不同尺度的卷积进行下采样,再经过多组带有流式注意力的ghost轻量级模块,得到四个不同尺度的第一特征图c1、c2、c3和c4;
[0057]
上采样模块:即神经网络的解码模块,用于将输入的四个不同尺度的第一特征图c1、c2、c3和c4,分别进行卷积得到相同通道数的四个第二特征图m1、m2、m3和m4;将四个第二特征图中除了尺寸最大的一张第二特征图以外的其他第二特征图进行双线性上采样操作,得到二倍的特征图,并将第一特征图和上采样模块得到的二倍特征图中同一尺度的特征图进行特征融合,输出第三特征图;
[0058]
热图模块:用于将第三特征图进行转化(例如:将神经网络输出的特征图经过1x1卷积改变通道数),得到人体姿态估计所需要的热图。
[0059]
在一些实施方式中,四个尺度的特征图c1、c2、c3和c4的尺度分别是原始图像的1/4、1/8、1/16和1/32。
[0060]
在一些实施方式中,在主体网络模块采用带有流式注意力的ghost轻量级模块;在上采样模块采用较低通道数的特征图,具备较高性能和低延迟的显著特征。参见图4,带有流式注意力的ghost轻量级模块(f-ghost lightweight block,fglb)包括:ghost单元和流式注意力模块(ffab)。fglb,包括以下组件:
[0061]
在一些实施方式中,ghost单元,用于将输入的特征图首先经过1x1卷积得到之后采用3x3的深度可分离卷积得到最后将u和u’进行拼接操作得到该模块用于代替常规的输入输出通道相同的1x1卷积,可以降低约一半的参数量。ghost轻量级模块和resnet的基础模块bottleneck相比,前者参数量大致是后者参数量的1/17。
[0062]
在一些实施方式中,参见图3,流式注意力模块(flow-based fusion attention block,ffab)由两个3x3深度可分离卷积和坐标通道注意力单元(coordinate channel attention unit,ccau)组成。
[0063]
两个3x3深度可分离卷积用于将输入的特征图生成多尺度特征图和其中和是两个不同的同尺度的深度可分离卷积;将输出的两个特征图m和n进行拼接(concat)操作得到特征图
[0064]
坐标通道注意力单元,用于根据输入的特征图f,得到权重向量v=ccau(f)。实施时,在ccau中,首先,使用(2h,1)和(1,2w)的池化核对输入的特征图分别进行x轴和y轴两个方向的编码,分别是x方向平均池化(x average pooling)和y方向平均池化(y average pooling)。因此,在x轴方向,高度为h的第c个通道可以表示为在y轴方向,宽度为w的第c个通道可以表示为
[0065]
实施时,将两个方向的编码进行拼接(concat)并输入到一个带有bn(批量归一化)层和relu激活函数的1x1的卷积进行降维到1/r,得到输出特征图可以表示为q=conv1(concat(z
x
,zy))。接着将q分为两个向量和然后再用两个带sigmoid函数的1x1卷积进行升维处理得到x、y两个方向上的权重向量,分别可以表示为g
x
=σ(q
x
)和gy=σ(qy)。最后将它们相乘得到权重向量可以表示为
[0066]
将权重向量v平均分为两个向量和然后将这两个向量和之前得到的两个特征图m和n相乘再相加得到输出特征图即为yc=ac×
mc bc×
nc,其中c表示特征图和权重向量的第c维。
[0067]
在一些实施方式中,将输出特征图y再输入到一个ghost单元中,首先经过1x1卷积得到之后采用3x3的深度可分离卷积得到最后将这两部分进行concat操作得到
[0068]
然后进行残差连接,得到fglb的输出特征图可以表示为t=y
′
z。
[0069]
经过16个fglb得到四个特征图c1、c2、c3、c4,作为上采样模块的输入,每个特征图经过1x1卷积得到m1、m2、m3、m4。
[0070]
用ffab替换掉传统glb(ghost lightweight block,glb)中的3x3深度可分离卷积,得到基于流式注意力的ghost轻量模块(fglb)。
[0071]
验证实验:
[0072]
将本实施例的基于流式注意力的轻量级人体姿态估计系统在coco2017数据集上进行实验,使用coco train2017训练集训练网络模型,在val2017测试集评估提出的姿态估计方法。
[0073]
coco train2017包括57k张图片和150k个人实例,用于训练。在coco val2017(5k图像)上评估本发明。评价指标为基于对象关键点相似性(object keypoint similarity,oks)的平均精度(average precision,ap)和平均召回率(average recall,ar),用于评价关键点定位的准确性。报告平均准确率ap(ap在oks=0.50;0.55;
…
;0.90;0.95;10个阈值点的平均值得分)、平均召回率ar(ar在oks=0.50;0.55;
…
;0.90;0.95;10个阈值点的平均值得分)、模型参数量parameter和模型浮点计算量(floating-point operations per second,flops),实验结果参见表1:
[0074]
表1
[0075][0076]
由表1可以看出,基于流式注意力的轻量级人体姿态估计系统的参数量仅为hrnet的1/11,浮点计算量仅为hrnet的1/12,同时ap和ar下降的不多,其中ap仅下降了3个点,ar仅下降了2.6个点,在模型复杂性和准确性之间实现了良好的平衡。
[0077]
本发明实施例还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例的步骤。
[0078]
综上可知,本发明通过ghost轻量模块,显著降低模型的复杂度和参数量;之后采用流式注意力的模块,用于代替深度可分离卷积,在网络的同一层内生成多尺度特征并将其进行有效的聚合,在少量增加参数量的前提下,提高了模型的精度。上述方法在保持较低复杂度的基础上,达到较好的人体姿态估计性能,可以运行在智能手机等移动设备上面,具备精度较高、复杂度低的优点。
[0079]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-871.html