An End-to-end Framework for Unconstrained Monocular 3D Hand Pose Estimation

11/28/2019 ∙ by Sanjeev Sharma, et al. ∙ 4

This work addresses the challenging problem of unconstrained 3D hand pose estimation using monocular RGB images. Most of the existing approaches assume some prior knowledge of hand (such as hand locations and side information) is available for 3D hand pose estimation. This restricts their use in unconstrained environments. We, therefore, present an end-to-end framework that robustly predicts hand prior information and accurately infers 3D hand pose by learning ConvNet models while only using keypoint annotations. To achieve robustness, the proposed framework uses a novel keypoint-based method to simultaneously predict hand regions and side labels, unlike existing methods that suffer from background color confusion caused by using segmentation or detection-based technology. Moreover, inspired by the biological structure of the human hand, we introduce two geometric constraints directly into the 3D coordinates prediction that further improves its performance in a weakly-supervised training. Experimental results show that our proposed framework not only performs robustly on unconstrained setting, but also outperforms the state-of-art methods on standard benchmark datasets.



There are no comments yet.


page 1

page 3

page 4

page 5

page 8

page 9

page 11

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Hand pose estimation finds usage in wide array of applications like virtual or augmented reality, sign language recognition, gesture recognition, robotics, human-computer interface etc. Despite the large overlap in the set of problems and difficulties faced with human pose estimation, hand pose estimation has its own unique set of problems like lack of characteristic local features, heavy ambiguity, strong articulation and substantial self-occlusion making it a challenging problem to solve. Traditional methods [29, 21, 12, 25] that tackle these problems rely highly on depth or stereoscopic data, therefore have limited capacity in many real-world applications where images are captured by monocular cameras with no explicit depth information.

Fig. 1: A comparison of our proposed method with existing methods. Compared to existing methods that require additional data annotations like depth maps, segmentation maps or hand side labels in addition to the usual RGB images and 2D and 3D keypoints annotations, our method only utilizes the latter three types of data while achieving superior performance in experiments. Again, our method is also able to predict hand side label in the same pipeline unlike any other existing methods.

Recent interests in 3D hand pose estimation have been fostered by the prospects of monocular image-based methods. The related works including [41, 32, 3, 19, 4, 23] have demonstrated that they can also achieve promising and effective results without the need of depth information from sensors. However, most of the design of these methods is based on the assumption that some prior information such as hand bounding boxes and left-right hand side label are already available. This makes them fail to run in an end-to-end manner on unconstrained image data. To this end, we propose an end-to-end framework that is capable of handling unconstrained monocular images for 3D hand pose estimation. The framework complements the current lack of 3D hand estimation system which is directly applicable to real-world environments.

To enable end-to-end processing for unconstrained images, a standard 3D pose system should have the ability to predict such essential prior information. This is due to the fact that the left-right hand side predicted label may be required in latter stages of 3D prediction, as in the architecture of [41], as well as for real-world applications. Again, the quality of the extracted hand regions will largely affect the performance of subsequent hand pose estimation. For instance, if a low-quality hand region is used to generate the image crops, this will inadvertently result in an unrecoverable error during inference in the pose estimation network.

Recent works [41, 23, 10] adopt an off-the-shelf segmentation network as an intermediate component in their 3D pose estimation framework to produce image crops from unconstrained images. Nonetheless, the performance of this segmentation-based approach for hand detection is unstable and unsatisfactory because it is usually confused by skin color objects. For example, if the target hand is located around the face or close to the other hand, the segmentation-based approach tends to produce an oversized cropped image, resulting in a smaller scale of the target hand. Again, its bounding box center will also offset from the hand center by a large margin leading to heavily cropped hand in the resultant image. In this work, we present a novel keypoint-based method for hand detection which performs robustly on unconstrained datasets. Unlike segmentation (pixel-wise) methods [41, 10, 36] that rely highly on color discrimination, our keypoint prediction-based method not only considers the visual appearance but also the spatial structure of the objects. Thus, by inference of hand regions from keypoint heatmaps, our method minimizes error caused by confusing color effect. At the same time, using only keypoints also avoids the need for expensive to acquire segmentation annotations. Besides, our proposed method can also simultaneously predict the left-right side of hands by adding two branches of keypoint prediction headers responsible for the left and right hand respectively.

In our proposed framework, we further improve the performance of 3D hand pose recovery by introducing two constraint functions inspired by the inherent anatomy of human hand. According to a study [14] on human hands, one general characteristic seen in them is that the middle finger is the longest while the thumb is the shortest, followed by the little finger. To model such a relative length relationships between fingers as a constrain function for 3D hand pose estimation, we introduce a length ratio term to enforce the predictions to follow the realistic relative length relations among fingers. Also, given the fact that each finger has its limited motion range, we introduce an angle range term to penalize the predictions containing unrealistic finger angles. In our proposed framework, these two constraints are directly applied into to 3D pose recovery module in a weakly-supervised setting during training, and both are used to reduce implausible hand pose results estimated by direct keypoint regression.

To validate the effectiveness of each proposed component and the overall framework, we conduct a series of experiments including hand and its side detection, 3D hand pose estimation with ground-truth hand crops, measurement of joint errors with the application of each constraint, and full pipeline 3D pose estimation. To sum up, our main contributions are three-fold:

  1. A novel keypoints-based method for hand detection that is more robust to some difficult situations such as confusing background and adjacent hands.

  2. Two anatomy-based constraints for aiding 3D hand pose estimation network to improve its performance.

  3. An end-to-end pipeline with state-of-the-art performance that can automatically process unconstrained images.

Fig. 2: An overview of the proposed full 3D hand pose estimation pipeline. The input image is first processed by our hand detector which is capable of providing both left and right hand crop images along with their hand side label. These crop images are then processed by our 3D Pose Network trained with Relative Finger Bone Ratio and Angle Range Constraints to predict 3D hand coordinates.

Ii Related Works

Ii-a Traditional methods for Hand Pose Estimation

Traditionally, 3D hand pose estimation solutions have made use of some form of depth information, either explicitly, by using depth maps or implicitly, by using multi-view images or hand mesh annotation. Among depth image-based solutions, DeepPrior++ [25] is considered one of the important works that improves upon the original DeepPrior architecture [26] by adding ResNet layers, using data augmentation and developing better initial hand localization techniques. [12]

, is another depth-based method, which theorizes that image-based feature extraction using CNNs cannot effectively capture the complex 3D spatial information of the hand and, hence, proposes a 3D CNN architecture-based approach which works on a 3D volumetric representation instead. Similarly,

[20] focuses on solving the problem presented by varying hand shape and sizes using depth images. It considers kinematical properties and physical constraints of a human hand to accurately model its 3D keypoint predictions. Works such as [12] and [4] make use of depth maps under an unsupervised setting to improve their network performance while other works such as [6] and [15] make use of depth information to deal with occlusion problems caused when hands are holding objects.

Some methods make use of multi-view images which can provide an implicit form of depth information. [31] is one such work for hand keypoints prediction that makes use of multi-view images from a specifically built multiple camera setup. In this method, using at least two images that have correctly predicted keypoints with a weak detector, a re-projection is calculated for each keypoint in other unannotated views. The triangulated points are used to select N top performers which are then used to retrain the weak detector in an iterative manner. While this method performs very well with any in-the-wild images for hand 2D keypoints prediction, 3D keypoint prediction is only available inside their camera setup. Another work by [37] makes use of a two-camera setup in a fixed setting to determine hand pose for manipulating CAD designs. Each detected hand has two segmented views which are used to look up the closest matching pose in a database. This method is limited not only in its use case scenario but also due to its assumption that all kinds of complex hand articulations can be summarized in a database. Finally, other works such as [1], [33] and [34] make use of up to 8 calibrated cameras in a multi-camera setup with an additional depth sensor in case of the latter two. Compared to collecting depth maps, multi-view image collection requires a lot more complicated setup.

More recently, with the invention of Graph Convolution Networks (GCNs) [17, 9], hand modelling with mesh prediction-based approaches using graph convolutional networks have also gained some popularity. Unfortunately, with the hand pose estimation domain already suffering from limited datasets for annotations besides depth maps, these methods must find clever methods to adapt existing annotations to synthetically generate mesh while also requiring the creation of a separate dataset. [13] requires both mesh and depth map annotation to jointly train for 3D hand mesh and 3D keypoints prediction. Similarly, [18] tries to encode images into a latent space for a non-linear representation of hand mesh. None of these works tackle the problem of creating a hand crop or predicting hand side.

Even though the cost of hardware used to capture depth data, generate sets of multi-view images of a hand and artificially synthesize hand mesh annotation required by aforementioned solutions have come down considerably over the years, the practicality of using these types of hardware in a real-world scenario remains limited. Rather, a typical real-world usage scenario would consist of a color image of a person as an input taken with a single RGB camera. A complete hand pose estimator is expected to not only parse hand locations but also predict 3D keypoints from this single image which lacks any form of depth data. This makes hand pose estimation on monocular RGB image an ill-posed problem. [41] is among the first works that tackles the problem of hand pose estimation on monocular images using deep learning formulation. This work provides a complete pipeline with a hand detector and hand pose estimator. Their SegNet-based hand detector, unfortunately, is only capable of detecting the largest hand in an image. Again, as their hand detector is unable to provide hand side label required by their hand pose estimation part of the network, this information is assumed to be a prior. [23], on the other hand, jointly tackles the problem of limited dataset in the domain with monocular RGB-only based hand tracking by making use of their GAN-based synthetic-to-real hand image translation network. Similarly, [32] also tries to remedy the problem of limited RGB dataset by making use of all the different types of annotation available to learn a cross-model latent space embedding. An input RGB image is then used to predict 3D keypoints from this space. Finally, works like [4, 3] and [13] try to jointly learn tasks of either depth map prediction or hand shape modelling to improve performance of a network.

Ii-B Human Pose Estimation from Single Monocular Images

As the domains of hand pose and human pose estimation face similar set of difficulties, we review some of the important works on human pose estimation that operate on single monocular images. The work [22]

theorizes that by making use of Euclidean Distance Matrices (EDM), it is possible to derive more precise estimates of 3D coordinates from 2D predictions. They claim that their method counters difficulties of missing observations and depth-scale variance. These problems also occur very frequently in hand pose estimation domain. So far, no work has attempted to use distance matrix regression in hand pose estimation. The paper

[35] tries to combine the currently two popular streams of 3D coordinate predictions namely – regressing directly from image and using predicted 2D joint locations to infer 3D joint coordinates. The fusion scheme proposed by them is fully trainable removing the need to choose between early and late fusion. The authors show that this kind of model is very effective in exploiting cues in monocular RGB images to infer 3D joint locations. [28] proposes a fine discretization of 3D space around the human body using voxels. The pose estimation task is converted to predict voxel likelihoods for each joint. The authors claim that this method is superior to traditional approaches of direct regression of 2D joint coordinates. In addition, their architecture employs a coarse-to-fine scheme for prediction which they claim further improves performance. A similar voxel-based approach has been proposed for hand pose estimation by [21]. Two important works [7] and [40] introduce a weakly-supervised setting for making use of known constraints of human body with unlabeled training images from the wild. Our proposed method for hand pose estimation is inspired from these works to exploit biological geometrical constraints of human hands.

Fig. 3: The components of our proposed Keypoint-based Hand Detector. The Left-right Hand Keypoint Attention Network predicts Hand Attention Maps for keypoints in each hand. The maps are processed by Localization Network in Hand-centered Crop Transformer to generate transformation parameters. These parameters are then applied to the original input image to create a crop image for each hand given that a specific hand is visible in the input image.

Ii-C Hand Detector for Hand Pose Estimation

Most of the works in hand pose estimation assume that the input image to their network are an already well-cropped hand and so, consider hand detection part of the pipeline to be out-of-scope in their works. Some works like [41] have proposed a segmentation-based hand detector that has been used either without modification like in [23] or with some modification, designed only to reduce complexity without improving much performance, as in [10]. Despite the negative effect on the performance noted by [41] due to their hand-detector on the overall pose detection pipeline, there are very limited literature studying hand detectors. [36] and [2] study segmentation-based hand detection but their setting is for an egocentric view. [27], on the other hand, makes use of YOLOv2 as a hand detector. They use a rudimentary method of determining hand side by detecting whether a detected hand is on the left or right side of the person’s head. In real world use case, when a person crosses his/her hand or when the head of the person is not visible in the image, this method can easily fail. Similarly, popular pose estimation frameworks such as OpenPose assume that hand side for their implementation of hand pose estimator can be determined from adjoining arm keypoint prediction label. Running a full human pose detection model just to determine arm keypoint will not always be practical as it requires lot of redundant calculations for unused body keypoints. The work [5] proposes a novel method of combining hand detection and estimation stages into a single pipeline but the proposed solution works only for depth map input.

Ii-D Geometry Constraints for Pose Estimation

Human body parts have different kinematical and structural constraints [30] imposed by biological evolution. [40] exploits the fact that fixed ratios exists between bone lengths of different body parts to propose a geometric constraint that is used as an regularizer for their depth prediction when ground truth for depth data is not available. Similarly, [7] exploits the fact that body joints can only bend in a fixed angle range and that left and right body parts are symmetrical. Using these facts, two sets of losses are proposed that they use to improve their model with data that lacks full 3D annotation. Similar joint angle constraint is also used by [23] for their kinematical skeleton fitting hand model. [19] proposes a learning based approach to model constraints in a configuration space. This work focuses on learning local finger motions of different sets of finger digits rather than the global hand motion.

Fig. 4: 3D hand pose estimation part of the pipeline trained using proposed constraints to predict 3D hand coordinates. Two geometric constraint-based losses help Depth regressor module to learn the 3D structure of the human hand better.

Iii Framework

Our proposed framework consists of a keypoint-based hand detection and a 3D hand pose estimation network with two geometric constraints. As illustrated in Fig. 2, the first component takes an unconstrained image as input and automatically produces hand-centered image crops that are directly and sequentially fed to the second component to estimate the 3D poses. By combining the predicted results from the first component, the proposed framework can estimate 3D hand poses with left-right labels directly from an unconstrained monocular image.

We first, briefly introduce the notation. Let , where is the number of sample. Each sample includes an image and the ground-truth joint coordinates , where and denotes the number of 2D and 3D ground-truth joint coordinates respectively. We also denote as the ground-truth heatmaps for one hand, where refers to the heatmap of joint and is generated from a Gaussian centered at . Similarly, is the predicted heatmaps, one for each keypoint, by the CNN network.

Iii-a Keypoint-based Hand Detection

The main idea of the keypoint-based detector is to locate the hand regions based on the keypoint attention maps and automatically produce centered and resized image crops by a Hand-centered Crop Transformer. Also, to obtain the left-right side information, we explicitly differentiate left- and right-hand predictions by adding two separate prediction headers on top of a shared Conv feature map. As shown in Fig. 3

, the proposed detector consists of: 1) a fully convolutional network that simultaneously predicts two separate keypoint attention maps for each hand side and, 2) a transformer network that automatically generates hand-centered image crops.

Left-right Hand Keypoint Attention Network We first, learn a 2D keypoint prediction network on the unconstrained data to obtain hand attention regions. We follow the standard pipeline [38] for 2D pose estimation but with a slight difference that we explicitly predict two sets of keypoints for both hands. We formulate this problem as a heatmap regression problem. Given and for the left-hand and right-hand ground-truth heatmap for hand joint respectively, and similarly and for the predicted heatmap respectively, the loss for training hand attention network is defined as follows:


In this module, we adopt an existing pose estimation network as the backbone network structure, such as Convolution Pose Machine (CPM) [38] and Stacked Hourglass Networks (HG) [24]. By training with the loss in Eq. (1), we then can learn to predict coarse hand heatmaps from an input image. To determine the hand side, we use a simple thresholding method on heatmaps. Our investigation showed that when a hand was not in an image, the Gaussian peaks in heatmaps for that hand side were very low and sparsely spread. This allowed us to determine if a certain hand was missing.

Fig. 5: Method to calculate bone lengths from digit lengths. Biological formation of a human hand determines the relative sizes of each finger to every other finger. Using 3D coordinates of different digits in a finger, we can calculate the length of a finger by summing the length of its digits and hence calculate the average ratio of a finger to every other finger in a training dataset. Using these average ratios with Relative Finger Bone Ratio Loss, we provide a constraint to use in weakly-supervised setting during training.

Hand-centered Crop Transformer To get an appropriate hand crop from the input image, one simple way is to use a box coordinates calculated from the the predicted heatmaps with predefined cropping parameters for post-processing an input image. However, this method is fully manual and the thresholds need to be carefully selected to determine the box coordinates. Also, when the pose estimation network incorrectly predicts some keypoints, this method might encounter an unrecoverable error for cropping out the hand region. Thus, we propose a Hand-centered Crop Transformer that learns to automatically generate an appropriate hand region based on the predicted heatmaps and allows passing the error signal back to Pose Estimation Network when bad transform parameters are predicted. We derive the inspiration of this component from works like Spatial Transformer Networks (STN) [16] and Attention Proposal Networks (APN) [11]. These networks have been trained in various literature to produce corrected versions and/or finer zoomed crops of their input to aid later stages. Unfortunately, they cannot be employed directly for our case because these transformer networks rely on ranking or hinge loss to iteratively learn how to produce a good set of affine transformation parameters. Hence, we propose a cropping loss for learning this component. Given the perfect square box coordinates calculated from the ground-truth heatmaps , we expect the localization network parameterized by to take the predicted heatmaps as input and predict a transformation parameter matrix , so that an affine transformation function can transform the box coordinates to match coordinates , where and are the width and height of the output heatmaps respectively. Hence, the cropping loss can be expressed as:


For training the hand detector, we first train the pose network with the loss and transformer network with the loss separately, then fine-tune both networks jointly with loss , where is a hyper parameter to be chosen. In the testing stage, we apply the affine transformation with the predicted parameters to obtain the hand crops for the 3D hand pose estimation.

Iii-B Anatomy-aware Net for 3D Hand Pose Estimation

Our proposed framework for 3D hand pose estimation, as shown in Fig. 4, consists of a baseline pose network architecture as in [40] and two anatomy-inspired losses that aid into the network learning.

Baseline Pose Network: The baseline pose network consists of a 2D regression module, a depth regression module and two geometric constraints. Specifically, the 2D regression module is supervised by 2D heatmap regression loss, which is defined as:


The depth regression module is used to learn depth when there is input from 3D data. But when 3D data is not available, we penalize its 3D prediction with loss from geometric constraints. Hence, the learning loss is expressed as:


where indicates if input come from the 3D training data, s are hyper parameters for adjusting the contribution of each loss, encompasses the body anatomy inspired geometric constraints, and . Thus, the overall loss can be defined as:


To adapt this weakly-supervised method for human pose estimation to the fully-supervised task of hand pose estimation, we first modify the depth regression module by removing the term when input is from 2D data. Also, recent work [4] shows that smooth L1 loss performs better than L2 loss in hand pose estimation, therefore we use smooth L1 loss

to measure error of predicted depth. The modified depth loss function from Eq. (

4) is now defined as:


where and is a predefined threshold.

Fig. 6:

The image (a) shows the two vectors (denoted by red and blue arrows) used to calculate the normal vector (green arrow) pointing towards the inside of the hand. This is necessary to always calculate the interior digit joint angles that make up the digit bends. The image (b) shows these normal vector more clearly on an actual hand model. Finally, the image (c) shows the interior angles that are calculated from the normal vectors on to their adjoining digits.

Hand Anatomy Inspired Constraints: The human hand is a highly versatile and articulated body part. Hence, trying to model a hand using only image features is an ill-posed problem. But given the biological make up of hands, we can make use of its geometric and kinematical constraints to alleviate this problem. Therefore, we introduce two constraints related to hand anatomy to enforce a reasonable hand configuration on the pose network predictions.

Iii-B1 Relative Finger Bone Ratio Loss

Although specific finger lengths among hands vary with different factors, such as genders and ethnic groups, their relative ratios remain relatively the same. For example, in terms of the ratio between the index and ring finger, the standard deviation for a selected group of people studied was found to be

[8]. Thus, we introduce a relative finger ratio constraint to prevent the pose network from predicting results with unrealistic finger ratio. To this end, we try to reduce the variance across predictions by pulling the average of all bone length ratios between pairs of each finger in a hand towards the average calculated from all of training set.

To calculate the average of all bone length, we first need to calculate the length of each finger. Fig. 5 shows that we can calculate the length of a finger by summation of the length of each digit in 3D space. Hence, length of a finger is given by:


where is the length of dth digit for nth finger.

Then, we can calculate the average relative finger bone length ratio for a hand as follows:


where is total number of fingers on a hand and is the length of a finger.

Finally, our finger bone ratio loss function can be expressed as:


where is the prediction for one hand while is computed from training set.

Iii-B2 Angle Range Loss

The angle between two digits in a finger is always inside a certain range due to constraint imposed by hand anatomy [30]. Therefore, we further introduce an angle range loss that penalizes predictions where digits are bent beyond their acceptable ranges in relation to the immediate digit they are attached to. There are two finger digit motions that are important for our consideration - namely flexion and abduction.

In flexion motion, a digit can be flexed inwards towards the inside of the hand (i.e. towards palm). Depending on the position of a digit, there are different limitation of angles that they can flex at. In our work, we consider two flexion angle ranges - one of first digit (proximal phalanx) relative to middle digit (middle phalanx) and other of middle digit to last digit (distal phalanx). Similarly, we also used angle ranges by abduction motion which is the motion of first digit (proximal phalanx) in relation to other first digits of adjacent fingers.

In order to combine all these constraints and use them in a loss for our training, the method for angle calculation needs to be differentiable. We can easily calculate the angle between two 3D vectors using dot product. Dot products are differentiable making them suitable for use to calculate angle loss. Unfortunately, they only calculate acute and obtuse angles between two 3D vectors. This means if a prediction contains a flex of more than (i.e. reflex angle), which could be outside valid range, a loss using dot product will not penalize the network as expected.

Hence, we propose a new method of calculating angle between digits which makes sure that the calculated angle is always in the direction of the inside of the hand. In our method, we first calculate a normal vector between two adjacent digits. The direction of this vector must be towards the inside of the hand. To calculate such a normal vector between the first and middle digit of a finger, we use two Metacarpophalangeal (MCP) joints and one Proximal Interphalangeal (PIP) joint. By taking 3D points of these joints in a certain order to compute two vectors, we can make sure that the normal vector generated will met the directional requirement. Similarly, for middle and last joint, we make use of one Metacarpophalangeal joint, one Proximal Interphalangeal (PIP) joint and one Distal Interphalangeal (DIP) joint. This whole process is shown in Fig. 6(a).

When calculating normal vector as discussed above, we start from thumb progressing towards little finger. For little finger, we do not have a MCP joint in the direction required to calculate the proper normal vector. So, we use the MCP joint of the index finger and change the order of 3D points to get the correct direction for normal vector. Similarly, depending on hand side, we will need to change the order of 3D joint points used to create a normal vector. Alternatively, we could calculate in the same order for both hand sides and invert the direction of normal vector to correct it for one hand side by multiplying its unit vector with .

Fig. 7: Illustration of how our proposed method, HandSegNet and SSD object detector perform on inputs where the hands are close to each other or close to a person’s face in the input image. Results show that our method not only performs better but also tries to bring the hand to the center of the crop. This may aid finer keypoints estimation. HandSegNet runs into problems when two hands are close to each other while object detector fails completely in images with less illumination, confuses face with hands and produces a combined crop for both hands when they are close to each other.

To incorporate these two constraints into the learning of 3D hand pose estimation, the overall loss can be expressed as:


where s are hyper-parameters to be chosen.

When using the constraints in a weakly-supervised setting, we follow the same stage-based training approach as in [40] by first training with available 3D annotation using:


Followed by joint training as the second stage with:


Iv Experiments

To evaluate the effectiveness of our proposed framework, we conduct extensive experiments on both Rendered hand pose dataset [41] and Stereo Hand Pose Tracking Benchmark [39] and then compare with the state-of-the-art methods. We also investigate the performance of our keypoint based hand detector by evaluating the accuracy of hand detection and hand side prediction. Finally, we use weakly-supervised training on a trained 3D hand pose estimation model to show the effects of the different proposed constraints. The following subsections describe the details of the experiments and their results.

Iv-a Datasets

We use the following datasets for our experiments:

Iv-A1 Rendered hand pose dataset

Identifying the need of a RGB image dataset for hand pose estimation, [41] developed the Rendered hand pose dataset. This dataset is built using 20 different computer rendered characters performing 39 different actions. The characters are being looked at from varying camera angles and with random backgrounds. The dataset contains 41,258 images for training and 2,728 images for evaluation. For the keypoints, there are in total of 21 keypoints where each finger is represented by 4 keypoints. Again, for each of the keypoints, there is information as to whether they are visible or occluded/cropped in the image. Camera intrinsic parameters, segmentation maps and depth maps are also available.

Iv-A2 Stereo Hand Pose Tracking Benchmark

Stereo Hand Pose Tracking Benchmark [39] provides both 2D and 3D annotations for 18,000 stereo pairs. The images are of size . We use 6,000 of the total images for evaluation. The dataset contains only left hand of a person with varying background and lighting conditions.

Iv-B Evaluation Protocols

For the proposed hand detector and hand pose estimator, we provide the following protocols to evaluate hand detection performance, hand side prediction accuracy and hand keypoints estimation performance.

Iv-B1 Hand Detection

In this section, we intent to compare the effectiveness of our proposed hand detection method with existing hand detectors such as HandSegNet and SSDHandDetect. Because the three methods were trained on different types of annotation, namely segmentation maps and keypoints, comparing their predicted bounding box to ground truth bounding boxes from the respective annotation used for their training does not give us clear picture of their performance among them. Instead, the most concrete evidence would come from comparing them in their application in a hand pose estimation pipeline by evaluating whether they can provide any improvements in 2D and 3D hand pose estimation accuracy. Hence, we replace the hand detector part of the full hand pose estimation model in [41] with each of the detectors and report 2D and 3D results using standard keypoints detection metrics such as Mean and Median Endpoint Pixel Error (EPE) and Area under the curve (AUC). The full hand pose estimation model consists of a 2D pose estimation part called PoseNet and a separate 3D pose estimation module which allows us to report 2D and 3D results separately.

Iv-B2 Hand Side Accuracy

Similarly, to show that our hand detection network can, in fact, correctly distinguish between left and right hand, we calculate the percentage of correctly labelled hand sides for largest and smallest hands in the input image from two different datasets. We determine the largest hand in a dataset by comparing the number of pixels in a segmentation mask for each of the two hands in an image. A threshold on output heatmaps of fullbody hands keypoint estimator is used to determine if a hand is detected for a hand side.

Iv-B3 3D Hand Pose Estimation

We report our 3D hand pose estimation results with and without different constraints using the standard metric of area under the curve (AUC) on the percentage of correct keypoints (PCK) over range of error thresholds. Finally, we also report the effects of different constraints on different joints on each of the , and components of 3D coordinates.

Fig. 8: Images in (a) shows the effect before and then after using relative finger bone length ratio constraint and (b) shows this for angle range constraint.

V Results

V-a Hand Detection

Table I shows the accuracy of hand side prediction (with training only on RHD) for the larger and smaller hand (if visible) in different datasets:

Larger hand 89.8 79.8
Smaller hand 73.4 -
TABLE I: Avg. hand side detection accuracy (%)

As we can see from the table, the accuracy of hand side detection is not only good in the dataset that the network was trained on but also is good in the one it wasn’t trained in - i.e. Stereo Hand Pose Tracking Benchmark. This shows good cross-generalization for hand side prediction across different datasets. We cannot provide data for smallest hand in STB because the dataset only consists of images of one hand.

Next, we would like to see whether our hand detector can improve 2D keypoint estimation performance. By using each of the hand detectors with PoseNet from [41] trained on manually cropped hand images for 2D hand pose estimation, we get results as shown in Table II.

Mean EPE Median EPE AUC
Ours+PoseNet 8.922 2.644 0.779
HandSeg+PoseNet 15.791 4.479 0.717
SSDHandDetect+PoseNet 37.178 10.641 0.495
Mean EPE Median EPE AUC
Ours+PoseNet 6.899 4.946 0.780
HandSeg+PoseNet 7.321 6.320 0.765
SSDHandDetect+PoseNet 15.272 10.251 0.587
TABLE II: 2D Hand keypoint estimation in RHD followed by estimation in STB where the models were trained jointly in RHD & STB training set

As we can see from the table, our hand detector can consistently provide better results in 2D keypoints estimation. Additionally, we can also see the large difference between Mean and Median EPE values with HandSegNet+PoseNet [41] in case of RHD dataset evaluation than our solution. This large discrepancy could be attributed to HandSegNet producing a single big crop in cases when two hands are close to each other as shown in Fig. 7.

Finally, we would like to see the effect on 3D pose estimation. So, we setup the hand detectors for a 3D estimation pipeline and evaluate their effect using AUC. Results seen in Fig. 9 clearly shows that our hand detector has a positive effect on raising the accuracy in 3D hand pose estimation when the results are compared with other hand detection methods.

Fig. 9: 3D PCK results on STB dataset’s evaluation samples with different hand detectors and PoseNet trained on RHD & STB jointly.

Fig. 10: Effect of each of the two proposed constraints on 2D coordinates (X and Y) and depth (Z) components of the predicted 3D coordinates of different joints for Rendered Hand Pose Dataset. Errors in different joints decrease by different amounts after applying each constraint.

V-B 3D Hand Pose Estimation

We provide 3D hand pose estimation results on different datasets to show the effectiveness of our constraints. In our results, we have shown the performance of our baseline model upon which each of the constraints were applied and how the constraints have helped to improve its performance further. Additionally, we also show results from other methods and how they compare to ours.

But first, we test that the relative sizes of fingers on an average hand across both datasets are in fact similar in relative length to each other. Table III shows that this theory holds within acceptable margin of error given the inherent uncertainty induced with manual 3D annotation of keypoints in STB dataset.

Fingers RHD STB
Thumb 6.4 6.0
Index 9.5 9.2
Middle 10.0 10.0
Ring 9.0 8.8
Little 7.4 7.0
TABLE III: Mean relative finger lengths across datasets when the longest finger (i.e. middle finger) is re-scaled to 10

Secondly, we calculate the mean finger bone length ratio for each dataset in their training set using Eq. (8). Results are shown in Table IV.

Mean 1.08839 1.13241
Variance 0.00144 0.00055
TABLE IV: Mean relative finger bone length ratios and their variances in different datasets

Similarly, we calculate angle ranges, consisting of minimum and maximum angles, from training set of each dataset as shown in Table V.

Min Max
Middle and Proximal phalanx 0.33 91.95
Distal and Middle phalanx 0.21 125.39
Index-Middle-Ring Flexion 20.88 108.63
Min Max
Middle and Proximal phalanx 0.08 90.00
Distal and Middle phalanx 0.08 90.00
Index-Middle-Ring Flexion 21.90 102.03
TABLE V: Mean angle ranges of different digits in different datasets (DEG)

Using the values in Table IV and V we train our 3D Hand pose estimation model in a weakly-supervised setting. Fig. 11 shows how our proposed constraints are effective in increasing performance for Rendered Hand Pose dataset. Even though [4] uses extra annotation of depth maps for training, we are able to outperform by a good margin after making use of all our proposed constraints.

Fig. 11: 3D PCK results on RHD dataset’s evaluation samples using our constraints.
Fig. 12: 3D PCK results on STB dataset’s evaluation samples using our constraints.

Similarly, Fig. 12 shows how our constraint can further improve the performance on our baseline model for STB dataset. In this dataset, though, we are not able to outperform [4] even though our method gives better results than many other hand pose estimation methods. We attribute this to the fact that the extra depth map annotation provided their model with better information to aid in learning 3D hand structure. Furthermore, Table VI shows the comparison of Mean Average Endpoint Pixel Error with [3] in STB dataset. Again, we see that our method produces a slightly better results in 3D prediction.

Ours [3]
Mean EPE 8.71 9.76
TABLE VI: Mean EPE for 3D prediction to ground truth in STB (mm)

Ablation Studies on Constraints To see the full effect after the application of each constraint, we calculate and plot the average joint prediction errors in the 2D (i.e. X and Y) and depth component (i.e. Z) of different position/joint 3D keypoint coordinates from RHD dataset. We use the following position/joints for our study - Palm center, Metacarpophalangeal (MCP), Proximal interphalangeal (PIP), Distal interphalangeal (DIP) and finger tip (TIP). Fig. 10 shows that the proposed constraints do indeed have a positive impact on improving predictions by a good margin. The constraints not only aid in depth prediction, as expected, but also seem to help with 2D prediction. Again, we can also see that the effects of the constraints are more prominent as we take the positions/joints further from palm center. Joints/positions around easily located position like palm center are themselves relatively more easy to predict for deep learning models. But as we take joints/position further from palm center, they become iteratively harder to locate. Our proposed constraints seem to aid the models especially in these scenarios by providing hand geometry-based supervision. Finally, the improvements seen from finger bone length constraint seem to almost always out weigh the improvements from bone length and angle constraint together. This may suggest that the bone length constraint also corrects some invalid angles along with invalid bone lengths and they overlap in aiding to correct some types of invalid hand poses.

For a more visual study of these effects, we pick select samples from the datasets which prominently show the correcting effect of the constraints. The samples are shown in Fig. 8. Images in Fig. 8(a) shows how relative finger bone length ratio constraint can correct abnormally long digit length predictions to a more plausible digit position. Similarly, Fig. 8(b) shows how angle range constraint can correct impossible digit bends to a more acceptable angle for that digit pair.

Vi Conclusion

In this paper, we presented a complete pipeline for hand pose estimation that accomplishes all tasks of hand detection, hand side prediction and hand pose estimation required for a real-world implementation of a complete hand pose pipeline. Firstly, we addressed the common problem of ambiguity faced by hand detectors in confusing backgrounds and hand adjacent condition by using a keypoints-based approach to hand detector. We showed experimentally how this method can avoid such problems and improve performance of any ad-hoc hand estimation network attached to it. Similarly, we also discussed how we can make use of biological hand constraints of finger bone length ratio and angle ranges to create losses which can aid in further improving a hand estimation network. Finally, we provided experimental results showing improvements on our baseline methods after using these constraints and provided comparison of our method against other state-of-art 3D hand estimation methods.

Vii Future Work

In the future, we would like to extend the work done our design for hand detection by including supervision with segmentation mask. This increased supervision should improve the performance of hand detector even more. Furthermore, we would like to redesign the architecture such that both hand detector and hand pose estimator can be trained in a joint manner where the hand detector can automatically zoom in to a single hand in an incremental manner.


  • [1] L. Ballan, A. Taneja, J. Gall, L. Van Gool, and M. Pollefeys (2012) Motion capture of hands in action using discriminative salient points. In European Conference on Computer Vision, pp. 640–653. Cited by: §II-A.
  • [2] S. Bambach, S. Lee, D. J. Crandall, and C. Yu (2015) Lending a hand: detecting hands and recognizing activities in complex egocentric interactions. In Proceedings of the IEEE International Conference on Computer Vision, pp. 1949–1957. Cited by: §II-C.
  • [3] A. Boukhayma, R. de Bem, and P. H. Torr (2019) 3D hand shape and pose from images in the wild.

    Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

    Cited by: §I, §II-A, §V-B, TABLE VI.
  • [4] Y. Cai, L. Ge, J. Cai, and J. Yuan (2018) Weakly-supervised 3d hand pose estimation from monocular rgb images. In Proceedings of the European Conference on Computer Vision (ECCV), pp. 666–682. Cited by: §I, §II-A, §II-A, §III-B, §V-B, §V-B.
  • [5] T. Chen, M. Wu, Y. Hsieh, and L. Fu (2016) Deep learning for integrated hand detection and pose estimation. In 2016 23rd International Conference on Pattern Recognition (ICPR), pp. 615–620. Cited by: §II-C.
  • [6] C. Choi, S. Ho Yoon, C. Chen, and K. Ramani (2017) Robust hand pose estimation during the interaction with an unknown object. In Proceedings of the IEEE International Conference on Computer Vision, pp. 3123–3132. Cited by: §II-A.
  • [7] R. Dabral, A. Mundhada, U. Kusupati, S. Afaque, A. Sharma, and A. Jain (2018) Learning 3d human pose from structure and motion. In Proceedings of the European Conference on Computer Vision (ECCV), pp. 668–683. Cited by: §II-B, §II-D.
  • [8] P. S. Dalton and S. Ghosal (2014) Self-confidence, overconfidence and prenatal testosterone exposure: evidence from the lab. Cited by: §III-B1.
  • [9] M. Defferrard, X. Bresson, and P. Vandergheynst (2016) Convolutional neural networks on graphs with fast localized spectral filtering. CoRR abs/1606.09375. External Links: Link, 1606.09375 Cited by: §II-A.
  • [10] E. Dibra, S. Melchior, A. Balkis, T. Wolf, C. Oztireli, and M. Gross (2018-06) Monocular rgb hand pose inference from unsupervised refinable nets. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, Cited by: §I, §II-C.
  • [11] J. Fu, H. Zheng, and T. Mei (2017) Look closer to see better: recurrent attention convolutional neural network for fine-grained image recognition. Conference Proceedings In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 4476–4484. External Links: ISBN 1063-6919, Document Cited by: §III-A.
  • [12] L. Ge, H. Liang, J. Yuan, and D. Thalmann (2017) 3d convolutional neural networks for efficient and robust hand pose estimation from single depth images. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1991–2000. Cited by: §I, §II-A.
  • [13] L. Ge, Z. Ren, Y. Li, Z. Xue, Y. Wang, J. Cai, and J. Yuan (2019) 3D hand shape and pose estimation from a single rgb image. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 10833–10842. Cited by: §II-A, §II-A.
  • [14] R. George (1930) Human finger types. The Anatomical Record 46 (2), pp. 199–204. Cited by: §I.
  • [15] Y. Hasson, G. Varol, D. Tzionas, I. Kalevatykh, M. J. Black, I. Laptev, and C. Schmid (2019) Learning joint reconstruction of hands and manipulated objects. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 11807–11816. Cited by: §II-A.
  • [16] M. Jaderberg, K. Simonyan, A. Zisserman, et al. (2015) Spatial transformer networks. In Advances in neural information processing systems, pp. 2017–2025. Cited by: §III-A.
  • [17] T. N. Kipf and M. Welling (2016) Semi-supervised classification with graph convolutional networks. CoRR abs/1609.02907. External Links: Link, 1609.02907 Cited by: §II-A.
  • [18] D. Kulon, H. Wang, R. A. Güler, M. Bronstein, and S. Zafeiriou (2019) Single image 3d hand reconstruction with mesh convolutions. arXiv preprint arXiv:1905.01326. Cited by: §II-A.
  • [19] J. Lin, Y. Wu, and T. S. Huang (2000) Modeling the constraints of human hand motion. In Proceedings of the Workshop on Human Motion, pp. 121–126. Cited by: §I, §II-D.
  • [20] J. Malik, A. Elhayek, and D. Stricker (2017) Simultaneous hand pose and skeleton bone-lengths estimation from a single depth image. In 2017 International Conference on 3D Vision (3DV), pp. 557–565. Cited by: §II-A.
  • [21] G. Moon, J. Y. Chang, and K. M. Lee (2017-11) V2V-PoseNet: Voxel-to-Voxel Prediction Network for Accurate 3D Hand and Human Pose Estimation from a Single Depth Map. arXiv e-prints, pp. arXiv:1711.07399. External Links: 1711.07399 Cited by: §I, §II-B.
  • [22] F. Moreno-Noguer (2017) 3d human pose estimation from a single image via distance matrix regression. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2823–2832. Cited by: §II-B.
  • [23] F. Mueller, F. Bernard, O. Sotnychenko, D. Mehta, S. Sridhar, D. Casas, and C. Theobalt (2018) GANerated hands for real-time 3d hand tracking from monocular rgb. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 49–59. Cited by: §I, §I, §II-A, §II-C, §II-D.
  • [24] A. Newell, K. Yang, and J. Deng (2016-03) Stacked Hourglass Networks for Human Pose Estimation. arXiv e-prints, pp. arXiv:1603.06937. External Links: 1603.06937 Cited by: §III-A.
  • [25] M. Oberweger and V. Lepetit (2017) Deepprior++: improving fast and accurate 3d hand pose estimation. In Proceedings of the IEEE International Conference on Computer Vision, pp. 585–594. Cited by: §I, §II-A.
  • [26] M. Oberweger, P. Wohlhart, and V. Lepetit (2015) Hands deep in deep learning for hand pose estimation. arXiv preprint arXiv:1502.06807. Cited by: §II-A.
  • [27] P. Panteleris, I. Oikonomidis, and A. Argyros (2018) Using a single rgb frame for real time 3d hand pose estimation in the wild. In 2018 IEEE Winter Conference on Applications of Computer Vision (WACV), pp. 436–445. Cited by: §II-C.
  • [28] G. Pavlakos, X. Zhou, K. G. Derpanis, and K. Daniilidis (2016-11) Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose. arXiv e-prints, pp. arXiv:1611.07828. External Links: 1611.07828 Cited by: §II-B.
  • [29] K. G. Quach, C. N. Duong, K. Luu, and T. D. Bui (2016) Depth-based 3d hand pose tracking. In 2016 23rd International Conference on Pattern Recognition (ICPR), pp. 2746–2751. Cited by: §I.
  • [30] X. Ren, A. C. Berg, and J. Malik (2005) Recovering human body configurations using pairwise constraints between parts. In Tenth IEEE International Conference on Computer Vision (ICCV’05) Volume 1, Vol. 1, pp. 824–831. Cited by: §II-D, §III-B2.
  • [31] T. Simon, H. Joo, I. Matthews, and Y. Sheikh (2017) Hand keypoint detection in single images using multiview bootstrapping. Conference Proceedings In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 4645–4653. External Links: ISBN 1063-6919, Document Cited by: §II-A.
  • [32] A. Spurr, J. Song, S. Park, and O. Hilliges (2018) Cross-modal deep variational hand pose estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 89–98. Cited by: §I, §II-A.
  • [33] S. Sridhar, A. Oulasvirta, and C. Theobalt (2013) Interactive markerless articulated hand motion tracking using rgb and depth data. In Proceedings of the IEEE international conference on computer vision, pp. 2456–2463. Cited by: §II-A.
  • [34] S. Sridhar, H. Rhodin, H. Seidel, A. Oulasvirta, and C. Theobalt (2014) Real-time hand tracking using a sum of anisotropic gaussians model. In 2014 2nd International Conference on 3D Vision, Vol. 1, pp. 319–326. Cited by: §II-A.
  • [35] B. Tekin, P. Márquez-Neila, M. Salzmann, and P. Fua (2017) Learning to fuse 2d and 3d image cues for monocular body pose estimation. In Proceedings of the IEEE International Conference on Computer Vision, pp. 3941–3950. Cited by: §II-B.
  • [36] A. Urooj and A. Borji (2018) Analysis of hand segmentation in the wild. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4710–4719. Cited by: §I, §II-C.
  • [37] R. Wang, S. Paris, and J. Popović (2011) 6D hands: markerless hand-tracking for computer aided design. In Proceedings of the 24th annual ACM symposium on User interface software and technology, pp. 549–558. Cited by: §II-A.
  • [38] S. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh (2016) Convolutional pose machines. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4724–4732. Cited by: §III-A, §III-A.
  • [39] J. Zhang, J. Jiao, M. Chen, L. Qu, X. Xu, and Q. Yang (2017) A hand pose tracking benchmark from stereo matching. In 2017 IEEE International Conference on Image Processing (ICIP), pp. 982–986. Cited by: §IV-A2, §IV.
  • [40] X. Zhou, Q. Huang, X. Sun, X. Xue, and Y. Wei (2017) Towards 3d human pose estimation in the wild: a weakly-supervised approach. In Proceedings of the IEEE International Conference on Computer Vision, pp. 398–407. Cited by: §II-B, §II-D, §III-B2, §III-B.
  • [41] C. Zimmermann and T. Brox (2017) Learning to estimate 3d hand pose from single rgb images. In Proceedings of the IEEE International Conference on Computer Vision, pp. 4903–4911. Cited by: §I, §I, §I, §II-A, §II-C, §IV-A1, §IV-B1, §IV, §V-A, §V-A.