论文阅读 Hourglass:Stacked Hourglass Networks for Human Pose Estimation

摘要

  本文介绍了一种新的卷积网络结构。为了最好的捕捉与身体相关的各种空间关系,所有尺度的特征都被处理和整合。我们展示了重复的自底向上、自顶向下的处理过程与中间监督结构一起使用是如何有效改善网络性能的。我们将该体系结构称为堆叠的沙漏网络,该网络基于池化和上采样的连续步骤,从而产生最终的一组预测。在FLIC和MPII基准上取得了最先进的结果,超过了所有最近的方法。

介绍

  理解图像和视频中人的关键一步是能够准确的姿态估计。也就是说给定一个单一的RGB图像,我们希望确定身体重要关键点的精确像素位置。理解一个人的姿势和肢体的关节对于更高层次的任务如动作识别等是非常有用的,在诸如人机交互和动画等领域也是作为一个基本的工具。
  姿态估计作为视觉领域的一个重要问题,多年来一直困扰着研究人员。一个好的姿态估计系统必须对遮挡和严重形变具有鲁棒性,能够成功地处理少见和新颖的姿态,并且不因服装和照明等外观因素而改变。早期的工作者利用鲁棒的图像特征和复杂的结构预测解决了这些困难:前者用于产生局部解释,而后者用于推断全局一致的姿态。
  然而,卷积神经网络(ConvNets)极大地重塑了这种传统检测方法,卷积神经网络是许多计算机视觉任务性能爆炸式增长的主要驱动因素。最近的姿态估计系统普遍采用卷积神经网络作为其主要构建模块,在很大程度上取代了手工制作的特征和图形模型;该策略在标准基准上取得了巨大的性能提升。
  我们继续沿着这一研究方向,并引入一种新的堆叠沙漏网络设计,用于预测人体姿态。该网络通过图像的各个尺度捕获并整合信息。我们将这个设计称为沙漏,这是基于我们对池化和后续上采样步骤的可视化,这些步骤用于获得网络的最终输出。就像许多产生像素级输出的卷积方法一样,沙漏网络汇集到一个非常低的分辨率,然后上采样,并结合多个分辨率的特征。另一方面,沙漏与之前的设计的不同主要在于其更对称的拓扑结构。
  我们通过连续地将多个沙漏模块端到端地放在一起来扩展单个沙漏。这允许跨多个尺度重复自底向上、自顶向下的推理。结合中间监督的使用,重复的双向推理对网络的最终性能至关重要。最终的网络架构实现了两个标准姿态估计基准(FLIC和MPII Human pose)的性能提升。在MPII中,所有关节的准确率平均提高了2%以上,在更困难的关节,如膝盖和脚踝,准确率提高了4-5%。

相关工作

  随着Toshev等人引入DeepPose,人体姿态估计的研究开始从经典方法转向深度网络。Toshev等人利用他们的网络直接回归关节的x,y坐标。汤普生等人的工作是通过将一幅图像并行地运行到多个分辨率库,从而同时捕获各种尺度上的特征,进而生成热图。我们的网络设计很大程度上建立在他们的工作基础上,探索如何跨尺度捕获信息,并调整他们的方法来结合不同分辨率的特征。
  Tompson等人提出的方法的一个关键特点是联合使用了卷积网络和图形模型。他们的图形模型学习关节之间空间关系。其他人最近也用类似的方法解决了这一问题,只是在如何处理单一分数生成和相邻关节的成对比较上有所不同。Chen等人将聚类检测到典型的位姿方向,这样当他们的分类器做出预测时,额外的信息就可用来指示相邻关节的可能位置。我们无需使用图形模型或人体的任何显式建模就能实现卓越的性能。
  有几个方法例子进行了连续预测的姿态估计。carira等人使用了他们所谓的迭代误差反馈。输入包含一组预测,每一个经过网络的预测都进一步细化这些预测。他们的方法需要多阶段训练,权重在每次迭代中共享。Wei等人的建立在多阶段姿态机的基础上,但现在使用了卷积神经网络进行特征提取。由于我们使用了中间监督,我们的工作在精神上与这些方法相似,但是我们的构建模块(沙漏模块)是不同的。Ramanan有一个更类似于我们的架构,也可以用于多个阶段的预测,但他们的模型在计算的自底向上和自顶向下部分以及跨迭代都绑定了权重。
  汤普森等人在别人的工作基础上,通过一连串的改进来提高预测。这有助于提高其方法的效率和减少内存使用,同时提高高精度范围的定位性能。需要考虑的一个问题是,对于许多失效案例,局部窗口内位置的细化并不能提供很大的改善,因为错误案例往往包括遮挡或错误归属的肢体。对于这两种情况,任何在局部尺度上的进一步评估都不会改进预测。
  姿态估计问题有一些变化,包括使用额外的特征,如深度或运动线索。此外,多个人同时注释的任务更具挑战性。此外,还有类似于Oliveira等人的工作,基于完全卷积网络进行人体部分分割。我们的工作仅专注于从RGB图像中单个人姿态的关键点定位任务。
  我们在堆叠前的沙漏模块与完全卷积网络等设计紧密相连,这些设计在多尺度上处理空间信息,进行密集预测。Xie等人对典型架构进行了总结。我们的沙漏模块与这些设计的不同之处在于,它在自底向上处理(从高分辨率到低分辨率)和自顶向下处理(从低分辨率到高分辨率)之间的容量分布更为对称。例如,完全卷积网络和整体嵌套架构都是自下而上的处理,但自上而下的处理很轻,这只包括跨多个尺度的预测(加权)合并。完全卷积网络也是分多个阶段进行训练的。
  堆叠前的沙漏模块也与conva -deconv和编码器-解码器架构有关。Noh等使用convo -deconv架构进行语义分割,Rematas等使用它预测物体的反射率图。赵等人通过增加重建损失开发了一个统一的监督、无监督和半监督学习框架。某些采用了编码器-解码器架构,没有跳过图像生成连接。Rasmus等人提出了一种具有特殊调制跳跃连接的去噪自编码器,用于无监督/半监督特征学习。这些网络的对称拓扑是相似的,但操作的本质是完全不同的,因为我们不使用unpooling或deconv层。相反,我们依赖于简单的最近邻上采样,并跳过连接进行自上而下的处理。我们工作的另一个主要区别是,我们通过堆叠多个沙漏来执行自底向上、自顶向下的重复推理。

网络结构

Hourglass 设计

  虽然局部特征对于识别面部和双手等至关重要,但最终的姿势估计需要对整个身体有一个连贯的了解。人的方向,他们的四肢的安排,以及相邻关节的关系在不同尺度的图象中是许多线索中最容易识别的地方之一。沙漏是一个简单的、最小的设计,它有能力捕捉所有这些特征,并将它们组合在一起,输出像素级的预测。
  网络必须有某种机制来有效地处理和整合跨尺度的特性。一些方法通过使用单独的管道来解决这个问题,这些管道以多种分辨率独立处理图像,然后在网络中合并特征。相反,我们选择使用带有跳跃层的单一管道来保存每个分辨率下的空间信息。该网络在4x4像素时达到其最低分辨率,允许应用更小的空间过滤器来比较图像整个空间的特征。
  沙漏的设置如下:卷积层和最大池化层用于将特征处理到非常低的分辨率。在每一个最大池化步骤时,在原始池化前的分辨率下网络分支应用更多的卷积。当达到最低分辨率后,网络开始自上而下的上采样和跨尺度特征组合。为了整合两种相邻分辨率的信息,我们遵循thompson等人描述的过程,对较低分辨率进行最近邻上采样,然后对两组特征进行元素级相加。沙漏的拓扑结构是对称的,所以每下降一层,就有相应的一层上升。
  在达到网络的输出分辨率后,连续使用两轮1x1卷积来产生最终的网络预测。网络的输出是一组热图,其中对于给定的热图,网络预测在每个像素处出现关节的概率。完整的模块(不包括最后的1x1层)如图3所示。
图3

层实现

  在保持整体沙漏形状的同时,在层的具体实现中仍然有一些灵活性。不同的选择会对网络的最终性能和训练产生适度的影响。我们将探讨网络中的层设计的几个选项。近期工作显示了使用1x1卷积缩减步长的价值,以及使用连续的较小的滤波器捕获较大的空间上下文的好处。例如,可以用两个独立的3x3滤波器代替一个5x5滤波器。我们测试了我们的整体网络设计,基于这些理解交换了不同的层模块。我们从带有大滤波器和没有缩减步骤的标准卷积层切换到新的方法(如He等人提出的残差学习模块和基于Inception的设计)后,网络性能得到了提升。在使用这些类型的设计进行了最初的性能改进后,并没有进一步提高性能或训练时间。
  我们的最终设计广泛使用残差模块。不使用大于3x3的过滤器,并且限制了每一层的参数总数,减少了总内存使用。我们的网络中使用的模块如图4所示。为了将其放入整个网络设计的环境中,图3中的每个框表示一个单独的残差模块。图4
  在256x256的完整输入分辨率下运行需要大量的GPU内存,所以沙漏的最高分辨率(也就是最终输出分辨率)是64x64。这并不影响该网络产生精确联合预测的能力。整个网络从一个具有stride 2的7x7卷积层开始,然后是一个剩余模块和一次最大池化,将分辨率从256降至64。两个后续残差模块位于图3所示的沙漏之前。整个沙漏所有残差模块输出256个特征。

中间监督Hourglass

  通过将多个沙漏端到端的堆叠,将一个沙漏的输出作为输入输入到下一个沙漏,我们进一步推进了我们的网络架构。这为网络提供了一种自底向上、自顶向下重复推理的机制,允许对整个图像的初始估计和特征进行重新评估。这种方法的关键是预测中间热图,我们可以在上面应用一个损失。预测是在经过每个沙漏后产生的,在这个沙漏中,网络有机会处理局部和全局上下文中的特征。随后的沙漏模块允许这些高级特征再次被处理,以进一步评估和重新评估更高阶的空间关系。这与其他在多次迭代阶段和中间监督下表现出强大性能的姿态估计方法相似。
  考虑只使用一个沙漏模块的中间监督的局限性。在沙漏中什么位置合适来生成一组初始预测?除了在最后上采样时,大多数高阶特征只在较低的分辨率下出现。如果在网络进行上采样后提供监督,那么这些特征就无法在更大的全局环境中相互重新评估。如果我们想要网络最好地改进预测,这些预测不能只在局部规模进行评估。与其他联合预测的关系,以及整体背景和对完整图像的理解是至关重要的。在池化之前,在管道的早期应用监督是一种可能性,但在这一点上,给定像素的特征是经过相对局部处理的感受野的结果,因此忽略了关键的全局线索。
  通过堆叠沙漏重复自下而上、自上而下的推理减轻了这些担忧。局部和全局线索整合在每个沙漏模块中,要求网络产生早期预测需要它对图像有一个高层次的理解,而这仅仅是整个网络的一部分。自底向上、自顶向下处理的后续阶段允许对这些特性进行更深层次的重新考虑。
  这种在尺度之间来回切换的方法特别重要,因为保留特征的空间位置对于完成最后的定位步骤至关重要。关节的精确位置是网络做出其他决策时不可缺少的线索。对于像姿态估计这样的结构化问题,输出是许多不同特征的相互作用,这些特征应该一起形成对场景的一致理解。相互矛盾的证据是一个很大的信号,表明在某一过程中出现了错误,通过来回切换,网络可以保持精确的局部信息,同时考虑和重新考虑特征的整体一致性。
  我们通过额外的1x1卷积将中间预测映射到更大数量的通道,从而将它们重新整合回特征空间。这些特性与前一个沙漏阶段的特性输出(如图4所示)一起被添加回沙漏的中间特性中。结果输出直接作为下一个沙漏模块的输入,该模块生成另一组预测。在最终的网络设计中,使用了8个沙漏。重要的是要注意:权重不是在沙漏模块之间共享的,损失应用于使用相同ground truth的所有沙漏的预测。关于损失和地面真相的细节如下所述。

训练细节

  我们在两个基准数据集上评估了我们的网络,即FLIC和MPII Human Pose。FLIC由5003张(3987张训练图,1016张测试图)从电影中提取的图像组成。这些图像是在上半身标注的,大多数人物都正对着相机。MPII Human Pose由大约25k带注释的图像组成,为多人提供40k注释样本(28k训练,11k测试)。由于没有提供测试注释,所以在我们的所有实验中,我们在训练图像的子集上进行训练,同时对大约3000个样本的保留验证集进行评估。MPII是由一系列具有挑战性的广泛关节式全身姿势的人类活动图像组成。
  在给定的输入图像中经常有多个可见的人,但如果没有图形模型或其他后处理步骤,图像必须传达所有必要的信息,以便网络确定哪个人值得标记。我们通过训练网络专门标记直接中心的人来解决这个问题。在FLIC中,这是通过根据躯干框注释沿x轴居中来完成的——没有进行垂直调整或比例归一化。对于MPII,使用所有图像提供的比例和中心注释是标准的。对于每个样本,这些值用于裁剪目标人物周围的图像。然后将所有输入图像的大小调整为256x256像素。我们做数据扩展,包括旋转(+/- 30度)和缩放(0.75 -1.25)。由于目标人物的位置是决定谁应该被网络标记的关键线索,因此避免了图像的翻译增强。
  该网络使用Torch7进行训练,为了进行优化,我们使用了rmsprop,学习率为2.5e-4。使用12gb的NVIDIA TitanX GPU,训练大约需要3天。在验证准确性趋于稳定后,我们将学习率降低了1 / 5。Batch normalization也用于改进训练。网络推理时间为75ms。为了生成最终的测试预测,我们通过网络运行原始输入图像和翻转版本的图像,并将热图平均起来(在验证方面平均提高1%)。网络的最终预测是给定关节热图的最大激活位置。
  与Tompson等人[15]相同的技术用于监督。采用均方误差(MSE)损失将预测的热图与以联合位置为中心的2D高斯分布(标准差为1 px)构成的gt热图进行比较。为了提高在高精度阈值下的性能,在转换回图像的原始坐标空间之前,预测在其下一个最高邻域的方向上偏移四分之一像素。在MPII Human Pose中,有些关节没有相应的ground truth annotation。在这些情况下,联合要么被截断或严重闭塞,所以为监督提供了所有零的地面真相热图。

结果

评估

  评估是使用标准的正确关键点百分比(PCK)度量来完成的,该度量报告了gt归一化距离内的检测的百分比。对于FLIC,距离是由躯干大小标准化的,而对于MPII,是由头部大小的一部分(称为PCKh)。
  FLIC:结果见图6和表1。我们在FLIC上的结果非常有竞争力,肘部达到99% PCK@0.2的精确度,手腕达到97%。需要注意的是,这些结果是以观察者为中心的,这与其他人在FLIC上评估他们的输出是一致的。结果图
  MPII:我们在MPII人体姿态数据集上实现了所有关节的最先进的结果。所有数字见表2,PCK曲线见图7。对于复杂的关节,如手腕、肘部、膝盖和脚踝,我们在最新研究结果的基础上平均提高了3.5% (PCKh@0.5),平均错误率从16.3%下降了12.8%。最终肘关节精度为91.2%,手腕精度为87.1%。网络对MPII的预测示例如图5所示。结果显示
结果显示

结论

  我们演示了用于产生人体姿态估计的堆叠沙漏网络的有效性。该网络以一种简单的机制对初始预测进行重新评估和评估,处理各种不同且具有挑战性的姿态集。中间监督对于训练网络至关重要,在堆叠沙漏模块的环境下工作得最好。虽然仍然存在网络无法完美处理的困难情况,但我们的系统总体上表现出了强大的性能来应对各种挑战,包括严重阻塞和多人近距离接触。

思考

  • hourglass的设计思路很好,想法是能够利用及组合多尺度下的特征进行预测,通过残差模块保持特征数不变,进而将多尺度特征做融合。
  • hourglass的网络可以做堆叠,也就是用两个或者多个沙漏进行堆叠,堆叠之后的解释是再利用后面的网络对前层网络的输出做理解与校正,也就是对深层次的网路输出预测做进一步的理解与评估,感觉这也是网络比较重要的思想,堆叠可达8个之深。
  • hourglass网络在堆叠的两个沙漏中添加中间监督机制。

更新

  • 理新持更
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值