Deep globally constrained MRFs for Human Pose Estimation

1

1)文章设计了一个由粗糙到精细的这样的一个预测的过程,客服之前tompson他们的refine网络不能很好的修正coarse网络的缺陷

2)作者在coarse网络和refine网络之间加入全新的MRF网络,MRF用一个低维流型进行因子化限制

3)不同关节点对的权重是不一样的,对于胳膊肘而言,肩膀和手腕对他的影响是不同的

2、

之前tompson的方法的缺陷

1)用单独的一个滤波器e_a|c来刻画关节点间的关系似乎是简单了点,对于刻画复杂的节点关系明显是不够的,因为tompon的条件概率仅仅刻画并不复杂的数据集,一旦一个数据集变得复杂的话,两个关节点之间的关系也就复杂了,仅仅用一个大小为63x63的卷积核来刻画两个关节点的条件概率显然是不够的哈,所以作者在本文将会提出对于每一种关系的话,将由K个大卷积核来代替的,而不是一个,对于这K个结果做一个加权上面的处理哈。

本文的网络结构分为三部分,coarse, MRF, refine三部分

2)滤波器刻画了不同关节点间的位置关系

3)在本文中,每一个滤波器都是由K个滤波器线性组合完成的。那么k个线性组合的参数是怎么来的呢?他是通过将feature map映射到低维的空间里面获得的,低维的流型空间是K维的,因为这k个参数是由单独的网络提取出来的,所以再运行的时候是变化的而不是静态的,这k个weight是通过一个自动编码器获得的如图所示

Deep globally constrained MRFs for Human Pose Estimation

4)不同的pairwise之间的权重是不一样的,假设有20对,那么会是20个不同的数字,而不是相同的

5)MRF的message passing是参考了itertive feedback来的,具体参考论文里的参考文献


3 网络结构实现

Deep globally constrained MRFs for Human Pose Estimation

网络框架如上,没什么困难理解的地方

1)coarse网络部分采用三个水平的金字塔模型

2)MRF部分网络的unary和pairwise是通过卷积学习出来的,由粗糙网络出来的feature的大小是32x32,为了能够覆盖整个feature map,所以用于后续概率图的卷积核大小是63x63,因为概念都是从tompson来的,所以直接把公式那过来吧

Deep globally constrained MRFs for Human Pose Estimation

来看下面的一段话,因为f_a|c刻画的条件概率的话太过单一,并不能表示出很强的信息,所以作者将几个f_a|c^k结合在一起来使用,也就是前面提到的低维流型来进行因子化,其实就是简单的相乘啦!

Deep globally constrained MRFs for Human Pose Estimation

同样的,在刻画不同的pair对的时候比例也应该不一样,此处用beta表示

最后的公式如下

Deep globally constrained MRFs for Human Pose Estimation

为了学习MRF的参数,最后用误差反馈的方法来进行调整!!!!!!!!!!!!

Deep globally constrained MRFs for Human Pose Estimation

MRF部分的网络如下,

Deep globally constrained MRFs for Human Pose Estimation

解释一下上面的这幅图

  • 首先第一步将(KxJx63x63)[蓝圈]个卷积去和JX32X32的heatmap做卷积,J是关节点的数量,K是两个关节点之间关系需要几个卷积核来表示
  • 然后卷积完之后就获得了每个关节点在对应关系下的结果依然是(KxJx63x63)[红圈],蓝圈中大括号的“K convolutional priors per joint”代表的是一种关系下用几个卷积核来代替,而红圈下的大括号“J pair-wise potentials per joint for each manifold dimension"代表的是每个关节点对应了J中关系,感觉是全连接的图了
  • 然后用$\beta$区队每一种关系做加权获得绿圈
  • 然后粉红圈的结果和绿圈的结果做了进一步的加权获得最终的结果

两点疑问:

  1. 蓝圈的地方是不是应该是J组,而图中只画了一组?
  2. 红圈到绿圈的63->32怎么来的

3)refine部分的网络的输入是任意大小,因为之前tompson他们都是选取同样大小的patch送入到网络里面,很明显这对于不同的部位是不合理的,所以作者在这里不同部位对应的patch输入不同的大小,记住作者是从卷基层的第一第二层取特征,然后用卷积核卷积,预测最终的偏差,加在MRF预测出来的map图上面,获得最终的结果。具体网络如图

Deep globally constrained MRFs for Human Pose Estimation

最后的损失是三部分你损失之和

4 训练和测试

这部分很简单了,就是refine网络部分输入大小取决于crop的大小,先用大的学习率,再用小的学习率学习之类的,具体参考论文吧,作者的实验也是做了一系列的对比试验,最重要的就是MRF的位置问题,很明显,加在coarse和fine网络的中间是最合理的