Distribution-Aware Coordinate Representation for Human Pose Estimation
参考:人体姿态2019(八)Distribution-Aware Coordinate Representation for Human Pose Estimation_Raywit的博客-CSDN博客
论文笔记_人体姿态估计:DARK - 知乎 (zhihu.com)
目录
Abstract
Introduction
our contrubutions:
Related Work
Coordinate regression
Heatmap regression
Methodlogy
3.1 Coordinate Decoding
The standard coordinate decoding method 标准的坐标解码方法
Our coordinate decoding method
Heatmap distribution modulation
总结
3.2. Coordinate Encoding
3.3. Integration with State-of-the-Art Models
Experiments
4.1. Evaluating Coordinate Representation
Coordinate decoding 坐标解码
Coordinate encoding 坐标编码
Input resolution
Generality
Complexity
4.2. Comparison to Coordinate Regression
Evaluation on MPII
4.3. Comparison to State-of-the-Art Methods
4.4. COCO Keypoints Detection Challenge
Conclusion
*图1:人体姿态估计系统的流水线。为了提高效率,通常在原始的人物检测边界框和地面真实热图监督上进行分辨率降低。因此,该模型在低分辨率图像空间中运行,大大降低了模型推理的代价。因此,在测试时,需要进行相应的分辨率恢复,以获得原始图像空间中的联合坐标预测。
在人体姿态估计中,通常有两种常见的坐标表示设计:coordinate 和 heatmap 。这两种方法都被用作现有方法中的回归目标,将在下面分别进行介绍。
直接以坐标作为模型的输出,更直观。 但只有少数现有的方法采用这种设计。 一个合理的解释是,这种表示缺乏空间和上下文信息。 由于关节位置的内在视觉模糊,使得人体姿态模型的学习具有极大的挑战性。
热图表示很好地解决了上述限制。它最早是在[30]中引入的,并迅速成为最常用的坐标表示法。通常,主流的研究重点是设计网络体系结构,以便更有效地回归热图监控。代表性的设计改进包括顺序建模[12,2]、接受域扩展[32]、位置投票[16]、中间监督[20、32]、成对关系建模[4]、树结构建模[8、35、7、26、29]、分层上下文学习[37]、金字塔剩余学习[34]、级联金字塔学习[6]、知识引导学习[22]、主动学习[18]、对抗性学习[5]、去卷积上升和保持高分辨率表示[25]。
与以往的工作不同,我们研究的是人体姿态估计中的热图表示问题,这是文献中一个很大程度上被忽视的观点。我们不仅揭示了分辨率降低在热图使用过程中的巨大影响,而且提出了一种原则性的坐标表示方法来显着提高现有模型的性能。至关重要的是,我们的方法可以在不更改模型设计的情况下无缝集成。
我们考虑了人体姿态估计中坐标表示的问题,包括编码和解码。目的是预测给定输入图像中的关节坐标。为此,我们需要学习从输入图像到输出坐标的回归模型。在模型训练和测试期间,热图通常被用作坐标表示。具体来说,我们假设可以访问一组训练图像。为了促进模型的学习,我们将关节的标记ground-truth坐标编码为热图作为有监督学习的目标。在测试过程中,我们需要将预测的热图解码为原始图像坐标空间中的坐标。
在下文中我们首先描述解码过程,着重于对现有标准方法的局限性分析和提出解决方案。然后,我们进一步讨论并解决编码过程的局限性。最后,我们描述了现有人体姿态估计方法与所提出的方法的融合。
被认为是模型测试管道中一个微不足道的组成部分,正如我们将要展示的那样,坐标解码被证明对于人体姿态估计是最重要的性能贡献者之一。具体来说,它是将每个单个关节的预测热图转换为原始图像空间中的坐标的过程。 假设热图有相同的空间大小作为原始图像, 我们只需要找到最大激活的位置作为联合坐标预测。然而,上述解释往往并非如此
相反,我们需要用特定于样本的无约束因子将热图上采样到原始图像分辨率。 这涉及到亚像素定位问题。 在介绍我们的方法之前,我们首先回顾了现有姿态估计模型中使用的标准坐标解码方法。
标准坐标译码方法是根据模型性能来设计的[20]。具体地说,给定训练模型预测的热图h,我们首先识别最大(M)和第二最大(S)激活的坐标。然后将关节位置预测为:
其中定义了向量的大小。这意味着预测是在热图空间中最大激活向第二最大激活移动0.25像素(即sub-pixel)。原始图像中的最终坐标预测计算如下:
其中λ是resolution redution radio 分辨率降低率。
*备注:
在公式1中,亚像素移动的目的是补偿图像分辨率下采样的量化效果。 也就是说,预测热图中的最大激活不对应于关节在原始坐标空间中的精确位置,而只对应于粗位置。正如我们将展示的那样,这种变化出人意料地带来了显著的性能提升(表1)。 这可能部分地解释了为什么在模型测试中它经常被用作标准操作。 有趣的是,据我们所知,没有具体的工作深入研究这种操作对人体姿态估计性能的影响。因此,它的真正意义从未在文献中得到真正的认识和报道。 虽然这种标准方法在设计中缺乏直觉和解释,但没有进行专门的调查以改进。 我们通过提出一种移位估计方法来填补空白,最终在人体姿态估计中有更高的准确度。
我们的坐标解码方法探索了预测热图的分布结构,以推断潜在的最大激活。 这与标准方法有很大的不同,上面依赖于手工设计的偏移预测。
具体来说,为了获得准确的位置在亚像素的程度, 我们假设预测的热图遵循二维高斯分布, 与 ground-truth 热图相同。因此,我们将预测的热图表示为:
X是预测热图中的一个像素,是对应于要估计的关节位置的高斯平均值(中心)。协方差是一个对角矩阵,与坐标编码中使用的矩阵相同:
是两个方向的标准偏差。
为了降低逼近难度,我们使用对数将原来的指数形式G变换为二次形式P,以便于推理,同时保持原来的最大激活位置为:
我们的目标是估算μ。作为分布中的极值点,众所周知,位置μ处的一阶导数满足以下条件:
为了探索这种情况,我们采用泰勒定理,形式上,我们用在预测热图的最大活跃度m处求值的泰勒级数(直到二次项)来近似激活P(μ):
表示在m处计算的P的二阶导数(即Hessian),表示为:
选择m近似μ的直觉是,它代表了一个接近μ的很好的粗略联合预测。μ是最后选取的点的坐标。
结合公式678,获得:
其中和可以根据热图有效地估计。一旦得到μ,我们还将应用公式2重建原始图像空间中的坐标。
*备注:与仅考虑热图中的第二个最大激活的标准方法相比, 本文所提出的坐标解码充分探索了热图分布统计,以更准确地揭示潜在的最大值。理论上, 我们的方法是在一个训练监督一致的假设(热力图服从高斯分布)下基于近似分布。重要的是, 它在计算上是非常有效的,因为它只需要计算每个热图一个像素位置的一阶导数和二阶导数。 因此,现有的人体姿态估计方法可以很容易地受益于没有任何计算成本障碍。
由于所提出的坐标译码方法是基于高斯分布假设的,因此我们有必要检查这一条件的满足程度。我们发现,通常情况下,人体姿势估计模型预测的热图与训练热图数据相比并不呈现良好的高斯结构。如图3(A)所示,热图通常在最大激活附近呈现多个峰。这可能会对我们的解码方法的性能造成负面影响。为了解决这个问题,我们建议预先调整热图分布。
具体地说,为了符合我们方法的要求,我们建议使用与训练数据具有相同变化的高斯核K来平滑热图h中的多个峰的影响,形式为:
表示卷积操作。为了保持原始热图的大小,缩放,使其最大激活等于h,通过以下转换:
其中max()和min()返回输入矩阵的最大值和最小值。 在我们的实验分析中,验证了这种分布调制进一步改善了我们的坐标译码方法的性能(表3),由此产生的视觉效果和定性评价如图3(B)所示
我们在图2中总结了我们的坐标解码方法。 具体来说,一共涉及三个步骤:
(a) Heatmap distribution modulation 热图分布调制(式10,11)
(b) Distribution-aware joint localisation by Taylor expansion at sub-pixel accuracy通过泰勒展开在sub-pixel精度下进行分布感知联合定位(式3-9)
(c) Resolution recovery to the original coordinate space分辨率恢复到原始坐标空间(式2)
所有这些步骤都不需要很高的计算成本,因此能够作为现有模型的有效插件。
上一节讨论了基于分辨率降低的坐标解码问题。 坐标编码也有相同的限制。 具体来说,标准坐标编码方法是从将原始人的图像下采样到模型输入大小中。 因此,在生成热图之前,需要对ground-truth联合坐标进行相应的变换。
形式上,我们用g=(u,v)表示关节的ground-truth坐标,分辨率降低表示为:
是下采样因子,为了便于内核生成,通常对进行量化:
其中quantise()指定一个量化函数,常用选项包括floor、ceil和round。
随后,以量化坐标为中心的热图可以通过以下方式合成:
其中(x,y)指定热图中的像素位置,σ表示固定的空间方差。
显然,由于量化误差(图4),以上述方式生成的热图是不准确和有偏差的,这可能会引入次优的监督信号,并导致模型性能下降,特别是对于本文提出的精确率坐标编码而言。
为了解决这个问题,我们只需将热图中心放置在表示精确ground-truth坐标的非量化位置g。 我们仍然应用等式(14)但用 g'代替。 我们将演示这种无偏热图生成方法的好处(表3)。
*图4:标准坐标编码过程中的量化误差图示。蓝点表示关节的精确位置(g‘)。对于基于floor的坐标量化,引入了误差(由红色箭头指示)。其他量化方法也有同样的问题。
DARK能与现存的热力图姿态估计模型融合。不对之前的方法做任何改变。 特别是,在训练过程中,唯一的变化是基于精确的关节坐标生成的ground-truth热图数据。在测试时,我们将HRNet等任何模型预测的热图作为输入,并在原始图像空间中输出更精确的关节坐标。 在整个生命周期中,我们保持现有模型与原始设计一样完整。 这使得我们的方法的通用性和可伸缩性最大化。
Datasets: 我们使用两个受欢迎的人体姿态估计的数据集,COCO和 MPII 。
Implementation details:对于模型训练,我们使用了Adam优化器。对于HRNet[25]和SimpleBaseline[33],我们遵循了与原著相同的lr和epoch。对于沙漏网络[20],基本学习速率微调到2.5e-4,并在90和120epoch衰减到2.5e-5和2.5e-6。epoch的总数是140。我们在实验中使用了三种不同的输入大小(128×96、256×192、384×288)。我们采用了与文献[25]相同的数据预处理方法.。
作为这项工作的核心问题,首先考察了坐标表示对模型性能的影响,并将其与输入图像分辨率(大小)联系起来。在本试验中,我们默认使用HRNet-W32[25]作为骨骼模型,128×96作为输入大小,并在COCO验证集上报告精度结果。
我们评估了坐标解码的效果,特别是移位操作和分布调制。 使用了传统的偏置热图。 在这个测试中,我们比较了提议的分布感知移位方法与不移位(即直接使用最大激活位置)和标准移位(等式(1))。 我们在表 1 中进行了两个主要观察:(i) 标准移位提供了高达 5.7% 的 AP 准确度提升,这是非常有效的。 据我们所知,这是文献中首次报道的有效性分析,因为以前的研究很大程度上忽略了这个问题。 这揭示了坐标解码对人体姿态估计的前所未有的重要性。 (ii) 尽管标准解码方法获得了巨大的收益,但所提出的模型进一步将 AP 得分提高了 1.5%,其中分布调制给出了 0.3%,如表 2 所示。这验证了我们解码方法的优越性。
我们测试了坐标编码的有效性。 我们将提议的无偏编码与标准有偏编码以及标准和我们的解码方法进行了比较。 我们从表 3 中观察到,无论坐标解码方法如何,我们具有准确内核中心的无偏编码都带来了积极的性能余量。 特别是,在这两种情况下,无偏编码始终贡献超过 1% 的 AP 增益。 这表明坐标编码的重要性,这再次被先前的调查所忽视。
我们通过测试一些不同的大小来检验输入图像分辨率/大小的影响,认为它是与模型推理效率相关的一个重要因素。我们比较了我们的DARK模型(HRNet-W32作为主干)和原来的HRNet-W32模型,使用有偏的热图监督进行训练,使用标准转移进行测试。从表4我们得到了一系列的观察结果:(A)随着输入图像尺寸的减小,正如预期的那样,模型性能持续下降,而推理成本明显下降。(B)在DARK的支持下,模型性能损失可以得到有效的缓解,特别是在输入分辨率很小的情况下(即非常快的模型推理)。这便于在低资源设备上部署人体姿势估计模型,这是新兴的嵌入式人工智能非常需要的。
除了最先进的HRNet,我们还测试了另外两个具有代表性的人体姿态估计模型在不同的CNN架构下:SimpleBaseline[33]和HourGlass[20]。表5中的结果表明,在大多数情况下,DARK可以显著提高现有模型的性能。这表明了DARK的普遍用处。我们在图5中显示了定性评价。
我们在HRNet-W32中以128 × 96的输入大小测试了我们的方法对推理效率的影响。在一台具有一个 i9-7920X CPU 和一个 Titan V GPU 的机器上,运行速度从 360 fps 降低到 320 fps。 高效的python环境,即下降11%。因此,DARK的额外成本相当实惠。我们相信基于原生编程语言(例如 C/C++)的版本可以进一步加快推理速度。
Evaluation on COCO
我们将我们的DARK方法与表现最好的G-RMI[23]、IPR[27]、CPN[6]、CFN[13]RMPE[11]、SimpleBaseline[33]和HRNet[25]进行了比较。表7显示了COCO测试设备上最先进的方法和DARK的精度结果。在这项测试中,我们使用了来自[25]的人物检测结果。结果表明:(1)在输入大小为384×288的情况下,HRNet-W48的DARK精度最高,不需要额外的模型参数,增加的成本很小。具体地说,与最好的竞争对手(具有相同输入大小的HRNet-W48)相比,DARK进一步提高了AP 0.7%(76.2-75.5)。与最有效模型(IPR)相比,DARK(HRNet-W32)实现了2.2%(70.0-67.8)的AP增益,而只需要16.4%(1.8/11.0GFLOPS)的执行开销。这些都表明了DARK在现有模型上的优势和灵活性,无论是在精度上还是在效率上都是如此。
我们在 HRNet-W32 中以 128 × 96 的输入大小测试了我们的方法对推理效率的影响。在一台具有一个 i9-7920X CPU 和一个 Titan VGPU 的机器上,运行速度从 360 fps 降低到 320 fps。 高效的python环境,即下降11%。因此,DARK的额外成本相当实惠。 我们相信基于原生编程语言(例如 C/C++)的版本可以进一步加快推理速度
我们在 MPII 验证集上比较了 DARK 和 HRNet-W32。 表 8 中的比较显示了我们的方法相对于最佳竞争对手的一贯性能优势。 在更严格的精度测量 [email protected] 下,DARK 的性能裕度更加显着。 请注意,MPII 提供的训练数据比 COCO 小得多,这表明我们的方法可以泛化不同的训练数据大小。
我们参加了ICCV 2019 COCO KEYPOINTS挑战赛,以建议的DUCK为主要方法,为了提高性能,我们使用了DARK模型的系综。表9显示,对于多人姿态估计,我们的方法在测试开发集合上获得了78.9%的AP,在测试挑战集合上获得了76.4%的AP。这使我们在本次挑战赛中获得第二名。有关更多详细信息,请读者参阅我们的技术报告[9]。
我们首次系统地研究了在无约束图像中人体姿态估计的坐标表示(包括编码和解码)的大部分被忽视但重要的问题。 我们不仅重新揭示了这个问题的真正意义,而且提出了一种新颖的分布感知坐标表示(DARK),用于更具判别性的模型训练和推理。 作为即用型插件组件,现有最先进的模型可以无缝地从我们的 DARK 方法中受益,而无需任何算法调整,成本可忽略不计。 除了从经验上证明坐标表示的重要性之外,我们还通过在两个具有挑战性的数据集上使用广泛的当代模型进行广泛的实验来验证 DARK 的性能优势。 我们还提供了一系列深入的组件分析,以深入了解我们模型公式的设计原理。