[论文阅读:姿态识别&Transformer] TransPose: Keypoint Localization via Transformer 2021 ICCV

[论文阅读:姿态识别&Transformer] TransPose: Keypoint Localization via Transformer 2021 ICCV


2021 ICCV 来自东南大学

paper https://arxiv.org/abs/2012.14214

github https://github.com/yangsenius/TransPose 主要参考的是HRNet, DarkPose以及DETR

使用的CNN backbone + Transformer Encoder的结构。如果从原图开始直接使用transformer则计算量过大。最后使用transformer的输出reshape回2维图像,取其激活最大值坐标位置作为关节点坐标。

  • Top-down方式。使用卷积作为backbone进行特征图提取
  • Transformer编码层通过query-key-value注意力迭代地从序列中捕获依赖项
  • 再用一个简单的head来预测关键点热图
  • 虽然全文讲了很久的可解释性,但我觉得有在讲故事的嫌疑
  • 在COCO上进行预训练,再迁移到MPII数据集上的效果比直接在MPII上训练效果还好。说明在大数据集上训练基于Transformer的姿态识别模型再迁移,也是个不错的选择。

1. 摘要:

虽然基于cnn的模型在人体姿态估计方面取得了显著进展,但它们捕捉的空间依赖性来定位关键点仍不清楚。在本文中,我们提出了一种名为TransPose的模型,将Transformer引入人体姿态估计。Transformer中内置的注意层使我们的模型能够有效地捕获长期关系,并且还可以揭示预测的关键点依赖于什么。为了预测关键点热图,最后的注意层充当了一个聚合器,它从图像线索中收集贡献,并形成关键点的最大位置。这种通过Transformer的基于热图的本地化方法符合激活最大化[19]的原则。并且揭示的依赖关系是特定于图像的和细粒度的,这也可以提供模型如何处理特殊情况的证据,例如遮挡。实验表明,TransPose算法在COCO验证和测试开发集上实现了75.8 AP和75.0 AP,比主流CNN架构更加轻量级和快速。TransPose模型在MPII基准测试上的迁移也非常好,当用较小的训练成本进行微调时,在测试集上实现了优异的性能。

2.主要工作

在这项工作中,我们的目标是构建一个人体姿态估计器,它可以明确地捕获和揭示关键点之间的图像特定的空间依赖性,如图1所示。由于卷积的缩放特性较差,我们认为卷积在提取底层特征方面具有优势但在高层深度叠加卷积以扩大感受野并不能有效地捕获全局依赖关系。这样的深度增加了解读CNN预测的难度。Transformer架构[58]在绘制成对或更高阶交互方面比cnn具有天然优势。如图2所示,注意层使模型能够捕获任何成对位置之间的交互,它的注意图充当了存储这些依赖关系的即时记忆。基于这些考虑,我们提出了一个名为Transpose的新模型,**它使用卷积在底层提取特性,而Transformer在高层捕获全局依赖关系。**详细地说,我们将特征图作为Transformer的输入并进行扁平化,并将其输出恢复到二维结构的热图中。

图2:CNN vs. Attention 左图:感受野在更深的卷积层中扩大。右:一个自我注意层可以捕捉任何位置的一对点之间的成对关系

3. Contributions

  • 引入了用于人体姿态估计的Transformer来预测基于热图的关键点位置,可以有效地捕捉人体各部位之间的空间关系。
  • 证明了我们基于Transformer的关键点定位方法符合激活最大化的可解释性[19,49]。定性分析揭示了直觉之外的依赖关系,这些依赖关系是特定于图像的和细粒度的。
  • 通过更少的参数和更快的速度,TransPose模型实现了与最先进的基于cnn的模型的竞争性能TransPose在COCO验证集和测试开发集上实现了75.8 AP和75.0 AP,比HRNet-W48少73%的参数,快1.4倍。此外,我们的模型在MPII基准测试中迁移非常好。

[外链图片转存中…(img-FtBdVMtN-1640848538796)]
图3:整体框架
首先,利用CNN骨干网络提取特征图并将其展开为序列。接下来,Transformer编码层通过query-key-value注意力迭代地从序列中捕获依赖项。然后,用一个简单的head来预测关键点热图。Transformer中的注意图可以揭示哪些依赖项(区域或关节点)对预测关键点热图中的激活最大位置有显著贡献

4. 框架总览

我们的目标是建立一个模型,可以显式地捕获人体各部分之间的全局依赖关系。我们首先描述模型架构。然后我们展示它如何利用自我注意来捕获全局交互,并在我们的方法和激活最大化原则之间建立联系。

4.1. Architecture

如图3所示,TransPose模型由三个分量组成: 一是提取低层次图像特征的CNN主干; 一个Transformer编码器,捕捉跨位置的特征向量之间的远距离空间交互; 一个预测关键点热图的head

Backbone
为了更好的比较,我们选择了两种典型的CNN架构:ResNetHRNet。我们只保留原ImageNet预训练的CNN的最初几个部分来从图像中提取特征。我们将其命名为ResNet-S和HRNet-S,其参数仅为原CNN的5.5%和25%左右。具体细节如表8,表9所示。(CNN网络的前面部分的通道数小,参数量少)

Transformer
我们尽可能地遵循标准Transformer架构[58]。我们只使用了Transformer编码器我们认为纯热图预测任务只是一个简单的编码任务,它将原始图像信息压缩为关键点的紧凑位置表示。
给定一个输入图像 I ∈ R 3 × H I × W I I∈{\mathbb{R}}^{3\times H_I\times W_I} IR3×HI×WI,我们假设CNN主干输出一个二维空间结构图像特征图 X f ∈ R d × H × W X_f∈{\mathbb{R}}^{d\times H\times W} XfRd×H×W,其特征维数已通过1x1卷积转换为d。然后将图像特征映射平化为一个序列 X ∈ R L × d X∈{\mathbb{R}}^{L\times d} XRL×d,即L个d维特征向量(L = H x w)。它经过N个注意层和前馈网络(FFNs)。

使用二维正弦位置嵌入,x、y方向分别保留原始2维结构,各占d/2通道: (与DETR、IPT相同)

Head
在Transformer编码器输出 E ∈ R L × d E\in{\mathbb{R}^{L\times d}} ERL×d后有一个head,以预测K种关键点热图 P ∈ R K × H ∗ × W ∗ P\in{\mathbb{R}^{K\times H^* \times W^*}} PRK×H×W,其中默认 H ∗ , W ∗ = H I / 4 , W I / 4 H^*,W^* = H_I/4,W_I/4 H,W=HI/4,WI/4
首先将Transformer编码器输出 E ∈ R L × d E\in{\mathbb{R}^{L\times d}} ERL×d重构回 R d × H ′ × W ′ \mathbb{R}^{d\times H' \times W'} Rd×H×W。然后我们主要使用1 x 1卷积将E的通道维数从d降至k。如果H’,W’不等于 H ∗ , W ∗ H^*,W^* H,W,则在1 x 1卷积前使用额外的双线性插值或4 x 4转置卷积进行上采样。注意,1x1卷积完全等价于位置position-wise线性变换层。

4.2. 分辨率设置

由于每个自注意层的计算复杂度为 O ( ( H W ) 2 ⋅ d ) O((HW)^2·d) O((HW)2d),我们限制注意层在降采样率rx倍于原始的分辨率下工作,即 H , W = H I / r , W I / r H,W = H_I/r,W_I/r H,W=HI/r,WI/r
在常见的人体姿态估计架构[60,38,61,51]中,通常采用32×下采样作为标准设置,以获得包含全局信息的极低分辨率图。
而对于ResNet-S和HRNet-S,我们采用r = 8和r = 4的设置,这有利于在注意层内存占用和详细信息丢失之间进行权衡。因此,我们的模型以更高的分辨率直接捕获远程交互,同时保留细粒度的局部特征信息.

4.3. 注意力与关键点获取

使用multi-head self-attention. 其中输入序列 x ∈ R L × d x\in \mathbb{R}^{L\times d} xRL×d将投影到Q,K,V ∈ R L × d \in \mathbb{R}^{L\times d} RL×d, (L个d维特征向量, L = H x w)使用参数矩阵 W q , W k , W v ∈ R d × d W_q,W_k,W_v \in \mathbb{R}^{d\times d} Wq,Wk,WvRd×d, 此后按下述公式可计算得到注意力矩阵 A ∈ R d × d A \in \mathbb{R}^{d\times d} ARd×d, 注意力矩阵可以看成对图像内容做动态卷积
A = s o f t m a x ( Q K T d ) A=softmax(\frac{QK^T}{\sqrt{d}}) A=softmax(d QKT)
最后的注意层作为一个聚集器,收集来自所有图像位置的贡献,并在预测的关键点热图中形成最大激活maximum activations。尽管在FFN和head的层不能被忽略,但它们是position-wise的,这意味着它们通过相同的转换近似线性地转换来自所有位置的贡献,而不改变它们的相对比例。

**激活的最大位置是关键点的位置。**这基于以下神经网络的可解释性:输入区域可以解释被激活的神经元在寻找什么,而给定神经元激活最大化的位置就是寻找的内容。

5. 实验结果

数据集 使用COCO和MPII数据集。

训练细节 Top-down模式,输入图像尺寸为256 x 192,使用和HRNet相同的训练策略、数据增强方式以及人体检测器。使用DARK的坐标编码策略。

FFN层使用0.1的dropout和ReLU激活函数。使用Adam对模型进行训练。采用余弦退火学习速率衰减法。使用2D正弦位置嵌入作为默认位置嵌入。

下表1为Transpose的配置与细节。其中TransPose-R使用的是ResNet作为backbone,输入transformer的特征图的长宽为输入图像的1/8; TransPose-H使用的是HRNet作为backbone,输入transformer的特征图的长宽为输入图像的1/4。 d是Transformer中的token维度,h是the number of hidden units of FFN(Table 7中有说明) 参数量:ResNet输入的尺寸更小,因此可以使用更大的d和h; HRNet输入尺寸更大,所以用了小一些的d和h

[外链图片转存中…(img-Pd3z4Y7y-1640848538797)]

5.1. COCO关键点数据集上的结果
5.2. MPII数据集上的迁移

典型的姿态识别估计方法通常分别在COCO和MPII上对模型进行训练和评估。在NLP和最近的ViT[18]预训练成功的激励下,我们试图将我们的预训练模型转移到MPII。我们将预训练转置模型的最后一层替换为一个均匀初始化的d × 16线性层,在微调时,预训练层和最终层的学习速率分别为1e-5和1e-4,且呈衰减。

为了进行比较,我们使用相同的设置在MPII上微调预训练的DARK-HRNet,并通过标准的全训练设置在MPII上训练这些模型。如Table 5和Figure 4所示。结果很有趣: 即使有较长的全训练周期,模型的表现也不如微调过的模型; 即使在大模型容量(28.5M)的情况下,预训练DARK-HRNet带来的改善(+1.4 AP)也小于预训练TransPose(+2.0 AP)。

在256×256输入分辨率下,对MPII训练集和val集进行微调,TransPose-h - a6得到的MPII测试集的最佳结果精度为93.5%,如Table 6所示。这些结果表明,**预训练和微调可以显著降低训练成本,提高性能,**特别是对预训练TransPose模型。(在COCO数据集上预训练,在MPII上微调)

经预训练和微调的基于Transformer的模型在NLP[17,44]和最近的视觉模型[18,11,16]中显示了良好的结果。我们在MPII上的初步结果也表明,在大规模姿势相关数据上训练基于Transformer的姿态识别模型可能是一个强大而稳健的表示方法。

5.3. 消融实验

**位置嵌入的重要性。**没有位置嵌入,二维空间结构信息会在Transformer中丢失。为了探讨其重要性,我们在TransPose-R - A3模型上进行了三种位置嵌入策略的实验: 二维正弦位置嵌入、可学习位置嵌入和w/o位置嵌入。与预期一致,具有位置嵌入的模型表现较好,尤其是二维正弦位置嵌入,如表4所示。但有趣的是,没有任何位置嵌入的TransPose仅损失1.3 AP,这表明二维结构变得不那么重要。

**缩放Transformer Encoder的尺寸。**我们研究了性能如何随Transformer Encoder的尺寸变化,如表7所示。对于TransPose-R模型,随着层数增加到6,性能改进逐渐趋于饱和或退化。但我们在TransPose-H模型上没有观察到这种现象, 增大Transformer明显地提高了TransPose-H的性能。

**位置嵌入有助于更好地概括未训练的输入分辨率。**自上而下的模式缩放所有裁剪的图像到一个固定的大小。但在某些情况下,即使是固定的输入大小或自底向上的模式,输入中的人体大小也是不同的; 对不同规模的鲁棒性变得很重要。因此,我们设计了一个极端的实验来测试推广: 我们测试SimpleBaseline-ResN50-Dark和TransPose-R-A3模型上未训练的128 x 96、384 x 288、512 x 388输入分辨率,所有这些都只经过256 x 192大小的训练。

有趣的是,图5的结果表明SimpleBaseline和TransPose-R w/o位置嵌入在看不见的分辨率上有明显的性能崩溃,尤其是在128 x 96上; 而带有可学习位置嵌入的TransPose-R 和2D正弦位置嵌入的TransPose-R 具有显著的泛化效果,尤其是对于2D正弦位置嵌入。

[外链图片转存中…(img-GpNZOaYG-1640848538797)]

**Discussion.**对于输入分辨率,我们主要在尺寸为256 x 192的输入图像上训练我们的模型,从而得到768和3072序列长度的Transformer在TP-R和TP-H模型(输入tansformer的feature map分别是原图像的1/8和1/4)。更高的输入分辨率,如我们目前的模型的384 x 288,由于二次复杂度,在self-attention中会带来非常昂贵的计算成本。(所以后续工作可以是如何降低计算量)

5.4. 定性分析

TransPose模型的超参数构型可能以未知的方式影响其行为。在本节中,我们选择训练模型、预测关键点类型、注意层深度和输入图像作为控制变量来观察模型行为。

不同的CNN提取器对模型的依赖偏好不同 通过图6我们发现,尽管TP-R-A4和TP-H-A4预测的关键点位置完全相同,但TP-H-A4可以利用多个较长的关节线索来预测关键点。相反,TP-R-A4更倾向于关注目标关节周围的局部图像线索。这一特征可以通过补充中可视化的影响区域进一步证实,其中关键点在TP-H-A4中有较大的非局部影响区域。

说明 1)姿态估计器使用来自远程关节的全局信息来定位特定的关节; 2) HRNet-S在获取远程依赖关系信息方面优于ResNet-S(可能是由于其多尺度融合方案)。

**依赖关系和影响因不同类型的关键点而异。**对于头部的关键点,定位主要依赖于头部的视觉线索,但TP-H-A4也将它们与肩膀和手臂关节联系起来。值得注意的是,两种模型预测手腕、肘部、膝盖或脚踝的依赖关系存在明显差异,其中TP-R-A4依赖于同一侧的局部线索,而TP-H-A4利用对称一侧关节的更多线索。

如图6(b)、图6(d)所示,我们可以进一步观察到,姿态估计器可能会从更多的部分收集强有力的线索来预测目标关键点。这可以解释为什么模型还可以将被阻挡的关键点的位置预测准确, 模棱两可的阻挡关键点位置会对其他预测产生更小的影响(如被遮挡的左脚踝 图6 ©或图6 (d))。

随着深度的增加,人们的注意力逐渐集中在更细粒度的依赖上。通过观察所有的注意层(图7中的1、2、3行),我们惊奇地发现,即使没有中间GT位置的监督,TP-H-A4仍然能够注意到关节的准确位置,而且在早期注意层中有更多的全局线索。对于这两个模型,随着深度的增加,预测逐渐依赖于局部部位或关键点位置周围更细粒度的图像线索(图7)。

**单个模型的特定于图像的依赖关系和统计共性。**与训练后的CNN权重编码的静态关系不同,注意图对输入是动态的。如图6(a)和图6©所示,我们可以观察到,尽管预测关键点的依赖关系具有统计共性(大多数常见图像的行为类似),但细粒度依赖关系会根据图像上下文略有变化。在给定图像(如输入B)存在遮挡或不可见的情况下(图6©),该模型仍然可以通过寻找更重要的图像线索来定位部分遮挡的关键点的位置,并减少对不可见关键点的依赖来预测其他关键点。未来的工作很可能会利用这种注意模式进行零件到整体的关联,并聚合相关特征进行三维姿态估计或动作识别

6. 结论

我们探索了一种基于Transformer的人体姿态估计模型的TransPose方法。注意层使模型能够有效且明确地捕获全局空间依赖关系。我们还展示了Transformer实现的这种基于热图的关节点定位使我们的模型与Activation Maximization共享了这一理念。对于轻量级架构,TransPose得到了与最先进的基于CNN的COCO数据集上的对应版本相近的效果,并且在使用较小的训练成本进行微调时,在MPII上获得了显著的改进。进一步验证了位置嵌入的重要性。我们的定性分析揭示了模型行为的变化,层深度,关键点类型,训练模型和输入图像,这也让我们了解模型如何处理特殊情况,如遮挡。

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值