2D关键点检测之hourglass:Stacked Hourglass Networks for Human Pose Estimation

image.png
论文链接:Stacked Hourglass Networks for Human Pose Estimation
时间:2016.3 ECCV2016
作者团队:Alejandro Newell, Kaiyu Yang, and Jia Deng
分类:计算机视觉–人体关键点检测–2D top-down

目录:

1.Hourglass背景
2.Hourglass算法流程
3.Hourglass结果评估
4.Hourglass网络架构图
5.引用

1.主要在于学习记录,如有侵权,私聊我修改
2.水平有限,不足之处感谢指出


1.Hourglass背景

  对于姿态估计这种关联型任务,全身不同的关节点,并不是在相同的feature map上具有最好的识别精度。hourglass网络架构有效地利用了图像多个尺度的空间信息,可以很好地应用于人体关键点检测和人脸关键点检测等任务,主要贡献在于利用多尺度特征,充分考虑多个关键点间的相互关系来识别姿态。


#####2.Hourglass算法流程

  1. Res Block模块
    image.png
      通过一个卷积层,卷积核大小为7*7,slide为2,pad为3,输出层数为128。再经过一个残差层ResLayer,输出通道为256。
    image.png
    2.hourglass_modules模块
      进入hourglass网络,每一个hourglass模块的结构图如下:
      hourglass模块的输出再经过1 * 1的卷积层后,结果作为当前stack的热图输出。在两个漏斗网络之间,还要对热图进行进一步的处理,分别是:1.对上一个漏斗网络中的输出通过一个卷积层;2.对上一个漏斗网络的热图通过一个卷积层。最后这两个结果和前一个漏斗的输入合并,作为下一个漏斗网络的输入。漏斗间的处理结构图如下:
    image.png
    image.png
      hourglass模块具有对称的结构,从中间依次扩展到两边,可以看做是小漏斗变成大漏斗,程序中用递归的方式实现这个模块。整个module是一个down-up(降采样)+top-down(上采样)的对称过程,上采样方法采用的是最近邻采样。图中的每个小块都可以看作是经过Residual模块和池化或反池化后的结果,前半部分的特征图会加到后半部分对称的位置。
    无标题.png
      在low2中便是递归hourglass模块,某些ResLayer可能存在不一样,具体见Hourglass网络架构图。
    多个Hourglass级联起来,再加上中间监督进行训练。
      损失函数使用均方误差(Mean Squared Error,MSE)来比较预测的heatmap与ground truth的heatmap(在节点中心周围使用2D高斯分布,标准差为1)
    image.png

3.Hourglass总结

本文的设计基于模块到子网络再到完整网络的思想。一阶hourglass网络就是简单的残差连接,上半路在原尺度进行,下半路先经历下采样再进行上采样。对于二阶hourglass网络,就是在一阶的基础上将一阶网络嵌套进来。之后的高阶hourglass就是一层一层嵌套,特点:

  1. 使用模块进行网络设计
  2. 先降采样,再升采样的全卷积结构
  3. 跳级结构辅助升采样
  4. 中继监督训练
  5. 整个hourglass不改变特征的尺度,只改变特征的深度。

4.Hourglass网络架构图

pose.onnx.png


5.引用

引用1
引用2
引用3
引用4

猜你喜欢

转载自blog.csdn.net/qq_54793880/article/details/131043550