Open Pose 论文总结

论文:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

github地址:&&&

论文地址:×××

参考文章:

1. https://blog.csdn.net/weixin_41441682/article/details/81357369

2. github 中文论文,https://github.com/assmdx/ComputerVisionDoc/blob/master/openpose/openpose.md,中文论文网站,也就是翻译

3. https://blog.csdn.net/htt789/article/details/80283370,这篇文章分析很透彻,能抓住问题的核心

4. http://jacobkong.github.io/posts/3799204522/ 姿势识别论文总结

自上而下的方法,也就是先用目标检测检测出人物,然后再计算出关键点信心,和自下而上的方法,这种方法是先检测出具体的关键点和具体的胳膊腿等构件,然后再合成到一起。

Figure 1.顶部:多人姿势估计。 同一个人的身体部位之间用线相连。 左下:部分亲和力字段(PAFs)对应于连接右肘和右侧的肢体腕。 颜色编码方向。 右下:放大预测的PAF的视图。 在场中的每个像素处,2D矢量编码四肢的位置和方向

Figure 2.整体过程。 我们将整个图像作为双分支CNN的输入来联合预测置信图,(b)中所示的身体部位检测,以及(c)中所示的部位关联的部分亲和力字段。 解析步骤执行一组二分匹配身体部位候选人的匹配(d)。 我们最终将它们组装成图像中所有人的全身姿势。

网络结构:

è¿éåå¾çæè¿°

模型运作流程:

1.以w*h大小的彩色图像作为输入 
2.经过VGG的前10层网络得到一个特征度F 
3.网络分成两个循环分支,一个分支用于预测置信图S:关键点(人体关节),一个分支用于预测L:像素点在骨架中的走向(肢体) 
4.第一个循环分支以特征图F作为输入,得到一组S1,L1 
5.之后的分支分别以上一个分支的输出St-1,Lt-1和特征图F作为输入 
6.网络最终输出S,L 

损失函数的计算,两种loss求和。

è¿éåå¾çæè¿°       这里写图片描述

损失函数为每一层循环网络的损失函数之和,接下来说一下两个步骤吧:

第一个就是关键点检测,用的CPM方法。关键点检测,通过图像中标注的2D点Xj,k计算S的groundtruth(S*),其中X (j,k)表示图片中第k个人的第 j 种关节 计算方法:Sj*符合正态分布,当像素点P接近注释点Xj,k时,达到正态曲线的峰值,则每张图像中第j种关节的S,为图像中k个人的正态分布峰值。

è¿éåå¾çæè¿°                 è¿éåå¾çæè¿°

第二个步骤为PAF的检测:

è¿éåå¾çæè¿°è¿éåå¾çæè¿°

其中像素P是否落在肢体上需要满足两个条件 
这里写图片描述 
每张图像中第c中肢体的Lc*,为k个人在位置p的向量平均值 
这里写图片描述

评估两个关键点之间的相关性:

关键点dj1,dj2和PAF已知之后,计算两个关键点连线向量和两关键点连线上各像素的PAF向量之间的点积的积分作为两个关键点之间的相关性。 
这里写图片描述 
像素p进行采样: 
这里写图片描述

接下来就需要通过PAF计算出来的图的关系来得到一个匹配,最大匹配:匹配边数最多 
完美匹配:所有点都是匹配点 
最大权重匹配:所有匹配边权重之和最大 
最大匹配:匹配边数最多 
完美匹配:所有点都是匹配点 
最大权重匹配:所有匹配边权重之和最大 
求解最大匹配方法:匈牙利算法匈牙利算法

猜你喜欢

转载自blog.csdn.net/nineship/article/details/82797557