Multi-person pose estimation in the wild is challenging. Although state-of-the-art human detectors have demonstrated good performance, small errors in localization and recognition are inevitable. These errors can cause failures for a single-person pose estimator (SPPE), especially for methods that solely depend on human detection results. In this paper, we propose a novel regional multi-person pose estimation (RMPE) framework to facilitate pose estimation in the presence of inaccurate human bounding boxes. Our framework consists of three components: Symmetric Spatial Transformer Network (SSTN), Parametric Pose Non-Maximum-Suppression (NMS), and Pose-Guided Proposals Generator (PGPG). Our method is able to handle inaccurate bounding boxes and redundant detections, allowing it to achieve a 17 state-of-the-art methods on the MPII (multi person) dataset.Our model and source codes are publicly available.READ FULL TEXT VIEW PDF
We propose the first direct end-to-end multi-person pose estimation
This paper addresses fully automated multi-person tracking in complex
We propose a deep learning method to automatically detect personal prote...
In this paper, we attempt to advance the research work done in human act...
Remarkable progress has been made in 3D human pose estimation from a
In multi-person pose estimation actors can be heavily occluded, even bec...
This paper presents a method to estimate the 3D object position and occu...
Human pose estimation is a fundamental challenge for computer vision. In practice, recognizing the pose of multiple persons in the wild is a lot more challenging than recognizing the pose of a single person in an image[36, 37, 25, 28, 44]. Recent attempts approach this problem by using either a two-step framework [34, 15] or a part-based framework [9, 33, 21]. The two-step framework first detects human bounding boxes and then estimates the pose within each box independently. The part-based framework first detects body parts independently and then assembles the detected body parts to form multiple human poses. Both frameworks have their advantages and disadvantages. In the two-step framework, the accuracy of pose estimation highly depends on the quality of the detected bounding boxes. In the part-based framework, the assembled human poses are ambiguous when two or more persons are too close together. Also, part-based framework loses the capability to recognize body parts from a global pose view due to the mere utilization of second-order body parts dependence.
Our approach follows the two-step framework. We aim to detect accurate human poses even when given inaccurate bounding boxes. To illustrate the problems of previous approaches, we applied the state-of-the-art object detector Faster-RCNN  and the SPPE Stacked Hourglass model . Figure 1 and Figure 2 show two major problems: the localization error problem and the redundant detection problem. In fact, SPPE is rather vulnerable to bounding box errors. Even for the cases when the bounding boxes are considered as correct with , the detected human poses can still be wrong. Since SPPE produces a pose for each given bounding box, redundant detections result in redundant poses.
To address the above problems, a regional multi-person pose estimation (RMPE) framework is proposed. Our framework improves the performance of SPPE-based human pose estimation algorithms. We have designed a new symmetric spatial transformer network (SSTN) which is attached to the SPPE to extract a high-quality single person region from an inaccurate bounding box. A novel parallel SPPE branch is introduced to optimize this network. To address the problem of redundant detection, a parametric pose NMS is introduced. Our parametric pose NMS eliminates redundant poses by using a novel pose distance metric to compare pose similarity. A data-driven approach is applied to optimize the pose distance parameters. Lastly, we propose a novel pose-guided human proposal generator (PGPG) to augment training samples. By learning the output distribution of a human detector for different poses, we can simulate the generation of human bounding boxes, producing a large sample of training data.
Our RMPE framework is general and is applicable to different human detectors and single person pose estimators. We applied our framework on the MPII (multi-person) dataset , where it outperforms the state-of-the-art methods and achieves mAP. We have also conducted ablation studies to validate the effectiveness of each proposed component of our framework. Our model and source codes are made publicly available to support reproducible research.
In single person pose estimation, the pose estimation problem is simplified by only attempting to estimate the pose of a single person, and the person is assumed to dominate the image content. Conventional methods considered pictorial structure models. For example, tree models [43, 36, 47, 42]
and random forest models[37, 11] have demonstrated to be very efficient in human pose estimation. Graph based models such as random field models  and dependency graph models  have also been widely investigated in the literature [16, 38, 25, 32].
Part-based Framework Representative works on part-based framework [9, 15, 41, 33, 21] are reviewed. Chen et al. presented an approach to parse largely occluded people by graphical model which models humans as flexible compositions of body parts . Gkiox et al used k-poselets to jointly detect people and predict locations of human poses . The final pose localization is predicted by a weighted average of all activated poselets. Pishchulin et al
. proposed DeepCut to first detect all body parts, and then label and assemble these parts via integral linear programming. A stronger part detector based on ResNet and a better incremental optimization strategy is proposed by Insafutdinov et al . While part-based methods have demonstrated good performance, their body-part detectors can be vulnerable since only small local regions are considered.
Two-step Framework Our work follows the two-step framework [34, 15]. In our work, we use a CNN based SPPE method to estimate poses, while Pishchulin et al.  used conventional pictorial structure models for pose estimation. In particular, Insafutdinov et al  propose a similar two-step pipeline which uses the Faster R-CNN as their human detector and a unary DeeperCut as their pose estimator. Their method can only achieve in mAP on MPII dataset, while ours can achieve mAP. With the development of object detection and single person pose estimation, the two-step framework can achieve further advances in its performance. Our paper aims to solve the problem of imperfect human detection in the two-step framework in order to maximize the power of SPPE.
The pipeline of our proposed RMPE is illustrated in Figure 3. The human bounding boxes obtained by the human detector are fed into the “Symmetric STN + SPPE” module, and the pose proposals are generated automatically. The generated pose proposals are refined by parametric Pose NMS to obtain the estimated human poses. During the training, we introduce “Parallel SPPE” in order to avoid local minimums and further leverage the power of SSTN. To augment the existing training samples, a pose-guided proposals generator (PGPG) is designed. In the following sections, we present the three major components of our framework.
Human proposals provided by human detectors are not well-suited to SPPE. This is because SPPE is specifically trained on single person images and is very sensitive to localisation errors. It has been shown that small translation or cropping of human proposals can significantly affect performance of SPPE . Our symmetric STN parallel SPPE was introduced to enhance SPPE when given imperfect human proposals. The module of our SSTN and parallel SPPE is shown in Figure 4.
STN and SDTN The spatial transformer network (STN) has demonstrated excellent performance in selecting region of interests automatically. In this paper, we use the STN to extract high quality dominant human proposals. Mathematically, the STN performs a 2D affine transformation which can be expressed as
where , and
are vectors in. and are the coordinates before and after transformation, respectively. After SPPE, the resulting pose is mapped into the original human proposal image. Naturally, a spatial de-transformer network (SDTN) is required to remap the estimated human pose back to the original image coordinate. The SDTN computes the for de-transformation and generates grids based on :
Since SDTN is an inverse procedure of STN, we can obtain the following:
To back propagate through SDTN, can be derived as
with respect to and , and
After extracting high quality dominant human proposal regions, we can utilize off-the-shelf SPPE for accurate pose estimation. In our training, the SSTN is fine-tuned together with our SPPE.
To further help STN extract good human-dominant regions, we add a parallel SPPE branch in the training phrase. This branch shares the same STN with the original SPPE, but the spatial de-transformer (SDTN) is omitted. The human pose label of this branch is specified to be centered. To be more specific, the output of this SPPE branch is directly compared to labels of center-located ground truth poses. We freeze all the layers of this parallel SPPE during the training phase. The weights of this branch are fixed and its purpose is to back-propagate center-located pose errors to the STN module. If the extracted pose of the STN is not center-located, the parallel branch will back-propagate large errors. In this way, we can help the STN focus on the correct area and extract high quality human-dominant regions. In the testing phase, the parallel SPPE is discarded. The effectiveness of our parallel SPPE will be verified in our experiments.
Discussions The parallel SPPE can be regarded as a regularizer during the training phase. It helps to avoid a poor solution (local minimum) where the STN does not transform the pose to the center of extracted human regions. The likelihood of reaching a local minimum is increased because compensation from the SDTN will make the network generate fewer errors. These errors are necessary to train the STN. With the parallel SPPE, the STN is trained to move the human to the center of the extracted region to facilitate accurate pose estimation by SPPE.
It may seem intuitive to replace parallel SPPE with a center-located poses regression loss in the output of SPPE (before SDTN). However, this approach will degrade the performance of our system. Although STN can partly transform the input, it is impossible to perfectly place the person at the same location as the label. The difference in coordinate space between the input and label of SPPE will largely impair its ability to learn pose estimation. This will cause the performance of our main branch SPPE to decrease. Thus, to ensure that both STN and SPPE can fully leverage their own power, a parallel SPPE with frozen weights is indispensable for our framework. The parallel SPPE always produces large errors for non-center poses to push the STN to produce a center-located pose, without affecting the performance of the main branch SPPE.
Human detectors inevitably generate redundant detections, which in turn produce redundant pose estimations. Therefore, pose non-maximum suppression (NMS) is required to eliminate the redundancies. Previous methods [6, 9] are either not efficient or not accurate enough. In this paper, we propose a parametric pose NMS method. Similar to the previous subsection, the pose , with joints is denoted as , where and are the location and confidence score of joints respectively.
NMS scheme We revisit pose NMS as follows: firstly, the most confident pose is selected as reference, and some poses close to it are subject to elimination by applying elimination criterion. This process is repeated on the remaining poses set until redundant poses are eliminated and only unique poses are reported.
Elimination Criterion We need to define pose similarity in order to eliminate the poses which are too close and too similar to each others. We define a pose distance metric to measure the pose similarity, and a threshold as elimination criterion, where is a parameter set of function . Our elimination criterion can be written as follows:
If is smaller than , the output of should be , which indicates that pose should be eliminated due to redundancy with reference pose .
Now, we present the distance function . We assume that the box for is . Then we define a soft matching function
where is a box center at , and each dimension of is of the original box . The operation filters out poses with low-confidence scores. When two corresponding joints both have high confidence scores, the output will be close to 1. This distance softly counts the number of joints matching between poses.
The spatial distance between parts is also considered, which can be written as
where is a weight balancing the two distances and . Note that the previous pose NMS  set pose distance parameters and thresholds manually. In contrast, our parameters can be determined in a data-driven manner.
Optimization Given the detected redundant poses, the four parameters in the eliminate criterion are optimized to achieve the maximal mAP for the validation set. Since exhaustive search in a 4D space is intractable, we optimize two parameters at a time by fixing the other two parameters in an iterative manner. Once convergence is achieved, the parameters are fixed and will be used in the testing phase.
For the two-stage pose estimation, proper data augmentation is necessary to make the SSTN+SPPE module adapt to the ’imperfect’ human proposals generated by the human detector. Otherwise, the module may not work properly in the testing phase for the human detector. An intuitive approach is to directly use bounding boxes generated by the human detector during the training phase. However, the human detector can only produce one bounding box for each person. By using the proposals generator, this quantity can be greatly increased. Since we already have the ground truth pose and an object detection bounding box for each person, we can generate a large sample of training proposals with the same distribution as the output of the human detector. With this technique, we are able to further boost the performance of our system.
Insight We find that the distribution of the relative offset between the detected bounding box and the ground truth bounding box varies across different poses. To be more specific, there exists a distribution , where is the offset between the coordinates of a bounding box generated by human detector and the coordinates of the ground truth bounding box, and is the ground truth pose of a person. If we can model this distribution, we are able to generate many training samples that are similar to human proposals generated by the human detector.
Implementation To directly learn the distribution is difficult due to the variation of human poses. So instead, we attempt to learn the distribution , where denotes the atomic pose  of . We follow the method used by Andriluka et al 
to learn the atomic poses. To derive the atomic poses from annotations of human poses, we first align all poses so that their torsos have the same length. Then we use the k-means algorithm to cluster our aligned poses, and the computed cluster centers form our atomic poses. Now for each person instance sharing the same atomic pose, we calculate the offsets between its ground truth bounding box and detected bounding box. The offsets are then normalized by the corresponding side-length of ground truth bounding box in that direction. After these processes, the offsets form a frequency distribution, and we fit our data to a Gaussian mixture distribution. For different atomic poses, we have different Gaussian mixture parameters. We visualize some of the distributions and their corresponding clustered human poses in Figure 5.
Proposals Generation During the training phase of the SSTN+SPPE, for each annotated pose in the training sample we first look up the corresponding atomic pose . Then we generate additional offsets by dense sampling according to to produce augmented training proposals.
MPII Multi-Person Dataset The challenging benchmark MPII Human Pose (multi-person) consists of 3,844 training and 1,758 testing groups with both occluded and overlapped people. Moreover, it contains more than 28,000 training samples for single person pose estimation. We use all the training data in the single person dataset and 90% of the multi-person training set to fine-tune the SPPE, leaving 10% for validation.
MSCOCO Keypoints Challenge We also evaluate our method on the MSCOCO Keypoints Challenge dataset. This dataset requires localization of person keypoints in challenging, uncontrolled conditions. It consists of 105,698 training and around 80,000 testing human instances. The training set contains over 1 million total labeled keypoints. The testing set are divided into four roughly equally sized splits: test-challenge, test-dev, test-standard, and test-reserve.
In this paper, we use the VGG-based SSD-512  as our human detector, as it performs object detection effectively and efficiently. In order to guarantee that the entire person region will be extracted, detected human proposals are extended by along both the height and width directions. We use the stacked hourglass model  as the single person pose estimator because of its superior performance. For the STN network, we adopt the ResNet-18  as our localization network. Considering the memory efficiency, we use a smaller 4-stack hourglass network as the parallel SPPE.
To show that our framework is general and is applicable to different human detectors and pose estimators, we also do experiments by replacing the human detector with ResNet152 based Faster-RCNN  and replacing the pose estimator with PyraNet . In this case, we adopt multi-scale testing for the human detection and use an input size of 320x256 for the PyraNet.
|full testing set|
|Iqbal&Gall, ECCVw16 ||58.4||53.9||44.5||35.0||42.2||36.7||31.1||43.1|
|DeeperCut, ECCV16 ||78.4||72.5||60.2||51.0||57.2||52.0||45.4||59.5|
|Levinkov et al., CVPR17||89.8||85.2||71.8||59.6||71.1||63.0||53.5||70.6|
|Insafutdinov et al., CVPR17||88.8||87.0||75.9||64.9||74.2||68.8||60.5||74.3|
|Cao et al., CVPR17||91.2||87.6||77.7||66.8||75.4||68.9||61.7||75.6|
|Newell & Deng, NIPS17||92.1||89.3||78.9||69.8||76.2||71.6||64.7||77.5|
We evaluated our method on full MPII multi-person test set. Quantitative results on the full testing set are given in Table 1. Notably, we achieve an average accuracy of mAP on identifying difficult joints such as wrists, elbows, ankles, and knees, which is mAP higher than the previous state-of-the-art result. We reach a final accuracy of mAP for the wrist and an accuracy of mAP for the knee. By using a stronger human detector and pose estimator, we can further achieve mAP, which is mAP higher than the previous best result. We present some of our results in Figure 6. These results show that our method can accurately predict pose in multi-person images. More results are presented in supplementary materials.
Results on MSCOCO Keypoints dataset. We fine-tuned the SPPE on the MSCOCO Keypoints training + validating sets and leave 5,000 images for validation. Quantitative results on the test-dev set are given in Table 2. Our method achieves the state-of-the-art performance. Note that without specific design for the pose estimation network, our frame work can perform on par with Megvii, which propose a new pose estimation network. It demonstrates the effectiveness of our proposed framework. And we believe that using the pose network from  can further boost our performance.
We evaluate the effectiveness of the three proposed components, i.e., symmetric STN, pose-guided proposals generator and parametric pose NMS. The ablative studies have been conducted by removing the proposed components from the pipeline or replacing the proposed components with conventional solvers. The straightforward two-step method without the three components and the upper-bound of our framework are tested for comparison. We conducted these experiments on the MPII validation set. In addition, we replace our human detection module to prove the generality of our framework.
|a)||w/o SSTN+parallel SPPE||89.0||86.9||82.8||73.5||77.1||73.3||65.0||78.2|
|w/o parallel SPPE only||89.9||88.0||83.4||74.7||77.8||74.0||65.8||79.1|
|d)||straight forward two-steps||81.9||80.4||74.1||68.5||69.0||66.1||62.2||71.7|
|e)||oracle human detection||94.3||93.4||87.7||80.2||84.3||78.9||70.6||84.2|
Symmetric STN and Parallel SPPE To validate the importance of symmetric STN and parallel SPPE, two experiments were conducted. In the first experiment, we removed the SSTN, including the parallel SPPE, from our pipeline. In the second experiment, we only removed the parallel SPPE and kept the symmetric STN structure. Both of these results are shown in Table 3(a). We can observe performance degradation when removing parallel SPPE, which implies that parallel SPPE with single person image labels strongly encourages the STN to extract single person regions to minimize the total losses.
Pose-guided Proposals Generator In Table 3(b), we demonstrate that our pose-guided proposals generator also plays an important role in our system. In this experiment, we first remove the data augmentation from our training phase. The final mAP drops to . Then we compare our data augmentation technique with a simple baseline. The baseline is formed by jittering the locations and aspect ratios of the bounding boxes produced by person detector to generate a large number of additional proposals. We choose those that have IoU0.5 with ground truth boxes. From our result in Table 3(b), we can see that our technique is better than the baseline method. Generating training proposals according to the distribution can be regarded as a kind of data re-sampling, which can help the model to better fit human proposals.
Parametric Pose NMS Since pose NMS is an independent module, we can directly remove it from our final model. The experimental results are shown in Table 3(c). As we can see, the mAP drops significantly if the parametric pose NMS is removed. This is because the increase in the number of redundant poses will ultimately decrease our precision. We note that the previous pose NMS can also eliminate redundant detection to some extent. The state-of-the-art pose NMS algorithms [6, 9] are used to replace our parametric pose NMS, with the results given in Table 3(c). These schemes perform less effectively than ours, since the parameter learning is missing. In terms of efficiency, on our validation set which contains 1300 images, the publicly available implementation of 333http://www.vision.caltech.edu/ dhall/projects/MergingPoseEstimates/takes 62.2 seconds to perform pose NMS while using our algorithm takes only 1.8 seconds.
Upper Bound of Our Framework The upper bound of our framework is tested, where we use the ground truth bounding boxes as human proposals. As shown in Table 3(e), this setting could yield mAP. It verifies that our system is already close to the upper-bound of two-step framework.
We present some failure cases in Figure 7. It can be seen that the SPPE can not handle poses which are rarely occurred (e.g. the person performing the ’Human Flag’ in the first image). When two persons are highly overlapped, our system get confused and can not separate them apart (e.g. the two persons in the left of the second image). The misses of person detector will also cause the missing detection of human poses (e.g. the person who has laid down in the third image). Finally, erroneous pose may still be detected when an object looks very similar to human which can fool both human detector and SPPE (e.g. the background object in the forth image).
In this paper, a novel regional multi-person pose estimation (RMPE) framework is proposed, which significantly outperforms the state-of-the-art methods for multi-person human pose estimation in terms of accuracy and efficiency. It validates the potential of two-step frameworks, i.e., human detector + SPPE, when SPPE is adapted to a human detector. Our RMPE framework consists of three novel components: symmetric STN with parallel SPPE, parametric pose NMS, and pose-guided proposals generator (PGPG). In particular, PGPG is used to greatly argument the training data by learning the conditional distribution of bounding box proposals for a given human pose. The SPPE becomes adept at handling human localization errors due to the utilization of symmetric STN and parallel SPPE. Finally, the parametric pose NMS can be used to reduce redundant detections. In our future work, it would be interesting to explore the possibility of training our framework together with the human detector in an end-to-end manner.
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.
Combining local appearance and holistic view: Dual-source deep neural networks for human pose estimation.In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1347–1355. IEEE, 2015.