Abstract
用Part Affinity Fields来学习如何将身体关键和个人匹配起来。主要思想是利用贪心算法自下而上的解析步骤从而达到高准确率和实时性。身体部位定位和关联是在两个分支上同时进行的。该方法获得了COCO2016 keypoints challenge中夺得第一名。
Introduction
2D行人姿态的关注点在于,找出图中视野内属于每个人的各个部位。这个任务主要有三个难点:
1.每个图中包含的人数量是不确定的,并且他们所处location及scale也是不确定的。
2.人们之间的互动产生的遮挡、四肢变化、肢体重叠等有着复杂的空间关系
3.实时性,很多算法随着图中人数量的增多而增加
自上而下的算法:利用person detector,然后对检测出来的目标单独进行姿态估计。这种方法受限于person detector,并且没有补救的方法。
自下而上的算法就显得更为合理,先检测出关键点的位置,再利用图谱进行连接。但是这样的连接是NP-Hard problem而且平均处理时间要数个小时。
Code分析:
testing/src/connect56LIneVec.m 意从 PAFs + heatmaps 得到连接顺序
首先是通过 func: findPeaks() 得到每张heatmaps中的亮点坐标以及对应像素点大小 score 。
然后就是计算 limbSeq 中任意一组两点的PAF值 paf_score ,然后根据paf_score进行排序,从高到低连接两点(每次连接的两点在之后的连接中都排除不用)
建立subset ,记录下从limbSeq(1) 开始两两连接点的拓展