Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
(曹哲)作者主页:http://people.eecs.berkeley.edu/~zhecao/#top,论文的贡献还是 多人实时和效果
文章代码总共分为两条线
第一条线:求所有的关键点(头,肩膀,手肘,手腕 ... )
1)一共两个cnn,第一个cnn的输入是原图,输出是热图(每一个热图包含某一种关键点)
2)第二个cnn输入是上一个cnn得到的所有热图,和原图。输出还是热图。
循环直至收敛
第二条线:求所有关节区域
1)一共两个cnn,第一个cnn的输入是原图,输出是热图(每一个热图包含某一种连接(可以简单理解为骨头)区域),其实它们是一整片区域,不过每个地方的概率大小不同。
2)第二个cnn输入是上一个cnn得到的所有热图,和原图。输出还是热图。
循环直至收敛
根据前边两个阶段得到的两个热图,计算哪两个点连接比较好。这就要根据关节区域和点的位置来计算每个像素的小法向。生成一个法向图。
根据前边生成的法向图,第一条线中最后得到的各个点的连线,确定哪两个点的连线的概率最大,找到所有这样的线。找到一个线就可以开始用最小生成树算法来找下一条线,最终得到一个人的骨架,然后得到所有的骨架,如果有连接不完整的,那就残缺的存在就好了。
Paper:
1. Introduction
Pose estimation 的挑战:
1〉图像中不知道多少人,在什么位置,什么尺度
2〉人与人之间因接触,遮挡而变得复杂
3〉实时性的要求,图像中人越多,计算复杂度越大。
A common approach: person detection + pose estimation for each person (top->down)但是存在一定问题:
1.人离得近的时候不容易检测
2.图像中人越多计算时间越长,复杂度越高。
So,提出了bottom up的方法,不存在以上两个问题。利用全局的上下文线索关系来检测部件及其关联。提出了Part Confidence Maps 和 Part Affinity Fields。
输入一幅图像,经过卷积网络提取特征,得到一组特征图,然后分成两个岔路,分别使用 CNN网络提取Part Confidence Maps 和 Part Affinity Fields ,得到这两个信息后,我们使用图论中的 Bipartite Matching 将同一个人的关节点连接起来得到最终的结果。
confidence maps for parts和Part Affinity Fields 都是2D spatial grids, 可以表达由于遮挡和接触而产生的不规则的,多形态不确定性的物体,而且可以用卷积分析。