题目:Stacked Hourglass Networks forHuman Pose Estimation
作者背景:
ECCV 2016录用
作者来自密歇根大学
一、中心思想
- 提出一种新的卷积网络结构,称为堆叠式沙漏网络,用于人体姿态估计
- 融合各个尺度提取特征,重复自顶向下、自底向上的架构
- 几个关键技术:残差模块、Hourglass Module、中间监督
二、模型结构
对于模型的架构,我们逐级拆解来理解:
- 从最小的单元残差模块开始理解
- 残差模块组合成为Hourglass Module
- Hourglass Module堆叠起来,前后增加一些简单的层,即构成了网络整体架构
接下来进行详细解释
2.1 残差模块:
残差块结构如图所示,详细的数据过程是下面的图片:
- 主体路径是是3个卷积层,卷积核分别为:1*1、3*3和1*1;
- skip路径是一个卷积核为1*1的卷积层
2.2 Hourglass Module
Hourglass Module由上面的Residual Module组成,由于它是一个递归的结构,所以可以定义一个阶数来表示递归的层数,首先来看一下一阶的Hourglass Module
上图中的Max pool代表下采样,Res代表上面介绍的Residual Module,Up Sample代表上采样,这里使用的上采样方法是最近邻差值
多阶的Hourglass Module就是将上图虚线框中的块递归地替换为一阶Hourglass Module,由于作者在实验中使用的是4阶的Hourglass Moudle,所以我们画出了4阶的Hourglass Module的示意图:
对应的原文中的一个HourglassMoudle的架构如Fig3所示,其中每个box都代表一个残差模块
2.4 整体架构
先看一下整体架构的概况,如下图所示
- 网络输入的图片分辨率为256×256,然后经过一个7*7,步长为2的卷积层,之后再经过一个残差块和Maxpooling层使得分辨率降低到64,这一步骤的目的主要是降低显存
- 然后将尺寸为64*64的特征图输入到8个堆叠起来的(4阶Hourglass Module+Res+conv+relu+conv)中,特征输出尺寸保持不变
- 最后一个Hourglass Module的输出不再进行合并,直接输出heatmap
数据流图如下所示
上面的整体网络架构图中,红色的模块为中间监督的过程,输出为16通道,针对MPII数据集,因为该数据集有16个关节点,因此输出为16通道
下面,具体介绍一下网络的中间监督过程
2.5 中间监督
- 作者在整个架构中堆叠了8个hourglass模块,提到其关键是要使用中间监督来对每一个hourglass模块进行预测,即计算每个hourglass模块输出的heatmap的损失
- 中间监督的位置图下图中蓝色部分所示,选取该位置的原因是:监督的特征,需要同时包含高级别和低级别、全局和局部特征,因此选在每个hourglass模块的输出位置
作者对每个hourglass的输出的heatmap计算loss,每个loss给予不同的权重,并加和成为模型学习的总loss,进行反向传播学
三、其他
3.1 损失函数
损失函数采用Mean Squared Error(MSE)来比较预测的heatmap与ground-truth的heatmap(在关键点中心周围使用标准差为1的2D高斯分布)
参考文献:
【1】Newell A , Yang K , Deng J . Stacked Hourglass Networks for Human Pose Estimation[J]. arXiv e-prints, 2016.