该论文发表于ICCV2021
本文是将Transformer应用于关键点分组的创新工作。实际上是自底向上方法中分组操作的优化,利用Transformer进行关键点分组,达到端到端训练与加快模型推理速度的效果。并且,在拥挤图像中,该方法能够拥有更好的效果,以此,探索到注意力机制在关键点分组上的潜力。
摘要:
本文提出了一种利用人体中心点分组,基于注意力机制的框架从一组未划分人体实例的关键点与人体中心点坐标预测估计人体姿态。该方法使用了transformer来获取所有检测到的关键点和中心点的上下文感知嵌入以此直接进行关键点分组。目前的大多数自底向上方法依赖于推理过程中不参与网络训练的聚类操作,本文方法使用了一种完全不同于之前聚类操作的注意力机制进行关键点分组,以此将分组操作与关键点检测一起端到端训练,该方法再提升精度同时具有更快的推理性能。
Introduction:
该节主要分为三个部分讲述:1、研究背景及现状(提出问题)2、研究方法及目标(解决方案) 3、贡献(问题解决的效果)
1、研究背景、研究现状:
目前2D人体姿态估计方法划分为自底向上与自顶向下两种模式。自上而下将人体姿态估计问题划分为:1)识别人(分组) 2)识别单人姿态。(检测关键点)该方法使用单人目标检测器,会在严重遮挡的情况下,出现大幅的性能下降。自底向上方法分为两个步骤:1)关键点检测 2)关键点分组 该方法不依赖于人体目标检测,能够同时处理图像当中的整个关键点集合,使得能够在遮挡情况下优于自顶向下方法。但目前自底向上方法中的分组方法依然有着非常显著的缺点:1)是不参与训练的后处理操作。2)速度慢。
关键点分组问题可以表征为一个图优化问题,各个关键点作为节点,边权值用于表征它们属于同一人体的可能性。因此目前的一些分组方法包括线性规划、图聚类等等,但是这些方法都存在一个问题,它们本身是想要学习一个关键点之间的联系,但实际上只是一个独立于训练学习过程的算法,网络本身并未学习分组联系。
目前的一阶段方法是自底向上方法的一种优化,一般的处理流程为:1)预测人体实例根节点 2)预测其他关键点相对于根节点的偏移。该方法不使用二阶段自底向上方法的分组聚类操作,能够加快模型推理速度。但是,偏移量学习无法有效建模长距离依赖其受限于尺度变化和遮挡,它们的准确性也明显较低。之前的一些单阶段工作都需要很多额外的优化操作。
2、研究方法、研究目标:
不同于一阶段方法中的回归偏移量学习,作者提出了一种CenterGroup方法使用注意力机制来进行人体中心点与关键点之间的匹配。该方法既保留了自底向上方法中关键点预测热图的准确性,又能够与一阶段方法保持相当的推理速度,该方法端到端训练且推理速度快。
首先作者通过热图回归得到一组人体中心点与所有关键点,然后,将该中心点与关键点输入Transformer中,以此输出embeddings,输出的embedding用以进行关键点分组,使人的中心点与属于该人体实例的关键点的注意力得分最大化。
3、贡献:
1)提出了一个使用多头注意力进行关键点分组的方法,该方法可以进行端到端训练。
2)使用Transformer来编码关键点与中心点之间的相互依赖关系一次得到一个具有上下文增强效果的embeddings,有效提高了方法的有效性。
3)在端到端训练的单阶段方法中,该方法取得了SOTA,且速度比SOTA 2D姿态估计方法相比提高了2.5倍。
Method
该方法输入一个多人RGB图像,使用HigherHRNet作为特征提取骨干网络预测一组关键点与人体中心点热图,将该热图进行位置编码后送入Transformer的编码器,输出一组包含了上下文感知信息的embeddings,最后将这些embeddings输入注意力模块中用以将关键点分配给各个人体中心点。
总体网络架构分为以下三个部分:
1. Keypoint and center detection.
使用HigherHRNet得到一组关键点与中心点热图,输出是一系列位置数量的高评分关键点和中心点检测坐标。
2.Encoding keypoints and centers.
将检测出的关键点和中心点坐标映射到骨干网络最后一层卷积层以提取相应特征,并编码其空间位置的embeddings提供给Transformer编码器,产生具有上下文信息的embeddings。
3.Keypoint grouping.
利用前一阶段获得的embeddings,计算人体中心点与各关键点之间的点积注意力得分,对其进行归一化以此进行分配。

本文方法与FCOS(CVPR2021)、解构实例网络(CVPR2022)等。对于识别人来说,需要明确关系,多用注意力方式强化特征提取等以更清楚划分人。
2、识别姿态(关键点检测)
DEKR(解构关键点回归 CVPR2021) SWAHR(CVPR2021)、LOGO-CAP(CVPR2022)等。对于关键点检测来说,需要集中注意关键点区域等优化可见关键点检测精度,需要强化建模关节关系推断不可见关键点。
且目前的一系列方法都有朝单阶段走的趋势。不把分组与检测隔离开,以达到速度和精度上的提升,保留更多的上下文信息。