基于多样卷积单元高效人体姿态估计

2023-08-12 03:39吴红兰孙有朝
测控技术 2023年7期
关键词:关键点分支姿态

刘 豪, 吴红兰, 孙有朝, 喻 赛

(南京航空航天大学 民航学院,江苏 南京 211106)

人体姿态估计是计算机视觉中一个基本且具有挑战性的问题,目的是定位人体关键点,例如手部、膝盖等部位。它的应用较为广泛,包括人体动作识别和人机交互等。近些年来,人们通过使用深度卷积神经网络(Convolutional Neural Network,CNN)取得了显著的改进。然而这些先进的方法通常使用复杂的网络结构,具有大量的参数和浮点数运算次数,这就导致模型推理十分耗时,对设备内存的要求很高。笔者研究了在计算资源有限的情况下,开发兼具准确率和轻量化的人体姿态估计网络模型。

随着CNN的发展,DeepPose[1]将深度神经网络引入人体姿态估计算法,将人体姿态估计看作是一个人体关键点的回归问题。之后,为了建立人体关键点的空间信息,学者使用CNN预测关键点热图成为主流。

SimpleBaseline[2]的网络模型结构为设计一个简单的人体姿态估计网络提供了方法。基于在ResNet主干网络上添加的几个反卷积层,显示了一个简单方法的良好性能。这可能是从深度和低分辨率特征图估计热图的最简单方法。在大型模型中,例如语义分割、人体姿态估计和目标检测等位置敏感问题中,HRNet[3]显示出了强大的能力。为了提取多分辨率的特征信息,HRNet网络模型通过并行多尺度分辨率特征图,实现多个特征图的特征信息融合。由于网络模型采取保持高分辨率的策略,使得网络模型具有较高的参数量和复杂度。Lite-HRNet[4]将ShuffleNet[5]中的高效组卷积模块应用于HRNet中,大幅度减少了参数量,同时表现出良好的性能。组卷积[6]是将输入层的不同特征图进行分组,然后采用不同的卷积核对各个组进行卷积,降低卷积结构的计算量。DwiseConv(Depthwise Convolution)[7]作为一种比较特殊的组卷积,相对于传统卷积的优点在计算量上有巨大幅度的降低。将通道注意力整合到卷积块中引起了广泛的关注,在性能提升方面表现出了巨大的潜力,其中一个代表性的方法是SENet[8],它学习每个卷积块的通道注意力,为各种深度CNN体系结构带来了明显的性能增益。

在上述模型设计的启发下,提出了一个轻量级姿态估计网络DU-HRNet(Diverse Unit HRNet)。首先,分析了HRNet模型的基本组成,在HRNet中的高分辨率设计模式的基础上,设计了DU-HRNet模型结构的不同阶段。考虑到CNN的深度、通道数目对模型的参数量和计算量的影响。相较于HRNet,重新设置了DU-HRNet模型在不同阶段的多分辨率模块数目。接着在不同阶段多分辨率模块的分支中使用一系列预定义的卷积单元,该卷积单元使用DwiseConv深度卷积代替常规的3×3卷积来减少模型参数量和计算量。为了探索并增强来自不同感受野大小层的多尺度信息,鼓励卷积层间信息更加多样化,DU-HRNet允许并行分支中的每一分支拥有不同类型的高效卷积单元。为了改善网络模型的非线性,以及实现对特征权重的再分配,使用通道注意单元提升网络性能。在MS COCO[9]关键点检测数据集和MPII[10]数据集上的实验结果表明,本文的模型在复杂度较低的条件下具有很强的竞争力。

1 相关的工作

1.1 人体姿态估计

自上而下的方法将关键点的检测过程解释为两个阶段,即首先从图像中定位并裁剪所有人形框,然后解决裁剪后的姿态估计问题。卷积姿态机(Convolutional Pose Machine,CPM)[11]使用顺序化的卷积架构来表达空间信息和纹理信息,网络分为多个阶段,每一个阶段都有监督训练的部分。Hourglass[12]属于一种沙漏型的网络结构,该网络结构能够使同一个神经元感知更多的上下文信息。CPN(Cascaded Pyramid Network)[13]结构利用Mask-RCNN[14]的部分结构检测人体,之后实现关键点检测。HRNet通过在整个过程中反复进行信息交换来实现多尺度融合。

自下而上的方法直接预测所有关键点,然后将关键点组合为人的姿态。OpenPose[15]网络框架分为两支路,一路使用热力图进行关节点预测,同时另一路用于关节点分组,两支路进行联合学习和预测。Newell等[16]使用堆叠沙漏网络进行热图关键点预测和分组。分组方法是通过关联嵌入完成的。HigherHRNet[17]使用了HRNet网络主干结构,在末端使用高分辨率特征图,提高了准确率和模型的运算复杂度。

1.2 高效卷积单元

在轻量级网络中,可分离卷积和组卷积的使用越来越广泛。MobileNetV2[18]为了获得更多特征先使用了1×1的卷积核进行升维,然后用3×3的空间卷积核,最后再用1×1卷积核进行降维。Osokin[19]在OpenPose[20]的基础上通过使用部分MobileNetV2结构修改主干网络进行轻量化改进,使得整体网络能在Intel的CPU上达到实时的运行。

1.3 权重信息分配

注意力模块通过卷积特征的学习实现对特征通道信息重新分配权重。SENet[8]模块主要通过全局平均池化方法来建模特征通道之间关系。CBAM[21]在此基础上考虑了通道关系和空间关系,并单独生成注意力图。ECANet[22]基于SENet提出了一种不降维度的局部跨信道交互策略。CoordAttention[23]网络在捕捉特征图通道之间关系的前提下,有效地将空间方向的信息保存在注意力图中。Liu等[24]提出了极化自注意力机制,用于解决像素级的回归任务。

2 DU-HRNet

首先,回顾原始的HRNet的网络架构;然后,基于HRNet网络模型为基础架构,通过分析把拥有不同卷积内核高效卷积单元应用于HRNet不同阶段。在网络不同阶段的相同分辨率的并行分支中使用5×5和3×3卷积内核的单元,增强来自不同感受野大小层的多尺度信息,在保证网络模型性能的同时,达到轻量型网络模型的目的。

2.1 HRNet

如图1所示,HRNet在第1阶段从一个高分辨率的主干开始,逐渐添加一个高到低分辨率的分支作为新阶段。多分辨率分支是并行连接的,主体由4个阶段组成,在每个阶段,跨分辨率的信息都会反复交换。HRNet网络模型主要包含4个阶段,阶段1特征图分辨率为输入原图1/4,该阶段包含4个残差连接卷积单元,其中每个单元由Bottleneck[3]组成。然后经过一个3×3的卷积,将特征图的通道数降低至C。阶段2、阶段3和阶段4分别包含1、4和3个多分辨率卷积模块。该多分辨率卷积模块的分支特征图分辨率从高到底分别为输入图的1/4、1/8、1/16、1/32,其中4种分辨率分支通道数目分别为C、2C、4C和8C。每个分辨率分支具有4个Basicblock[3]残差单元,该单元由2个3×3残差连接卷积组成。在文本中,设置模型通道数目C为32。

图1 原始的HRNet网络模型

2.2 多样化卷积单元

保持图片高分辨率方法对于解决位置敏感的视觉问题很重要。DU-HRNet模型继承了HRNet模型原有的架构。为了探索并增强来自不同感受野大小层的多尺度信息,鼓励卷积层间信息更加多样化,允许模型并行分支中的每一分支拥有不同类型的高效卷积单元。

主干网络的深度对模型的精度是有重要影响的。重新设计了HRNet的阶段2~阶段4,得到每个阶段的不同卷积单元流,如图2所示。图2中的实线框展示了DU-HRNet模型在阶段2和阶段3多分辨率分支中的信息交流方式。与HRNet不同之处,模型在每一阶段中设置2个多分辨率模块。其中每个多分辨率模块的分支设计成一系列预定义的卷积单元,保持每一分支分辨率不变的情况下,调整卷积核尺寸,使得在最终融合的特征中充分利用有效信息。为了平衡网络的深度和准确率,设计了分支中的卷积单元个数为6。图2中的虚线框内详细地展示了各个预定义的卷积单元的信息流向。

图2 DU-HRNet的分支结构

同一阶段每一分支不同类型的卷积单元详细结构,如图3所示。包含了以下几层单元:EBConv(Efficient Block)结构,首先第1层为卷积核1×1的卷积层,中间层为一个卷积核3×3或5×5 DwiseConv卷积,图3(c)和图3(d)在此基础上使用一个即插即用的ECANet通道注意单元,最后使用了一个卷积核1×1的卷积层和一个残差连接,将输入直接加到输出上。

图3 多样化高效卷积单元

2.2.1 准确率与实时性的平衡

在网络模型中使用大的深度内核进行轻量化改进是有效的。大多数网络架构通常会多次重复3×3卷积核大小的卷积结构。人们普遍认为,大的内核卷积在计算资源上是昂贵的,因为卷积内核大小与模型的参数量以及运行速度有着密切的联系。然而通过应用深度可分离卷积,可以很好地克服这个缺点,假设内核都经过了合理的优化。因此为了获得更多特征,多样的卷积单元包含较多的5×5深度卷积内核。在形式上,给定一个输入形状(H,W,C)和输出形状(H,W,O),深度可分离卷积5×5和3×3内核的乘法相加的计算代价分别为

C3×3=H×W×C×(9+O)
C5×5=H×W×C×(25+O)
2C3×3>C5×5ifO>7

(1)

由式(1)可知,当输出的深度O>7时,2个3×3卷积核比1个5×5卷积核消耗更多的计算资源。为了兼顾模型的准确率和实时性,经过实验,平衡了模型中3×3卷积核和5×5卷积核的数量。

2.2.2 ECANet的嵌入

由于SENet单元成功应用于ResNet[25]中,本文使用了一个通道注意单元ECANet来改善网络模型的非线性。SENet在通道Excitation(Fex)[8]的操作为给定一个输入Z(Z∈R1×1×C)经过Excitation变换参数矩阵W得到输出S(S∈R1×1×C),即由式(2)可得:

S=Fex(Z,W)=σ(w2δ(w1z))

(2)

图4 ECANet跨通道交互图

(3)

式中:k为卷积核大小;C为输入的通道数。k由式(4)计算得出。

(4)

式中:C为输入的通道数;|·|odd为最近的奇数。在DwiseConv卷积层之后,1×1卷积层之前插入一个通道注意单元ECANet,如图3(c)和图3(d)所示。该单元可以有效地改善原始卷积层的整体非线性,完成跨通道之间的信息交互,使输出特征和输入特征更加不同。

3 数据集模型验证

3.1 MS COCO关键点检测数据集

MS COCO数据集有超过20万张图像和25万个人体实例,有17个关键点。模型是在train2017数据集上训练的,在val2017(包括5千张图像)和test-dev2017(包括2万张图像)上验证的。

3.1.1 评估标准

在MS COCO上采用关键点相似度(Object Keypoint Similarity,OKS)的平均精度均值(mAP)度量,OKS定义了不同人体姿态之间的相似性。使用mAP定义在OKS=0.50,0.55,…,0.95时,10个阈值之间所有预测关键点平均精度。具体实现方法为

(5)

式中:j为每个关节点的类型;dj为检测到的关键点与其对应的标注值之间的欧氏距离;vj为标注值的可见性标签;s为结果的比例。

3.1.2 实验配置

实验配置:Ubuntu 20.04系统,2块GeForce RTX 3090显卡,PyTorch 1.8.2深度学习框架。训练时将COCO数据集中的图像固定到384像素×288像素或者256像素×192像素尺寸大小。实验采用Adam作为网络训练时的优化器,初始学习率设置为1e-3;在第180轮时学习率衰减到1e-4;在第200轮时,学习率衰减到1e-5;模型总共训练230轮。每个GPU的批量为64。在训练过程中使用图像旋转和水平翻转方法增强数据。

3.1.3 实验结果分析

在COCO val2017进行验证,得出该方法和其他先进的方法的结果如表1所示(AR 为检测结果的平均召回率)。预训练为是否使用在ImageNet上训练权重,参数量和GFLOPs是针对姿态估计网络计算的。实验结果表明,DU-HRNet模型在较少的参数量和运算复杂度的条件下仍然取得了较好的性能。该模型,从256像素×192像素尺寸开始训练,达到71.1 mAP分数,超过其他轻量级方法。同样地,以下模型的对比采取了统一的输入尺寸。

表1 模型在COCO val2017上的性能比较

在复杂的网络模型上,与SimpleBaseline模型进行对比,当网络模型参数量为22.3%,GFLOPs为29.2%的条件下,mAP分数上提高了0.7精度分数;与HRNetV1模型相比,该网络模型参数量下降了73.3%,GFLOPs下降了62.5%,在mAP分数仅降低了2.3精度分数。相较于CPN,该网络模型在预测的平均准确率提升了2.5精度分数。在轻量化的网络模型上,与网络模型Lite-HRNet-18和Lite-HRNet-30相比,该网络模型虽然参数量分别提升了6.5×106和5.8×106,但是在模型性能方面分别提升了9.7%和5.8%,同时所有的性能指标均优于Lite-HRNet-18模型和Lite-HRNet-30模型。相较于MobileNetV2、ShuffleNetV2、DY-ReLU,该网络模型预测的平均准确率分别提升了10.1%、18.7%、4.4%。

在COCO test-dev2017上的性能比较如表2所示。参数量和GFLOPs是针对姿态估计网络计算得出的。与轻量网络模型比较,结果表明本文的DU-HRNet达到71.8%mAP分数,超过其他轻量级方法;与复杂网络模型比较,DU-HRNet模型性能优于Mask-RCNN、G-RMI。尽管和一些大型网络存在性能差距,但是DU-HRNet的GFLOPs和参数要低很多。

表2 在COCO test-dev2017上的性能比较

3.2 MPII 数据集

MPII人体姿势数据集拥有大约2万5千张来自真实世界各地姿态标注图像。

3.2.1 评估标准

对于MPII数据集,使用标准度量PCKH@0.5(正确关键点的头部归一化概率分数)来评估网络性能。

3.2.2 训练细节

实验配置:Ubuntu 20.04系统,2块GeForce RTX 3090显卡,PyTorch 1.8.2深度学习框架。在MPII数据集进行训练时,统一将裁剪后的图像缩放到固定的256像素×256像素大小,采用Adam作为网络训练时的优化器,设置初始学习率为1e-3;在第170轮时学习率衰减至1e-4;在第220轮时,学习率衰减至1e-5;当网络训练230轮时候,学习率衰减为0。每个GPU的最小批量为48。在训练过程使用图像旋转和水平翻转方法增强数据。

3.2.3 实验分析

在MPII验证集上进行验证,模型的输入尺寸为256像素×256像素。报告了该网络和其他轻量级网络的结果,如表3所示。该模型比MobileNetV2、MobileNetV3、ShuffleNetV2更低的参数量下,实现了更好的准确性。与网络模型Lite-HRNet-18和Lite-HRNet-30网络模型相比,该网络模型虽然分别高出了6.5×106与5.8×106参数量,但是在模型性能方面分别提升了2.1和1.2精度分数。其中,所有的轻量型网络中取得了最高的性能。

表3 在MPII验证集上的性能比较

3.3 消融实验

为了探究4种多样化卷积单元的数量对参数量和精度有何影响,本文分别使用了不同数量和不同类型的卷积单元进行实验验证。考虑到模型的参数量和复杂度,在保证网络深度相同的条件下,实验中模型被另外设计为4种典型类别,分别为DU-HRNet-T、DU-HRNet-S、DU-HRNet-B、DU-HRNet-M。其中网络阶段2、阶段3、阶段4分支层间单元的信流向由上到下。DU-HRNet与其他4种类型具体细节比较,如表4所示。使用多样化卷积单元和通道注意力机制提升网络模型精度的策略是有效的。DU-HRNet比DU-HRNet-S多使用了2层5×5卷积内核,准确率提升2.0分数。DU-HRNet比DU-HRNet-B多使用了1层5×5卷积内核,准确率提升了0.9分数。对比DU-HRNet-S和DU-HRNet-T两种模型,在参数量相差不多的条件下,局部嵌入ECANet提升了0.4的精度分数。对比DU-HRNet与DU-HRNet-M,模型使用ECANet,增加少量的参数量的条件下,提升0.5精度分数。

表4 消融实验模型在val2017上的比较,(模型输入尺寸256像素×192像素)

3.4 人体姿态模型效果可视化

从模型对单人、多人预测效果的正面、背面进行了可视化,如图5所示。模型表达出了良好的可视化性能。

图5 模型的可视化效果图

4 结束语

提出兼具准确率和轻量化的人体姿态估计网络模型DU-HRNet。为了探索并增强来自不同感受野大小层的多尺度信息,鼓励卷积层间信息更加多样化,模型允许并行分支中的每一分支拥有不同类型的高效卷积单元。通过实验验证了文章方法的有效性。和其他的方法相比,本文的方法可以在MS COCO数据集上取得优秀的结果,此方法能对开发轻量级模型有所帮助。后续的工作聚焦于多样感受野的可解释问题,为姿态估计提供明确的证据。同时,以期该方法能够带给轻量级人体姿态估计领域更多的启发。

猜你喜欢
关键点分支姿态
聚焦金属关键点
肉兔育肥抓好七个关键点
攀爬的姿态
巧分支与枝
全新一代宋的新姿态
跑与走的姿态
一类拟齐次多项式中心的极限环分支
医联体要把握三个关键点
锁定两个关键点——我这样教《送考》
生成分支q-矩阵的零流出性