邓 辉,徐 杨,2
1.贵州大学 大数据与信息工程学院,贵阳 550025
2.贵阳铝镁设计研究院有限公司,贵阳 550009
人体姿态估计作为计算机视觉的重要任务之一,其目标是对人体关键点进行定位,如肘部、手腕及膝盖等。近年来,与人体姿态估计相关的多方面研究得到广泛的应用,如动作识别[1]、人机交互[2]、姿态跟踪等[3]。深度卷积神经网络已经在该课题上取得了显著的成效,但一些新方法往往使用更深层次的网络来提升检测性能,并伴随大量的神经网络参数和浮点运算次数(FLOPs)。尽管这些方法性能优异,但大量参数使模型对内存的要求变高,很难将性能优异的模型直接部署在资源受限的设备上,如智能手机和机器人等。因此如何在保持模型精度的情况下降低网络参数和运算复杂度是目前人体姿态估计研究亟待解决的问题之一。
目前主要使用深度学习的方法进行人体姿态估计[4],使用深度卷积神经网络来检测人体关键点[5]。Newell等[6]提出了堆叠沙漏网络(stacked hourglass network,SHN),其采用分辨率由高到低和由低到高的对称结构,通过检测热图来获取人体各关节点信息,但分辨率变化会导致丢失部分特征信息。Chen等[7]提出的级联金字塔网络(cascaded pyramid network,CPN)则弥补了这一缺点,通过一个并行的由低分辨率到高分辨率的网络来恢复高分辨率表示,从而进一步提高预测准确率。Xiao等[8]提出的Simple Baseline 模型为设计简单轻量的姿态估计网络提供了先验知识,它仅构造了一个基本的顺序卷积网络,其后是一些反卷积层,以此来实现更高分辨率的输出。受Simple Baseline 设计的启发,Zhang 等[9]提出了一种轻量级的姿态估计网络(lightweight pose network,LPN),在模型大小、运算复杂度和预测速度方面更具优势。
Sun等[10]提出的高分辨率网络(high-resolution network,HRNet)使用并联的方式将不同分辨率子网由高到低进行并行连接,并在各分辨率之间反复执行多尺度融合,整个过程始终保持高分辨率表示,从而有效利用特征信息对人体关键点进行预测,它在准确性上表现突出,但在模型轻量层面表现欠佳。Cheng等[11]在HRNet的基础上提出HigherHRNet,其进一步提升了HRNet网络末端的特征图分辨率,从而获得更好的预测效果,但同时增加了网络复杂度,导致运算量上升和推理速度下降。2021 年Yu 等[12]提出了Lite-HRNet,设计了新的轻量级单元来代替pointwise(1×1)卷积,在人体姿态估计任务上实现了非常好的轻量化效果,但模型预测精度下降幅度较大。
基于上述研究与问题,本文以高分辨率网络为基础框架,提出一种融入密集连接和注意力的轻量型人体姿态估计网络(lightweight densely connected attention network,LDANet)。首先,采用与GhostNet[13]相似的结构,设计了轻量全局上下文瓶颈模块(ghost global context bottlneck,GGCneck),将其替换高分辨率网络中的瓶颈块,能有效降低部分网络复杂度并提升一定预测精度。然后,将空间注意力和通道注意力采用串联方式进行融合,并保持空间和通道维度的高分辨率,同时再结合稠密网络[14]的结构,设计密集单元和密集连接方式,构建轻量密集注意力模块(ghost dense attention block,GDAblock),使用GDAblock替换原网络中的基础模块,从而保证一定模型精度并大幅降低网络参数量和运算量。最后,为弥补网络轻量化带来的精度损失,重新设计了网络输出的特征融合方式,考虑了多个分辨率所包含的信息,使得网络模型在轻量化与预测精度之间取得较好平衡。
上述LDANet 在实现人体姿态估计时的优势主要体现为三点:
(1)GGCneck模块采用Ghost卷积代替普通卷积,从而保证有效提取特征和减少网络复杂度,同时添加注意力和深度卷积并构建残差快捷连接,提升了模型性能。
(2)GDAblock 模块使用的密集连接方式使得输入通道被压缩后仍保证了网络深度与特征提取能力,且能使网络复杂度有效下降,在通道压缩过程采用Ghost 卷积提取特征,使网络参数量与运算量大幅下降,同时所用注意力模块较常规注意力能减少特征降维带来的信息损失,保证了模型的预测准确率。
(3)网络输出时,充分利用低分辨率特征携带的信息,同时结合不同阶段的高分辨率特征,将二者融合后再通过反卷积模块进一步提高分辨率,从而能获取更精细的特征,提高模型预测准确率。
高分辨率网络(HRNet)作为一类用于处理计算机视觉任务的网络,打破了传统的串行连接方式,而使用多分辨率并行连接的结构,这样可以一直保持网络的高分辨率表示,同时通过反复跨并行卷积执行多尺度融合,进一步增强高分辨率的特征信息。其被大量研究者用作基础网络,在语义分割、目标检测和人体姿态估计等领域均取得不错的成绩,因此本文采用HRNet作为基础框架。
HRNet共四个阶段:第一阶段由一个高分辨率子网组成,从第二阶段开始,每个阶段增加一个分辨率分支子网,且新增的子网分辨率为上一阶段最低分辨率的一半,通道数为原来的二倍,各阶段之间通过多尺度特征融合来交换信息。对于不同分辨率的特征图,可以关注到图像中不同尺度的特征,通过融合这些存在互补的特征,能获得更好的人体特征表示。
稠密卷积网络提出了以前馈的方式将每个层与其他层进行简单连接的方式来提取特征,与传统的卷积网络不同,它的某一层与之后的所有层之间都有一个直接连接,并且前面所有层的特征图都将作为该层的输入。对于传递到某一层的特征,通过维度的拼接来组合特征,这样的密集连接模式不仅不会使得网络变得繁重复杂,反而相较于传统的卷积网络所需的参数更少,因为它不需要重新学习冗余的特征图,同时还能缓解梯度消失,加强特征传播,使得特征得以重用[14]。
注意力机制通过学习卷积特征来实现对特征通道重新分配权重,主要包括挤压(squeeze)和激励(excitation)两个操作。一些研究表明在稍微增加计算成本的情况下,融入注意力机制可以显著改善轻量型网络模型的性能[15]。其中,SE(squeeze-and-excitation)模块[15]主要通过全局池化来建模特征通道之间的关系,但没有考虑空间信息的重要性。卷积注意力模块(convolutional block attention module,CBAM)[16]在此基础上同时利用了空间和通道关系,并单独生成注意力图,最终与输入特征图相乘得到带有注意力权重的特征图。ECA(efficient channel attention)模块[17]是一种捕捉局部跨通道信息交互的方法,它在不降低通道维数的情况下来进行跨通道信息交互,只增加少量的参数却能获得明显的性能增益。极化自注意力(polarized self-attention,PSA)模块[18]作为一种更加精细的双重注意力机制,能在通道和空间维度保持较高水平,这能进一步减少降低维度所造成的信息损失。
本文提出的LDANet网络模型的整体结构如图1所示。模型主体架构与HRNet 相似,网络分为四个阶段:第一阶段只包含一个最高分辨率分支网络,从第二阶段开始,每个阶段依次增加一个平行分支子网络,每个阶段新增的子网络分辨率为前一阶段最低分辨率分支的一半,通道数提升为二倍。网络整体为并行连接方式,采用四个阶段使特征图的分辨率渐进式下降,避免大幅降低分辨率导致人体姿态的细节信息迅速丢失。第一阶段包含四块GGCneck,用于提取特征图的特征。第二、三、四阶段均由GDAblock 所构成,且每阶段使用的GDAblock 模块数分别为1、3、2 块,这使得网络能保持一定深度,充分提取有用的特征信息。每个阶段后采用多尺度融合进行信息交流,使每个分支子网反复接收其他并行分支子网的信息。在输入通过第一阶段前先采用两个3×3卷积进行预处理,将图像分辨率降为原来的1/4,通道数由3通道变为64通道,经过GGCneck模块后使用卷积将最高分辨率分支通道数转换为32,使得四个分支的通道数分别为32、64、128 和256,图像分辨率分别为原图的1/4、1/8、1/16和1/32。
图1 LDANet网络结构Fig.1 LDANet network structure
在第四阶段,将来自该阶段的后三个分支子网络的特征图依次使用双线性上采样再相加,同时结合前三个阶段的最高分辨率特征图,一起融合至第一分支子网络的特征图中,再将融合后的特征图输入反卷积模块,以预测人体关键点,进而实现人体姿态估计。
本文设计了如图2所示的GGCneck模块,用于替换HRNet网络模型中的瓶颈模块,其主要由两个1×1Ghost卷积、一个3×3 深度卷积和GCBlock(global context block)[19]构成。GGCneck 模块可以有效降低运算复杂度和部分网络参数量,同时带来一定的性能提升。
图2 GGCneck模块结构Fig.2 GGCneck module structure
未使用普通的卷积而采用Ghost卷积是因为通常一个训练好的深度神经网络包含很多冗余特征图,而Ghost卷积可以有效地解决这个问题[13]。其主要思想是将原始卷积层拆分为两部分:首先使用一个主卷积用较少的通道生成初始特征图,然后通过已经生成的通道特征图进行简单的线性变换,生成更多的通道特征图。假定为生成n个特征图,有m个初始特征图Y∈Rm×h×w由主卷积生成,如式(1)所示:
其中,m≤n,X∈Rc×h×w为输入数据,*代表卷积操作,f∈Rc×k×k×m表示卷积滤波器,k×k为卷积滤波器的卷积核大小。为了得到n个特征图,利用一些简单的线性操作在初始特征图Y上生成s个Ghost特征[13],如式(2)所示。
其中,yi表示特征图Y中由主卷积生成的第i个特征图;Φi,j表示利用第j个线性操作将yi生成第j个Ghost 特征图yij,也就是说yi可以有1 个或多个Ghost特征图,而最后一个线性操作Φi,s是保持原有特征的恒等映射。根据式(2)可以得到n=m×s个特征图Y′=[y11,y12,…,yms]作为Ghost 卷积的输出,Ghost 卷积的结构如图3所示。
图3 Ghost卷积Fig.3 Ghost convolution
相较于普通卷积,使用线性操作能使计算成本大大降低。Ghost 卷积包括一个恒等映射和m×(s-1) 个线性运算,理论上使用普通卷积与Ghost 卷积的运算复杂度之比和参数量之比为:
其中,d为线性操作的内核大小,与k量级相同,且s≪c,模块中s为2。
GGCneck模块中第一个Ghost 卷积作为扩展层,相对于输入增加了通道数,之后是批归一化(BN)和线性整流函数(ReLU),第二个Ghost卷积用于将通道数对齐到模块的输出通道,两个Ghost 卷积中间使用一个步幅为2的3×3深度卷积组成瓶颈结构,深度卷积可以使用较少的参数生成特征。在第二个Ghost卷积的BN之后还连接了一个GCBlock模块,它可以在计算成本增加很少的情况下捕获长期依赖[19],提升网络的性能。模块最后还结合了ResNet[20]的原理,使用残差连接将输入与卷积操作后的输出结果进行求和后再输出,从而获得更优的特征提取效果。
文中提出的GDAblock模块由4层密集单元构成,每个密集单元融入了2个Ghost卷积和1个PSA模块,同时使用3×3深度卷积为密集单元构建了残差快捷连接,其结构如图4所示。受稠密卷积网络[14]的启发,GDAblock使用密集连接在每个密集单元之间进行通道维度上的拼接,使每一层都可以接受来自前面所有层的特征信息,这使得特征得以重用并保证梯度的快速传递,同时参数量和运算量也得到降低。第l层的输入可表示为式(5):
图4 GDAblock模块结构Fig.4 GDAblock module structure
其中x1,…,xl-1代表前l-1 层的输出特征图,x0为原始输入,[]表示拼接,Hl( )表示将第l层的输入拼接为一张量。第l层的输入通道数可由式(6)计算:
其中,k0为最初输入特征图的通道数;k为网络的增长率,即每个密集单元的输出通道数,文中k=12,每一层密集单元都通过对输入降维得到该通道数,以预防大量的特征拼接导致计算量快速上升。本文还在每个分辨率子网的GDAblock 模块后添加一个通道转换层,确保每个分支子网的输出通道数正确。
每个密集单元首先使用一个3×3Ghost卷积对特征进行提取,同时对输入进行通道压缩,压缩通道数固定为αk,α表示压缩系数,模块中α取4,这能使模块产生的参数量和运算量更少;然后将数据经批归一化(BN)和线性整流函数(ReLU)后输入PSA 模块,再经第二个Ghost 卷积转换通道数为k;最后结合3×3 深度卷积构成的残差快捷连接得到密集单元的输出。使用深度卷积构建残差连接能加速模型的收敛且不会带来过多的参数量和运算量。
由式(4)知Ghost 卷积在通道数相同时参数量仅为普通卷积的1/2,由于使用密集连接,使得密集单元在对输入通道压缩后依然保证了网络的深度与特征提取能力,但通道压缩后可使参数量大幅降低。以网络的第二分辨率分支为例,可计算通道数为64的普通3×3卷积的参数量,其大约是该分支GDAblock 的第一层密集单元中两个Ghost卷积的2.6倍和13倍。网络中使用大量的GDAblock模块用于提取特征,且输入通道数越大,较常规卷积相比,参数量降低越明显,因此GDAblock能大大降低模型的参数量。
相较于常规注意力模块,PSA模块能在空间和通道维度保持内部高分辨率,从而减少特征降维带来的信息损失[18],同时在维度被压缩的分支采用Softmax 函数增强注意力的范围,最后使用Sigmoid 函数进行动态映射。结合PSA模块[18]的原理,将空间自注意力和通道自注意力分支采用串联的融合方式得到图5 所示的PSA模块。
图5 PSA模块Fig.5 PSA module
空间自注意力分支的权重计算公式如式(7)所示:
式中,Wq和Wv分别表示标准的1×1 卷积,σ1、σ2、σ3代表张量重塑运算,FGP表示全局平均池化操作,FSM为Softmax 函数,×为矩阵点积运算,FSG为Sigmoid 函数。首先通过1×1卷积将输入特征分别转换为q和v,对于特征q,先使用全局平均池化对空间维度进行压缩,转换为1×1 大小,而特征v的空间维度则保持在较高水平(h×w),由于特征q的空间维度被压缩,采用Softmax 函数对q的特征信息进行增强,然后将q和v进行矩阵点乘运算,再将维度转换为1×h×w,最后使用Sigmoid 函数使得输出保持在0~1 之间,得到的空间分支输出为Zsp=Asp(X)⊙spX,其中⊙sp表示空间分支的乘法运算符。
通道自注意力分支的权重计算公式为式(8):
其中,Wz|θ1表示先对特征Unsqueeze 再进行1×1 卷积,其余同上。得到空间分支的输出后,将其送入通道分支,同样先通过卷积将特征转换为q和v,其中特征q的通道维度被完全压缩,而特征v的通道维度仍然使其维持在较高水平( )c/4 。因q的通道被压缩,所以采用Softmax 函数对q的特征信息进行增强,然后将q与v进行矩阵点乘,同时对其进行Unsqueeze,使得特征维度变为c/4×1×1,最后再使用1×1 卷积将通道维度上调为c,同时使用Sigmoid函数使输出保持在0~1 之间,通道分支的输出表示为Zch=Ach(X)⊙chX,其中⊙ch表示通道分支的乘法运算符。
最终PSA模块的输出可以表示为:
使用GDAblock 替换HRNet 中的基础模块,实验结果表明模型的参数量和运算量都得到大幅降低,同时保证了一定的检测精度。
本文方法在每个阶段均采用反复多尺度融合,使每个子网络重复接收来自其他并行子网的信息。即融合时相同分辨率的特征不做处理,由高分辨率到低分辨率的特征图采用步幅为2的3×3卷积层进行下采样,而从低分辨率到高分辨率的特征图则采用最邻近上采样方法,若分辨率分支跨度超过2则进行多次上采样或下采样。
HRNet 使用的是第四阶段的最高分辨率输出来回归热图,这没有充分利用其他三个低分辨率子网的信息,因此本文改进最后的特征融合方法。受HigherHRNet[11]的启发,进一步提高特征图的分辨率有助于提取到更精细的特征。从图1的最后特征融合部分可看到,从最低分辨率特征图开始,通过双线性上采样得到高一级分辨率的特征图,将其与该级分辨率特征图相加后继续上采样,直到最高分辨率为止,同时取前三阶段的最高分辨率特征图加入融合,这样可以得到不同阶段和层次的信息。最后,将融合输出通过一反卷积模块,其结构如图6所示。
图6 反卷积模块结构Fig.6 Deconvolution module structure
输入特征图先经过卷积进行通道转换,结果再与输入特征进行维度上的拼接,然后将结果通过一个卷积核大小为4×4的反卷积,使得特征图的分辨率提升为原来的2 倍,再将其通过4 层融入PSA 的基本模块进一步提取特征,最后使用卷积转换通道数,并使网络输入与输出的图像分辨率保持一致,得到最终输出,从而预测热图。这使得预测的人体关键点更为准确,但缺点是造成了模型参数和计算量的小幅上升。基本模块如图7所示。
图7 基本模块Fig.7 Basic module
本文模型在两个数据集上进行验证,分别是MPII[21]数据集和COCO 数据集。MPII 包括24 984 张图片,其中有4万个不同的人体实例,每个实例都有16个标注的人体关键点,用大约1.2万个人体实例作为测试,其余用作训练。
COCO数据集中包含了20万张以上的图片,其中拥有标注的人体实例大约25 万个,每个人体实例标注了17个人体关键点。使用包含5.7万张图片的训练集进行模型训练,在0.5万张图片的验证集进行验证,在2万张图片的测试集上进行测试。
文中MPII数据集采用PCKh(head-normalized probability of correct keypoint)[21]指标评测。若预测的关键点坐标与真实关键点坐标小于al个像素,则预测正确,其中a为一阈值,l为头部尺寸对应于真实头部边界框对角线长度的60%。文中采用a=0.5(PCKh@0.5)时的各关节点准确度作为评估标准,评估关键点分别为头部(head)、肩部(shoulder)、肘部(elbow)、腕部(wrist)、髋部(hip)、膝部(knee)和踝部(ankle)。
COCO 数据集采用MS COCO 官方给定的目标关键点相似性(object keypoint similarity,OKS)[22]作为评估标准,其中包括AP(在OKS=0.50,0.55,…,0.90,0.95时10个位置预测关键点准确率的平均值)、AP50(OKS=0.5 时的准确率)、AP75(OKS=0.75 时的准确率)、APM(中型物体检测准确率)、APL(大型物体检测准确率)、AR(在OKS=0.50,0.55,…,0.90,0.95时10个位置的平均召回率)。OKS定义式如下:
其中,di表示每个真实关键点与预测关键点之间的欧氏距离,vi是真实关键点的可见标志位,s是目标尺度,ki为归一化因子,δ(vi >0) 表示关键点可见性大于0。OKS在0~1 之间取值,值越接近1表明预测效果越好。
本实验使用的服务器系统为Ubuntu20.04LTS,CPU为i7-11700K,显卡为GeForce RTX 3080Ti,显存大小为12 GB,深度学习框架为PyTorch1.9.1,软件平台为Python3.7。训练选用Adam优化器对模型进行优化,训练周期设置为230,批量大小为20,初始学习率为0.001,训练周期到190时学习率调整为0.000 1。
由于数据集中的图片大小不一,需要对数据预处理后再进行训练。将图像以人体髋部为中心进行裁剪,COCO 数据集图像尺寸大小裁剪为256×192 与384×288,MPII数据集则裁剪为256×256,便于与其他方法对比,裁剪后固定其比例为4∶3。最后采取与HRNet同样的数据扩充策略,即使用随机旋转(-45°,45°) 和随机缩放(-0.65,1.35) 对数据进行处理。
本文方法分别在COCO数据集和MPII数据集上进行了实验验证,与其他一些具有代表性的方法在准确性、参数量以及运算复杂度等方面比较,在COCO 验证集上的实验结果如表1 所示。结果表明本文方法相较于一些先进的人体姿态估计网络,如Hourglass[6]、CPN[7]、CPN+OHKM[7]、SimpleBaseline[8]和HigherHRNet[11]等,LDANet的参数量和运算复杂度最少且达到较高的性能。
表1 COCO验证集实验结果对比Table 1 Experimental results comparison on COCO validation set
相比较于HRNet,本文模型在COCO数据集下检测的平均准确率AP提高了0.6个百分点,在AP50处的准确率提高了3.0个百分点;但在模型参数量上,本文方法比HRNet 降低了71.5%;在运算复杂度上,本文模型的GFLOPs 比HRNet 缩小了35.2%;在模型大小上,比HRNet减少了69.6%,而其他一些性能指标与HRNet保持了基本相同的分布。与轻量化模型LPN相比,尽管本文模型参数量增加了7.0×105,GFLOPs上升了2.8,但所有的性能指标均优于LPN,平均精度还提升了3.0 个百分点。与最新的轻量型网络模型Lite-HRNet 相比,LDANet 虽然提升了模型参数量和运算复杂度,但模型性能方面领先较多,在平均精度AP 上提升了6.8 个百分点。
表2是本文方法在COCO 测试集上与其他方法的对比实验结果,且LDANet 没有加载预训练模型,而其他方法均加载了预训练模型,从而导致检测精度低于验证集上的效果,但模型的参数量和运算复杂度依旧降低了71.5%和35.2%。COCO 数据集上的实验结果表明,本文方法不仅能保持较好的预测精度,同时可以有效减少模型参数量和计算量,在模型精度和大小之间取得较好平衡。
表2 COCO测试集实验结果对比Table 2 Experimental results comparison on COCO test set
本文模型在MPII 数据集上测试了7 个部位的准确率,为便于与其他方法对比,输入图片尺寸为256×256,这使得模型运算复杂度与之前存在差异,测试结果如表3所示。结果表明,相较于HRNet,本文模型在腕部、膝部和踝部的检测效果略差,导致了总的检测精度略低于HRNet,但在保证足够的检测精度条件下依然有效降低了参数和计算量,且GFLOPs 减少了35.8%。从表中还能看到,本文方法总体与其他方法在检测精度上差别不大,但在某些部位有明显提升,根据文献[23],造成这种性能差异不大的情况是因为MPII数据集的准确率趋于饱和,但模型参数与计算量下降基本超过50%以上。与轻量型网络Lite-HRNet相比,本文模型总体性能提升了2.9%,且该网络性能在对比模型中表现最差。通过上述实验结果可知,本文方法在降低模型参数量和运算复杂度方面具有不错的效果,并未因为模型轻量化后造成性能的明显下降,在模型性能和轻量化效果之间取得较好平衡。
表3 MPII验证集实验结果对比Table 3 Experimental results comparison on MPII validation set
本文在COCO验证集上进行消融实验,分别单独将GGCneck、GDAblock、GGCneck+GDAblock和改进的网络输出特征融合部分用于优化HRNet,从而验证LDANet中各模块以及特征融合方式对人体关键点预测准确率和模型复杂度的影响程度。实验结果如表4所示。
表4 消融实验Table 4 Ablation experiment
当使用GGCneck模块替换HRNet中的瓶颈块使网络的平均准确率提升0.8 个百分点,同时运算量降低13.6%,参数量也略微减少。将HRNet 中的基本模块全部替换为GDAblock后,模型参数量减少73.5%,同时运算量降低41.8%,但检测的平均准确率也下降了3.1 个百分点,将两个模块都融入HRNet后参数量和运算量再次减少,AP 较原网络下降2.2 个百分点,这表明在一定程度上网络轻量化的同时不可避免会带来精度损失。当对原网络单独改进特征融合部分后,AP提升2.4个百分点,但缺点是带来了计算量和参数量的上升。综上实验结果,本文方法在模型精度和轻量化之间能取得较好平衡。
为进一步验证注意力对模型的影响,分别构建了采用PSA 模块、CBAM 模块和不添加注意力模块的GDAblock,将其分别加入HRNet对网络进行改进,其实验结果如表5所示。添加CBAM后的GDAblock较不添加注意力,模型精度提升了0.8个百分点,而模型参数和运算量仅略微增加,表明添加注意力在不影响模型复杂度的同时能有效提升模型精度。而采用PSA模块时,虽然较使用CBAM 模块模型参数增加1.5×105,运算复杂度上升0.14 GFLOPs,但对模型整体复杂度的影响可忽略不计,同时模型预测精度提升了1.1 个百分点。结果表明,添加PSA模块仅增加很少的网络复杂度便能有效提升模型预测精度。
表5 不同注意力对比Table 5 Comparison of different attentions
本文对LDANet 网络在COCO 数据集上的测试结果进行了可视化操作,随机选取带有模糊、遮挡、大目标、小目标的单人和多人图片,如图8所示。可以看到,不论是单人还是多人的图片,本文方法都能较为准确地检测到人体关键点,当图中人物存在模糊或遮挡时,也能获得较好的预测效果。这表明本文提出的方法具有一定的鲁棒性,可以保证大部分情况下较为准确地检测到人体关键点,从而进行人体姿态估计。
图8 COCO数据集测试结果可视化展示Fig.8 Visual display of test results on COCO data set
本文从减少网络参数与运算复杂度的目标出发,结合注意力与密集连接的方法提出了一种轻量型人体姿态估计网络LDANet。网络以HRNet 为基础架构,采用GGCneck 模块和GDAblock 模块作为瓶颈模块和基础模块,使网络轻量的同时保证对特征的提取能力,并优化网络的特征融合方式,使得最终预测精度能与现有的优秀模型相媲美。在公开数据集MPII和COCO上的实验结果表明,本文方法可以有效改善网络的运算复杂度和参数量与模型预测准确性之间的矛盾。就网络模型而言,如何在保持高估计精度的前提下,进一步降低模型参数量和运算复杂度,并将其应用于实际生活中是接下来需要致力研究的内容。