综述专栏 | 姿态估计综述

作者:Ilias Mansouri

翻译:仿佛若有光

Introduction

顾名思义,通过姿势估计,我们尝试从图像中推断出物体或人的姿势。这涉及识别和定位身体上的关键点。由于身体的小关节、遮挡和缺乏上下文、旋转和方向,关键点的识别是一项非常具有挑战性的任务。在本文其余部分将主要关注人体姿势估计的情况下,膝盖、肘部、肩部和手腕等主要关节代表这些关键点。

在分类方面,姿态估计器可以分为以下几类:

  • 维度(2D 与 3D)
  • 单姿势和多姿势(检测一个或多个物体)
  • 方法论(基于关键点与基于实例)

我们可以使用 2D 姿态估计器预测图像或视频帧中关键点的 2D 位置,而 3D 姿态估计器通过在预测中添加深度将图像中的对象转换为 3D 对象。显然,使用 3D 更具挑战性。单姿态估计器通常以检测和跟踪一个人或物体为目标,而多姿态估计方法检测和跟踪多个人或物体。就方法论而言,广义上讲,我们发现模型尝试检测特定关键点的所有实例,然后尝试将关键点分组为骨架。基于实例的姿态估计器首先使用对象检测器来检测对象的实例,然后估计每个裁剪区域内的关键点。在文献中,这也通常称为自下而上与自上而下的方法。

自上而下的方法包括在图像上应用人物检测器,对于每个检测到的人,使用单人姿势估计器进行关键点推断。如果您的人物检测器失败,那么您的姿势估计也会失败。此外,所需的处理量与人数成正比。自下而上受这些缺点的影响较小,但将关键点检测候选与个人关联起来,仍然具有挑战性。

DeepPose

在本文中,作者首次将深度神经网络 (DNN) 应用于人体姿势估计挑战。下面,我们找到了所使用的架构。

使用输入图像,可以回归每个身体关节及其位置。通过将原始的初始姿态估计传递给此类 DNN 的级联,可以进一步完善联合预测,从而实现 SOTA 结果。

Deep(er) Cut

使用 DeepCut,图像中未知人数的姿态估计问题被重新表述为优化问题。问题是:

  • 在图像中创建一组所有候选身体部位,从中选择一个子集。
  • 从这个子集中,对每个身体部位(例如,手臂、腿和头)进行分类
  • 将同一个人的身体部位聚集在一起。

然后通过将其建模为整数线性规划问题来解决这 3 个问题。

为了找到图像中的所有身体部位,使用了 Fast R-CNN 的改编版本(AFR-CNN)。具体来说,适应性包括用可变形部件模型 (DPM) 替换选择性搜索建议生成并改变检测大小以允许 DPM 捕获更多上下文。

从 70 年代的研究开始,他们处理对视觉对象进行一些描述的问题,如何在实际照片中找到这个对象?在真正的工程形式中,一个对象是由一组以可变形配置排列的部件组成的。

Part-based model of a human

通过以可变形配置排列的部件集合来表示人类。然后分别对每个零件的外观进行建模。一对零件由弹簧表示以引入必要的变形能力。

怀疑使用 DPM 可能不是最理想的(确实如此),而是训练了基于 VGG 的密集 CNN 构建。然后将身体部位的检测重新表述为多标签分类。该模型为每个候选输出一个部分概率得分图。此外,与其他分割任务类似,使用步幅为 8 的扩张卷积来进行更精细的部分定位。

DeeperCut 基于 DeepCut 的 Dense-CNN,但使用 ResNet 骨干网代替。与 VGG 主干类似,32px 的原始步长太大了。然而,由于内存限制,使用空洞算法是不可行的。通过移除最后一层来调整 ResNet 架构,减少第一个卷积层的步幅以防止下采样。在第 5 次卷积中,所有 3x3 卷积都添加了空洞。层和反卷积层用于上采样。

DeeperCut 还受益于更大的感受野来推断附近其他部分的位置。这种见解称为图像条件成对项,可以计算部件的成对概率。

成对part-to-part预测:通过计算每对的成本,回归的偏移量和角度用作特征来训练逻辑回归,从而产生成对概率

DeepCut 为图像中的所有候选身体部位解决了一个 ILP 实例,DeeperCut 提出了一种增量 3 阶段优化,其中:

  • ILP 解决了头肩问题
  • 肘部/手腕被添加到第 1 阶段的解决方案中,并重新优化了 ILP
  • 将剩余的身体部位添加到第 2 阶段的解决方案中,并重新优化 ILP

用于人体姿态估计的卷积网络和图形模型的联合训练

在本文中,检测pipeline由卷积网络和马尔可夫随机场 (MRF) 组成。与之前类似,ConvNet 架构用于身体部位定位。架构如下图所示:

Multi-Resolution Sliding-Window With Overlapping Receptive Fields

该架构通过使用滑动窗口方法处理输入图像,从而产生表示每个关节位置可能性的像素热图。

有 2 个重叠的多分辨率字段,一个是 64x64 输入(上卷积),另一个是下采样到 64x64 的 128x128 输入,从而将更多“上下文”输入到下卷积路径中。然后在传入网络之前使用局部对比度归一化 (LCN) 对两者进行归一化。

作者提到,使用重叠场的主要优势在于能够以相对较低的权重增加看到图像的更大部分。 此外,通过使用 LCN,两个窗口之间的重叠光谱内容最小。由于这需要相当大的计算能力,因此模型进行了改进,如下所示。

保留了多分辨率(下 ConvNet)和滑动窗口(上 ConvNet)的概念。高上下文和低分辨率输入需要比滑动窗口模型的步长一半。因此,需要处理 4 个下采样图像。滑动窗口的特征图被复制,其中添加和交错低分辨率特征图,导致输出热图低于输入。

Part-Detector 将输出许多解剖学上不正确的姿势,因为没有对身体关键点的隐式约束进行建模。通过使用高级空间模型在连接互连和姿势的解剖一致性方面创建约束,巧妙地解决了这一问题。该空间模型被表述为 MRF 模型。通过首先训练一个部分检测器并重用产生的热图输出来训练空间模型,我们能够训练一个 MRF,它将在图模型中制定联合依赖关系。最后,在统一模型(Part-Detector + Spatial Model)上进行微调和反向传播。

使用卷积网络的高效对象定位

基于前面提到的工作,这项研究实现了一个多分辨率的 ConvNet 来估计图像小区域内的联合偏移位置。下面,我们找到了架构,并且很容易看到与之前讨论的架构的相似之处。

此外,还添加了一个 Spatial Dropout 层。发现由于特征图中的强空间相关性,应用标准 dropout 并不能防止过度拟合。解决方案是删除整个一维特征图,以促进特征图之间的独立性。与之前类似,(粗)热图被传递到 MRF,它将过滤掉解剖学上不可行的姿势。

下一步是恢复由于池化而丢失的空间信息。这是通过使用另一个 ConvNet 来细化粗热图的结果来实现的。

卷积姿势机器

卷积姿势机器 (Convolutional Pose Machines--CPM) 继承并建立在姿势机器 (PM) 架构上,该架构将来自身体部位和不同尺度的丰富空间交互整合到一个模块化和顺序框架中。正如我们将看到的,CPM 通过利用卷积架构进一步提升 PM,该架构学习图像和空间上下文的特征表示。

正如我们在下面看到的,PM 是一种顺序预测算法,它模拟消息传递的机制来预测每个身体部位的置信度。基本原理是每个身体部位的估计置信度在每个阶段迭代提高。消息传递可以理解为一个概率分类序列,其中预测器(无论是哪种类型的多类分类器)的输出成为下一个预测器的输入。

Architecture of a 1 Stage Pose Machine (a) and a 2 Stage Pose Machine (b)

在每个阶段,分类器根据先前分类器的输出和图像的特征,为每个身体部位以置信度预测位置。然后,对于每个阶段,都会对预测进行细化。最后,我们可以观察到,对于每个图像,通过以不同的比例重用图像来创建分层表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值