资源链接
论文出处:2016ECCV
论文
代码
论文个人解读
这篇文章开发的单人姿态估计模型Stacked Hourglass,是2016年最好的人体姿态估计模型,在MPII数据集中是当时的冠军,PCKh指标为89.4%。文中提出一种新型卷积网络结构,后面的许多网络都有其的影子。
模型结构
网络结构比较清晰明了,由模块->子网络->全网络
stacked hourglass Networks:
single hourglass networks
网络特点
1) Residual模块:
Residual模块中,主干为卷积路(conv),枝干为跳级路(skip)。
卷积路:由3个不同尺度的核卷积层(白色)串联而成,其间插有Batch Normalization(浅蓝)和ReLU(浅紫)。
跳级路:包含一个核尺度为1的卷积层。
特点:所有卷积层的步长为1,pading为1,不改变数据尺寸,只对数据深度(channel)进行变更,并且
channel大的卷积,kernel要小;kernel大的卷积,channel要小。
2) 一阶Hourglass(one stage hourglass)
第一行:包含三个Residual模块(浅绿),并且是原尺度操作。
第二行:先使用max pooling进行降采样,再使5个Residual模块(浅绿),最后使用双线性插值进行上采样。
3) 二阶Hourglass(two stage hourglass)
一阶模块的灰框内部分替换成一个一阶Hourglass(输入通道256,输出通道N),得到二阶Hourglass
4) 四阶Hourglass(four stage hourglass)
文中使用的是四阶Hourglass:
n阶Hourglass子网络能够提取原始尺度到
1
/
2
n
1/2^n
1/2n的尺度特征,最终网络不改变数据尺寸,只改变数据深度。
5) 一级Hourgalss人体姿态估计网络:
原始图像经过一次降采样(橙色),输入到Hourglass子网络中。Hourglass的输出结果经过两个线性模块(灰色),得到最终响应图。期间使用Residual模块(浅绿)和卷积层(白色)逐步提取特征。
6) 二级Hourgalss人体姿态估计网络:
文中使用的完整网络包含两个Hourglass。二级Hourgalss重复了一级网络的后半结构。
7) 损失函数:
MSE均方误差--L2loss,每个hourglass计算一次loss然后,然后所有的加在一起。中间出现loss叫作**中继监督(intermediate supervision)**思想,汗颜。。。。。。
算法效果
算法在MPII数据集上的PCKh指标如下:
帮助
1) 使用模块堆叠进行网络设计。。。
2) 使用先降采样,再升采样的全卷积结构进行网络设计。。。
3) 使用跳级结构辅助升采样进行网络设计。。。
4) 使用中继监督训练进行网络设计。。。