姿态检测整理--01-Stacked Hourglass Networks for Human Pose Estimation

Stacked Hourglass Networks for Human Pose Estimation(发表于2016年)

基本上是目前姿态研究的基础网络,具有bottom-up和top-down二者特性。bottom-up是先得到肢体再归并到不同个体。


姿态检测的history:

人们开始从传统方法[2-9]转而研究深度神经网络在这方面的应用,是Toshev[24]成功应用神经网络估计人类姿态,他使用的方法是回归关节点坐标(x,y)。Tompson[15]将热点图headtmap替代了回归的方法,同时使用不同尺度分辨率逐渐获取特征。然后又到了Newell的stacked Hourglass,也是组合不同分辨率所得特征,也就是这篇文章喽。

Hourglass和它之前的网络不同点说明:

Tompson的方法是使用CNN和图形模式,图形模式用来获取关节点间的关系(继续深挖/探究关节点间的联系的方法这也是很多人研究的方向[20,25,17]),比如,chen[25]使用聚类的方法。CNN和图像模式组合的方法是2015年的相关研究的经典基调。当然也有不同的方法,比如有:迭代的方法[19],图片先作为输入,然后将预测结果作为输入来微调网络。Wei[18]使用多个阶段的提取结果。
在微调时,,Tompson等的研究使用短视频cascade(这儿的cascade翻译是错误的,读过相关论文,这是级联学习方法,是使用多阶段训练的方法提升精确度)的方式,Newell发现cascade帮助不大,错误更多是由于肢体被挡住或者识别错误,所以继续在当前尺度下进行调整不能提高预测结果。

对Hourglass的细节说明:

对于单一的hourglass结构

Hourglass和fully convolutinal networks[23]以及其他网络[15,30,31,32,33,34,35,36,37,38]相似(在不同尺度下识别姿态,截至到目前2017年,较多用到的是Hourglass,FCN,ResNet),但是结构特殊:同时包含了bottom-up(from high resolutions to low resolutions)和top-down (from low resolutions to high resolutions)。而且,整个网络有多个bottom-up和top-down过程。这样设计的目的是在各个尺度下抓取信息。[关于典型网络结构,xie[30]做了一个总结。全卷积网络和整体嵌入网络结构倾向与使用bottom-up,不太重视top-down。]

堆叠Hourglass结构之后:

Hourglass处理top-down过程时,不用unpooling或deconv层,而是使用最近邻的上采样以及使用跳跃连接方式skip connection(ResNet 结构)。
有人为了得到多尺度下的特征,使用了多条分支[15,18],Hourglass使用单处理流程线,但能达到多尺度获取特征的效果。最后,将不同分辨率下的特征联系起来,使用了Tompson的方法—对低分辨率做最近邻上采样从而得到特征的元素,最后得到的是热度图。

网络设计:

Hourglass使用了残差网络,并且使用了googlenet中的分解大fliter的方法。
姿态检测整理--01-Stacked Hourglass Networks for Human Pose Estimation_第1张图片
Hourglass还会叠加这个结构,可以在多尺度下发现特征。第一层结构可以发现局部和整体的特征,将这些特征送入第二层结构之后,高层次特征会得到更高层次特征,高层次特征在地分辨率图像中出现。单层Hourglass可能会不能发现一些尺度下特征与其他尺度下的关系,所以要用两层这个结构。最后,loss是两个结构用同一套ground truth进行计算。

训练:

数据预处理:

用到了FLIC和MPII数据集。FLIC是电影截图,给出上半身标注。MPII是生活照片,是多人图片。
因为没有预先输入人体检测的模型,训练时需要将人放到图片中间,以决定target person。FLIC是根据标注将人放到图片中间。MPII是根据target person裁剪得到256×256的图片,对于centering之后仍不清楚是否合适,需要做数据增强(需要指出,Hourglass 是处理单人姿态检测)。


这个方法的简单理解,可以参考到网络的可视化,不过从准确性和信息丰富角度,比可视化多一个ResNet结构,而且是专用的一段网络。

你可能感兴趣的:(神经网络论文选读)