【论文阅读笔记】Stacked HOurglass Networks for Human Pose Estimation

论文地址:https://arxiv.org/abs/1603.06937

论文总结

  本文方法名为Hourglass,是16年的老论文了。其论文中的思想,主要是发现了重复的上采样和下采样这种结构(重复的encoder-decoder)的重要性,而且在模型训练的时候添加中间监督,其认为这两点很重要。论文结构入下图所示,每一个“沙漏”就是一个hourglass,多个就是stacked hourglass。

【论文阅读笔记】Stacked HOurglass Networks for Human Pose Estimation_第1张图片

论文介绍

Hourglass 设计

  重复编解码的灵感是来自于作者认为:识别脸和手是需要局部信息的,而整体的姿态识别需要整个身体的信息。因此,整合、获取各种尺度的信息是必要的。人体的方向朝向、四肢的关节安排,相邻关节点的联系,这都需要图片中不同尺寸的信息。

  Hourglass使用skip connection来整合不同分辨率的信息。使用卷积层和最大池化层将feature map下采样到非常低的分辨率,在最大池化层前使用相对更多的卷积(在原分辨率上进行卷积操作)。在上采样阶段,使用最近邻上采样和skip connection(element-add)整合不同尺度的信息。Hourglass的拓扑结构是对称的。
  在达到网络的输出分辨率后,使用连续两轮 1 ∗ 1 1*1 11卷积产生最终的网络预测。一个Hourglass结构,不包括 1 ∗ 1 1*1 11的预测卷积,如下图所示:

【论文阅读笔记】Stacked HOurglass Networks for Human Pose Estimation_第2张图片

网络层设计

  在layer的设计上,作者发现 5 ∗ 5 5*5 55卷积不如 3 ∗ 3 3*3 33卷积。同时,要使用 1 ∗ 1 1*1 11进行channel reduction。除了对这些层的设计的探索外,其他的探索和修改对进一步提高性能和训练时间几乎没有什么作用。

  最终Hourglass的设计上,大量使用了残差模块(Residual modules)。大于 3 ∗ 3 3*3 33的卷积核将不再使用,而瓶颈层 1 ∗ 1 1*1 11卷积核用于限制每层参数的总数,减少了总内存的使用量。网络所使用的模块如下图所示,Hourglass的网络设计图3中的每一个框都表示一个残差模块。

【论文阅读笔记】Stacked HOurglass Networks for Human Pose Estimation_第3张图片

  上图中,右边的蓝色表示中间监督的heatmap,可以应用loss进行监督。然后通过 1 ∗ 1 1*1 11卷积将heatmap重新映射成中间feature maps,所以所以,第n个hourglass的输入有三个:(1)第n-1个hourglass的特征输出;(2)第n-1个hourglass的heatmap映射的特征;(3)第n-1个hourglass的输入特征

  所有的残差模块输出通道数都为 256 256 256,由于GPU资源限制,所以所有Hourglass的输入输出分辨率都为 64 ∗ 64 64*64 6464,而这不会影响模型性能。网络从stride=2的 7 ∗ 7 7*7 77的卷积层开始,再接一个残差块和最大池化层,将分辨率从 256 256 256降到 64 64 64

  而对于中间监督,所有的输出监督都使用同一个ground-truth。不同ground-truth不共享权重。

训练细节

  将图片 resize 到 256 ∗ 256 256*256 256256作为网络的输入,数据增强包括旋转( ± 30 \pm30 ±30),尺寸缩放(.75-1.25)。优化器采用RMSProp,初始学习率为 2.5 e − 4 2.5e^{-4} 2.5e4,用12GB的TitanX GPU训练了大约3天。一个单独的前向传播过程需要花费 75 m s 75ms 75ms

  在测试时,使用flip操作,与原图的输出进行平均,可以在验证集上提升 1 1% 1个点。

  损失函数为MSE,标准的高斯核heatmap,标准差为1。

结果展示

  在LSP和MPII数据集上结果的展示:

【论文阅读笔记】Stacked HOurglass Networks for Human Pose Estimation_第4张图片

消融学习

  探索网络深度对检测结果的影响:(1)Hourglass的个数;(2)在Hourglass中每个分辨率之间的残差快的个数。下图左边的图,左侧两个是2个hourglass,右侧两个是8个hourglass。下图右边,是验证中间监督再不同堆叠个数上进行的结果。
【论文阅读笔记】Stacked HOurglass Networks for Human Pose Estimation_第5张图片

  最好的中间监督是在最高分辨率的上采样之后。在最终输出分辨率之前,中间监督确实起作用了,但不足以胜于所有。

【论文阅读笔记】Stacked HOurglass Networks for Human Pose Estimation_第6张图片

  

  

你可能感兴趣的:(论文,读书笔记,姿态检测)