# Comparative Analysis of Skeleton-Based Human Pose Estimation
## 2 Literature Review
### HPE Libraries  
Four state-of-the-art HPE libraries are discussed in this section and their specifications are summarized in Table 2. Among the four HPE libraries, the total number of commonly detected keypoints is 17. The commonly detected keypoints of the head include ears, eyes, and nose (5 keypoints). The 6 commonly detected keypoints of the shoulders, elbows, and wrists are categorized as the upper body, while the lower body includes 6 keypoints from the hips, knees, and ankles. In addition, OpenPose and MediaPipe Pose provide more annotations of the keypoints at the face, hand, and foot to reach the maximum number of keypoints, at 135 and 33 keypoints, respectively. OpenPose provides an additional 70 keypoints of the face, 20 keypoints of both hands, 1 keypoint of the upper body, and 7 keypoints of the lower body. MediaPipe Pose provides 6 additional keypoints of the head, 6 keypoints of the upper body, and 4 keypoints of the lower body. The approach of keypoint detection in the HPE libraries can be classified into top-down and bottom-up methods. In the top-down method, the number of people is first detected from the given input and each person is assigned into a separate bounding box, respectively [37]. Subsequently, the keypoint estimation is performed in each bounding box. In contrast to the top-down method, the bottom-up method performs keypoint detection in the first step [38]. After that, the keypoints are grouped based on human instances. Among these four libraries, PoseNet and MediaPipe Pose employ the top-down method while OpenPose and MoveNet use the bottom-up method to perform human pose estimations. The four HPE libraries use different underlying networks for pose estimation. OpenPose uses ImageNet with the VGG-19 backbone, PoseNet uses ResNet [39] and MobileNet [40], MediaPipe Pose uses the Convolutional Neural Network (CNN), and MoveNet uses the MobileNetV2. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**HPE Libraries**} & \multirow{2}{*}{\begin{tabular}{c} **Released** \\ **Year** \\ \end{tabular} } & \multirow{2}{*}{\begin{tabular}{c} **Maximum** \\ **Number of** \\ **Keypoints** \\ \end{tabular} } & \multirow{2}{*}{\
\begin{tabular}{c} **Keypoints Position in the** \\ **Body Parts** \\ \end{tabular} } & \multirow{2}{*}{**Type of Pose**} & \multirow{2}{*}{**Method**} & \multirow{2}{*}{
\begin{tabular}{c} **Underlying** \\ **Network** \\ \end{tabular} } \\ \hline OpenPose [32] & 2017 & 135 & Face, hand, head, upper body, & Single- and & Bottom-up & ImageNet with \\ PoseNet [30] & 2017 & 17 & Head, upper body, lower body & Single- and & Top-down & ResNet and \\ MediaPipe Pose [33] & 2020 & 33 & Head, upper body, lower body & Single-person & Top-down & CNN \\ MoveNet [31] & 2021 & 17 & Head, upper body, lower body & Single- and & Bottom-up & MobileNetV2 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Specifications of each HPE library. OpenPose is the first open-source library available since 2017 for 2D multi-person HPE [32]. OpenPose employs a non-parametric representation known as Part Affinity Fields (PAFs) to detect the body parts associated with the person in an input image. The PAFs describe a list of 2D vector fields in an image, encoding both orientation and location of the body limits. In 2019, [PERSON] et al. [41] released a new version of OpenPose that combined body and foot keypoint detectors. The combined detector needs less inference time than running the body and foot keypoint detectors independently, while also maintaining the accuracy rate. Hence, OpenPose became the first open-source library that can detect body, hand, foot, and facial keypoints on a single image with a total of 135 keypoints. Furthermore, OpenPose is also able to perform the task of vehicle keypoint detection by utilizing the same network architecture [41]. Similar to OpenPose, PoseNet was also released in 2017 [30]. It was built on a TensorFlow machine learning platform and provides real-time HPE implementation in the browser.