当前位置:首页 期刊杂志

基于上下文注意力机制的人体姿态估计网络

时间:2024-07-28

吴 樾,梁桥康,孙 炜,3,张柯毅

(1. 湖南大学电气与信息工程学院,长沙 410082;2. 电子制造业智能机器人技术湖南省重点实验室,长沙 410082;3. 湖南大学深圳研究院,深圳 518055;4. 四川大学匹兹堡学院,成都 610207)

1 引 言

人体姿态估计是视觉感知中最基本和最具有挑战性的任务之一。近年来,随着自动驾驶[1]、行人检测[2]、目标跟踪[3]和缺陷检测[4]等计算机视觉技术的发展,人体姿态估计算法受到了越来越多研究者的关注,因此,取得了显著的进展。

目前,基于卷积神经网络的二维多人姿态估计主要有两种主流策略,即自上而下和自下而上两种方法。自上而下的方法需要先检测出人体边界框,然后对识别到的人体进行单人姿态估计。自下而上的方法不进行人体框的检测,而是直接定位出所有的关节点,然后将它们进行分组。自上而下的方法精度更高,但是会牺牲速度,而且会受人体边界框检测精度的影响。自下而上的方法速度更快,但是精度相对不高,本文的方法遵循自上而下的思路。

现有的自下而向上方法主要集中于如何将检测到的属于同一个人的关节点关联在一起。Cao等[5]提出部分亲和力场的概念,部分亲和力场存储了肢体的位置和方向信息,结合预测的热力图快速地将各关节点分组到每个人。Kreiss 等[6]提出部分强度场表示关节点的位置,部分关联场表示关节点之间的关联。

自上而下的方法一般可以概括为两个主要步骤:利用人体边界框检测网络从输入图片或者视频序列中检测人体边界框;从识别到的人体边界框中定位并分类所有关节点。高分辨率特征蕴含详细的空间信息,有利于定位任务,如定位关节点的位置。低分辨率的特征图具有丰富的语义信息,有利于分类任务,如关节点的分组。因此,有效地融合不同分辨率的特性是提高人体姿态估计精度的关键。高像素网络(High Resolution Net,HRNet)[7]通过并行高分辨率和低分辨率子网络,逐步添加低分辨率特征的方式保持高分辨率特征表示。通过重复执行多尺度特征融合,不同分辨率子网络的信息被反复融合,特征表征能力得到增强,这种保持高、低分辨率特征的策略能够显著地提高人体姿态估计的精度。Wei 等[8]通过序列化的多阶段网络逐步细化关节点预测,利用中间监督信息有效地解决了梯度消失的问题。模拟人类认知的过程,即先注意能够直接看到的关节点,然后利用已知的关节点信息推测出看不见的部分。Chen 等[9]提出了一个两阶段的级联金字塔网络,前一阶段用于预测一个粗略的姿态,后一阶段在前一阶段的基础上改进预测结果。残差阶梯网络(Residual Steps Network, RSN)[10]设计了一种密集的网络结构来融合层内特征,可以学习到细腻的局部信息,保存准确的空间信息,结合姿态调整机进一步细化初始姿态,提高姿态估计的精度。Qiu 等[11]模拟了人类的认知过程,提出了一种估计被遮挡关节的推理方法。该方法首先估计初始姿态,然后利用对图像上下文的理解和对人体姿态结构的理解来调整初始姿态。Chou等[12]使用两个沙漏网络分别作为生成器和鉴别器,生成器预测每个关节点热力图,鉴别器用于区分真值和预测的热力图。

2 本文算法

对人体结构的建模是提高人体姿态估计精度的重要研究方向之一。当关节点存在遮挡和相似时,由于缺乏必要的视觉信息,当前的人体姿态估计算法很容易产生误检和漏检。人体是一个具有对称结构的整体,对人体结构建模可以为单个关节点提供对应的肢体信息甚至是全身姿态的全局信息,增强特征的表征能力,进一步细化关节点的位置。

针对HRNet 缺乏对人体结构信息建模的问题,本文利用关节点上下文注意力机制(The Keypoint Context Attention Mechanism, KCAM)对关节点的相对位置关系进行建模,提出了基于上下文注意力机制的关节点提取网络(Context Attentionbased Keypoint Extraction Network, CAHRNet)。为了增强训练数据集的大小和质量,提出了基于语义分割和随机信息删除的数据增强方法。

2.1 基于上下文注意力机制的关节点提取网络

CAKENet 的框架结构如图1 所示,CAKENet的结构与HRNet 相似,网络由4 个阶段组成,每个阶段包含不同的分支数,每个阶段会重复n次,利用特征融合模块融合不同分辨率的特征,丰富特征的表示。CAKENet 每个阶段内增加KCAM模块建模关节点之间的依赖关系。

图1 CAKENet 的框架结构Fig. 1 Architecture of CAKENet

网络的特征提取过程如下。

(1)第1 阶段:分辨率为4H4×W的输入图像首先经过两个步长为2 的3 × 3 卷积将分辨率降低为H×W,为了不损失信息,通道数从3 增加为64,然后使用4 个串联的Bottleneck 模块进行特征提取,输出特征通道数为64。

(2)第2 阶段:高分辨率分支的分辨率为H×W,通道数为R。同时增加一个低分辨率分支,分辨率降低为(H/2)×(W/2),通道数增加为2R。从阶段2 开始,每个分支由4 个串联的Basic 模块组成,为了对人体结构进行建模,将KCAM 模块添加到每个分支的末尾。然后利用特征融合模块融合不同分支的特征,进一步强化不同分支之间的信息交换。

HRNet 和CAKENet 的结构对比如表1 所示,其中,(3 × 3,s= 2)表示步长为2 的3 × 3 卷积块,Bottleneck 模块由两个1 × 1 卷积,一个3 × 3卷积组成。Basic 模块由两个3 × 3 卷积组成。Bottleneck 模块和Basic 模块分别重复4 次,KCAM 模块添加到每个特征融合模块之前。

表1 CAKENet 和HRNet 网络结构Table 1 architecture of CAKENet and HRNet

3 种典型的多尺度特征融合方法如图2 所示。

图2 多尺度特征融合示意图Fig. 2 Multiscale feature fusion

式中,T表示相应的上采样、下采样或普通卷积。上采样过程先使用1 × 1 卷积改变通道数,然后利用最邻近上采样扩大分辨率。下采样过程使用步长为2 的3 × 3 卷积。普通卷积使用1 × 1 卷积,且不会改变特征的通道数。

特征融合是增强特征表征能力的重要方式之一,高分辨率特征包含更多的位置、细节信息,其语义性更低,噪声更多。低分辨率特征具有更强的语义信息,但是对位置、细节的感知能力较差。通过特征融合可以实现多分辨率特征的优势互补,从融合的多个原始特征中获得最具差异性的信息,消除不同特征之间的冗余信息。从而有效地增强网络的位置不变性和位置敏感性,提高网络对非线性的建模能力,提高网络的鲁棒性。

2.2 上下文注意力机制

全局上下文信息在人体姿态估计领域中起着至关重要的作用。在卷积神经网络中,可以使用具有较大感受野的卷积层建模全局上下文信息。感受野是指神经网络的卷积层输出特征上的像素点在输入图像上的感受范围大小。对于k层卷积,其输出特征的感受野计算方法见式(2),输出特征大小计算方式为式(3)。

式中,Rk-1表示第k-1 层的感受野大小,Fk表示第k层卷积核的大小,Si表示第i层卷积的步长。

式中,Nk1-是输入特征的大小,PkD是填充像素数。

由式(2)可知,堆叠大量的卷积块是增大感受野的一种方法。但是,增加卷积层会使网络的参数量和计算量指数级上升,同时也会导致梯度爆炸、巨大的内存消耗等问题。另一种方法则是增加卷积核的步长,虽然这样可以增大卷积核的感受野,但是,由式(3)可知,当步长Si大于1 时,卷积操作会使特征图的大小降低约Si倍,这会损失大量的空间信息,降低网络的位置敏感性,同样不利于关节点的定位。

卷积操作流程与感受野变化如图3 所示。经过一层卷积操作之后,绿色特征相对于蓝色输入感受野为3 × 3(图3(a))。经过第二层卷积操作之后,橙色特征相对绿色特征感受野为3 × 3(图3(b))。经过连续两层卷积之后,橙色特征相对蓝色输入特征感受野为5 × 5(图3(c))。

图3 卷积操作与感受野示意图Fig. 3 Convolution and receptive field

注意力机制模仿了人类感知周围环境的方式,帮助神经网络从大量的不相关的信息中筛选出有价值的目标区域。注意力机制一般可分为通道注意力和空间注意力。

(1)通道注意力是指对通道之间的相关性进行建模,然后根据不同通道的重要性重新校准通道。 挤压激发网络( Squeeze-and-Excitation Networks, SENet)[13]提出了一种“挤压-激发”块,通过全局平均池化获得通道描述符,用于加强有用的通道和弱化不重要的通道。

(2)空间注意力学习每个空间位置的重要性,可以增强网络对目标区域的“注意力”,削弱无关区域。卷积注意力模块[14]是一个由空间注意力和通道注意力组成的注意力模块。在压缩空间维数时,同时使用平均池化和最大池化,与只关注通道注意力的SENet 相比,可以获得更好的性能。Wang 等[15]通过聚合来自其他位置的信息增强查询位置的特性。全局上下文网络(Global Context Networks, GCNet)[16]提出全局上下文块,该网络可以有效地建模全局上下文信息,增强网络的全局理解。

以SENet 为例,大多数注意机制可以表示为

式中,Z表示原始特征,表示重新校准后的特征,Fse(·) 表示相应的注意力映射,⊗表示元素乘法。

为了获得人体结构的全局上下文依赖关系,本文提出使用关节点上下文注意力机制(KCAM)建模人体结构信息。如图4 所示,KCAM 由3 个分支组成:残差连结分支、通道注意力分支和空间注意力分支。空间注意力分支由9 × 9 深度可分离卷积(Depthwise Separable Convolution, DSC)和1 × 1 卷积组成。深度可分离卷积减少了计算消耗,并分离了不同的通道,从而可以学习到每个空间位置的空间注意力。空间注意力分支可以表述为

图4 KCAM 模块Fig. 4 KCAM Module

式中,Conv9×9,DSC表示9 × 9 深度可分离卷积,Conv表示1 × 1 普通卷积,β为空间注意力特征。

受GCnet[16]的启发,通道注意力分支可以表述为

式中,n等于H×W,H,W分别为输入特征图的高度和宽度,Zj表示特征图上的第j个像素点,α为通道注意力特征。

通道注意力分支和空间注意力分支通过元素相加得到融合的注意力特征图。大量研究表明,残差结构[17]更有利于梯度传递和网络优化,通过增加残差连接分支可以达到特征复用的目的。

因此,KCAM 模块可以表示为

2.3 数据增强

更大的数据集能促使神经网络取得更好的性能,但是,数据集的采集、标注是一项非常艰巨的任务,因此,如何利用有限的数据产生更多的训练样本成了一个热门的研究领域。数据增强可以增加数据集的规模,能够有效地提高深度学习模型的泛化能力,在人体姿态估计领域起着至关重要的作用。目前,常用的数据增强方法为旋转、尺度缩放、翻转和颜色增强等。

Gong 等[18]使用显著图保留图片中包含关键信息的区域,从而提高数据的保真率,缓解了在数据增强过程中改变数据分布的问题。基于混合的数据增强方法不会区分图像的内容和风格特征,Hong 等[19]提出分别对图像的内容和风格特征进行变化。Gong 等[20]使用随机噪声等方式生成一系列增强的数据样本,然后从中挑选损失误差最大的用于网络训练。

基于信息删除[21-22]的方法因其高效性而得到广泛的应用,在图像分类、目标检测和行人重识别等视觉任务领域实现了对基线网络的改进。其关键思想是将训练图片分为多个区域,随机删除其中部分区域,以生成具有不同遮挡程度的训练图像。删除最具鉴别性的信息,可以迫使网络寻找其他相关内容,使模型对遮挡具有鲁棒性,从而降低过拟合的风险。

Ke 等[23]提出使用关节点屏蔽的方法模拟难训练样本。该方法通过复制粘贴关节点或背景补丁产生易混淆的训练样本,从而有效提高网络在极端情况下的学习能力。Bin 等[24]提出了一种对抗性语义数据增强策略,构建了一个包含不同身体部位的语义部位池,并在训练过程中使用对抗生成神经网络从语义部位池中随机选择一个身体部位粘贴到输入图像中,产生难以识别的姿态。该方法有效地提高了网络在外观相似、严重遮挡和拥挤人群等情形下的识别精度。数据增强有效地拓展了人体姿态估计的边界。

在背景清晰、没有明显遮挡的情况下,当前大多数的神经网络都可以准确预测关节点的位置。然而,在识别一些被严重遮挡的人体姿态时仍然容易误识别。

为了生成更多的难样本,本文提出了一种基于语义分割的数据增强方法。该方法和基于信息删除的数据增强方法分别为了模拟图5 所示的两种常见挑战。由于不使用外部数据,将两种数据增强方法合称为自数据增强(Self Data Augmentation, SDA)。

图5 常见的具有挑战性的场景Fig. 5 Common challenging scenarios

2.3.1 基于语义分割的数据增强方法

针对多个人相互遮挡、拥挤的情形,本文设计了一种基于语义分割的数据增强方法,如图6所示。为了方便描述,将训练图像定义为前景和背景两个部分,前景即为图片中包含目标人体语义分割的区域,背景为除了前景以外的其他区域。具体做法如下。

图6 基于语义分割的数据增强策略Fig. 6 Data augmentation strategy based on semantic segmentation

首先,从原始图像中随机截取的一部分作为生成图像的背景,然后,利用线性插值方法将其缩放到与原始图像一样的大小。最后,将人体语义分割区域粘贴到缩放后的图像中,变换前后人体语义分割区域的绝对坐标位置不变。

基于语义分割的数据增强可以描述为

式中,H为人体语义分割区域,F为从原始图像中随机截取的部分,φ()· 表示线性插值,⊕表示以H中的元素替换φ(F)中的元素,Y为生成的图像。

使用背景替换来扩展数据集是一种常见的做法。然而,传统方法产生的图像有明显的人工伪造痕迹。本文所提的方法没有从其他图像中获取背景,而是将原始图像的一部分作为新图像的背景。其优点是不会改变图像像素值的分布,前景可以很好地在背景中混合,而且不会产生明显的人工痕迹,如图7 所示为基于语义分割的数据增强策略生成的一些训练样本,其中,(a)~(e)为原始图像,(f)~(j)为生成的图像。此外,由于背景的选择是随机的,背景中还会有前景人物的部分区域,可以产生相似人群(如图7(h)、(j)所示)的训练样本,从而提高神经网络的辨别能力。

图7 基于语义分割的数据增强策略生成的训练图像Fig. 7 Training images generated by the data augmentation strategy based on semantic segmentation

2.3.2 基于信息删除的数据增强方法

使用基于信息删除的数据增强方法模拟部分关节点被其他物体遮挡的情形。具体做法如图8所示。

图8 基于随机信息删除的数据增强策略Fig. 8 Data augmentation strategy based on random information removal

首先,随机选择部分关节点并随机删除其周围区域的信息,然后从图像中随机选择一个区域填充至该区域。为了避免神经网络对填充形状过拟合,随机删除区域的形状从圆形、矩形或扇形中随机选择。随机删除区域的尺寸Rr计算方式为

式中,e是取值范围为[0,1]的随机数,L是该关节点所在肢体的长度。

随机删除区域的中心随机偏离关节点中心一段距离d。

3 实验结果及分析

3.1 实验细节

实验使用Pytorch 作为深度学习框架,显卡为英伟达RTX2080Ti GPU,最小批次为12。使用了水平翻转、随机旋转、随机缩放、颜色增强、随机半身截取和本文提出的自数据增强等数据增强方法。在网络模型训练过程中,输入图像的大小被固定为384 × 288 和256 × 192。使用Adam优化器对各种训练参数进行更新,初始学习速率为1e-3。总训练轮数为210 轮。数据集为COCO数据集[25]。

结合分类和回归的表示法将关节点编码成一个分类热力图和两个分别沿x轴和y轴方向的偏移向量。假设有K个关节点P={p1,p2,… ,p k|pi=(ai,bi)},其中,分类热力图可以表示为

式中,ai、bi分别为关节点pi的横坐标和纵坐标,r为感兴趣区域(Region of interest,ROI)的半径。如果一个像素点在ROI 内,意味着这个像素点在关节点的周围。

对应的坐标偏移向量为

式中,χ和γ分别表示x轴和y轴方向上的坐标偏移向量,乘积项η表示网络只需要学习ROI 中的偏移量,⊗表示元素对应相乘。

在模型训练时,损失函数被定义为

在网络预测阶段,利用式(15)可以得到对应关节点的坐标。

3.2 人体姿态估计实验结果分析

表2 是CAKENet 与其他方法在COCO 验证集上的人体姿态估计结果比较。

表2 CAKENet 与其他方法在COCO 验证集上的对比Table 2 Comparison between CAKENet and other methods on COCO verification set

当输入图片大小固定为 384 × 288 时,CAKENet 的精度为79.5%。与HRNet-W48 相比精度增加了3.2%,参数量仅增加7.6 M,计算量增加0.9 GFLOPs。与UDP-HRNet-W48 相比精度增加了1.7%。实验结果表明,CAKENet 在相近的参数量和计算量的网络中表现出了最好的关节点定位精度。

与其他大模型相比,比多阶段姿态网络(Multi-Stage Pose Network, MSPN)的精度高2.6%。与最有效的模型4 × RSN-50 相比,CAKENet的精度增加了0.3%,参数量下降40.6 M,计算量下降28.1 GFLOPs。

当输入大小固定为 256 × 192 像素时,CAKENet 的精度为78.0%。相比UDP-HRNet-W48精度提高了0.8%,计算量仅增加0.3 GFLOPs。与2 × RSN-50 相比,精度提高了0.8%,计算量增加了1.1 GFLOPs。在相近参数量和计算量的模型对比中,CAKENet 取得了最好的关节点定位精度。

与其他较大的模型相比,比MSPN 的精度高2.1%,参数量下降48.8 M。虽然精度比4 × RSN-50低0.6%,但是参数量下降了40.6 M。与更大的模型相比,CAKENet 能够取得接近的结果。

CAKENet 在COCO 数据集上人体关节点的识别结果如图9 所示。

图9 在COCO 数据集上的部分结果展示Fig. 9 Rresults on the COCO dataset

表3 展示了CAKENet 与其他先进的方法在COCO test-dev 上的人体姿态估计精度比较。

表3 与其他方法在COCO test-dev 上的对比Table 3 Comparison with other methods on COCO test-dev

与近似参数量和计算量的模型的比较,CAKENet 相比HRNet-W48 精度提高了1.2%,比UDP-HRNet-W48 的精度高0.2%,相比Simple Baseline 精度增加了3%,相比初步和精细网络(Coarse Fine Network, CFN)精度增加了4.1%。以上结果证明了CAKENet 的有效性。

此外,与较大的模型相比,CAKENet 比MSPN 的精度高0.6%,参数量下降了48.8 M。精度比4 × RSN-50 低1.9%,参数量下降40.6 M,计算量下降32.1GFLOPs。

3.3 消融实验

3.3.1 KCAM 和SDA 的有效性

为了评估本文所提出的关节点上下文注意力机制KCAM 和自数据增强SDA 的在人体姿态估计中的有效性,本节进行了一系列的消融实验。

输入图像固定为256 × 192 像素。没有使用预训练模型,初始学习速率为1e-3,使用Adam优化器更新网络参数,所有的模型都以相同的配置从头开始训练,总共训练160 轮,最后在COCO验证集上进行评估。相应的实验配置和结果如表4 所示。

表4 消融实验的配置及结果Table 4 Configuration and results of ablation experiments

方法(a)为对照组,使用的网络为原始HRNet-w32;方法(b)在数据处理阶段使用了自数据增强策略;方法(c)在原始HRNet-w32 的基础上添加了关节点上下文注意力机制。

使用了自数据增强的网络比原始网络获得1.0%的精度增长,这与增加数据集数量可以提高网络性能的常识相一致。结果表明,数据增强在人体姿态估计领域具有很大的应用前景。

上下文注意力机制促使网络实现了2.0%的精度增加,实验表明KCAM 可以显著地提高网络的精度和收敛速度,验证了上下文注意力机制的有效性。

消融实验1 的结果表明,上下文注意力机制和自数据增强不仅可以提高人体姿态估计的精度,还可以提高网络的收敛速度。

3.3.2 不同像素特征的贡献

在神经网络中,不同像素大小的特征分别蕴含着不同的信息。一般来说,高像素的特征蕴含着丰富的空间信息,有利于定位任务。低像素的特征具有高层次的语义信息,有助于分类任务。在人体姿态估计任务中,不同分辨率的特征分别贡献不同的作用。为了定量地说明每个分支特征的贡献,本文设计了一种加权特征融合方法,如图10 所示。

图10 加权特征融合Fig. 10 Weighted feature fusion

加权融合过程可以描述为

式中,wij表示融合权重,ci和分别表示分辨率为的输入特征和输出特征。

利用加权特征融合取代原来的特征融合方法,所有权重是一个初始值为1 的可训练的参数。图10a~c 所示的融合过程分别可以表述为

用矩阵乘法可以表示为

式中,W为特征融合模块的权重,TC表示矩阵转置。

第2 阶段只有一个融合模块,其可视化结果如图 11(a)所示,其中,w0,0= 2.2,w0,1= 0.22,w1,0= 1.8,w1,1= 1.1。第3 阶段的前两个融合权重如图11(b-c)所示,融合不同分支的特征时,更高分辨率分支所占的权重更大。说明在网络的浅层,神经网络倾向于融合更多高分辨率的特征,有利于关节点的定位,网络具有更强的位置敏感性。

随着网络层数的增加,高像素特征所占的比例变小,而低像素特征的比例增大,如图11(d)~(h)所示。说明在网络的深层,需要聚合更多的语义信息对关节点进行分类,网络具有更强的位置不变性。

图11 融合权重WFig. 11 Fusion weights W

消融实验2 的结果表明,在人体姿态估计任务中,网络的不同阶段分别处理不同的任务,网络的浅层主要解决关节点的定位问题,网络的深层主要解决已定位关节点的分类问题。

4 结 论

本文针对HRNet对人体结构信息建模不足的问题,提出了基于上下文注意力机制的关节点提取网络,通过引入上下文注意力机制发掘潜在的全局上下文信息。同时提出了一种基于语义分割的数据增强策略,使用该策略能够生成大量难样本,增强了网络的泛化能力。所提出的基于上下文注意力机制的关节点提取网络在COCO数据集上的姿态估计精度高达79.5%。本文的实验证明了所提出的CAKENet 网络是有效的,有望开拓人体姿态估计方法研究的新思路。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!