当前位置: 代码迷 >> 综合 >> Stacked Hourglass Networks
  详细解决方案

Stacked Hourglass Networks

热度:26   发布时间:2024-01-29 10:41:56.0

Stacked Hourglass Networks

本工作为人类姿势估计任务引入了一种新型卷积网络架构。特征在所有尺度上进行处理,并进行整合,以最好地捕捉与身体相关的各种空间关系。我们展示了自下而上、自上而下的重复处理与中间监督的结合是如何提高网络性能的关键。我们将该架构称为 "堆叠沙漏 "网络,基于连续的池化和上采样步骤来产生最终的预测集。在FLIC和MPII基准上取得了最先进的结果,超过了所有最近的方法。

1 Introduction

理解图像和视频中人物的一个关键步骤是准确的姿势估计。给定一张RGB图像,我们希望确定身体重要关键点的精确像素位置。实现对人的姿势和肢体衔接的理解,对于动作识别等更高层次的任务很有帮助,同时也是人机交互和动画等领域的基础工具。

作为视觉领域一个成熟的问题,姿势估计多年来一直困扰着研究人员,面临着各种艰巨的挑战。一个好的姿势估计系统必须对遮挡和严重变形具有鲁棒性,能成功地处理罕见的和新颖的姿势,并且对由于衣服和光线等因素引起的外观变化保持不变。

我们继续沿着这个轨迹,介绍了一种新型的 "堆叠沙漏 "网络设计,用于预测人体姿势。该网络捕捉并整合了图像所有尺度的信息。我们将该设计称为沙漏,基于我们可视化的池化步骤和随后的上采样用于获得网络的最终输出。与许多产生像素级输出的卷积方法一样,沙漏网络将其汇集到一个非常低的分辨率,然后在多个分辨率上进行上采样并结合特征[15, 23]。另一方面,沙漏与之前设计的不同之处主要在于其更加对称的拓扑结构。

我们在单个沙漏的基础上进行扩展,将多个沙漏模块端到端连续放置在一起。这样就可以跨尺度的自下而上、自上而下的反复推理。结合中间监督的使用,重复的双向推理对网络的最终性能至关重要。

我们在堆叠前的沙漏模块与全卷积网络[23]和其他在多个尺度上处理空间信息以进行密集预测的设计密切相关[15,33-41]。谢等。[33]总结典型架构。我们的沙漏模块与这些设计的不同之处在于,它在自下而上的处理(从高分辨率到低分辨率)和自顶向下的处理(从低分辨率到高分辨率)之间的容量分配更为对称。例如,全卷积网络[23]和整体嵌套架构[33]都重自下而上的处理,但其自上而下的处理却很轻,只包括跨多个尺度的预测的(加权)合并。完全卷积网络也是在多个阶段进行训练的。

堆叠前的沙漏模块也与conv deconv和编解码器架构有关[42-45]。Noh等人。[42]使用conv-deconv架构进行语义分割,Rematas等人。[44]用它来预测物体的反射图。Zhao等[43]通过添加重建损失,开发了一个监督、无监督和半监督学习的统一框架.Yang等[46]采用无跳转连接的编码器-解码器架构进行图像生成。

3 Network Architecture

3.1 Hourglass Design

沙漏的设计是出于捕捉每个尺度信息的需要。虽然局部证据对于识别脸部和手部等特征是必不可少的,但最终的姿势估计需要对整个身体有一个连贯的了解。人的方向、四肢的排列、相邻关节的关系等众多线索,在图像的不同尺度上都能得到最好的识别。沙漏是一个简单、简约的设计,它能够捕捉所有这些特征,并将它们整合在一起,输出像素化的预测。

网络必须有某种机制来有效地处理和整合不同规模的特征。一些方法通过使用单独的pipelines来解决这个问题,这些pipelines在多种分辨率下独立处理图像,并在以后的网络中结合特征[15,18]。相反,我们选择使用一个带有skip layers的single pipeline来保存每个分辨率的空间信息。该网络在4x4像素时达到最低分辨率,允许应用较小的空间过滤器,比较整个图像空间的特征。

沙漏的设置如下。卷积层和最大池化层用来处理特征,使其达到很低的分辨率。在每一个最大池化步骤中,网络都会分支,并在原来的池化前的分辨率下应用更多卷积(the network branches off and applies more convolutions at the original
pre-pooled resolution.)。在达到最低分辨率后,网络开始自上而下的顺序进行上采样和跨尺度的特征组合。为了汇集两个相邻分辨率的信息,我们按照Tompson等人[15]描述的过程,对较低分辨率进行最近邻上采样,然后对两组特征进行元素相加。沙漏的拓扑结构是对称的,因此在下采样的每一层都有一个相应的上采样层。

在达到网络的输出分辨率后,连续两轮1x1卷积产生最终网络预测。网络的输出是一组热图,其中对于给定的热图,网络预测每个像素处存在关节的概率。完整模块(不包括1x1层)如图3所示。

在这里插入图片描述

图3。单个“沙漏”模块的图示。图中的每个方框对应于图4所示的residual module特征的数量在整个沙漏中是一致的。

在这里插入图片描述

图4。左图:我们在整个网络中使用的Residual Module[14]。右图:intermediate supervision流程示意图。网络分裂并生成一组热图(蓝色轮廓),其中可以应用loss。1x1卷积重新映射热图,以匹配中间特性的通道数。它们与前面沙漏中的特征一起添加在一起。

3.2 Layer Implementation

在保持整体沙漏形状的同时,在层的具体实现上仍有一定的灵活性。不同的选择会对网络的最终性能和训练产生适度的影响。我们探讨了网络中层设计的几种选择。最近的工作显示了reduction steps中1x1卷积的作用,以及使用连续的较小的滤波器来捕获更大的空间环境的好处。[12, 14]例如,可以用两个独立的3x3滤波器代替5x5滤波器。我们测试了我们的整体网络设计,根据这些见解换入不同的层模块。

我们经历了从标准卷积层与arge filters和no reduction steps切换到新的方法,如He等人提出的残差学习模块[14]和基于 "Inception "的设计[12]后,网络性能有所提高。在这些类型的设计初步提高性能后,各种额外的探索和修改层几乎没有进一步提高性能或训练时间。

我们的设计大量使用了residual modules。大于3x3的滤波器从不使用,而且 bottlenecking限制了每层的参数总数,减少了总的内存使用。我们网络中使用的模块如图4所示。为了将其放在完整的网络设计中,图3中的每个方框代表一个单一的residual module。

在256x256的全输入分辨率下工作需要大量的GPU内存,所以沙漏的最高分辨率(因此最终的输出分辨率)是64x64。这并不影响网络产生精确的联合预测的能力。完整的网络从stride 2的7x7卷积层开始,然后是residual module和 a round of最大池化,使分辨率从256降到64。在图3所示的沙漏之前有两个后续的residual module。在整个沙漏中,所有residual module输出256维特征。

3.3 Stacked Hourglass with Intermediate Supervision

我们通过将多个沙漏端对端堆叠起来,将一个沙漏的输出作为下一个沙漏的输入,从而使我们的网络架构更进一步。这为网络提供了一个自下而上、自上而下重复推理的机制,允许对整个图像的初始估计和特征进行重新评估。这种方法的关键是预测中间热图,我们可以在其上应用损失。预测是在通过每个沙漏后产生的,在这些沙漏中,网络有机会在local and global contexts处理特征。随后的沙漏模块允许再次处理这些高阶特征,以进一步评估和重新评估高阶空间关系。这与其他姿势估计方法类似,这些方法在多个迭代阶段和中间监督下表现出强大的性能[18,19,30]。

考虑仅用一个沙漏模块来应用中间监督的限制。在pipeline中,什么地方适合生成一组初始预测?大多数高阶特征只在较低分辨率下出现,除了在经过上采样后的特征图。如果我们希望网络能够最好地完善预测,这些预测就不能只在局部范围内进行评估。与其他joint predictions的关系和对整个图像的总体背景和理解对于完善预测是至关重要的。在pipeline中池化之前应用监督是一种可能的方法,但此时给定像素的特征是相对局部的感受野内的结果,因此对关键的全局线索一无所知。

用堆叠沙漏进行自下而上、自上而下的反复推理,可以减轻这些顾虑。局部和全局线索集成在每个沙漏模块内,要求网络生成的早期预测对图像有一个高层次的理解,同时只需在整个网络中进行一部分。自底向上、自顶向下处理的后续阶段允许更深入地重新考虑这些特性。

这种在不同尺度之间 going back and forth的方法尤为重要,因为保存特征的空间位置对于做最后的定位步骤至关重要。联合点的精确位置是网络做出其他决策不可或缺的线索。对于像姿势估计这样的结构化问题,输出的是许多不同特征的相互作用,这些特征应该一起形成对场景的一致理解。

我们通过将中间预测映射到一个额外的更多通道的1x1卷积,将其重新整合回特征空间。这些特征与前一个沙漏阶段输出的特征一起被加回沙漏的中间特征(在图4中可视化)。由此产生的输出直接作为下面的沙漏模块的输入,该模块产生另一组预测。在最终的网络设计中,使用了八个沙漏。需要注意的是,权重并不是在沙漏模块之间共享的,所有沙漏的预测都会有一个损失,使用相同的ground truth。损失和ground truth的细节描述如下。

3.4 Training Details

我们在两个基准数据集上评估我们的网络,FLIC[1]和MPII人体姿势[21]。FLIC由5003张取自电影的图像组成(3987张训练图像,1016张测试图像)。这些图像在上半身进行了注释,大多数人物直面相机。MPII人体姿势由约25k张图片组成,多人注释,提供40k个注释样本(28k训练,11k测试)。

了注释,大多数人物直面相机。MPII人体姿势由约25k张图片组成,多人注释,提供40k个注释样本(28k训练,11k测试)。

应用均方误差(MSE)损失比较预测热图和以关节位置为中心的二维高斯(标准偏差为1 px)组成的ground-truth热图。为了提高高精度阈值的性能,在转换回图像的原始坐标空间之前,预测会在其next highest neighbor的方向偏移四分之一像素。

  相关解决方案