Human pose estimation using global and local normalization(中科大的论文)
也是bottom-up,人体姿态估计分为两大部分,关节检测,关节的空间位置匹配。这篇论文主要将精力放到后者上面。对此提出了两阶段的归一化(感觉在这篇文章里面称为标准化更好),躯干的标准化,肢体的标准化。这篇文章的目的是想提出类似与PCA normalization(whitening),Batch Normalization 一样的normalization的方法。
总体内容:
首先根据关节检测结果,旋转躯干使人体竖直向上。然后是四肢,放到合适的拓扑位置(也是竖直向下)。这个网络总体模型参数少,训练时间短。
关节检查模型:
有人使用回归方法,更典型的方式是估计各关节的置信图。several joint detectors, such as FCN [21], ResNet [13] (deepercut)and Hourglass [22]。然后基于FCN的方法对于低分辨率的特征图效果不好,不能得到精确的关节位置。这篇论文偏偏使用这个检测方法FCN,可以看出对自己模型的自信。
关节关系模型:
构建关节的联系,通常的方法是将检测到的成对的身体部件间关系看作一个选择的区间(谁与谁登对不是最优解问题,是有选择空间的),并且这种(配对)关系空间是可求解的。Tomson将肢干位置的空间关系构建成markov random field (MRF),然后这些关系用于训练网络。然后还有学习结构特征的方法,采用空间变换方法获取特征的空间关系。实际上,结构特征,在PAF(Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields)也以候选肢体limb的形式给出。所以一个牛B的做法是看完这两篇文章能搭建一个自动识别人体空间结构的网络出来,将现有的躯体位置信息转化成空间拓扑相关的信息,用于训练网络。
标准化流程:
关节检测和关节的空间配置都是卷积网络,得到关节的置信图之后,使用normalizaton调整关节。所以这篇文章不依靠低分辨率下的特征,而是依靠肢体的关节分布概率图(置信图)。
躯干的标准化,Body normalization
使用了四个关节点,{left shoulder, right shoulder, left hip, right hip}
四肢的标准化
一共有四个局部的标准化处理四肢,都有一致的方向。每个肢干包括三个关键点three joints: a root joint (shoulder, hip), a middle joint (elbow, knee), and an end joint (wrist, ankle).
对比多模型对肢干的动作多样性问题(就是各种动作)的处理能力:
现有有效的方法包括:1.给出超类(不同尺度下的特征,类Hourglass都会有相应中间图 )supervision[9]。2.从多分支上得到不同上下文的结果,再将这些结果混合的模型[39]。然后,这篇文章讲这些是为了做对比,分别用这两种方法替代了这篇文章提出的姿态标准化方法,姿态标准化的效果更好。这儿可以基本得出一个结论,使用多分辨率获取特征图的效果和标准化的效果基本上是一致的。
网络加入多尺度检测能力:
等这些验证,证明了自己能力之后,又对于检测这一步骤增加了多尺度的因素,multi-scale supervision and multi-scale fusion, which show performance gain in many works [20, 21, 30, 36]。
网络模型
接下来用到的网络结构包括:关节检测,归一化网络,精调整网络。
关节检测:
用于验证比较的三种网络 Fig.6
FCN网络:FCN使用三种stride卷积步长得到三种不同的分辨率的score map。
ResNet:deepercut是使用ResNet网络
Hourglass网络
归一化网络:
这个转换比较明了了,重点是他是如何对后向传播设置,使得这一结构能变成神经网络的层,这个有点意思,Fig.7。
微调网络:
包含有4个卷积层,有点像GoogleNet, four layers are 9 × 9 × (K + 1) with 128 output channels, 15 × 15 × 128 with 128 output channels, 15 × 15 × 128 with 128 output channels, and 1 ×1×128 with J output channels, where J denotes the number of output joints。
Loss function:
FCN和ResNet都要将关节点做膨胀处理,半径为r。然后Hourglass使用2D 的高斯核函数,这是得到score map的一般做法。然后这些转换后得到的score map的数值作为ground truth。
不过这是一个单人的姿态检测方法,这篇文章的重点是引入了一个新的处理环节,并且效果还不错。