AI学习者 · 1月8日

Improved TokenPose | 让TokenPose享受稀疏的快,又拥有高精度

image.png

近年来,视觉Transformer及其各种形式在人体姿态估计中具有重要意义。通过将图像块视为Token,Transformer可以明智地捕获全局关系,通过利用视觉Token来估计关键点Token,并识别人体的姿势。然而,全局注意力在计算上具有挑战性,这使得将基于Transformer的方法扩展到高分辨率特征具有难度。

在本文中引入了关键点Token注意力中的稀疏性和视觉Token注意力中的稀疏性,以提高人体姿态估计。在MPII数据集上的实验结果表明,作者的模型具有更高的准确度,证明了该方法的可行性,并实现了新的最先进的结果。这个想法也可以为其他基于Transformer的模型提供参考。

1 Introduction

人体姿态估计是给定图像或视频恢复人体解剖学关键点的过程,这依赖于视觉线索和关键点约束关系。人体姿态估计最常用的方法是使用卷积神经网络(CNNs)从输入图像中提取特征。然而,它们存在一些局限性和挑战。人体关节高度相关,受到强烈的动力学和物理限制。因此,卷积神经网络(CNNs)的有限接收范围可能导致关节之间存在的长程约束捕捉不佳。

视觉Transformer及其变体在各种视觉任务上展现出令人印象深刻的表现。与卷积神经网络(CNNs)相比,Transformer的自注意力机制可以捕捉到长程依赖性并更好地学习关键点之间的关系。在单视图2D人体姿态估计中,TransPose和TokenPose已经实现了最先进的结果。

通常,特征图被 flatten 成一维的Token序列,然后被输入到 Transformer 中。TokenPose 将关键点分为两类,视觉Token和关键点Token。视觉Token通常指的是用于编码图像或视频帧中的外观和上下文信息的视觉特征或表示。另一方面,关键点Token指的是在姿态估计任务中感兴趣的特定身体关键点,以图像中的坐标或3D空间中的表示。

然而,由于维数变换,计算复杂度很高,输入序列的长度为二次方。因此,将这些方法扩展到高分辨率特征图是具有挑战性的。此外,注意力图通常非常稀疏,只关注一个小局部区域。大部分冗余区域可以移动到加快训练过程。这也促使作者对加强关键点Token之间的联系产生兴趣,因为作者可以通过人体解剖学中的某些关节接触来泛化数学矩阵。

在本文中,作者提出了一种更高效、准确的基于TokenPose Transformer的Transformer模型,名为Improve TokenPose with Sparsity。

具体而言,作者关注两种稀疏Token,即人体关节关键点Token和注意力级别的视觉Token。在关键点Token上,作者指的是人体生理结构,通过稀疏关节Mask来加强相关关节之间的连接。在视觉Token上,作者通过剪枝注意力连接引入了稀疏性。作者发现剪枝这些稀疏Token不会降低准确性,但可以加速整个网络。

改进TokenPose with Sparsity的主要贡献可以概括如下:

  1. 作者提出了一种基于注意力的剪枝策略,动态地升级稀疏注意力Mask。通过关注更重要的视觉Token,作者可以在训练过程中同时实现Token和注意力连接,同时利用它们的稀疏性。作者的方法不需要复杂的Token选择模块或额外的训练损失或超参数。
  2. 作者提出了一种基于人体结构的自定义稀疏关节Mask。通过使用图度,作者可以预定义一个0-1Mask,以强调相邻关节和镜像关节之间的连接。
  3. 作者在MPII数据集上进行了大量的实验,并通过实验分析证明了该方法的可行性。

2 Related Work

Vision Transformer

视觉Transformer(ViT)最初是用于自然语言处理,已被证明在Token序列中捕获长程依赖性是有效的。ViT的关键思想是将Transformer架构直接应用于图像块。最近,它们在各种应用中显示了显著的成功,如分类、目标检测和语义分割。

自从引入以来,ViT已在图像识别的多个基准数据集上实现了最先进的表现,包括ImageNet。ViT也激发了在视觉Transformer领域进一步的研究,包括性能改进的ViT变体,如DeiT,以及用于高效训练视觉Transformer的方法,如TNT。然而,在训练和推理期间,它们的高计算和内存使用会阻碍它们的泛化。

现有的压缩算法通常关注高效的推理,并依赖于预训练的密集模型,而忽视了耗时的训练。研究人员已经提出了几种改进ViT效率的方法。例如,网络剪枝、纯ViT、知识蒸馏和量化已被应用于ViT,其他算法引入了CNN属性来减轻计算全局注意力的负担。

此外,一些模型通过聚合相邻Token来简化输入Token。他们的核心思想是使用可学习的注意力权重来挖掘Token,或者根据分类Token减少和重新组织图像Token。例如,Token-to-tokens、TokenLearner、DynamicViT和EViT。然而,这些模型只被设计用于分类任务,其中最终预测仅依赖于分类Token,而在人体姿态估计中,还需要考虑空间线索和关节关联。

Human Pose Estimation

人体姿态估计是计算机视觉中的一个重要研究领域,它涉及从图像或视频中估计人的身体关节位置和方向。以前,在2D人体姿态估计中提出了许多卷积神经网络(CNN)模型。尽管它在捕获局部信息方面具有公认的有效性,但卷积神经网络在模拟长程关系方面仍然存在困难。这在人体姿态估计方面尤其具有挑战性。

因此,许多工作已经探索了人体姿态估计的 efficient 架构设计。例如,HRNet 是一个多阶段、高分辨率的网络,专门用于人体姿态估计。它使用了一个高分辨率的特征提取阶段,然后是一组并行分支,它们通过在不同尺度上组合信息来实现最先进的结果。轻量级 HRNet 是一个具有有限计算资源的 HRNet 的轻量级版本。

通过减少原始 HRNet 中通道和层数,同时保留其多分辨率特征提取和集成能力,它实现了这个目标。其他工作也是为实时姿态估计而设计的。然而,它们的主要焦点是基于 CNN 的网络,而没有他们的研究探索基于 Transformer 的网络。

最近,许多工作使用 Transformer 网络进行人体姿态估计。例如,TransPose 利用 transformers 说明关键点预测的相互依赖性,TokenPose 引入额外的关键点Token来获取约束关系和外观线索,并使用 transformer 模块捕捉人体姿态估计中身体部分之间的长程依赖性。这些工作突显了基于 Transformer 的模型在人体姿态估计中的日益广泛应用。通过利用自注意力机制和捕获全局依赖性,基于 Transformer 的方法已经展示了有前景的结果,并开辟了提高姿态估计系统准确性和鲁棒性的新途径。

CNNs 和 Transformer 模型在人体姿态估计任务中都是有效的。CNNs 非常适合提取局部特征和处理空间变化,而 Transformer 模型在捕捉身体部分之间的复杂全局关系方面表现更好。两者都强调对全局信息、效率和抗噪声的关注。

3 Methodology

Overview

image.png

image.png

image.png

Masked Multi-head Self-attention(MMSA)

image.png

Visual Token Attention Prune Module

作者在视觉Token的注意力级别上引入稀疏性,通过剪枝注意力连接。具体而言,对于一个给定的查询Token,作者只计算与一小部分选择的Token之间的注意力连接。注意力Mask的目标是确定不同输入Token之间的注意力权重。由于注意力图通常很稀疏,因此无需追求强烈的注意力,剪枝可以有选择地移除被认为不太重要的连接。

早期的 ViT 依赖于预定的稀疏模式,例如邻域窗口或扩展滑动窗口,这些模式对于形状和大小不同的物体可能有限。另一方面,一些输入相关的方法使用可变形注意力来找到相应的Token,但这需要额外的模块来学习选定的Token。Tri-level ViT提出了一种相对可行的方案,但尚未有具体的实验。

本文旨在实现人体姿态检测的方法并探索其对模型准确性和效率的影响。作者在Transformer中使用 MMSA 机制以更好地捕获图像的复杂性,如图 2 所示。

image.png

image.png

Joint Attention Mask

如图 5 所示,无论人体姿态如何,关节之间的连接总是存在的,并且具有一定的模式。因此,作者可以根据人体图来总结并预定义一个关键点关节Mask ,以强调肢体之间的连接并加强关节关系,在训练过程中进行预定义。

image.png

通过利用关节的稀疏性,对于每个人体关节,作者只保留其相邻节点和镜像节点,将它们设置为 1,将其他节点设置为 0,形成一个稀疏关节Mask。例如,对于关节编号 5(左肩),作者只保留其相邻的左肘关节和其镜像关节。对于人体结构中的每个关节,相应的操作被执行以形成一个 Mask。它应该用作常数值并添加到整个训练过程。关节Mask后来被输入到图Transformer层(如图 2 所示),以强调人体关节连接的不变性。

Implementation Detail

在改进的 TokenPose with Sparsity 中,Transformer L 的编码器层数设置为 12,嵌入大小 D 设置为 192,头数 H 设置为 8。在图Transformer中,编码器层数 L' 设置为 8。它们采用浅层茎网络和 HRNet-W32 作为 CNN Backbone网络。

4 Experiments and Validation

Settings

作者在单目 2D 人体姿态估计基准测试上评估改进的 TokenPose with Sparsity,数据集 MPII包含大约 25K 图像和 40K 个人体实例,每个实例有 16 个关键点。评估基于头部归一化的正确关键点(PCKh)得分。如果关键点落在预定义的地面真实位置阈值内,则认为该关键点是正确的。作者采用平均 PCKh 分数作为惯例报告。

Ablation Studies

作者首先基于 TokenPose-S 构建了改进的 TokenPose with Sparsity 进行比较。作者遵循与 TokenPose 相同的训练配方。表 1 显示了人体姿态评估的逐步结果。添加关节Mask可以带来轻微的改进。利用视觉Token注意力和关键点Token注意力的稀疏性可以提高至少一个百分点的性能。

image.png

如图所示,在注意力保持比例为 0.6 时,准确性最高,这意味着只关注视觉Token的 60%,并将其余的舍弃。表 1 中的结果证明了修剪后的视觉Token连接可能对应于更不重要的关系,有助于突出在人体姿态估计过程中更有影响力的关系。然而,需要注意的是,修剪过程可能会影响姿态估计模型的整体准确性。这肯定是一种权衡。移除某些连接可能会丢弃有价值的信息,使模型失去一些人体姿态的细粒度细节。它仍然需要仔细分析和实验来在提高效率和保持准确性之间取得平衡。

Results

image.png

表 2 显示了在 MPII 数据集上的实验结果。如作者所见,作者的方法与原始的 TokenPose 基线相比有所改进。利用注意力级别的视觉Token和关键点Token稀疏性的想法被证明是高效且有效的,这个想法也可以应用于其他领域。

Visualizations

image.png

作者在图 6 和图 8 中可视化了作者的方法生成的样本热力图。作者可视化了注意力剪枝的过程。

image.png

图 7 显示了在剪枝过程中,注意力图是如何动态选择重要信息的。剪枝后,作者将删除对最终结果影响不大的几个Token。

image.png

5 Conclusion

在本文中,作者提出了一种改进的 TokenPose 用于 2D 人体姿态估计。作者的优势体现在两个方面:结合人体结构,以及使用注意力剪枝生成一个更简单的注意力图。作者在关键点和视觉Token中实现了稀疏性的应用。在 MPII 数据集上的实验表明,与先前的 TokenPose 网络相比,改进的 TokenPose with Sparsity 实现了更好的准确性。

参考

[1].IMPROVED TOKENPOSE WITH SPARSITY.

作者:AI视界引擎
文章来源:AI视界引擎

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
16614
内容数
1231
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息