RMPE: Regional Multi-person Pose Estimation

Hao-Shu Fang, Shuqin Xie, Yu-Wing Tai, Cewu Lu

Introduction

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 . Recent attempts approach this problem by using either a two-step framework or a part-based framework . 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 IoU>0.5IoU>0.5, 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 76.776.7 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.

Related Work

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 and random forest models 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 .

More recently, deep learning has become a promising technique in object/face recognition, and human pose estimation is of no exception. Representative works include DeepPose (Toshev et al) , DNN based models and various CNN based models . Apart from simply estimating a human pose, some studies consider human parsing and pose estimation simultaneously. For single person pose estimation, these methods could perform well only when the person has been correctly located. However, this assumption is not always satisfied.

2 Multi Person Pose Estimation

Part-based Framework Representative works on part-based framework 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 . 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 51.051.0 in mAP on MPII dataset, while ours can achieve 76.776.7 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.

Regional Multi-person Pose Estimation

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

Since SDTN is an inverse procedure of STN, we can obtain the following:

To back propagate through SDTN, J(W,b)θ\frac{\partial J(W,b)}{\partial\theta} can be derived as

with respect to θ1\theta_{1} and θ2\theta_{2}, and

with respect to θ3\theta_{3}. [γ1γ2][θ1θ2]\frac{\partial\left[\begin{matrix}\boldsymbol{\gamma_{1}}&\boldsymbol{\gamma_{2}}\end{matrix}\right]}{\partial\left[\begin{matrix}\boldsymbol{\theta_{1}}&\boldsymbol{\theta_{2}}\end{matrix}\right]} and γ3θ3\frac{\partial\boldsymbol{\gamma_{3}}}{\partial\boldsymbol{\theta_{3}}} can be derived from Eqn. (3) and (4) respectively.

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.

2 Parametric Pose NMS

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 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 PiP_{i}, with mm joints is denoted as {ki1,ci1,,kim,cim}\{\langle k_{i}^{1},c_{i}^{1}\rangle,\ldots,\langle k_{i}^{m},c_{i}^{m}\rangle\}, where kijk_{i}^{j} and cijc_{i}^{j} are the jthj^{th} 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 d(Pi,PjΛ)d(P_{i},P_{j}|\Lambda) to measure the pose similarity, and a threshold η\eta as elimination criterion, where Λ\Lambda is a parameter set of function d()d(\cdot). Our elimination criterion can be written as follows:

If d()d(\cdot) is smaller than η\eta, the output of f()f(\cdot) should be 11, which indicates that pose PiP_{i} should be eliminated due to redundancy with reference pose PjP_{j}.

Now, we present the distance function dpose(Pi,Pj)d_{pose}(P_{i},P_{j}). We assume that the box for PiP_{i} is BiB_{i}. Then we define a soft matching function

where B(kin)\mathcal{B}(k_{i}^{n}) is a box center at kink_{i}^{n}, and each dimension of B(kin)\mathcal{B}(k_{i}^{n}) is 1/101/10 of the original box BiB_{i}. The tanh\tanh 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

By combining Eqn (3.2) and (9), the final distance function can be written as

where λ\lambda is a weight balancing the two distances and Λ={σ1,σ2,λ}\Lambda=\{\sigma_{1},\sigma_{2},\lambda\}. 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 f( Pi,PjΛ,η)f(\ P_{i},P_{j}|\Lambda,\eta) 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.

3 Pose-guided Proposals Generator

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 P(δBP)P(\delta B|P), where δB\delta B is the offset between the coordinates of a bounding box generated by human detector and the coordinates of the ground truth bounding box, and PP 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 P(δBP)P(\delta B|P) is difficult due to the variation of human poses. So instead, we attempt to learn the distribution P(δBatom(P))P(\delta B|atom(P)), where atom(P)atom(P) denotes the atomic pose of PP. 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 aa, 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 aa. Then we generate additional offsets by dense sampling according to P(δBa)P(\delta B|a) to produce augmented training proposals.

Experiments

The proposed method is qualitatively and quantitatively evaluated on two standard multi-person datasets with large occlusion cases: MPII and MSCOCO 2016 Keypoints Challenge dataset.

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.

2 Implementation details in testing

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 30%30\% 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.

3 Results

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 7272 mAP on identifying difficult joints such as wrists, elbows, ankles, and knees, which is 3.33.3 mAP higher than the previous state-of-the-art result. We reach a final accuracy of 70.470.4 mAP for the wrist and an accuracy of 7373 mAP for the knee. By using a stronger human detector and pose estimator, we can further achieve 82.182.1 mAP, which is 4.64.6 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.

4 Ablation studies

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.

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 73.0%73.0\%. 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 IoU>>0.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 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 http://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 84.2%84.2\% mAP. It verifies that our system is already close to the upper-bound of two-step framework.

5 Failure cases

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).

Conclusion

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.

References