Convolutional Pose Machine - 卷积姿态网络
论文主要解决 单人单目 RGB图像姿态估计问题。本篇论文也是现在非常火热的openpose开源项目的核心之一,这篇来自CMU的论文为单人姿态估计方面研究注入新的思路。论文网址 Convolutional Pose Machine 大家可以下载原文。
1.网络结构
首先我们来看网络的具体结构,正如如下两图所示。
本文的Feature Extractor是采用VGG-19到conv4-2的网络结构(具体训练应该是使用imagenet训练好的参数finetune)。同时有一个并列的FeatureExtractor’ 作为stage>=2的输入。
接下来是CPM的多stage结构。我们可以看到,为了快速放大感受野,CPM使用了3个11*11的大核串联的结构,并用两个1*1核作为网络收尾。这里类似FC的设计,但是因为保持FCN的结构,所以使用了1*1conv,最后一个1*1conv输出joint数目+1个Heatmap。其中一个是空响应的背景layer。每个stage的输出都是需要与gt进行比较并计算组成 Losstotal L o s s t o t a l 。
2.论文思路
2.1姿态估计
本篇文章的主要贡献是利用卷积神经网络的方法从单目RGB图像中内隐地利用图像的feature与图像相关的空间模型学习了人体姿态。而这种方法不需要任何显式先验。
首先作者提出,通过实验得出,人体姿态估计问题 需要使用其他肢体部分的提示 。作者指出如果想要利用好这些肢体点的提示,就需要 扩大卷积网络的感受野 。扩大感受野的方法就是使用大kernel多stride+pooling的方法,快速获得更大感受野。那么这里我们为什么需要multistage呢?我认为 在网络中如果想要利用好身体肢体点之间相互关系,就要 建立在一个准确的大致估计,也就是一个整齐的heatmap当中 。作者之所以使用了Multistage来refine整个估计,就是为了能够将下一步的结果建立在上一步精炼过的姿态之上。而这样,就自然而然引出了中间监督的过程。
作者在本篇文章中提出了中间监督的思路。正如我上文所说,我们需要将下个stage的输出建立在上一步精炼过的估计上,所以我们需要将网络分段,并在中间进行规范化的过程–也就是我们所说的监督。我们在每个stage的末端进行loss计算,并