Newell等人在2016年提出Hourglass的结构[1],通过重复自底向上和自顶向下并联合中间结果的监督用在人体姿态估计中可以很好地利用身体不同部位的空间关系。
这个沙漏形状的网络按照以下的顺序对输入图像进行处理用shenxiaolu1984[2]绘制的图可以很好地解释:
- 输入图像分成两路处理,第一路保持不变(HxWxM)--卷积-->(HxWxN),第二路进行下采样(HxWx3)-->(H/2xW/2xM)--卷积-->(H/2xW/2xN)
- 整个网络结构呈中心对称,对称的输出图像逐元素相加
- 完成相加的操作之后,如果不是最后一层还需要再进行上采样,上采样也有很多种方式,有直接用邻近插值、双线性插值的,也有使用Deconvolution的方式。
- 最后的输出根据需要检测的关键点的数量决定
输出是一个K通道的图,每个通道图有且仅有一个部件的响应信息 - 简单地总结成:
每次降采样之前,分出上半路保留原尺度信息;
每次升采样之后,和上一个尺度的数据相加;
两次降采样之间,使用三个Residual模块提取特征;
两次相加之间,使用一个Residual模块提取特征。
人体姿态估计
Stacked Hourglass Networks在人体姿态估计是在人体姿态估计算法中提出的,
MPII Human Pose Dataset 数据处理:
- 采用MPII提供的scale和center标注信息,以目标人为中心,裁剪图片
- Resized to 256x256
- Rotation (+/- 30 degrees)
- Scaling (.75-1.25)
未进行平移处理,因为图像中目标人的位置是很重要的信息.
在人体姿态估计上取得2016年的冠军。
-
Stacked Hourglass Networks for Human Pose Estimation:https://arxiv.org/abs/1603.06937 ↩