Stacked Hourglass Network for Human Pose

在Stacked Hourglass Network被提出之后,我们可以看到有很多论文如雨后春笋般冒出来。可谓说Hourglass的结构性能之好。其网络结构灵活,易于扩展,并且有开源实现的代码,使得这个网络模型变得非常火热。原文链接Stacked Hourglass Network for Human Estimation Pose



Stacked Hourglass Network for Human Pose Estimation

网络结构

网络总体思路是受ResNet的思路影响,希望综合考虑各尺度下不同的feature来让网络学习姿态。我们可以将整个网络分为两个部分。第一个是预处理部分,也就是由Residual module组成的部分。这一部分主要是类似CPM中FeatureExtractor的作用。具体的实现中,作者使用了三个Res Module来完成整个预处理的功能。
Stacked Hourglass Network for Human Pose Estimation
另一部分就是SHN经典的部分,也就是沙漏结构。如下图所示。
Stacked Hourglass Network for Human Pose Estimation
其中的block都是res module。我们可以看到,文章使用了 多个尺度 的feature map作为旁枝,逐步将网络深入,最终触底后。之后仿照ResNet,逐步上采样并加和对应尺度的feature map。

在论文中,作者又提出了也可以将SHN进行串联
Stacked Hourglass Network for Human Pose Estimation
上图的蓝色部分是输出的heatmap。我们可以看到,hourglass module的输入是上个stage的remap之后的heat map,feature map和最开始res module的三者加和。这样一来,整个网络的结构就大致讲清楚了。

论文思路

在CPM当中,我们曾经提出过扩大感受野对于人体姿态估计是非常重要的,这一点在本篇文章中也得到了很大的重视。我们可以看到,作者在网络的中间层使用了FE得出的feature map,也就是使用了 原图提供的信息 。同时我们还看到作者在中间网络中 使用了remap之后的heat map作为下个stage的参考依据同时还加入了本stage的feature map ,这个是与CPM不同的一点。

我认为虽然具体结构和CPM看起来差之甚远,然而实则都反映了在人体姿态上的两个最主要的思路:

  • 扩大感受野
  • 使用先前估计的结果Coarse2Fine一个个stage进行优化

这两点对于之后改进网络甚至于重新设计网络都是一个很好的启发,并且可以顺着如此的思路对网络进行改进,并提出自己的解决方法。

实验再现

目前在MPII上使用论文中的方法,达到了平均92.4%@PCKh-0.5的成绩。目前没有上传结果,并且还希望能够使用COCO数据集来测试性能。

改进思路

网络在预处理部分使用了一个7*7 stride2的大核来缩小输入尺寸。其缘由还是因为网络参数过于庞大。看来在相关领域,使用state-of-art方法的话,应用上还是有一定的设备门槛的。可以从在保持性能下降不多的前提下,减小网络体积。


「实验的结果在之后补全」

相关文章: