论文笔记:Stacked Hourglass Networks for Human Pose Estimation

1、摘要

作者提出新的卷积网络架构用于人体姿态估计。特征在所有尺度上进行处理,并整合,以最有效地捕捉与身体相关的各种空间关系。作者展示了,重复进行自底向上和自顶向下的处理,并配合中间监督对提升网络的性能至关重要。作者将该架构称为 “堆叠沙漏” ,该网络连续执行池化和上采样的步骤,最终产生一组预测。该方法在 F L I C FLIC FLIC 数据集和 M P I I MPII MPII 数据集上的实现了当时最优的结果。

2、介绍

一个好的姿态估计系统一定要对遮挡和严重形变鲁棒,能够准确估计罕见的和新奇的姿态,对服饰和光照等因素具有不变性。早期研究解决这些问题通过使用鲁棒的图像特征和复杂的结构化预测:前者用来产生局部解释,后者用来推断全局姿态。

近来,姿态估计系统普遍采用卷积神经网络作为主要模块,在很大程度上取代手工构造特征和图模型。这一策略极大地提升了标准基准。

沿着这个轨迹,作者提出了 S t a c k e d   H o u r g l a s s Stacked~Hourglass Stacked Hourglass 网络设计来预测人体姿态。网络捕获并记录图像所有尺度的信息。作者基于池化和后续上采样步骤的可视化将该网络称为沙漏。像很多产生像素级输出的方法一样,沙漏网络池化到非常低的分辨率,然后上采样并组合多个分辨率特征。另一方面,沙漏不同于之前的设计,它的拓扑结构更对称。

作者将多个沙漏模块连在一起对网络进行拓展。这使网络能够在不同尺度上重复自下而上和自上而下的推理。在使用中间监督的同时,重复的双向推理对网络最终性能至关重要。最终网络架构在两种标准姿态估计基准上实现了显著性能提升。在 M P I I MPII MPII 上,所有关节平均精度提升 2 % 2\% 2% 以上,膝盖和脚踝等较困难的关节提升 4 − 5 % 4-5\% 45%


3、相关研究

D e e p P o s e DeepPose DeepPose 对人体姿态估计的研究开始从传统的方法向深度网络转变。它使用网络直接回归关节点坐标。 T o m p s o n Tompson Tompson 等人 [15] 通过在多分辨率组中运行一个图像,并同时捕获各尺度上的特征来生成热图。本文的方法很大程度上建立在他们研究的基础上,探索如何捕获跨尺度信息,并调整他们的方法将不同分辨率特征组合起来。

T o m p s o n Tompson Tompson 等人 [15] 的方法的重要特征是将卷积神经网络和图模型结合起来。图模型学习典型的关节间空间关系。其他人用类似的方法解决了这一问题,并对如何产生一元分数以及相邻关节点的配对进行了不同处理。 c h e n chen chen 等人聚类检测在典型位置进行,以便当分类器进行预测时可以获得指示相邻关节可能位置的附加信息。本文无需使用图模型或者任何人体显式模型,便可以实现较好的性能。

有一些对姿态估计进行连续预测的方法的例子。 C a r r e i r a Carreira Carreira 等人 [19] 采用他们称之为 “迭代误差反馈” 的方法。输入中包含了一组预测,每个预测在通过网络过程中进一步细化。该方法需要多阶段训练,每次迭代都共享权重; W e i Wei Wei 等人 [18] 在多阶段姿态机的基础上,使用卷积网络提取特征。由于本文使用中间监督,在精神上与这些方法类似,但是本文的构建块(沙漏模块)是不同的。 H u   &   R a m a n a n Hu~\&~Ramanan Hu & Ramanan [27] 使用和本文更类似的结构,可以用于多阶段预测,但是他们的模型在自下而上和自顶向下部分以及迭代中都有权重。

T o m p s o n Tompson Tompson 等人在 [15] 的基础上用级联来改进预测。这有助于提高他们方法的效率并且减少对内存的使用,同时提高高精度范围下的定位性能。值得注意的是,对于许多错误,在局部窗口进行位置精炼不会提供太大的改进,因为它们通常是由于遮挡或误分配肢体导致的对于这两种情况,任何局部尺度下的进一步评估都不能改善预测

姿态估计的一些变体使用其他特征,如深度或运动线索。而且,多人同时注释也是一项更具挑战性的任务。此外,还有一些类似 O l i v e i r a Oliveira Oliveira 等人 [32] 的研究,基于全卷积网络进行人体部位分割。本文的研究仅关注 R G B RGB RGB 图像中单人姿态关键点定位任务。

堆叠前的沙漏模块与全卷积网络和其他在多尺度上处理空间信息的设计紧密相连,用于密集预测。 X i e Xie Xie 等人 [33] 总结了典型架构。沙漏模块不同于这些设计,主要在于它在自下而上处理(高分辨率到低分辨率)和自顶向下(低分辨率到高分辨率)之间的容量分布更对称。例如,全卷积网络 [23] 和整体嵌套结构 [33] 在自下而上的过程中都很重,但在自顶向下的过程中却很轻,而自顶向下的处理只是由多尺度的预测加权合并组成。全卷积网络也在多个阶段进行训练。

沙漏模块堆叠前也与卷积—反卷积编码—解码结构相关。 N o h Noh Noh 等人 [42] 使用卷积—反卷积框架做语义分割, R e m a t a s Rematas Rematas 等人 [44] 使用它预测物体反射图。 Z h a o Zhao Zhao 等人 [43] 通过增加重建损失,为监督,非监督,半监督学习开发一个统一的框架。 Y a n g Yang Yang 等人 [46] 使用无跳跃连接的编码—解码框架进行图像生成。 R a s m u s Rasmus Rasmus 等人 [47] 提出一种使用特殊调制跳跃连接的降噪自编码器用于监督/半监督特征学习。这些网络的对称拓扑是相似的,但是操作的本质有很大不同,因为作者不使用上池化反卷积层。相反,作者采用简单的最近邻上采样跳跃连接进行自顶向下处理。本文另一个主要的区别在于,作者通过堆叠多个沙漏来重复进行自下而上,自顶向下的推理。


4、网络架构

4.1、沙漏设计

沙漏设计的灵感来源于捕捉多尺度信息的需要。识别面部、手部特征只需要局部信息,但是最终的姿态估计需要对全身有一个连贯的理解。人的方向、四肢位置、相邻关节的关系是图像中最能在不同尺度下识别的线索之一。沙漏是一个简单的,小巧的设计,它能够捕捉所有这些特征,并将它们组合在一起,最终输出像素级预测。

网络必须有某种机制能够有效处理多尺度整合特征。有些方法使用分离的管道在不同分辨率下分别处理图像,并在随后的网络中结合这些特征。相反,作者使用具有跳跃层的单管道来保留每一分辨率的空间信息。网络最小分辨率为 4 × 4 4\times4 4×4 像素,这样就可以使用更小的空间核来比较图像整个空间的特征。

沙漏遵循以下设置:

  1. 卷积和最大池化用于处理特征直到分辨率非常低为止。
  2. 在每一个最大池化,网络发展分支,并在原始未池化的分辨率下应用更多的卷积操作。
  3. 在达到最低分辨率后,网络开始自顶向下的上采样序列,并组合跨尺度特征。
  4. 为了组合两个相邻分辨率信息,遵循 T o m p s o n Tompson Tompson 等人的方法,将两组特征集合元素相加,对低分辨率进行最近邻上采样。
  5. 沙漏的拓扑是对称的,所以每一个向下的层都有一个对应的向上的层。

在网络达到输出分辨率后,两个连续近似 1 × 1 1\times1 1×1 卷积用于进行最终的网络预测。网络的输出是一组热图,对于给定的热图,网络预测关节在每个像素上出现的概率。


4.2、层实现

在保持整个沙漏形状的同时,具体的层的实现仍然有一定的灵活性。不同的选择会对网络最终性能和训练产生一定的影响。作者探讨了网络层设计的几种选择。有研究表明, 1 × 1 1\times1 1×1 卷积有简化步骤的作用,使用连续小卷积核有利于捕获更大的空间上下文。例如,可以使用两个独立的 3 × 3 3\times3 3×3 卷积核替换 5 × 5 5\times5 5×5 卷积核。作者将大卷积核,无精简步骤的标准卷积层切换到新的方法(如何凯明等人的残差学习模块),提升了网络性能。

网络最终设计充分利用了残差模块,不使用大于 3 × 3 3\times3 3×3 的卷积核,瓶颈限制了每一层的参数总数,从而减少了内存的使用。网络模块如图 4 4 4 所示。图 3 3 3 中的每个框表示一个残差模块。
在这里插入图片描述
在这里插入图片描述
256 × 256 256\times256 256×256 全输入分辨率工作需要大量的 G P U GPU GPU 存储,因此沙漏的最高分辨率(以及最终输出分辨率)是 64 × 64 64\times64 64×64。这并不影响网络产生精确预测的能力。网络从 7 × 7 7\times7 7×7 卷积层开始,步长为 2 2 2 然后是一个残差模块和一轮最大池化,将分辨率从 256 256 256 降到 64 64 64。两个后续的残差模块在图 3 3 3 所示的沙漏之前。经过整个沙漏,所有的残差模块输出 256 256 256 个特征。


4.3、堆叠沙漏使用中间监督

将多个沙漏堆叠,前一个的输出作为后一个的输入。这使网络具有重复进行自底向上,自顶向下推理的机制,能够重新评估整个图像的初始估计和特征。这种方法的关键是预测中间热图,并在此计算损失。当网络能够在局部和全局上下文处理特征时,通过每个沙漏后产生预测。随后的沙漏模块再一次处理这些高水平特征,进一步评估、再计算更高级空间关系。

考虑到只使用一个沙漏时应用中间监督的限制。管道中什么位置适合生成初始预测集?大多数高阶特征仅在较低分辨率下出现,除非在上采样发生时出现在最末端。如果在网络进行上采样之后提供监督,那么就没有办法在更大的全局环境中重新评估这些特征的相互关系。如果想要更好地精炼预测,这些预测就不能仅在局部尺度上评估。与其他关节预测的关系以及一般上下文和整个图像的理解是重要的。在管道中较早地使用监督是可能的,但是在这一点,给定像素的特征是处理相对局部的感受野的结果,因此忽略了全局线索

使用堆叠沙漏进行重复自下而上,自顶向下的推理减轻了这些担忧。每个沙漏模块都集成了局部和全局线索,并且要求网络传播到一半时作出早期预测需要它对图像有一个高层次理解。自底向上,自顶向下处理的后续阶段允许对这些特征进行更深入的重新考虑。

这种在不同尺度之间来回移动的方法特别重要,因为保持特征的空间位置对完成最终的定位步骤特别重要。关节点的精确位置是网络其他决定不可或缺的线索。姿态估计这种结构化问题,输出是许多不同特征的相互作用,这些特征应该结合起来形成对场景的整体理解。当网络的某个部分发生错误,考虑和重新考虑特征整体一致性时,能够修正错误,保持局部信息的精确性。

将中间预测重新整合到特征空间,通过 1 × 1 1\times1 1×1 卷积将它们映射到更多的通道上。然后将它们与之前沙漏的特征输出相加(如图 4 4 4)。输出的结果直接用作下一沙漏模块的输入,该模块生成另一组预测。网络的最终设计使用了 8 8 8 个沙漏模块。值得注意的是,沙漏之间并不共享权重,所有沙漏的预测损失使用相同的 G r o u n d   T r u t h Ground~Truth Ground Truth


4.4、训练

作者使用两个基准数据集 F L I C FLIC FLIC M P I I MPII MPII F L I C FLIC FLIC 5003 5003 5003 张图像( 3987 3987 3987 训练, 1016 1016 1016 测试)。由于来源于电影,图像标注上半身,大部分人是直接面对相机的 M P I I MPII MPII 数据集有大约 25 k 25k 25k 张图像,提供 40 k 40k 40k 注释样本( 28 k 28k 28k 训练, 11 k 11k 11k 测试)。由于测试图像没有提供注释,所以作者在训练集的子集上进行训练,在大约 3000 3000 3000 个样本组成的验证集上评估模型。 M P I I MPII MPII 有各种各样的人类活动的图像,以及一系列具有挑战性的全身姿态。

在给定的输入图像中通常有多个可见的人,但是如果没有图模型或其他后处理步骤,图像必须传达网络确定哪个人值得注释的所有必要信息。通过训练网络来专门注释直接中心的人。这在 F L I C FLIC FLIC 中是根据 t o r s o b o x torsobox torsobox (躯干框)注释通过沿 x x x 轴居中来完成的—不进行垂直调整或尺度归一化 M P I I MPII MPII 来说,标准的做法是利用所有图像附带的尺度和中心注释。对于每个样本,这些值用于裁剪目标人周围的图像。所有输入图像被 r e s i z e resize resize 256 × 256 256\times256 256×256 像素。作者做数据增强,包括旋转( + / − 30 ° +/-30\degree +/30°),缩放( . 75 − 1.25 .75-1.25 .751.25)。作者避免了使用平移数据增强,因为目标的位置是决定网络注释谁的关键线索。

网络使用 T o r c h 7 Torch7 Torch7 训练,使用 r m s p r o p rmsprop rmsprop 优化,学习率设置为 2.5 e − 4 2.5e-4 2.5e4。在验证准确度稳定后,将学习率降低了 5 5 5 B a t c h   n o r m a l i z a t i o n Batch~normalization Batch normalization 被用于提升训练。网络的一次前向传播需要 75 m s 75ms 75ms。为了生成最终的测试预测,通过网络运行图像的原始输入和翻转版本,并将热图平均在一起(验证平均提高 1 % 1\% 1%)。网络的最终预测是给定关节点热图的最大激活位置

使用与 T o m p s o n Tompson Tompson 等人 [15] 一样的技术进行监督。采用均方误差损失( M S E MSE MSE)将预测的热图与以关节位置为中心的二维高斯(标准偏差为 1 1 1 像素)组成的 G r o u n d   T r u t h Ground~Truth Ground Truth 热图进行比较。为了提高高精度阈值下的性能,在转换回图像的原始坐标空间之前,预测沿其下一个最高邻居的方向偏移四分之一像素。在 M P I I MPII MPII 人体姿态中,一些关节没有相应的 G r o u n d   T r u t h Ground~Truth Ground Truth 注释。在这些情况下,关节要么被截断,要么被严重遮挡,因此为便于监督,提供了全零的 G r o u n d   T r u t h Ground~Truth Ground Truth 热图


5、结果

5.1、评估

评估是使用标准的正确关键点百分比( P C K PCK PCK)度量来完成的,该度量报告了落入 G r o u n d   T r u t h Ground~Truth Ground Truth 归一化距离内的检测百分比。对于 F L I C FLIC FLIC ,距离由躯干尺寸标准化。对于 M P I I MPII MPII,距离是头部尺寸的小数(称为 P C K h PCKh PCKh

F L I C FLIC FLIC:结果如图 6 6 6 和表 1 1 1 所示。值得注意的是,这些结果是以观察者为中心的,这与其他人如何在 F L I C FLIC FLIC 上评估他们的输出是一致的。
在这里插入图片描述
M P I I MPII MPII:结果如表 2 2 2 和图 7 7 7 P C K PCK PCK 曲线所示。网络在 M P I I MPII MPII 所做的示例预测如图 5 5 5 所示。
在这里插入图片描述
在这里插入图片描述

5.2、切除实验

作者主要验证了两个设计的效果:

  1. 堆叠沙漏模块的作用
  2. 中间监督的影响

两者并非相互独立,因为应用中间监督受到网络总体架构设计的限制两者单独作用都对性能产生了积极的影响,共同作用下作者观察到训练速度和最终姿态估计性能进一步提升。作者观察了几种不同网络的训练率。图 8 8 8 展示了随着训练进行,网络在验证集上的平均精度。精度度量考虑了除了与头部和躯干相关的所有关节,以便在实验中更容易区分。
在这里插入图片描述

首先,为了探索堆叠沙漏设计的效果,必须证明性能的变化是架构形状的函数,而不是更大、更深网络容量的增加导致的。为了做出比较,作者将八个沙漏模块堆叠在一起组成基准网络,每个沙漏仅有一个残差块。通过打乱层的顺序来改变网络排列。减少沙漏的数量将导致每个沙漏容量的增加。比如,一个网络堆叠了四个沙漏,那么每个分辨率下将有两个连续的残差块(或者两个沙漏以及四个残差块)。如图 9 9 9 所示。所有网络具有相同数量的参数和层数,只有在使用更多中间监督时才有些微差别

在这里插入图片描述
8 8 8 表明,使用沙漏堆叠时,尽管层数和参数大致相同,但是网络性能得到提升。作者探索了在网络不同的点使用监督,例如,在不同分辨率下池化之前或池化之后。最佳性能方法如图 8 8 8 中的 H G − I n t HG-Int HGInt 所示,在最终输出分辨率之前的下两个最高分辨率上进行上采样后应用中间监督。这种监督确实能够提升性能,但是不足以超越使用堆叠产生的改进。

9 9 9 比较了 2 , 4 2, 4 2,4 8 8 8 个堆叠模型的验证精度,并且包含了它们中间预测的精度,这些模型有近似相同数量的参数。可以看出,当连续增加堆叠数量时,最终性能也获得持续提升。在中间阶段效果更显著。注意, 8 8 8 堆叠模型中间精度仅低于 2 2 2 堆叠模型最终精度。

有趣的是,网络早期的错误能够在后来被修正。如图 9 9 9 所示。常见的错误比如与其他人关节的混淆,或者左右错位。对于运行图,从最终热图中可以明显看出,对于网络来说,左右决策仍然有点模糊。鉴于图像的外观,这种混淆是合理的。值得注意的是中间的例子,网络最初在图像中可见的手腕上激活。在进一步处理时,热图在原始位置上根本不激活,而是为遮挡的手腕选择合理的位置。


6、进一步分析

6.1、多人

当图像中有多个人时,一致性问题显得尤为重要。网络必须决定给谁加注释,但是交流谁应该注释的选项有限。为了进行这项研究,提供的唯一信号是目标人的中心和尺度,相信输入将足够清晰以解析。不幸的是,如图 10 10 10 所示,当人们非常接近甚至重叠时,这偶尔会导致模棱两可的情况。因为本文的系统是用于单人姿态估计,所以在模棱两可的情况下,理想的输出是显示对单个人的关节的约束。即使预测的质量较低,这也会显示出对当前任务更深入的理解。从姿态估计系统来看,不考虑手腕可能属于谁来估计手腕的位置不是期望的行为

10 10 10 的结果来自于 M P I I MPII MPII 测试图像。网络必须生成男孩和女孩的预测,并为此提供各自的中心和尺度注释。使用这些值裁剪网络的输入图像会生成人物的第一个和第三个图像。在 720 × 1280 720\times1280 720×1280 图像中,两个舞者的中心注释仅偏离 26 26 26 个像素。从质量上讲,两个输入图像之间最明显的区别是尺度的变化。这种差异足以使网络完全改变其估计值,并为正确的人物预测注释。
在这里插入图片描述
多人注释的更全面管理超出了本文研究范围。许多系统的失败案例都是由于混淆了多个人的关节。但在许多人物互相遮挡的例子中,网络挑选出要注释的单个人物是很有希望的。


6.2、遮挡

遮挡性能很难评估,因为它通常分为两个大类。第一种情况是,关节不可见,但是根据图像上下文,其位置是明显的 M P I I MPII MPII 通常为这些关节提供 G r o u n d   T r u t h Ground~Truth Ground Truth 但是会附加注释表明它们不可见。第二种情况是,完全没有特定关节可能在哪里的信息。例如图像中只有人体上半部可见。在 M P I I MPII MPII 中,没有那些关节点相关的注释。

11 11 11 中,比较了整个验证集平均性能和可见的四分之三的关节上的性能,以及剩余不可见的四分之一的性能。只考虑可见关节,腕关节精度从 85.5 % 85.5\% 85.5% 提高到 93.6 % 93.6\% 93.6% (验证集上的性能略逊于测试集的 87.1 % 87.1\% 87.1%)。另一方面,仅在遮挡关节的性能为 61.1 % 61.1\% 61.1%。对于肘关节,可见关节精度从基线的 90.5 % 90.5\% 90.5% 上升到 95.1 % 95.1\% 95.1% 遮挡关节精度则下降到 74.0 % 74.0\% 74.0% 。在许多例子中,当网络预测和 G r o u n d   T r u t h Ground~Truth Ground Truth 注释都位于有效位置时,它们可能不一致,并且图像的模糊性意味着无法确定哪个是真正正确的。
在这里插入图片描述

考虑到极端的情况,关节被严重遮挡或者截断,并且没有相关注释。 P C K PCK PCK 度量不能评估姿态估计系统预测的质量。因此即使对完全遮挡或截断的关节进行预测也没有关系。对于实际应用,一定程度的元知识是重要的,而且理解对于一些特定的关节无法做出有效的预测也是重要的。作者观察到,本文的网络对于一个关节是否有 G r o u n d   T r u t h Ground~Truth Ground Truth 注释,给出了一致且准确的预测。

考虑脚踝和膝盖进行这项分析,因为它们最常被遮挡。下肢经常从图像中剪切出来,如果总是将网络中的所有关节预测可视化,考虑到在这些情况下做出的无意义的下肢预测,姿态图看起来是不可接受的。为了过滤掉这些情况,作者考察了在给定相应热图激活的情况下,如何确定关节注释的存在。考虑对热图的最大值或平均值进行阈值处理。相应的精度召回曲线见图 11 11 11。作者发现,仅基于热图的平均激活,就有可能正确评估 A U C AUC AUC 92.1 % 92.1\% 92.1% 的膝盖注释和 A U C AUC AUC 96.0 % 96.0\% 96.0% 的脚踝注释的存在。这是在 2958 2958 2958 个验证集样本中完成的,其中 16.1 % 16.1\% 16.1% 的可能膝盖和 28.4 % 28.4\% 28.4% 的可能脚踝没有 G r o u n d   T r u t h Ground~Truth Ground Truth 注释。这是一个很有希望的结果,表明热图是一个有用的信号,指示图像中的截断和严重遮挡的情况

7、总结

本文主要提出了沙漏堆叠网络,对网络的预测不断进行优化,使用中间监督,生成热图,对关节截断和遮挡具有较好的指示作用。

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值