【姿态估计文章阅读】Structured Feature Learning for Pose Estimation

一、年份2016、港中文的文章

二、代码https://github.com/chuxiaoselena/StructuredFeature 用的是caffe,可视化出来的结构比较复杂不好展示,就不放图片了

三、核心思想:

       利用双向结构的树,优化网络对于结果的预测。也就是预测手肘的时候可以用上手腕和肩膀的信息。文章把这个用信息体现在feature map的使用上,并且采用“卷积实现“几何变换””,把用于支撑手腕预测的那部分feature map经过“几何变换卷积”之后增强手肘的feature map的响应。

      这里的feature map和现在的大多数模型不同,这里的模型比如VGG的fc6输出是4096,然后分成几个组每个组负责预测一个关键点。所以每个组之间的feature map是相互独立,但是这个层之前的前面所有层是共享特征的。(这个做法,基本现在不采用了)

       贡献:

        1、提出了一个端到端姿态学习框架,利用上丰富的人体结构信息

        2、“几何变换卷积”可以有效的学习“相邻关键点之间的联系”

        3、双向的树状结构,这个主要也是配合1和2的

四、思想上如何整合多个feature map去提升某个目标关键点

                      

       文章作者说,之所以要用上“几何变换卷积”,因为直接把“用于预测手腕的feature map” 加上 “用于预测手肘的feature map”,存在这空间上的位置差,理论上在“检测到了手小臂后,手肘应该就在不远处了,那么可以利用“手小臂去预测手肘”;因此把通过“手小臂预测手肘的信息”结合上“直接预测手肘的信息”可以达到信息强化的效果”。

        当然,为什么不直接concate这两部分信息,然后通过卷积自己去学习?这个问题作者没有说,但是我认为这个当然可以,但是这种学习方式是隐式的,我们无法保证这个隐层具体完成了什么功能!这就会导致“曲线救国”。不如直接逼迫模型这么去做!

       问题又来了,上图中的“learned kernel”不还是普通卷积吗?不还是通过隐式的学习?这个我也觉得,不知道作者是如何保证这个卷积核确实是在按照“几何变换”的想法在工作的,所以我决定发个邮件问一问!但是从上图的可视化结果来看f->g这个过程来看,确实是完成了这个功能!(我觉得很有可能是这部分是完成了利用手小臂预测手肘的功能)

五、树状结构定义

      树状结构的定义主要是为了,决定那部分信息可以经过 “四”所说的这个过程来强化另一部分

       这张图其实一目了然了,两个箭头指向同一个节点的时候使用的“加法”,但是最后一部分预测的时候,红蓝两个箭头指向同一个预测图采用的“concate”。

       “加法”和“concate”在网络体现出了不同的功能成分,加法是用来强化某个信息,concate是组合上某个信息,这里最后之所以用concate是因为红蓝色箭头在“预测”那部分都是来自同一个关键点的不同树。

六、实验结果,在当年有着不小的提升

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章