摘要:
这篇文章介绍了一个新的卷积网络结构用于人体姿势估计,作者不断重复bottom-up、top-down过程以及运用中间监督对于网络性能的提升。
介绍:
理解一个人的姿势对更高层次的任务是有作用的,比如说行为识别,也是一些人机交互任务的基础。但是姿势估计一直都是计算机视觉的一个挑战,一种好的姿势估计系统必须对遮挡和严重变形具有鲁棒性,对于稀有和新颖的姿态是成功的,并且对于服装和照明等因素引起的外观变化是不变的。早期的工作利用鲁棒的图像特征和复杂的结构化预测解决了这些困难:前者用于产生局部解释,而后者用于推断全局一致的姿态。
作者提出了一个新的堆叠沙漏来处理人体姿势问题,堆叠沙漏网络的结构如下
Hourglass模块设计就是为了捕捉每个尺度下的信息,由于需要捕捉脸,手这些部分的时候需要局部的特征,而最后对人体姿态进行预测的时候又需要整体的信息。为了捕获图片在多个尺度下的特征,通常的做法是使用多个pipeline分别单独处理不同尺度下的信息,然后再网络的后面部分再组合这些特征,而作者使用的方法就是用带有skip layers的单个pipeline来保存每个尺度下的空间信息。
在Hourglass模块中,卷积和max pooling被用来将特征降到一个很低的分辨率,在每一个max pooling步骤中,网络产生分支并在原来提前池化的分辨率下使用更多的卷积,当到达最低的分辨率的时候,网络开始upsample并结合不同尺度下的特征。这里upsample采用的方法是最近邻插值,之后再将两个特征集按元素位置相加。
当到达输出分辨率的时候,再接两个1×1的卷积层来进行最后的预测,网络的输出是一组heatmap,对于给定的heatmap,网络预测在每个像素处存在关节的概率。
热度图
在这个网络feature map层层叠加后,最后一个大的feature map 既保留了所有层的信息,又与输入原图大小相同,意味着可以通过1x1卷积生成代表关键点概率的heat map。
Residual Module
如上图,右边那个图代表第一个沙漏网络,提取出的混合特征经过1个1x1全卷积网络后,分成上下两个分支,上部分支继续经过1x1卷积后,进入下一个沙漏网络。下部分支先经过1x1卷积后,生成heat map.蓝色方块比其他三个方块要窄一些,这是因为heat map矩阵的depth与训练数据里的节点数一致,而其他几个则具有较高的depth,heat_map继续经过1x1卷积,将depth调整到与上部分支一致,如256,最后与上部分支合并,一起作为下一个沙漏网络的输入。
中间监督
以前的预测都是只比较loss最后的预测与标记的差距,而级联的沙漏网络是每一个沙漏的head map都会参与到与loss的比较。