您的位置:首页 > 其它

论文阅读:《Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields》CVPR 2017

2017-10-23 19:24 1206 查看

概述

本文承接CMP论文的框架结构,最大的创新点在于提出了一种PAF的方法,能够有效的针对多人进行姿态估计,同时在保证精度的情况下,可以做到实时的效果。

传统的方法采用top-down的方法,即先检测人,然后对每一个人进行姿态估计,但是当人离得比较近的时候,检测人体的方法无效;并且人数越多,检测所花的时间约多,不能做到实时效果。因此本文采用bottom-up的方式,但是也利用了全局上下文信息。

PAF

文章提出的Part Affinity Fields(PAFs)是一个2D向量集合,每一个2D向

量集合都会编码一个limb的位置和方向。这些fields和关节的置信图一起经过CNN进行联合学习和预测.

方法

1,使用置信图进行关节检测

每一个关节对应一个置信图,图像每一个像素点都有一个置信度,置信图中每点的值与ground truth的距离相关。关于多个人的检测,是将K个人的置信图合并取该点每个人的最大值。这里使用最大而不是平均是因为即使峰值很近也不会影响精度。测试阶段使用非极大值抑制来获得身体部分的候选。

2,使用PAF进行身体部分组合

对于多个人的问题,检测了不同人的部分,但是还需要将每个人的身体分别组合在一起形成full-body,使用的方法就是论文的精华PAF。这个方法的好处在于将位置和方向信息都包含了。每一种limb(肢)在关联的两个body part之间都有一个亲和区域,其中的每一个像素都有一个2D 向量的描述方向。亲和

区map的维度是w*h*2 (因为向量是二维的)。若某个点有多人重叠,则将k个人的vector求和,再除以人数。

3,bottom-up方法

在得到了置信图和PAF之后,需要考虑如何利用这些信息找到两两body-part最优化的连接方式,这转换为图论问题。论文使用的是Hungarian algorithm。图中的节点就是body part中的检测候选,边就是这些候选最优的连接方式。每条边上的权值就是亲和区的聚合。因此这样的匹配问题就是找到一组连接使

得没有两条边是共享一个节点的,也就是找到权值最大的边连接方式。

网络框架

网络分为两路结构,一路是上面的卷积层,用来获得置信图;一路是下面的卷积层,用来获得PAFs。网络分为多个stage,每一个stage结束的时候都有中继监督。每一个stage结束之后,S以及L都和stage1中的F合并。上下两路的loss都是计算预测和理想值之间的L2 loss。



Loss方程中有一个空间上的加权,是因为有些数据集没有完全标注所有的人,用其提供的mask说明有些区域是可能包含没有标记的人。最终的loss是各个阶段的loss相加。

论文在MPII和COCO数据集上都取得了非常好的效果,制作的demo效果也非常好,只是对尺度比较小的人检测效果不如其他算法。

开源实现

https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation

demo效果很好,有基于各个深度学习框架的版本实现,caffe,MXnet,tensorflow,pyTorch,也是openpose项目的核心来源。目前开源实现中最好的效果。demo的效果可以达到15-16FPS。

aeb5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐