姿态论文整理--02-Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

来源:互联网 发布:centos 防止arp 编辑:程序博客网 时间:2024/05/29 04:53

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields(发表于2017年4月14)

可以对多人场景的人体姿态进行识别,得到2D火柴棒。这篇论文是bottom-up(先检测肢干[keypoints or parts],再归类为不同个体)方法。其中构建肢干间联系是这篇文章的重点。


许多方法都是单人姿态估计,这篇是处理多人场景,所以不用在预处理的时候使目标居中。多人检测呢,使用top-down方法,先检测个体再检测他的身体部件,所以增加了难度,bottom-up的方法更灵活因此相应的方法会更加健壮,而且不会将不同个体身上的部件强扭到一起。

Bottom-up方法的先驱:

Pishchulin[22]提出了先标注肢体,然后再归到个人。Insafutdinov[11] (deepercut)在ResNet检测身体部件,然后根据部件组队的得分(pairwise scores)得分高低判断组合方式,他所用到的成对的公式使用线性回归结果不准确,需要额外的逻辑回归方法。

总体方法:

通过Part Affinity Fields (PAFs)计算检测到的身体各个部分间联系程度 association scores 是—-根据图片对肢体的位置和方向编码的2D矢量空间。总体流程是下面的图片。
这里写图片描述
这里写图片描述
首先,用前向网络同时预测一组肢干的位置置信图(part confidence maps) S (Fig.2-b),以及描述各部分间的关联程度的肢干映射空间(part affinity fields) L (图中的c),然后S和L组合得到所有人的keypoints,这个组合方法是这篇问题的关键。

细节:

整体结构流程:
网络结构分为两个分支,同时预测位置置信图和part-to-part association的仿射空间。且整个网络是迭代的结构,关于迭代:Wei的CPM[31]也是通过连续的stages过程来微调,然后在每个状态过程中都产生中间层intermediate supervision,用于最后的姿态计算。
这里写图片描述
所以这篇文章用到的网络结构是
先是用10层的VGG-19初始化,得到特征图Feature map。feature map作为两分支的输入的first stage,两分支的结果以及上一stage的特征图合并(ResNet结构),并且用于下一stage,像wei的cpm中的微调。相应的,在各stage有两个loss functions(这里使用的是L2 loss方法,各个stage没有sigmoid-like函数)。在loss function中还有有目标掩模,防止训练过程中惩罚到真值。
这里写图片描述
结构图
具体到各个stage
S—- part dectection,构建part和个体间的连接的基础:
得到各个身体部件的confindence map,图中的单个人时,map有一个peak;多人时,一个peak代表一个人。峰值点用来估计身体部件的准确位置。
L—-part association—-这是这篇文章的关键点
要解决的问题是—-怎么由检测到的人体部件得到完整的姿势,尤其是人数未知的时候的问题。上面提到的方法是通过confidence measure构建身体部件间的联系,通过计算所探测的每对部件间的中间点midpoint。这篇文章中提出的新方法是part affinity fields—-通过部件的既有位置得到2D仿射图:真实中的每一个肢体都有相应的仿射域来连接相连两部分(‘部分’也是神经网络检查所用训练数据和所得结果,手脚臀blala)。so,使用候选部件,candidate part,计算相应PAF线积分来探测部件。
单人情形下的方法:
这里写图片描述
多人情形:
人数变多时,所检测到的人体部件和个体的对应关系会变成一个匹配位置,行内称为NP-Hard[32],PAF是使用贪婪松弛(greedy relaxation)的方法。
该方法是先获得身体部件检测结果,然后需要将部件与人体构建联系,目标就是选择最优的连接。使用图表示,节点表示部件,边缘表示部件间的可能的联系,然后这个问题就能转成二分图的匹配,bipartite graph matching ,只不过是子问题–有一定的限制:一个节点不会连接两个边。这样这个问题就能使用匈牙利算法Hungarian algorithm解决,当然这些边的权重的初始化是按照某一公式进行(这个公司涉及到任两个身体部件的位置间的距离和这两个部件具有联系的置信度)。
然后遇到的问题和理解成为NP hard问题(有关“NP问题和relaxation”可以看此书:http://xidong.net/File001/File_62356.html 如果有兴趣的话。如果只是想glance一下,可以参考知乎https://www.zhihu.com/question/24641575/answer/164397294 和 https://www.zhihu.com/question/26001914/answer/150369102 )。对于NP-hard问题,作者是使用relaxation方法来解决这个问题的,一是对于bipartite graph少用一些边而不是全图,二是将匹配问题分解成子匹配问题。然后相邻节点用PAF方法,全局的点关系使用CNN方法。
———这就是PAF所使用的bottom-up方法。


综合起来看,这篇文章就是想办法找到了一直构建肢体联系part connection的方法,然后使用迭代的网络来使用多尺度的的全局和局部的联系。但是使用到的PAF感觉还是模式识别的东西,但是将这个模式如果能网络学到还是蛮厉害的,毕竟身体部件间的自由度小了很多。在这篇论文,速度和精度都挺高的,可达到200FPS。
这里写图片描述

阅读全文
0 0
原创粉丝点击