论文阅读|TFPose

TFPose: Direct Human Pose Estimation with Transformers

目录

Abstract

Introduction

Contributions

Related Work

Transformers in computer vision

Heatmap-based 2D pose estimation

Regression-based 2D pose estimation

Our Approach

3.1 TFPose Architecture

3.2 Transformer Encoder

3.3 Transformer Decoder

3.4  Training Targets and Loss Functions

Experiments

Implementation details

Ablation Study

Query-to-query attention

Configurations of Transformer decoder

Auxiliary loss

Discussions on TFPose

Visualization of sampling keypoints

Visualization of query-to-query attention

Comparison with State-of-the-art Methods

Results on COCO val. set

Results on COCO test-dev set 

Results on MPII test set

Conclusion

2103

Abstract

  • 基于回归的人体姿态估计框架,将姿态估计任务定制为可以通过transformer解决的序列预测问题
  • 利用transformer中的注意力机制,我们提出的框架能够自适应地关注与目标关键点最相关的特征,这在很大程度上克服了以往基于回归的方法的特征不对齐问题,大大提高了性能。
  • 重要的是,我们的框架可以固有地利用关键点之间的结构化关系。 在 MS-COCO 和 MPII 数据集上的实验表明,我们的方法可以显着提高基于回归的姿态估计的最新技术,并与最好的基于热图的姿态估计方法相媲美

Introduction

人体姿态估计现有主流方法大致可分为基于热图(图 1 顶部)和基于回归的方法(图 1 底部)

基于热图的方法通常首先使用全卷积网络(FCN)预测热图或分类分数图,然后通过热图或分数图中的峰值位置定位身体关节。 大多数姿势估计方法都是基于热图的,因为它具有相对更高的准确性。 然而,基于热图的方法可能会遇到以下问题。 1) 需要进行后处理(例如,“取最大值”操作)。后处理可能无法区分,使框架无法端到端训练。 2)FCNs预测的热图分辨率通常低于输入图像的分辨率。 分辨率降低会导致量化误差并限制关键点定位的精度。 这种量化误差可以通过根据峰值附近像素的值移动输出坐标来解决,但它使框架更加复杂并引入了更多的超参数。 3)地面实况热图需要手动设计和启发式调整,这可能会导致地面实况图中包含许多噪声和歧义,如[21,31,41]所示。

基于回归的方法通常使用 FC(全连接)预测层将输入图像直接映射到身体关节的坐标,从而消除了对热图的需要。 基于回归的方法比基于热图的方法更直接,因为原则上姿态估计是一种回归任务,例如对象检测。 此外,基于回归的方法可以绕过基于热图的方法的上述缺点,因此更有前景。

然而,只有少数研究工作专注于基于回归的方法,因为基于回归的方法通常比基于热图的方法性能差。 原因可能有四方面。 首先,为了减少 FC 层中的网络参数,在 Deep-Pose [46] 中,应用全局平均池化来降低 FC 层之前的特征图分辨率。 这种全局平均池化破坏了卷积特征图的空间结构,并显着降低了性能。 接下来,如 DirectPose [44] 和 SPM [35] 所示,在基于回归的方法中,卷积特征和预测未对齐,导致关键点的定位精度低。 此外,基于回归的方法仅回归身体关节的坐标,并没有考虑这些关键点之间的结构化依赖性[41]。

最近,我们见证了transformer的兴起 [6, 15, 54]。Transformer最初是为序列到序列的任务而设计的,这启发我们将单人姿势估计转化为预测 K 长度序列坐标的问题,其中 K 是一个人的身体关节数。这导致了简单而新颖的基于回归的姿态估计框架,称为 TFPose(即基于 Transformer 的姿态估计)。如图 2 所示,将 CNN 的特征图作为输入,transformer 依次预测 K 坐标。 TFPose 可以绕过上述基于回归的方法的困难。首先,它不需要像 DeepPose [46] 中的全局平均池化。其次,由于多头注意力机制,我们的方法可以避免卷积特征和预测之间的特征错位。第三,由于我们以顺序方式预测关键点,因此转换器可以自然地捕获关键点之间的结构化依赖关系,从而提高性能。

Contributions

  • TFPose 是第一个基于 Transformer 的姿态估计框架。 我们提出的框架适用于简单直接的基于回归的方法,它是端到端可训练的,并且可以克服基于热图的方法的许多缺点。
  • 此外,我们的 TFPose 可以自然地学习利用关键点之间的结构化依赖关系,而无需启发式设计,例如在 [41] 中。 这会提高性能和更好的可解释性
  • TFPose 极大地推进了基于回归的最先进方法,使基于回归的方法与基于最先进热图的方法相当。 例如,我们改进了以前最好的基于回归的方法 Sun et al。 [42] 4.4% AP 在 COCO 关键点检测任务上,以及 Aiden 等人。 [34] 在 MPII 基准测试中提高了 0.9% PCK。

Related Work

Transformers in computer vision

在 [47] 中提出之后,Transformers 在 NLP(自然语言处理)[2, 14] 方面取得了重大进展。 最近,Transformer在计算机视觉界也备受关注。 对于基本的图像分类任务,ViT [15] 将纯 Transformer 应用于顺序图像块。 除了图像分类,视觉 Transformer 也广泛应用于对象检测 [6,54]、分割 [48、49]、姿态估计 [22、23、28]、低级视觉任务 [8]。 更多细节,我们参考[16]。 特别是,DETR [6] 和 Deformable DETR [54] 制定了目标检测任务来预测一个框集,以便可以端到端地训练目标检测模型; Transformer 在 3D 手部姿势估计 [22, 23] 和 3D 人体姿势估计 [22, 23] 中的应用表明,Transformer 适合对人体姿势进行建模。

Heatmap-based 2D pose estimation

基于热图的 2D 姿态估计方法 [4, 5, 9, 10, 17, 26, 33, 40, 51] 在 2D 人体姿态估计中实现了最先进的精度。最近,大多数工作,包括自上而下和自下而上,都是基于热图的方法。 [33]首先提出沙漏式框架,沙漏式框架也得到广泛应用,如[4,26]。 HRNet为基于热图的 2D 姿态估计提出了一种新颖的网络架构,并取得了优异的性能。 Higher-HRNet提出了一种新的自下而上的方法,在 CrowdPose 数据集 [25] 中实现了令人印象深刻的性能,并通过 [31] 进行了改进。 [4] RSN提出了一种高效的网络,在 COCO 关键点检测数据集 [29] 中实现了最先进的性能。然而,[42,44] 认为基于热图的方法不能进行端到端的训练,因为“取最大值”操作。最近,[31, 41] 发现了地面实况热图中的噪声和模糊性。 [21]发现大多数先前工作应用的热图数据处理存在偏差,并提出了一种新的无偏差数据处理方法。

Regression-based 2D pose estimation

2D 人体姿态估计自然是一个回归问题 [42]。然而,基于回归的方法不如基于热图的方法准确,因此只有少数作品[7,35,41,42,44,46]。除此之外,尽管一些方法,如 G-RMI [36],应用回归方法来减少热图引起的量化误差,但它们本质上是基于热图的方法。有一些工作点指出了基于回归的方法性能不佳的原因。 Directpose [44]指出了特征错位问题,并提出了一种机制来对齐特征和预测; [41]表明基于回归的方法不能很好地学习结构感知信息,并提出了一种用于姿态估计的手工设计模型,以强制基于回归的方法更好地学习结构感知信息;孙等人。 [42]提出积分回归,它共享热图表示和回归方法的优点,以避免不可微的后处理和量化误差问题。

Our Approach

3.1 TFPose Architecture

本文主要集中在单人姿态估计,首先和前人的工作一样,采用一个人体检测器(person detector)来获取人的bounding box,然后根据检测到的bounding box,从输入的图像中裁剪每个人。将被裁剪的图像表示为I\in \mathbb{R}^{h\times w\times 3},h和w分别是图像的高和宽。对于单人的裁剪图像,之前基于热图的方法采用一个卷积神经网络F应用在patch上来预测人的关键点热图H(H\in \mathbb{R}^{h\times w\times k},H_{k}代表第K个关节,k是预测的关节点的数目),公式表示上有:

H 的每个像素代表身体关节位于该像素的概率。 为了获得关节的坐标J\in \mathbb{R}^{2\times k}(J_{k}代表第k个关节的坐标),这些方法通常使用“取最大值”操作来获得具有峰值激活的位置。 形式上,设p是热图H上的空间位置,它可以表示为

注意在基于热图的方法中,p的定位精度达到H的分辨率,这通常远低于输入的分辨率,从而导致量化误差。 此外,这里的 arg max 操作是不可微分的,使得整个过程无法端到端训练

在 TFPose 中,我们将 J 视为 K 长度序列,并将输入 I 直接映射到身体关节的坐标 J

F主要由三部分组成F:一个标准的 CNN 主干,用于提取多级特征表示,一个特征编码器用于捕获和融合多级特征,以及一个从粗到细的解码器,用于生成关键点坐标。 如图 2 所示。请注意,我们的 TFPose 是完全可微的,并且定位精度不受特征图分辨率的限制

3.2 Transformer Encoder

*图注:该图说明了Transformer输入F_{0}的位置嵌入。E_{i}^{l}表示层级嵌入,描述了特征向量来自哪个层级(i代表了不同的层级2345)。 E^{P}表示像素嵌入,描述了特征向量在特征图上的空间位置。我们使用F_{0}^{E}来表示带有位置嵌入的F_{0}。和Deformable DERT一样,F_{0}F_{0}^{E} 都是 Transformer 的输入。 

如图 3 所示,主干提取输入图像的多级特征。 多级特征图分别用 C2、C3、C4 和 C5 表示,其步幅分别为 4、8、16 和 32。 我们分别对这些特征图应用 1×1 卷积,使它们具有相同数量的输出通道。 这些特征图被展平并连接在一起,然后将F_{0}\in \mathbb{R}^{n\times c}输入到transformer中的第一个encoder种,其中n是F_{0}中的像素数,c是多级特征图的级数。 在这里,我们使用F_{i}表示transformer中第i个encoder的输出。在[47, 54] 之后,F_{0}与位置嵌入相加,我们用F_{0}^{E}来表示带有位置嵌入的F_{0}。位置嵌入的细节将在第3.2 节中讨论。 之后, F_{0}F_{0}^{E} 都被送到transformer计算memoryM\in\mathbb{R} ^{n\times c}。有了memory M,一个查询矩阵Q\in \mathbb{R}^{K\times c}将在transformer的decoder中得到K个身体关节的坐标J\in \mathbb{R}^{K\times 2}

遵循Deformable DETR设计我们的encoder,如前所述,在将F_{0}作为输入之前,F_{0}的每个特征向量都添加了位置嵌入。 借鉴Deformable DETR,我们同时使用层级嵌入E_{l}^{L}\in \mathbb{R}^{1\times c}像素位置嵌入E^{P}\in \mathbb{R}^{n\times c}前者编码特征向量来自的层级,后者是特征向量在特征图上的空间位置。 如图 3 所示,来自第l层的所有特征向量都与E_{l}^{L}相加,然后特征向量与它们的像素位置嵌入E^{P}相加,其中E^{P}是与特征图上特征向量的二维位置相对应的二维余弦位置嵌入

 *图注:在训练期间使用反卷积模块来上采样transfomer的编码输出(MC5),将其作为辅助loss。在测试期间,只输出transformer的解码部分

在TFPose种,我们使用N_{E}=6个编码器层。 对于第e层encoder,如图 4 所示,前一个编码器层的输出将作为该层的输入。 和Deformable DETR 一样,我们还计算了每个编码器层的输出向量之间的像素到像素的注意力(用“p2p attention”表示)。 在N_{E}个Transformer编码器层后,我们可以获得memory M。

3.3 Transformer Decoder

在解码器中,我们的目标是从Memory M中解码所需的关键点坐标。如前所述,我们使用查询矩阵Q\in \mathbb{R}^{K\times c}来实现,其中K是关节点个数。Q本质上是一个额外的可学习矩阵它在训练过程中与模型参数联合更新,每一行对应一个关键点。在TFPose中,我们有N_{D}个Transformer解码器层。如图4所示,每一解码器层以Memory M和前一解码器层Q_{d-1}\in \mathbb{R}^{K\times c}的输出作为输入,第一层以矩阵Q和M作为输入。同样Q_{d-1}加入位置嵌入,结果表示为Q_{d-1}^{E}Q_{d-1}Q_{d-1}^{E}将被发送到query-to-query的注意力模块(记作“q2q attention”),这是用来对人体关节之间的依赖性进行建模。q2q attention模块使用Q_{d-1}Q_{d-1}^{E}Q_{d-1}^{E}作为value、query、key。然后q2q attention模块和M的输出用于计算 pixel-to-query attention (记作“p2q attention”),q2q模块的输出作为value,M作为query。然后将一个MLP应用于p2q attention的输出和Qd的输出。通过对每个Qd的行应用输出通道为2的MLP来预测关键点坐标。

受 [7, 20, 54] 的启发,我们要求所有decoder层都预测关键点坐标,而不是简单地预测最终解码器层中的关键点坐标。具体来说,我们让第一个解码器层直接预测目标坐标。 然后,每个其他解码器层通过预测细化\triangle \hat{y}_{d}\in \mathbb{R}^{K\times 2}重新细化其先前解码器层的预测。 这样,可以逐步细化关键点坐标。 形式上,令\hat{y}_{d-1}为第 (d -1) 个解码层预测的关键点坐标,第 d 个解码层的预测为 

其中\sigma\sigma ^{-1}分别表示sigmoid和逆sigmoid函数。 \hat{y}_{0}是一个随机初始化的矩阵,在训练过程中与模型参数联合更新。

3.4  Training Targets and Loss Functions

TFPose 的损失函数由两部分组成。 第一部分是L1回归损失。 令y\in \mathbb{R}^{K\times 2}为真实坐标。 回归损失公式为:

 其中N_{D}为解码器的个数,并且用目标关键点坐标对每个解码器层进行监督

第二部分是辅助损失 L_{aux}。借鉴DirectPose,我们在训练期间使用辅助热图学习,这可以带来更好的性能。 为了使用热图学习,我们从M中收集C5的特征向量,并将这些向量reshape为原始空间形状,结果表示为M_{C_{5}}\in \mathbb{R}^{(h/32)\times (w/32)\times c}。借鉴SimpleBaseline,我们M_{C_{5}}进行3次反卷积来对特征图上采样8倍,生成热图\hat{H}\in \mathbb{R}^{(h/4)\times (w/4)\times K}。然后我们计算了预测热图和groundtruth热图之间的均方误差(MSE)损失。groundtruth热图是按照[33,52]生产的,辅助损失函数的公式可以表示为:

 将两个损失函数相加获得最终的总损失:

其中\lambda为常数,用来平衡两个损失。 

Experiments

Implementation details

数据集:COCO+MPII

模型设置:除非特别说明,使用ResNet-18作为backbone,输入图像大小是256×192和384×288。在ImageNet上预先训练的权重用于初始化ResNet,其余部分都是随机参数初始化的。对于Transformer,采用了Deformable DETR中提出的Deformable Attention Module,并使用了相同的超参数。

Training:所有模型均采用AdamW优化,基本学习率为4\times 10^{-3}。β1和β2被设置为0.9和0.999。权重衰减设置为10^{-4}。λ默认设置为50,以平衡回归损失和辅助损失。除非特别说明,所有的实验都使用基础学习速率为4\times 10^{-3}的余弦退火学习率。Transformer的学习速率和预测关键点偏移的线性投影降低了10倍。对于数据扩增,应用了随机旋转、随机缩放、翻转和半体数据扩增。对于辅助损失(auxiliary loss),遵循无偏数据处理(UDP)来生成无偏ground-truth。

Ablation Study

Query-to-query attention

在TFPose中,query-to-query attention被设计为捕获跨所有关键点的结构感知信息。与使用手工设计方法显式地强制模型学习结构感知信息的不同,query-to-query attention隐式地模拟人体结构。为了研究query-to-query attention的影响,我们在所有解码器层中报告了删除query-to-query attention的结果。如表1所示,提出的query-to-query attention提高了1.3% AP的性能,但只增加了0.1 GFLOPs计算成本

Configurations of Transformer decoder

这里我们研究了解码器宽度和深度的影响。具体来说,我们通过改变Transformer解码器中输入特征的通道数和解码器层数来进行实验。如表2所示,256通道特征图的Transformer比128通道特征图的AP高1.3%。此外,我们还改变了解码器层的数量。如表3所示,性能在前三层增长,在第四解码器层达到饱和

Auxiliary loss

由以前的工作可知,Transformer模块收敛速度可能较慢。为了缓解这一问题,我们采用了Deformable DETR中提出的deformable attention。除此之外,我们提出了一个辅助损失来加速TFPose的收敛速度。在这里,我们研究了辅助损失的影响。在本实验中,第一个模型只对回归损失进行监督;第二种模型同时受到回归损失和辅助损失的监督。如图5和表4所示,辅助损失可以显著加快TFPose的收敛速度,并显著提高性能(+2.3% AP)。

Discussions on TFPose

Visualization of sampling keypoints

为了研究Deformable Attention Module如何定位身体关节,我们在特征图 C3 上可视化模块的采样位置。 在Deformable Attention Module中,有 8 个注意头,每个头将在每个特征图上采样 4 个点。 所以对于 C3 特征图,有 32 个采样点。 如图 7 所示,采样点(红点)都密集地位于groundtruth(黄色圆圈)附近。 这种可视化表明,TFPose 在某种意义上可以解决特征错位问题,并以密集的像素信息监督 CNN。

Visualization of query-to-query attention

为了进一步研究 query-to-query self-attention 模块的工作原理,我们可视化了 query-to-queryself-attention 的注意力权重。 如图 6 所示,有两种明显的注意力模式:第一种注意力模式是对称的关节(例如左肩和右肩)更容易相互关注,第二种注意力模式是相邻关节 (例如眼睛、鼻子和嘴巴)更有可能相互关注。为了更好地理解这种注意力模式,我们还根据补充中的注意力图可视化每个关键点之间的注意力图。 这种注意力模式表明,TFPose 可以利用身体关节之间的上下文和结构化关系来定位和分类身体关节的类型。

我们对整个 COCO 2017val 数据集的注意力图进行平均。 左图是第二个解码器层的注意力权重。 右图是第三个解码器层的注意力权重。 “L”表示关节在左侧。 “R”表示关节在右侧。 横轴和纵轴分别代表注意模块的输入query和key。 多头注意力计算每对query和key之间的注意力权重。 query更多地关注具有更高注意力权重的key。 

Comparison with State-of-the-art Methods

Results on COCO val. set

如表 5 所示,在相似的计算成本下,具有 4 个编码器层和 ResNet-50 的 TFPose 大大超过了之前基于回归的方法 DeepPose with ResNet-101(70.5% AP vs. 56.0% AP),甚至有更好的表现 性能优于使用 ResNet-152 的 DeepPose(70.5% AP 与 58.3% AP)。 此外,TFPose 也优于许多基于热图的方法,例如,8 阶段沙漏 [33](70.5% AP 对 67.1% AP)、CPN [9](70.5% AP 对 69.4% AP) 大幅度提高。 还需要注意的是,具有 4 个编码器层和 ResNet-50 的 TFPose 优于具有 ResNet-50 的强基线SimpleBaseline [52](70.5% AP 对 70.4%AP),计算成本更低(7.68 GFLOPs 对 8.9GFLOPs )。

Results on COCO test-dev set 

如表 6 所示,TF-Pose 在基于回归的方法中取得了最好的结果。 特别是具有 6 个编码器层和 ResNet-50 的 TFPose 实现了 70.9% 的 AP,高于Int.Reg(67.8% AP),我们的计算成本低于Int.Reg。 (9.15 GFLOP 与 11.0 GFLOP)。 此外,使用相同的 backbone ResNet-50,我们的 TFPose 甚至比基于强热图的方法 SimpleBaseline(70.5% 对 70.0% AP)具有更好的性能,并且计算复杂度更低(7.7 GFLOPS 对 8.9 GFLOPS)。此外,结果 TFPose 也接近报告的最佳姿态估计结果。 例如,TFPose(72.2% AP)的性能接近基于 ResNet-Inception 的 CPN(72.1% AP)和基于 ResNet-152 的SimpleBaseline(73.7% AP)。 请注意,他们使用的骨干比我们的大得多。(没有比过HRNet)

Results on MPII test set

在MPII基准测试中,TF-POSE在基于回归的方法中也取得了最好的结果。如表7所示,带有ResNet-50的TFPose高于Aiden等人提出的方法。[34](90.4%与89.5%)具有相同的主干。TFPose也可与基于热图的方法相媲美。

Conclusion

我们提出了一种基于 Transformers 的名为 TFPose 的新型姿态估计框架,它在很大程度上提高了基于回归的姿态估计的性能,并绕过了基于热图的方法的缺点,例如不可微分的后处理和量化误差。 我们已经证明,通过注意力机制,TFPose 可以自然地捕捉身体关节之间的结构化关系,从而提高性能。 在 MS-COCO 和 MPII 基准上的大量实验表明,TFPose 可以在基于回归的方法中实现最先进的性能,并且可以与最好的基于热图的方法相媲美。 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
A: 下面是一个常见的 LaTeX 论文阅读报告模板,您可以根据需要进行修改: \documentclass[12pt]{article} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{graphicx} \usepackage{float} \usepackage{hyperref} \usepackage{listings} \title{阅读报告} \author{作者名字} \date{} \begin{document} \maketitle \section{论文概述} 在这一部分中,您需要介绍一下要报告的论文。具体来说,您需要提供以下信息: \begin{itemize} \item 论文的标题和作者; \item 论文发表的会议或期刊; \item 论文研究的问题和主要贡献; \item 论文使用的方法和实验设计等。 \end{itemize} \section{研究问题} 在这一部分中,您需要介绍论文中所涉及的研究问题,并说明该问题的重要性。您需要回答以下问题: \begin{itemize} \item 论文研究的问题是什么? \item 该问题在相关领域中的位置和历史背景是什么? \item 为什么该问题很重要?它解决了什么实际问题,或者对研究有什么重要的贡献? \end{itemize} \section{主要贡献} 在这一部分中,您需要介绍论文所提出的主要贡献。具体来说,您需要回答以下问题: \begin{itemize} \item 该论文提出了什么新方法或新技术? \item 该方法或技术相对于现有方法和技术有什么优势? \item 该方法或技术在实验中的表现如何?它是否能够解决研究问题? \end{itemize} \section{方法和实验设计} 在这一部分中,您需要介绍论文使用的方法和实验设计。您需要回答以下问题: \begin{itemize} \item 该论文使用了哪些方法和技术? \item 这些方法和技术对解决研究问题有什么帮助? \item 该论文进行了什么样的实验设计?实验结果如何? \end{itemize} \section{评价和讨论} 在这一部分中,您需要评价论文的内容,并提出自己的批评和建议。您需要回答以下问题: \begin{itemize} \item 您认为该论文的论点和论据是否充分?有哪些不足之处? \item 该论文是否有进一步的研究方向和改进空间? \item 您是否有其他的评价和建议? \end{itemize} \section{结论} 在这一部分中,您需要总结整个阅读报告,并得出自己的结论。您需要回答以下问题: \begin{itemize} \item 该论文的主要研究问题是什么? \item 该论文的主要贡献是什么? \item 您对该论文的评价和建议是什么? \end{itemize} \end{document}

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值