Newell等人在2016年提出Hourglass的结构[1],通过重复自底向上和自顶向下并联合中间结果的监督用在人体姿态估计中可以很好地利用身体不同部位的空间关系。
原文中的网络结构这个沙漏形状的网络按照以下的顺序对输入图像进行处理用shenxiaolu1984[2]绘制的图可以很好地解释:
二阶Hourglass的计算流程(每个绿色框中上面表示输入通道数,下面表示输出通道数)- 输入图像分成两路处理,第一路保持不变(HxWxM)--卷积-->(HxWxN),第二路进行下采样(HxWx3)-->(H/2xW/2xM)--卷积-->(H/2xW/2xN)
- 整个网络结构呈中心对称,对称的输出图像逐元素相加
- 完成相加的操作之后,如果不是最后一层还需要再进行上采样,上采样也有很多种方式,有直接用邻近插值、双线性插值的,也有使用Deconvolution的方式。
- 最后的输出根据需要检测的关键点的数量决定
输出是一个K通道的图,每个通道图有且仅有一个部件的响应信息 - 简单地总结成:
每次降采样之前,分出上半路保留原尺度信息;
每次升采样之后,和上一个尺度的数据相加;
两次降采样之间,使用三个Residual模块提取特征;
两次相加之间,使用一个Residual模块提取特征。
人体姿态估计
Stacked Hourglass Networks在人体姿态估计是在人体姿态估计算法中提出的,
左边是在网络中自始至终使用的残差模块,右边用于说明中间结果的监督内容是如何作用的,其中蓝色标示的heatmaps与真值进行误差计算,利用1×1的Conv层对heatmaps进行处理得到heatmap(蓝色)之后的中间特征图以保证和输入下一个Hourglass的特征图的通道数一致可以加和然后再输入到下一个Hourglass中。每一个Hourglass网络都添加Loss层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 ↩
网友评论