OpenPose是一种bottom-up的方法,就是对于一张图片,首先找到图像中的所有人的所有点,然后再对这些点进行匹配连接,让同一个人的点进行相连。具体过程如下图:
OpenPose的pipeline主要有两个部分: • 在inference阶段,输入图像,输出两个tensor,分别是关键点的heatmap和关键对应的连接关系(part affinity field, paf),这些输出的heatmap都是只有原图的8分之一。 • 根据keypoint和paf的heatmap,提取所有的keypoint点,并将这些keypoint点进行分组,将同一个人的所有关键点分配到当前人上。
在OpenPose中,backbone就是使用的VGG-19的前4个block,然后在后面添加两个额外的卷积。backbone提取特征后,紧接着跟着一个initial stage,这部分有两个branch,分别对应生成keypoint heatmap和paf heatmap,再后面就跟着5个refinement stage,目的是为了进一步生成更加精确的heatmap。
轻量级OpenPose, Lightweight OpenPose
openpose解读