基于注意力机制的轻量型人体姿态估计

2022-08-24 06:30李坤侯庆
计算机应用 2022年8期
关键词:复杂度关键点姿态

李坤,侯庆,2*

(1.贵州大学计算机科学与技术学院,贵阳 550025;2.贵州省通信产业服务有限公司,贵阳 550005)

0 引言

人体姿态估计是对目标中人体关键点进行预测与定位,作为计算机视觉的一个重要研究课题,在行人检测、人机交互和行人重识别等方向有着广泛的应用。

在人体姿态估计研究发展中,图结构模型算法[1-2]一直是传统人体姿态估计算法的主流方式。图结构模型算法主要由3 部分组成,分别是人体的部件检测模型、人体的图模型结构和相应的姿态推理算法。图结构模型算法首先将人体结构分解成不同的部件,然后利用图结构模型对部件之间的关系进行建模,最后将各个部件进行连接,从而构成完整的人体姿态;但在背景复杂、人体姿态高度灵活的情况下,图结构模型的预测精度和效率会急剧下降,难以达到实际应用的水平。

随着深度神经网络的兴起与发展,2014 年Toshev 等[3]首次将深度神经网络引入人体姿态估计算法,将人体姿态估计看作是一个人体关键点的回归问题,通过深度神经网络对输入的图像进行特征提取,并利用卷积核对关键点之间的关系进行建模,因为不同的卷积核所学习的参数不同,所以有效地提高了人体关键点的预测性能。但随着对人体姿态估计模型性能要求的不断提高,模型参数量在不断加大,运算复杂度也随之快速增加,因此在保持模型对人体关键点预测精度的前提下,如何降低模型运行时的参数量和运算复杂度,是当前人体姿态估计模型改进和优化所面临的重要问题。

2019 年提出的高分辨率网络(High-Resolution Network,HRNet)[4]重新考虑了分辨率对人体姿态估计模型的影响,与堆叠沙漏网络(Stacked Hourglass Network,Hourglass)[5]采用高分辨率下采样到低分辨率、再从低分辨率上采样到高分辨率的对称结构不同,HRNet 模型在Hourglass 基础上改进并提出了基于高分辨率的人体姿态估计模型,在整个模型中一直保持高分辨率特征图,一定程度上弥补了Hourglass 中上采样过程导致的空间分辨率损失的缺陷,进一步验证了高分辨率特征图在人体姿态估计模型中对人体关键点预测的重要性。整个HRNet 模型采用并行子网方式,实现了多个分辨率特征图的充分融合,增强了特征图的特征信息;但是由于模型始终保持高分辨率特征图,在提高预测人体关键点精度的同时,也增加了模型的参数量和运算复杂度。2020 年,Zhou 等[6]提出了沙漏(Sandglass)模块,通过在高维线性表示之间建立跳跃连接和使用缩放系数,在保证模型性能的同时降低了模型的参数量和运算复杂度。Hou 等[7]提出了坐标注意力(Coordinate Attention,CoordAttention)模块,在保证获取特征图通道之间关系的前提下,还能在特征图一个空间方向对感兴趣的特征区域进行精确定位,在另一个空间方向捕获长程依赖。

针对高分辨率模型具有参数量大、运算复杂度高(本文以浮点运算量的大小作为衡量标准)的问题,本文引入Sandglass 模块和CoordAttention 模块,对HRNet 模型基础模块进行改进,提出了结合沙漏坐标注意力瓶颈(Sandglass Coordinate Attention bottleneck,SCAneck)模块和沙漏坐标注意力基础(Sandglass Coordinate Attention basicblock,SCAblock)模块的轻量型沙漏坐标注意力网络(Sandglass Coordinate Attention Network,SCANet),在保持人体关键点预测准确率的前提下,有效地降低了模型的参数量和运算复杂度。

本文的主要工作如下:

1)针对HRNet 模型保持高分辨率特征表示,造成参数量大、运算复杂度高的问题,使用轻量型Sandglass 模块代替标准的3×3 卷积,在保证模型性能的同时,达到轻量型模型的目的。

2)提出了一种融合注意力机制的残差模块,通过引入CoordAttention 模块,在保证获取特征图通道特征信息的同时,加强模型在空间方向对特征信息的精确定位,减少关键点定位带来的损失,达到与HRNet 模型性能相当甚至更优的目的。

1 相关工作

1.1 人体姿态估计模型

人体姿态估计模型分为自底向上(Bottom-Up)和自顶向下(Top-Down)两种框架,其中Top-Down 算法是目前人体姿态估计中准确率最高的网络框架。Top-Down 算法首先通过人体检测器[8-9]检测出图片中每个人体的边界框,然后将边界框从输入图像中裁剪出来,再进行单人的人体姿态估计,因此预测关键点的准确率会受到人体检测器性能的影响。Mask R-CNN(Mask Region-based Convolutional Neural Network)[10]在 Faster R-CNN(Faster Region-based Convolutional Neural Network)[11]的基础上进行改进,提出了人体姿态估计分支,与人体检测分支共享骨干网络提取的特征,由于两个分支共享骨干网络,所以在一定程度上降低了模型的参数量。

相较于Top-Down 的人体姿态估计框架,Bottom-Up 的人体姿态估计框架中没有使用人体检测器,而是首先预测出输入图像中所有人体的关键点,然后通过拼接得到人体姿态。该算法的优势在于运行速度快、实时性高,但是当相同类型的关键点距离较近时,容易出现分组错误,因此设计不同的分组信息是Bottom-Up 算法的关键。OpenPose 模型[12]是对序列卷积姿态机(Convolutional Pose Machines,CPM)[13]的改进,将模型分为两部分:一部分通过卷积神经网络提取特征信息;另一部分通过模型预测得到部分亲和力场(Part Affinity Field,PAF),通过PAF 将关键点分组问题转化为二分图最大权匹配问题,并用匈牙利算法求得关键点是否相连以及相应的方向信息,实现对关键点的分组,以生成最终的人体姿态。

1.2 倒置残差模块

倒置残差模块(Inverted Residual Module,IRM)的概念第一次在MobileNet V2[14]中提出,主要为了轻量型模型设计。为了降低模块的参数量,首先以一个低维特征张量作为输入,通过1×1 卷积进行通道扩展生成一个高维特征张量;然后利用深度卷积对其进行空间上下文编码;最后再通过1×1卷积将高维特征张量映射成低维特征张量。ShuffleNet V2[15]证明输入和输出通道相同时,可以降低内存访问量,因此在倒置残差模块前后添加了通道混洗操作,以对特征图的通道数进行控制。

1.3 注意力机制

注意力机制通过卷积特征的学习实现特征通道权重的重新分配,包括压缩(Squeeze)和激励(Excitation)两个操作。相关研究表明在增加少量运算复杂度的情况下,添加注意力机制能够提高轻量型模型的性能。其中,SE(Squeeze-and-Excitation)模块[16]主要通过全局池化建模特征通道之间关系,没有考虑空间方向信息的重要性。卷积块注意力模块(Convolutional Block Attention Module,CBAM)[17]在此基础上考虑了通道关系和空间关系,并单独生成注意力图,最后与输入特征图相乘得到带有注意力权重的特征图。CoordAttention 模块在保证捕捉特征图通道之间关系的前提下,有效地将空间方向的信息保存在注意力图中,更好地补充了空间方向的特征信息。

1.4 轻量型模型

轻量型模型[18]主要对深度神经网络的深度、宽度进行改进,以减少模型的参数量和计算量,达到轻量型模型的目标。其中,空间可分离卷积(Spatially Separable Convolution)将卷积核在空间方向拆分成两个较小的卷积核,再依次进行卷积运算。而深度可分离卷积(Depthwise Separable Convolution)将卷积核拆分成深度卷积(Depthwise Convolution,Dwise)和逐点卷积(Pointwise Convolution,Pwise),这种方法大幅降低了模型的参数量,但是对特征图提取特征相对较少,可能导致模型对特征的泛化能力不足。分组卷积(Grouped Convolution)最早是在2012 年提出的AlexNet[19]中出现,使用多个GPU 并行处理特征图,然后将得到的结果进行融合。

2 SCANet模型的结构

本文以HRNet 模型为基础架构进行改进,提出了SCANet 模型,其结构如图1 所示。

图1 SCANet模型的结构Fig.1 Structure of SCANet model

SCANet 模型继承了HRNet 模型原有的架构,包含Stage1、Stage2、Stage3 和Stage4 共4 个阶段。这是为了让特征图的分辨率采取循序渐进的下降方式。如果大幅度采取下采样操作,会导致特征图中人体姿态的细节迅速丢失,即使从模糊图像中学习到特征信息,再与上层高分辨率特征图提取的特征信息进行特征融合,也难以提高预测关键点的准确率。在每个阶段中分别使用1、2、3 和4 个不同分辨率和通道数的平行分支,也避免了下采样过程中特征图空间信息丢失。

SCANet 模型具体处理过程如下:

1)在预处理阶段经过两个标准的3×3 卷积核使输入图像分辨率变为原来的1/4,通道数也由原来的3 通道变成64通道;

2)将预处理后的特征图作为Stage1 的输入,经过4 个SCAneck 模块对特征图进行特征提取;

3)在随后的3 个阶段中分别使用具有不同分辨率(1/4、1/8、1/16、1/32)和通道数(C、2C、3C、4C)的SCAblock 模块对特征图进行特征提取。

本文采用C=32 的模型架构,在每个Stage 之间都对特征图的分辨率和通道数进行调整,本文参考文献[4]的思想,分辨率每减少一半,特征图通道数就增加一倍,以弥补分辨率下降带来的空间定位损失。具体实现的Sandglass 模块、CoordAttention模块、SCAneck 模块和SCAblock 模块结构如下。

2.1 Sandglass模块

Sandglass 模块结构如图2 所示,通过对倒置残差模块翻转和在深度卷积之间添加两个1×1 卷积,实现缩减层和扩展层位置的调整,克服了在高维特征向低维特征映射时,压缩通道不能保留全部有用特征信息的缺陷。同时为了保留更多的特征通道和空间上下文信息,在高维特征之间建立跳跃连接。依据文献[6]的思想,当输入和输出的通道数不相同时,不加入跳跃连接。

图2 Sandglass模块Fig.2 Sandglass module

Sandglass 模块的参数量与运算复杂度计算公式如下所示:

其中:Cin和Cout分别表示模块的输入通道和输出通道;T为缩放系数;H和W分别代表特征图的高和宽。

本文分别对不同的缩放系数T在MPII(Max Planck Institute for Informatics)数据集[20]上进行了实验比较,发现缩放系数T=1 比T=2 对预测人体关键点的平均准确率多出了1.9 个百分点,同时缩放系数T与模型的参数量和运算复杂度成反比,因此在本文实验中的缩放系数T=1。

2.2 CoordAttention模块

CoordAttention 模块在获取通道间特征信息的同时,在空间方向实现对精确位置信息和感兴趣领域的捕获。该模块依次实现坐标信息嵌入模块(Coordinate Information Embedding Module)和坐标注意力生成模块(Coordinate Attention Generation Module)两个功能。CoordAttention 模块的具体结构如图3 所示。

图3 CoordAttention模块Fig.3 CoordAttention module

CoordAttention 模块的步骤如下:

1)首先对于输入的特征图,分别使用竖直和水平方向的自适应平均池化层对每个特征通道进行特征提取;

2)将生成的特征图进行拼接,然后利用1×1 卷积,同时生成具有竖直和水平方向空间信息的中间特征图;

3)沿空间方向将中间特征图分为两个特征图,并分别利用1×1 卷积来对通道数转换;

4)得到竖直和水平空间方向的注意力权重,与输入特征图相乘,得到带有注意力权重的特征图。

CoordAttention 模块中一共采用了3 个1×1卷积,其中Cmid为压缩后的特征通道。其参数量与运算复杂度计算公式分别如式(3)~(4)所示:

2.3 SCAneck模块与SCAblock模块

本文提出了两种构建模型的基本模块,分别是SCAneck模块和SCAblock 模块,模块的结构如图4 所示。

图4 SCAneck模块和SCAblock模块Fig.4 SCAneck module and SCAblock module

因为HRNet 模型主要由Bottleneck 模块和Basicblock 模块组成,因此本文对HRNet 模型中的Bottleneck 模块和Basicblock 模块进行重新设计。首先采用Sandglass 模块替换标准的3×3 卷积,并重新考虑了缩减层和扩展层的缩放系数,保证对特征图的特征提取能力;其次在每个模块中都添加了CoordAttention 模块获取跨通道特征信息和精确的空间位置信息。通过引入Sandglass 模块和CoordAttention 模块,在保证模型性能的前提下大幅降低模型的参数量和运算复杂度。当卷积层的输入通道和输出通道数相同时[15],系统访问消耗最小、模型速度最快,因此在设计SCANet 模型基础模块时,保留了HRNet 模型中基础模块原有的残差架构,并使基础模块内部的Sandglass 模块和CoordAttention 模块中通道数Cin=Cout。下面分别给出HRNet 基础模块和SCANet 基础模块的参数量计算公式:

相较于HRNet 模型的基础模块,本文提出的SCAneck 模块和SCAblock 模块在模型训练时降低参数量的比率为:

式(5)~(6)表示HRNet 基础模块的参数量计算公式;式(7)~(8)表示改进后SCANet 基础模块的参数量计算公式。首先将式(1)、(3)代入式(7)~(8)中,得到SCAneck 模块和SCAblock 模块的参数量;然后将式(5)~(8)代入式(9)~(11)中进行近似计算,得到SCANet 模型中的基础模块与HRNet模型中的基础模块所降低参数量的比率。在Stage1 中应用了4 个SCAneck 模块,其中:式(9)表示第1 个SCAneck 模块与Bottleneck 模块相比所降低参数量的比率;式(10)表示后3个SCAneck 模块与Bottleneck 模块相比所降低参数量的比率。第1 个SCAneck 模块的输入通道Cin=64,输出通道Cout=256,所以在进行跳跃连接时,添加了1×1 卷积进行通道数转换,使得通道数由64 变成256;其余3 个模块的输入通道和输出通道都是256,所以在进行跳跃连接时,只进行特征图相加,而不进行通道数转换,因此rneck1与rneck2结果不同。式(11)表示SCAblock 模块与Basicblock 模块相比所降低参数量的比率。在整个模型中SCAblock 模块被应用于Stage2、Stage3、Stage4,共有32 个32 通道、32 个64 通道、28 个128 通道和12 个256 通道的SCAblock 模块,并且在SCAblock 模块中输入通道等于输出通道。由于在Sandglass 内部的缩放系数T=1,所以在SCAblock 模块内部不进行通道数的转换,因此在整个模型中,不同平行分支的SCAblock 模块降低的参数量比率都可以用rblock表达。

3 实验与结果分析

3.1 COCO数据集的实验情况

3.1.1 数据集描述

COCO(Common Objects in COntext)数据集[21]主要用于计算机视觉中,其中COCO 训练集中包含了118 287 张图片,校验集中包含了5 000 张图片,测试集中包含33 619 张图片。在COCO 数据集标注中包含全身17 个关键点,分别是:0 表示鼻子,1 表示左眼,2 表示右眼,3 表示左耳,4 表示右耳,5表示左肩,6 表示右肩,7 表示左肘,8 表示右肘,9 表示左手腕,10 表示右手腕,11 表示左臀,12 表示右臀,13 表示左膝,14 表示右膝,15 表示左脚踝,16 表示右脚踝。

3.1.2 评估标准

本节实验在COCO 训练集上训练,在COCO 校验集上进行验证,并在COCO 测试集上进行测试。验证标准采用OKS(Object Keypoint Similarity),包括:AP50为OKS=0.5 时预测关键点的准确率,AP75为OKS=0.75 时预测关键点的准确率,平均精确率均值(mean Average Precision,mAP)为OKS=0.50,0.55,‧‧‧,0.90,0.95 时10 个阈值之间所有预测关键点准确率的平均值,APM是中尺寸物体预测关键点的准确率,APL是大尺寸物体预测关键点的准确率,AR 为OKS=0.50,0.55,…,0.90,0.95 时10 个阈值点的平均值。具体实现方法如式(12)所示:

其中:di表示预测的关键点与数据集中标注的关键点之间的欧氏距离;vi为真实关键点的标志位,vi∈{0,1,2}表示预测关键点的可见性;s是目标尺度;ki是每种关键点的相关控制衰减常数;ski表示每个关键点的标准差。每个预测的关键点相似度都在[0,1]的范围内,当OKS=1 时,表示完美的预测关键点;当OKS=0 时,表示预测值与真实值差距太大。

3.1.3 训练细节

本节的实验环境配置如下:Ubuntu 18.04 LST 64 位系统,2 块GeForce RTX 3090 显卡,采用PyTorch 1.8.1 深度学习框架。

在COCO 训练集上进行训练时,将COCO 训练集中的图像裁剪后缩放到固定的256×192。采用Adam 作为网络训练时的优化器,初始学习率是1E-3。在第170 轮时学习率衰减到1E-4,在第210 轮时,学习率衰减到1E-5,网络总共训练230 轮。每个GPU 的最小批量大小为32。在训练过程中同时使用随机的图像旋转和水平翻转进行数据增强。

3.1.4 实验验证分析

本节在COCO 校验集上的实验结果如表1 所示。结果表明SCANet 模型与其他先进的人体姿态估计模型相比,在更少的参数量和更低的运算复杂度的基础上仍然取得了较好的性能。SCANet 模型的每个阶段中同一个平行分支都保持相同的分辨率,并通过使用SCAneck 模块和SCAblock 模块对HRNet 基础模块进行改进。与HRNet 模型相比,根据式(9)~(11)计算出SCANet 模型降低的参数量约为57%,并在此基础上根据式(2)、(4)计算出模型降低的运行复杂度约为70%,而实际上SCANet 模型相较于HRNet 模型降低的参数量与运算复杂度分别为52.6%和60.6%,这是由于模型中还存在着预处理阶段和信息交互模块等。

表1 COCO校验集上的性能比较Tab.1 Performance comparison on COCO validation set

与HRNet 模型相比,本文提出的SCANet 模型在mAP 上仅降低了1.1 个百分点,但在AP50上优于HRNet 模型,提高了0.5 个百分点,而其他的验证标准OKS与HRNet 模型相比均保持了相当的水平。与最新的轻量型模型Lite-HRNet-18和Lite-HRNet-30 相比,本文提出的SCANet 模型虽然提升了模型的参数量和运算复杂度,但是在mAP 上分别提升了7.5和5.1 个百分点,同时所有的验证标准OKS均优于Lite-HRNet-18 模型和Lite-HRNet-30 模型。相较于Hourglass、级联金字塔网络(Cascaded Pyramid Network,CPN)、CPN+OHKM(Online Hard Keypoints Mining)和SimpleBaseline,本文提出的SCANet 模型在预测关键点的mAP 上分别提升了5.4、3.7、2.9 和1.9 个百分点。

在COCO 测试集上的实验结果如表2 所示,与COCO 校验集实验不同的是,输入尺寸变成了384×288。并且HRNet模型是加载预训练模型,SCANet 模型是不加载预训练模型,因此SCANet 模型与HRNet 模型相比,模型的mAP 下降了2.1 个百分点,但是模型的参数量和运算复杂度分别降低了52.6%和61.2%。

表2 COCO测试集上的性能比较Tab.2 Performance comparison on COCO test set

3.2 MPII数据集的实验情况

3.2.1 数据集描述

MPII 是用于人体姿态估计的数据集,包含24 984 个图像,其中包含40 000 个不同的人体实例,有28 000 左右的人体实例被作为训练样本,2 900 左右的人体实例被作为校验样本,11 000 左右的人体实例被作为测试样本,标注中包含全身的16 个关键点。

3.2.2 评估标准

本节中MPII 数据集采用正确估计关键点的比例(Percentage of Correct Keypoints,PCK)评测指标。其中预测的关键点坐标与真实关键点坐标要小于αlr,α是一个阈值,lr是参考距离,MPII 数据集采用α=0.5(PCKh@0.5),参考距离是头部框对角线的长度。

3.2.3 训练细节

在MPII 数据集进行训练时,统一将裁剪后的图像缩放到固定的256×256,其他训练细节与COCO 数据集相同,采用了相同的参数配置和实验环境。

3.2.4 实验验证分析

SCANet 模型和其他人体姿态估计模型在MPII 校验集上的性能比较如表3 所示。在MPII 数据集上计算模型的参数量与COCO 数据集方法相同,但是在MPII 数据集上进行训练时需要将图像裁剪成256×256,与COCO 数据集中图像为256×192 不同,因此在模型运算复杂度上存在差异。计算得到SCANet 模型在MPII 数据集训练时,相较于HRNet 模型降低的参数量和运算复杂度分别约为57%和71%,但实际模型降低的参数量和运算复杂度分别为52.6%和61.1%。由于SCANet 模型没有在ImageNet 数据集上进行预训练,因此表3中的模型都在不加载预训练模型的前提下进行性能比较。

在人体姿态估计模型中,对人体不同关键点的预测难易程度不一样,因此不同部位的预测效果存在差异,对于腰部和腿部这类关键点的预测要明显难于头部附近的关键点预测。从表3 中可以看出SCANet 模型对于头部、臀部关键点预测的准确率上均高于HRNet 模型,并且在肩部、肘部、膝盖等关键点的准确率保持了相当的水平,只是在手腕和脚踝等这些不容易预测关键点的准确率上有差异。SCANet 模型相较于HRNet 模型在平均准确率方面仅降低了0.6 个百分点,而相较于轻量型模型Lite-HRNet-18 和Lite-HRNet-30 在平均准确率上分别提升了2.6 和1.7 个百分点。相较于其他算法如:Hourglass 和SimpleBaseline,在相同条件下,本文提出的SCANet 模型在预测关键点的平均准确率上分别提升了1.2和0.8 个百分点,并且对人体不同关键点的预测均优于这两种算法。实验结果表明,本文提出的SCANet 模型在具有更小的参数量与计算量的前提下,通过引入Sandglass 模块和CoordAttention 模块能加强特征图通道和空间信息的特征提取,对人体关键点的预测仍然具有良好的性能。

表3 MPII校验集上的性能比较(PCKh@0.5)Tab.3 Performance comparison on MPII validation set(PCKh@0.5)

在MPII 测试集上的验证结果如表4 所示,结果表明SCANet 模型与HRNet 模型相比,模型降低的参数量与运算复杂度与MPII 校验集相同,分别下降了52.6%和61.1%。并且SCANet 模型在测试集上预测人体关键点的准确率与校验集保持了相当的水平,在平均准确率上下降了0.7 个百分点,原因可能是此数据集性能趋于饱和,因此在测试集和校验集上,SCANet 模型和HRNet 模型性能差距不大。

表4 MPII测试集上的性能比较(PCKh@0.5)Tab.4 Performance comparison on MPII test set(PCKh@0.5)

3.2.5 消融分析

为了验证添加的Sandglass 模块和CoordAttention 模块分别对SCANet 模型的特征提取能力和对人体关键点预测准确率的影响程度,分别构建了有注意力机制和无注意力机制的SCANet 模型,其中无注意力机制的SCANet 模型使用Sandglass 模块替代标准的3×3 卷积。实验在MPII 数据集上进行训练,在MPII 校验集上进行验证,并且都不加载预训练模型。

实验结果如表5 所示,采用控制变量的方法,无注意力机制的SCANet 模型,只使用Sandglass 模块对HRNet 模型中的基础模块进行改进,相较于HRNet 模型在参数量和运算复杂度上分别降低了68.1%和62.1%。而无注意力机制的SCANet 模型与有注意力机制的SCANet 模型相比,两种模型都使用了Sandglass 模块。无注意力机制的SCANet 模型删除了CoordAttention 模块,模型的参数量和运算复杂度分别下降了32.6%和2.7%,这是由于深度神经网络在计算运算复杂度时涉及图像的大小,而CoordAttention 模块在捕获通道间信息的基础上还需要分别对水平和竖直两个空间方向的特征进行卷积计算。

表5 消融实验Tab.5 Ablation experiment

实验结果表明无注意力机制的SCANet 模型在只使用Sandglass 模块对HRNet 模型中的基础模块进行改进时,模型的平均准确率相比HRNet 模型仅下降了1.3 个百分点,不仅大幅度降低了模型的参数量与运算复杂度,而且还能够保证模型的性能,达到轻量型模型的目的。并且有注意力机制的SCANet 模型在加入注意力机制后并不会对模型的运算复杂度造成很大的影响,而且SCANet 模型在删除CoordAttention模块后,模型的平均准确率降低了0.7 个百分点。因此添加注意力机制能够提高SCANet 模型在预测关键点时的准确率。

4 可视化研究及分析

本文在COCO 校验集上进行可视化研究,随机选取了一张同时存在人体折叠遮挡和物体遮挡的多人图片。如图5所示,图中点表示人体的关键点位置,连线表示对关键点关系的建模。

图5 有遮挡的关键点预测Fig.5 Key point prediction with occlusions

从图5(b)和图5(c)中对比得出,对于无遮挡的人体关键点,SCANet 模型和HRNet 模型都能准确地预测出人体关键点,仅在预测关键点位置上略有差异。当存在遮挡关键点和人体尺度较小的情况下,SCANet 模型相较于HRNet 模型能够更好预测人体的关键点。

实验结果表明,SCANet 模型采用SCAneck 模块和SCAblock 模块这两种基础模块,对HRNet 模型中的基础模块进行改进,虽然降低了模型的参数量和运算复杂度,但是两种模块本质上使用了深度可分离卷积,对特征图提取的特征少,会导致模型对特征的泛化能力不足。但是添加的Sandglass 模块在高维特征之间传递更多的特征信息,CoordAttention 模块加强了对特征图通道和空间方向信息的特征提取,在一定程度上弥补了特征提取不足的缺陷,能够很好地预测出尺度较小和遮挡的人体关键点,具有较好的鲁棒性。

图6 是对人体的背影进行关键点预测。从图6 可以看出,当人体所处环境光线较暗,并且同时存在关键点重叠遮挡的情况下,SCANet 模型和HRNet 模型都能较好地从人体的背影预测出人体的关键点;但是SCANet 模型能够预测出HRNet 模型没有预测出来的关键点,并对建模错误的人体姿态进行修正。

图6 背影关键点预测Fig.6 Back key point prediction

实验结果表明,SCANet 模型相较于HRNet 模型,即使在光线较暗、遮挡等条件下,也能预测出关键点,并对关键点关系进行正确的建模,有较好的泛化能力和抗干扰能力。

5 结语

本文通过引入Sandglass 模块和CoordAttention 模块对HRNet 模型中的基础模块进行改进,通过构建SCAneck 模块和SCAblock 模块这两种轻量型的模块,提出了一种轻量型人体姿态估计网络SCANet。在降低模型参数量和运算复杂度的同时,有效地保证了特征图的特征信息提取,更好地保留了关键点的空间位置信息。本文提出的SCANet 模型不仅能够预测尺度较小和遮挡的人体关键点,还能对建模错误的人体姿态进行修正,但是在模型的参数量和运算复杂度方面仍然需要改进。

本文使用COCO 数据集和MPII 数据集进行实验验证,在硬件设施允许的情况下,可以使用更大的ImageNet 数据集进行人体的关键点预测。在保证模型对人体关键点预测准确率的前提下,如何设计在实际场景中应用的轻量型人体姿态估计模型,是今后研究的主要方向。

猜你喜欢
复杂度关键点姿态
论建筑工程管理关键点
数字经济对中国出口技术复杂度的影响研究
肉兔育肥抓好七个关键点
毫米波MIMO系统中一种低复杂度的混合波束成形算法
攀爬的姿态
Kerr-AdS黑洞的复杂度
非线性电动力学黑洞的复杂度
利用定义法破解关键点
另一种姿态
机械能守恒定律应用的关键点