Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
Zhe Cao
The Robotics Institute, Carnegie Mellon University
其实目前业务不需要人体姿态估计的,但为了理解这篇博客中的远距离行人检测:从标注触发行人检测中的从候选点推理出边的方法,即公式5,才阅读了这篇论文。
1. Introduction
2D人体姿态估计面临的几个主要挑战是:每张图内人数未知;人之间的交互带来了复杂的空间推断;时间复杂度随着人数上升使实时性很难。
通常的自顶向下的做法是使用行人检测找出每个人,再对他们进行单人姿态估计。但如果人体检测失败了——这在人们很接近时很易发生,将无可挽回。而且运行时间与图片内人体数量正相关。自底向上的方法吸引人之处就在于有机会将时间复杂度与人数解耦。但实际之前的自底向上方法并未有获得效率提升,因为最后一步需要昂贵的全局推理。Pishchulin等人的创造性工作[22]同时找出部位检测候选,再将它们关联到每个人上。但解决全连接图的整数线性规划是一个NP难问题,平均处理耗时数小时。Insafutdinov的[11]以ResNet作为基网在[22]上建造了一个强大的部位检测器,得到图片相关的成对得分pairwise scores,极大地提升了运行时间,但每张图片仍需几分钟。它所使用的pairwise形式很难精确回归,因此需要单独的逻辑回归。
2. Methods
图二展示了我们方法的总体流程。系统接收图片输入,最终输出图中每个人的关键点。首先,一个前向网络包含两个分支,会同时预测一个身体部位位置的2D热图S(图2b)和部位紧密关系的2D向量集L(图2c),它编码了各部位间相关度。集合$\mathbf S = (\mathbf S_1, \mathbf S_2, … , \mathbf S_J)$,共J张热图,每张对应一个部位,$\mathbf S_j \in \mathbb R ^{w \times h} ,j \in \{ 1…J \}$。集合$\mathbf L = (\mathbf L_1, \mathbf L_2, … , \mathbf L_C)$,有C个向量,每个代表一个肢(有的部位对间并没有肢,出于简洁统一称呼),$\mathbf L_c \in \mathbb R ^{w\times h \times 2}, c \in \{ 1 … C \}$,在$\mathbf L_c$中的每个图片像素,都有一个2D向量编码了肢的位置和方向。最终,热图和紧密域通过贪心来转换为图中人的关键点。
2.1 Simultaneous Detection and Association
我们的架构见图3。上方的黄色分支预测热图。下方蓝色预测PAFs(Part Affinity Fields)。两个分支都是习自Wei的[31]的迭代式预测,在连续的阶段中不断提升预测$t \in \{1, … ,T\}$,每个阶段都有监督。
首先使用VGG19的前10层,输出特征图集合$F$,并输入到两个分支中。第一步,网络产生检测热图集$S^1 = \rho ^1(F)$和PAF集$L^1 = \phi ^1(F)$,其中$\rho^1$和$\phi^1$都是第一步中用于推理的CNN。在每个后续步骤中,前一步的两个分支的输出与原始特征图$F$连接起来,用于产生更佳的预测。
注,$\forall$ 是全称量化符号,指任意
其中$\rho ^t$和$\phi ^t$是第t步进行推理的CNN。
图4说明了多步后对热图和PAF的提升效果。每个分支有着自己的L2 loss函数。我们使用了一个空间的权重来解决某些数据集未标注所有人的问题:
带星号的是GT。W是一个二元mask,当图片位置p没有标注时,$W(p) = 0$。用于避免在训练时惩罚正确预测。每步完成后的监督内容是通过周期性的补充梯度,解决梯度消失问题。总体目标是:
2.2 Confidence Maps for Part Detection
我们从标注的2D关键点,生成了gt热图集$S^*$。每个热图都是某个特定部位在每个像素出现的置信度。理想情况下,如果无遮挡,单人的每个热图都只有一个极点;多人则是k个人的对应点。
首先为每个人k生成独立的热图$S_{j,k}^$。设$x_{j,k} \in \mathbb R^2$是图中第k个人的部位j的gt位置。则$S_{j,k}^$中的$p \in \mathbb R^2$定义如下:
其中$\sigma$控制极点伸展程度。网络需要预测的热图是所有热图的max。
测试时预测出热图,再利用NMS获得身体部位候选。
2.3 Part Affinity Fields for Part Association
检出了部位集,还需一个两两之间的信心度量来整合它们。一个方法是检测对间中点位置的incidence,如图5b。但如果人们聚集在一起时,这些中点会支持错误的关联(图5b)。原因有2:它只采用了位置,没有方向信息;它将对肢体的支持从区域减小到了点。
我们提出了一种叫PAF的特征表达,在整个肢的区域保留了位置和方向信息(图5c)。PAF是每个肢的一个2D向量field。对于该肢的所有像素,一个2D向量编码了从一个部位到另一个部位的方向。每类肢体都有对应的field。
考虑上图的肢,设$x_{j_1,k}$和$x_{j_2,k}$是图中第k个人的肢c的两个部位$j_1$,$j_2$的gt位置。如果一个点p在肢上,则在$L_{c,k}^*(p)$的值是从$j_1$到$j_2$的单位向量。对所有其它的点,向量都为0。
训练中,PAF的gt,$L_{c,k}^*$在图中的点p值为:
这里$v = (x_{j_2,k} - x_{j_1,k}) / | x_{j_2,k} - x_{j_1,k} |_2$是肢的方向上的单位向量。肢上的所有点的集合定义为那些与line segment距离在阈值内的,如:
$\sigma _l$是肢宽度,单位为像素;长度为$ l_{c,k} = | x_{j_2,k} - x_{j_1,k} |_2$,$v_{\perp}$是v的正交perpendicular。
PAF的gt为对图中所有人的平均:
其中$n_c(p)$是某点p对图中所有k个人的非0向量数量(即当某像素有不同人的肢体交叠时的平均)。
测试时,我们通过计算PAF的线积分,作为候选部位对的度量。即我们度量PAF与候选对形成的肢对齐程度。对于两个候选部位$d_{j_1}$和$d_{j_2}$,我们沿line segment对PAF $L_c$采样,来度量信心分。
其中p(u)是两个身体部位位置的插值interpolate:
实际应用中,我们通过采样并对u的均匀分布的值求和来估计这个积分。
2.4 Multi-Person Parsing using PAFs
我们对检测得到的热图进行NMS,得到离散的身体部位候选位置集。对每个部位,我们有多个候选,可能来自图片中的多个人,也可能是false positive(如图6b)。从这些部位,我们可以得到大量肢候选。我们使用公式10为每个候选肢打分。找到最优解的问题就变成了NP难的K维的匹配问题(图6c)。本论文提出了一个贪心的缓和relaxation策略,能始终产出高质量的匹配。我们认为原因在于由于PAF网络的大的感受野,得分本身隐含了全局信息。
对于多人,我们获得了部位候选集$D_j$,其中$D_j = \{ d_j^m : for \ j\in \ \{ 1 … J\} \ m \in \ \{ 1 … N_j \} \}$,$N_j$是部位j的候选数量,$d_j^m \in \mathbb R^2$是部位j的第m个候选的坐标。这些候选需要与同一个人的其余部位关联起来,也就是我们需要找到那些真正的肢。我们定义了一个变量$z_{j_1j_2}^{mn} \in \{0,1\}$来标志两个候选$d_{j_1}^m$和$d_{j_2}^n$是否相连,目标就是找到最优的连接集,$\mathcal Z = \{ z_{j_1j_2}^{mn} : for\ \ j_1, j_2 \in \{1…J\}, m\in \{1…N_{j_1}\}, n \in \{1…N_{j_2}\}\}$。
如果我们只考虑一对部位(如脖子和右臀)对应的第c个肢,寻找最优解的问题就简化为带权双步图最大匹配问题[32]。例子见图5b(?未理解)。在这个图匹配问题中,图的节点是身体检测候选$D_{j_1}和D_{j_2}$,边则是候选部位间所有可能的连接。此外,每个边的权重通过公式10计算。二向图的一个匹配是选中的所有边没有共同的节点
这样一个子集。目标是找到权重和最大的匹配,
其中$E_c$是类型为c的肢匹配的整体权重,$Z_c$是为类型为c的肢的Z的子集,$E_{mn}$是公式10计算出的$d_{j_1}^m$和$d_{j_2}^n$部位紧密度。等式13和14使任意两边没有共同的节点,即没有两个相同类的肢共享一个部位(如左臂)。我们能使用匈牙利算法获得最优匹配。
当问题变成为多人寻找完整身体姿态时,找到Z就是一个K维的匹配,一个NP难的问题,存在很多宽松。根据我们的领域,我们为最优化添加了两个宽松。首先,选择了最小数量的边来获得一个人体姿态骨架的生成树(图6c),而不是使用整张图。其次,我们将问题进一步分解为一系列二向图匹配子问题,并独立地在相连的树节点中决定匹配,见图6d。在3.1中我们展示了详细的比较结果,说明了最小贪心推理在很小的计算消耗下很好的近似了全局解。原因是相连的节点通过PAF显式的进行了建模,但内在的,是通过CNN隐式地为不相连的节点间关系进行了建模。因为CNN使用了大感受野进行训练,未相连的节点的PAF同样对预测出的PAF有影响。
最优问题简化如下:
通过公式12-14,我们分别为每种肢获得连接候选。然后将有共同部位的连接组装为多人的全身姿态。我们的优化方法比全局优化快了一个量级。
3. Results
在MPII数据集和COCO 2016关键点竞赛数据集上进行了测试。具体成绩就不赘述了,见下方图、表。
References
[1] MSCOCO keypoint evaluation metric. http://mscoco.org/dataset/#keypoints-eval. 5, 6
[2] M. Andriluka, L. Pishchulin, P. Gehler, and B. Schiele. 2Dhuman pose estimation: new benchmark and state of the artanalysis. In CVPR, 2014. 5
[3] M. Andriluka, S. Roth, and B. Schiele. Pictorial structuresrevisited: people detection and articulated pose estimation.In CVPR, 2009. 1
[4] M. Andriluka, S. Roth, and B. Schiele. Monocular 3D poseestimation and tracking by detection. In CVPR, 2010. 1
[5] V. Belagiannis and A. Zisserman. Recurrent human pose estimation.In 12th IEEE International Conference and Workshopson Automatic Face and Gesture Recognition (FG), 2017. 1
[6] A. Bulat and G. Tzimiropoulos. Human pose estimation viaconvolutional part heatmap regression. In ECCV, 2016. 1
[7] X. Chen and A. Yuille. Articulated pose estimation by agraphical model with image dependent pairwise relations. InNIPS, 2014. 1
[8] P. F. Felzenszwalb and D. P. Huttenlocher. Pictorial structuresfor object recognition. In IJCV, 2005. 1
[9] G. Gkioxari, B. Hariharan, R. Girshick, and J. Malik. Usingk-poselets for detecting people and localizing their keypoints.In CVPR, 2014. 1
[10] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learningfor image recognition. In CVPR, 2016. 1
[11] E. Insafutdinov, L. Pishchulin, B. Andres, M. Andriluka, andB. Schiele. Deepercut: A deeper, stronger, and faster multipersonpose estimation model. In ECCV, 2016. 1, 5, 6
[12] U. Iqbal and J. Gall. Multi-person pose estimation with localjoint-to-person associations. In ECCV Workshops, CrowdUnderstanding, 2016. 1, 5
[13] S. Johnson and M. Everingham. Clustered pose and nonlinearappearance models for human pose estimation. In BMVC, 2010. 1
[14] H. W. Kuhn. The hungarian method for the assignment problem.In Naval research logistics quarterly. Wiley Online Library, 1955. 5
[15] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan,P. Dollar, and C. L. Zitnick. Microsoft COCO: com- ´mon objects in context. In ECCV, 2014. 5
[16] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed.Ssd: Single shot multibox detector. In ECCV, 2016. 6
[17] A. Newell, K. Yang, and J. Deng. Stacked hourglass networksfor human pose estimation. In ECCV, 2016. 1
[18] W. Ouyang, X. Chu, and X. Wang. Multi-source deep learningfor human pose estimation. In CVPR, 2014. 1
[19] G. Papandreou, T. Zhu, N. Kanazawa, A. Toshev, J. Tompson,C. Bregler, and K. Murphy. Towards accuratemulti-person pose estimation in the wild. arXiv preprintarXiv:1701.01779, 2017. 1, 6
[20] T. Pfister, J. Charles, and A. Zisserman. Flowing convnetsfor human pose estimation in videos. In ICCV, 2015. 1
[21] L. Pishchulin, M. Andriluka, P. Gehler, and B. Schiele. Poseletconditioned pictorial structures. In CVPR, 2013. 1
[22] L. Pishchulin, E. Insafutdinov, S. Tang, B. Andres, M. Andriluka,P. Gehler, and B. Schiele. Deepcut: Joint subsetpartition and labeling for multi person pose estimation. InCVPR, 2016. 1, 5
[23] L. Pishchulin, A. Jain, M. Andriluka, T. Thormahlen, and ¨B. Schiele. Articulated people detection and pose estimation:Reshaping the future. In CVPR, 2012. 1
[24] V. Ramakrishna, D. Munoz, M. Hebert, J. A. Bagnell, andY. Sheikh. Pose machines: Articulated pose estimation viainference machines. In ECCV, 2014. 1
[25] D. Ramanan, D. A. Forsyth, and A. Zisserman. Strike a Pose:Tracking people by finding stylized poses. In CVPR, 2005.1
[26] K. Simonyan and A. Zisserman. Very deep convolutionalnetworks for large-scale image recognition. In ICLR, 2015.2
[27] M. Sun and S. Savarese. Articulated part-based model forjoint object detection and pose estimation. In ICCV, 2011. 1
[28] J. Tompson, R. Goroshin, A. Jain, Y. LeCun, and C. Bregler.Efficient object localization using convolutional networks. InCVPR, 2015. 1
[29] J. J. Tompson, A. Jain, Y. LeCun, and C. Bregler. Joint trainingof a convolutional network and a graphical model forhuman pose estimation. In NIPS, 2014. 1
[30] A. Toshev and C. Szegedy. Deeppose: Human pose estimationvia deep neural networks. In CVPR, 2014. 1
[31] S.-E. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh. Convolutionalpose machines. In CVPR, 2016. 1, 2, 3, 6
[32] D. B. West et al. Introduction to graph theory, volume 2.Prentice hall Upper Saddle River, 2001. 4, 5
[33] Y. Yang and D. Ramanan. Articulated human detection withflexible mixtures of parts. In TPAMI, 2013. 1