Stacked Hourglass Networks

终于跳进人体姿态估计的坑了,本篇文章来源于ECCV2016。
论文链接
它的亮点是通过反复上采样和下采样,不断地融合空间信息,这样就可以把各个关键点的信息连贯地融合到一起,最后输出基于像素点的预测,它是一个singel pipeline,其中feature map最小的是4 * 4。
Stacked Hourglass Networks
它的设计如图3:经由卷积层和max pooling层将feature map降至较低的分辨率,在Max pooling之前,它有一个分支分出,这里很像是resent的residual操作。当Max pooling到最小尺寸后,再经由上采样之后,在加上之前的分支,这也可以看作是一个沙漏的结构,这个结构是对称的,每一层Max pooling都有对应的上采样。
在输出网络之后,有两个1 * 1的卷积,来生成一组heatmap,网络预测节点在每个像素处存在的概率。在图3之前还有两个1 * 1的卷积。
模型中使用了大量的residual modules
Stacked Hourglass Networks
同时为了减少计算量,hourglass的feature map的size是64 * 64.它首先经过7 *7,stride=2的卷积层,然后在经由Max pooling,将256降到64,最后整个hourglass modules输出256个feature.
这里盗几张大佬的图。
一阶Hourglass:
Stacked Hourglass Networks
二阶Hourglass:
Stacked Hourglass Networks
四阶Hourglass:

Stacked Hourglass Networks
每次降采样之前,分出上半路保留原尺度信息;
每次升采样之后,和上一个尺度的数据相加;
两次降采样之间,使用三个Residual模块提取特征;
两次相加之间,使用一个Residual模块提取特征。
一级网络:
Stacked Hourglass Networks
原始图像经过一次降采样(橙色),输入到Hourglass子网络中。Hourglass的输出结果经过两个线性模块(灰色),得到最终响应图。期间使用Residual模块(浅绿)和卷积层(白色)逐步提取特征。

另一个关键点是loss。hourglass可以反复叠加,可以不断的重复自底向上和自顶向下的过程,从而可以进一步预估或者重新预估高级语义。
由于hourglass模块整合了局部和全局的信息,若想要网络在早期进行预测,则需要它对图片有一个高层次的理解,即使只是整个网络的一部分。最终,作者将中间监督设计在如下图所示位置
Stacked Hourglass Networks
这种在尺度之间来回切换的方法特别重要,因为保留特征的空间位置对于完成最终的定位步骤至关重要。关节的精确位置是网络做出其他决策时不可缺少的线索。对于像姿态估计这样的结构化问题,输出是许多不同特征的相互作用,这些特征应该结合在一起形成对场景的一致理解。相互矛盾的证据和解剖学上的不可能性是一个很大的线索,表明在这条线的某个地方发生了错误,通过反复思考,网络可以在考虑整体一致性的同时保持精确的局部信息的特性。作者通过使用额外的1x1卷积将中间预测映射到更多的通道,从而将它们重新整合回特征空间。这些将被添加回沙漏中的中间特性以及前一个沙漏阶段的输出特性(如图4所示)。在最终的网络设计中,使用了8个沙漏。重要的是要注意权重是不共享的,使用相同的基本事实对所有沙漏的预测应用损失。
Stacked Hourglass Networks
对于不同的Hourglass Module,中继loss是单独计算的,这样使得后面的Hourglass Module能够更好地再评估

训练
这篇论文只能用于单人姿态检测,但是在一张图片中经常有多个人,解决办法就是只对图片正中心的人物进行训练。将目标人物裁剪到正中心后再将输入图片resize到256×256。为了进行数据增量,作者将图片进行了旋转(+/-30度)、scaling(.75-1.25)。
网络使用RMSprop进行优化,学习率为2.5e-4. 测试的时候使用原图及其翻转的版本进行预测,结果取平均值。网络对于关节点的预测是heatmap的最大**值。损失函数使用均方误差(Mean Squared Error,MSE)来比较预测的heatmap与ground truth的heatmap(在节点中心周围使用2D高斯分布,标准差为1)

为了提高高精度阈值的性能,在转换回图像的原始坐标空间之前,预测在其下一个最高邻居的方向上偏移四分之一像素(这里没明白)。

测试结果:
Stacked Hourglass Networks
Stacked Hourglass Networks
Stacked Hourglass Networks