Cross-modal Deep Variational Hand Pose Estimation

Adrian Spurr, Jie Song, Seonwook Park, Otmar Hilliges

Introduction

Hands are of central importance to humans in manipulating the physical world and in communicating with each other. Recovering the spatial configuration of hands from natural images therefore has many important applications in AR/VR, robotics, rehabilitation and HCI. Much work exists that tracks articulated hands in streams of depth images, or that estimates hand pose from individual depth frames. However, estimating the full 3D hand pose from monocular RGB images only is a more challenging task due to the manual dexterity, symmetries and self-similarities of human hands as well as difficulties stemming from occlusions, varying lighting conditions and lack of accurate scale estimates. Compared to depth images the RGB case is less well studied.

Recent work relying solely on RGB images proposes a deep learning architecture that decomposes the task into several substeps, demonstrating initial feasibility and providing a public dataset for comparison. The proposed architecture is specifically designed for the monocular case and splits the task into hand and 2D keypoint detection followed by a 2D-3D lifting step but incorporates no explicit hand model. Our work is also concerned with the estimation of 3D joint-angle configurations of human hands from RGB images but learns a cross-modal, statistical hand model. This is attained via learning of a latent representation that embeds sample points from multiple data sources such as 2D keypoints, images and 3D hand poses. Samples from this latent space can then be reconstructed by independent decoders to produce consistent and physically plausible 2D or 3D joint predictions and even RGB images.

Findings from bio-mechanics suggest that while articulated hands have many degrees-of-freedom, only few are fully independently articulated . Therefore a sub-space of valid hand poses is supposed to exist and prior work on depth based hand tracking has successfully employed dimensionality reduction techniques to improve accuracy.

This idea has been recently revisited in the context of deep-learning, where Wan et al. attempt to learn a manifold of hand poses via a combination of variational autoencoders (VAEs) and generative adversarial networks (GANs) for hand pose estimation from depth images. However, their approach is based on two separate manifolds, one for 3D hand joints (VAE) and one for depth-maps (GAN) and requires a mapping function between the two.

In this work we propose to learn a single, unified latent space via an extension of the VAE framework. We provide a derivation of the variational lower bound that permits training of a single latent space using multiple modalities, where similar input poses are embedded close to each other independent of the input modality. Fig. 1 visualizes this learned unified latent space for two modalities (RGB & 3D). We focus on RGB images and hence test the architecture on different combinations of modalities where the goal is to produce 3D hand poses as output. At the same time, the VAE framework naturally allows to generate samples consistently in any modality.

We experimentally show that the proposed approach outperforms the state-of-the art method in direct RGB to 3D hand pose estimation, as well as in lifting from 2D detections to 3D on a challenging public dataset. Meantime, we note that given any input modality a mapping into the embedding space can be found and likewise hand configurations can be reconstructed in various modalities, thus the approach learns a many-to-many mapping. We demonstrate this capability via generation of novel hand pose configurations via sampling from the latent space and consistent reconstruction in different modalities (i.e., 3D joint positions and synthesized RGB images). These could be potentially used in hybrid approaches for temporal tracking or to generate additional training data. Furthermore, we explore the utility of the same architecture in the case of depth images and show that we are comparable to state-of-art depth based methods that employ specialized architectures.

Related Work

Capturing the 3D motion of human hands from images is a long standing problem in computer vision and related areas (cf. ). With the recent emergence of consumer grade RGB-D sensors and increased importance of AR and VR this problem has seen increased attention . Generally speaking approaches can be categorized into tracking of articulated hand motion over time (e.g., ) and per-frame classification . Furthermore, a number of hybrid methods exist that first leverage a discriminative model to initialize a hand pose estimate which is then refined and tracked via carefully designed energy functions to fit a hand model into the observed depth data . Estimating hand pose from RGB images is more challenging.

Also using depth-images, a number of approaches have been proposed that extract manually designed features and discriminative machine learning models to predict joint locations in depth images or 3D joint-angles directly . More recently a number of deep-learning models have been proposed that take depth images as input and regress 2D joint locations in multiple images which are then used for optimization-based hand pose estimation. Others deploy convolutional neural networks (CNNs) in end-to-end learning frameworks to regress 3D hand poses from depth images, either directly estimating 3D joint configurations , or estimating joint-angles instead of Cartesian coordinates . Exploiting the depth information more directly, it has also been proposed to convert depth images into 3D multi-views or volumetric representations before feeding them to a 3D CNN. Aiming at more mobile usage scenarios, recent work has proposed hybrid methods for hand-pose estimation from body-worn cameras under heavy occlusion . While the main focus lies on RGB imagery, our work is also capable of predicting hand pose configurations from depth images due to the multi-modal latent space.

Wan et al. is the most related work in spirit to ours. Like our work, they employ deep generative models (a combination of VAEs and GANs) to learn a latent space representation that regularizes the posterior prediction. Our method differs significantly in that we propose a theoretically grounded derivation of a cross-modal training scheme based on the variational autoencoder framework that allows for joint training of a single cross-modal latent space, whereas requires training of two separate latent spaces, learning of a mapping function linking them and final end-to-end refinement. Furthermore, we experimentally show that our approach reaches parity with the state-of-the-art in depth based hand pose estimation and outperforms existing methods in the RGB case, whereas report only depth based experiments. In , VAE is also deployed for depth based hand pose estimation. However, their focus is minimising the dissimilarity coefficient between the true distribution and the estimated distribution.

To the best of our knowledge there is currently only one approach for learning-based hand pose estimation from RGB images alone . Demonstrating the feasibility of the task, this work splits 3D hand pose estimation into an image segmentation, 2D joint detection and 2D-3D lifting task. Our approach allows for training of the latent space using either input modality (in this case 2D key points or RGB images) and direct 3D hand pose estimation via decoding the corresponding sample from the latent space. We experimentally show that our methods outperforms both in the 2D-3D lifting setting and the end-to-end hand pose estimation setting, even when using fewer invariances than the original method. Finally, we demonstrate that the same approach can be directly employed to depth images without any modifications to the architecture.

Our work builds on literature in deep generative modeling. Generative Adversarial Nets (GAN) learn an underlying distribution of the data via an adversarial learning process. The Variational Autoencoder (VAE) learns it via optimizing the log-likelihood of the data under a latent space manifold. However unlike GANs, they provide a framework to embed data into this manifold which has been shown to be useful for diverse applications such as multi-modal hashing . Aytar et al. use several CNNs to co-embed data from different data modalities for scene classification and Ngiam et al. reconstruct audio and video across modalities via a shared latent space. Our work also aims to create a cross-modal latent space and we provide a derivation of the cross-modal training objective function that naturally admits learning with different data sources all representing physically plausible hand pose configurations.

Method

The complex and dexterous articulation of the human hand is difficult to model directly with geometric or physical constraints . However, there is broad agreement in the literature that a large amount of the degrees-of-freedom are not independently controllable and that hand motion, in natural movement, lives in a low-dimensional subspace . Furthermore, it has been shown that dimensionality reduction techniques can provide data-driven priors in RGB-D based hand pose estimation . However, in order to utilize such a low-dimensional sub-space directly for posterior estimation in 3D hand-pose estimation it needs to be i) smooth, ii) continuous and iii) consistent. Due to the inherent difficulties of capturing hand poses, most data sets do not cover the full motion space and hence the desired manifold is not directly attainable via simple dimensionality reduction techniques such as PCA.

We deploy the VAE framework that admits cross-modal training of such a hand pose latent space by using various sources of data representation, even if stemming from different data sets both in terms of input and output. Our cross-modal training scheme, illustrated in Fig. 2, learns to embed hand pose data from different modalities and to reconstruct them either in the same or in a different modality.

More precisely, a set of encoders qq take data samples xx in the form of either 2D keypoints, RGB or depth images and project them into a low-dimensional latent space zz, representing physically plausible poses. A set of decoders pp reconstruct the hand configuration in either modality. The focus of our work is on 3D hand pose estimation and therefore on estimating the 3D joint posterior. The proposed approach is fully generative and experimentally we show that it is capable of generating consistent hand configurations across modalities. During training, each input modality alternatively contributes to the construction of the shared latent space. The manifold is continuous and smooth which we show by generating cross-modal samples such as novel pairs of 3D poses and images of natural handsGenerated images are legible but blurry. Creating high quality natural images is a research topic in itself..

Our cross-modal training objective can be derived from the VAE framework , a popular class of generative models, typically used to synthesize data. A latent representation is attained via optimizing the so-called variational lower bound on the log-likelihood of the data:

Here DKL(⋅)D_{KL}(\cdot) is the Kullback-Leibler divergence, and the conditional probability distributions q(z∣x)q(z|x), p(x∣z)p(x|z) are the encoder and decoders, parametrized by neural networks. The distribution p(z)p(z) is the prior on the latent space, modeled as N(z∣0,I)\mathcal{N}(z|0,I). The encoder returns the mean μ\mu and variance σ2\sigma^{2} of a normal distribution, such that z∼N(μ,σ2)z\sim\mathcal{N}(\mu,\sigma^{2}).

In this original form VAEs only take a single data distribution into account. To admit cross-modal training, at least two data modalities need to be considered.

2 Cross-modal Hand Pose Latent Space

Our goal is to guide the cross-modal VAE into learning a lower-dimensional latent space of hand poses with the above mentioned desired properties and the ability to project any modality into zz and to generate posterior estimates in any modality. For this purpose we re-derive a new objective function for training which leverages multiple modalities. We then detail our training algorithm based on this objective function.

For brevity we use a concrete example in which a data sample xix_{i} (e.g., an RGB image) is embedded into the latent space to obtain the embedding vector zz, from which a corresponding data sample xtx_{t} is reconstructed (e.g., a 3D joint configuration). To achieve this, we maximize the log-probability of our desired output modality xtx_{t} under our model log⁡pθ(xt)\log p_{\theta}(x_{t}), where θ\theta are the model parameters. We will omit the model parameters to reduce clutter.

Similar to the original derivation , we start with the quantity log⁡p(xt)\log p(x_{t}) that we want to maximize:

exploiting the fact that ∫zq(z∣xi)dz=1\int_{z}q(z|x_{i})dz=1 and expanding p(xt)p(x_{t}) gives:

Remembering that DKL(p(x)∣∣q(x))=∫xp(x)log⁡p(x)q(x)D_{KL}(p(x)||q(x))=\int_{x}p(x)\log\frac{p(x)}{q(x)} and splitting the integral of Eq (3) we arrive at:

Here p(z∣xt)p(z|x_{t}) corresponds to the desired but inaccessible posterior, which we approximate with q(z∣xi)q(z|x_{i}).

Since p(xt)p(z∣xt)=p(xt∣z)p(z)p(x_{t})p(z|x_{t})=p(x_{t}|z)p(z) and because DKL(p(x)∣∣q(x))≥0D_{KL}(p(x)||q(x))\geq 0 for any distribution p,qp,q, we attain the final lower bound:

Note that we changed signs via the identity −log⁡(x)=log⁡(1x)-\log(x)=\log(\frac{1}{x}). Here q(z∣xi)q(z|x_{i}) is our encoder, embedding xix_{i} into the latent space and p(xt∣z)p(x_{t}|z) is the decoder, which transforms the latent sample zz into the desired representation xtx_{t}.

The derivation shows that input samples xix_{i} and target samples xtx_{t} can be decoupled via a joint embedding space zz where ii and tt can represent any modality. For example, to maximize log⁡p(x3D)\log p(x_{\text{3D}}) when given xRGBx_{\text{RGB}}, we can train with q(z∣xRGB)q(z|x_{\text{RGB}}) as our encoder and p(x3D∣z)p(x_{\text{3D}}|z) as the decoder.

Importantly the above derivation also allows to train additional encoder-decoder pairs such as (q(z∣xRGB)q(z|x_{\text{RGB}}), p(xRGB∣z)p(x_{\text{RGB}}|z)), at the same time, for the same zz. This cross-modal training regime results in a single latent space that allows us to embed and reconstruct multiple data modalities, or even train in a unsupervised fashion.

In the context of hand pose estimation, p(z)p(z) represents a hand pose manifold which can be better defined with additional input modalities such as xRGBx_{\text{RGB}}, x2Dx_{\text{2D}}, x3Dx_{\text{3D}}, and even xDepthx_{\text{Depth}} used in combination.

3 Network Architecture

In practice, the encoder qkq_{k} for data modality kk returns the mean μ\mu and variance σ2\sigma^{2} of a normal distribution for a given sample, from which the embedding zz is sampled, i.e z∼N(μ,σ2)z\sim\mathcal{N}(\mu,\sigma^{2}). However, the decoder plp_{l} directly reconstructs the latent sample zz to the desired data modality ll.

Fig. 2, illustrates our proposed architecture for the case of RGB based handpose estimation. In this setting we use two encoders for RGB images and 3D keypoints respectively. Furthermore, the architecture contains two decoders for RGB images and 3D joint configurations.

4 Training Procedure

Our cross-modal objective function (Eq 3) follows the training procedure given as pseudo-code in Alg.1. The procedure takes a set of modalities PVAEP_{VAE} with corresponding encoders and decoders qi,pjq_{i},p_{j}, where i,ji,j signify the respective modality, and trains all such pairs iteratively for E\mathcal{E} epochs. Note that the embedding space zz is always the same and hence we attain a joint cross-modal latent space from this procedure (cf. Fig. 1).

Experiments

To evaluate the performance of the cross-modal VAE we systematically evaluate the utility of the proposed training algorithm and the resulting cross-modal latent space. This is done via estimation of 3D hand joint positions from three entirely different input modalities: 1) 2D joint locations; 2) RGB image; 3) depth images. In our experiments we explored combinations of different modalities during training. We always predict at least the 3D hand configuration but add further modalities. More specifically we run experiments with the following four variants: a) Var. 1: (xi→xt)(x_{i}\rightarrow x_{t}) b) Var. 2: (xi→xt,xt→xt)(x_{i}\rightarrow x_{t},x_{t}\rightarrow x_{t}) c) Var. 3: (xi→xt,xi→xi)(x_{i}\rightarrow x_{t},x_{i}\rightarrow x_{i}) d) Var. 4: (xi→xt,xi→xi,xt→xt)(x_{i}\rightarrow x_{t},x_{i}\rightarrow x_{i},x_{t}\rightarrow x_{t}), where xix_{i} always signifies the input modality and ii takes one of the following values: [RGB, 2D, Depth] and tt equals the output modality. In our experiments this is always t=3Dt=\text{3D} but can in general be any target modality. Including the xt→xix_{t}\rightarrow x_{i} direction neither directly affects the RGB encoder, nor the 3D joint decoder and hence was dropped from our analysis.

We employ Resnet-18 for the encoding of RGB and depth images. Note that the model size of this encoder is much smaller compared to prior work that directly regresses 3D joint coordinates . The decoders for RGB and depth consist of a series of (TransposedConv, BatchNorm2D and ReLU)-layers. For the case of 2D keypoint and 3D joint encoders and decoders, we use several (Linear, ReLU)-layers. In our experiments we did not observe much increase in accuracy from more complex decoder architectures. We train our architecture with the ADAM optimizer using a learning rate of 10−410^{-4}. Exact architecture details and hyperparameters can be found in the supplementary materials.

2 Datasets

We evaluate our method in the above settings based on several publicly available datasets. For the input modality of 2D keypoints and RGB images only few annotated datasets are available. We test on the datasets of the Stereo Hand Pose Tracking Benchmark (STB) and the Rendered Hand Pose Dataset (RHD) . STB contains 1818k images with resolution of 640×480640\times 480, which are split into a training set with 1515k samples and test set with 33k samples. These images are annotated with 3D keypoint locations and the 2D keypoints are recovered via projecting them with the camera intrinsic matrix. The depicted hand poses contain little self-occlusion and variation in global orientation, lighting etc. and are relatively easy to recover.

RHD is a synthetic dataset with rendered hand images, which is composed of 4242k training images and 2.72.7k evaluation images of size 320×320320\times 320. Similar to STB, both 2D and 3D keypoint locations are annotated. The dataset contains a much richer variety of viewpoints and poses. The 3D human model is set in front of randomly sampled images from Flickr to generate arbitrary backgrounds. This dataset is considerably more challenging due to variable viewpoints and difficult hand poses at different scales. Furthermore, despite being a synthetic dataset the images contain significant amount of noise and blur and are relatively low-res.

For the depth data, we evaluate on the ICVL , NYU , and MSRA datasets. For NYU, we train and test on viewpoint 11 and all 3636 available joints, and evaluate on 1414 joints as done in while for MSRA, we perform a leave-one-out cross-validation and evaluate the errors for the 99 models trained as done in .

3 Evaluation metrics

We provide three different metrics to evaluate the performance of our proposed model under various settings: i) The most common metric used in the 3D hand pose estimation literature is the mean 3D joint error which measures the average euclidean distance between predicted joints and ground truth joints. ii) We also report Percentage of Correct Keypoints (PCK) which returns the mean percentage of predicted joints below an euclidean distance of dd from the correct joint location. iii) The hardest metric, which reports the Percentage of Correct Frames (PCF) where all the predicted joints are within an euclidean distance of dd to its respective GT location. We report this only for depth since it is commonly reported in the literature.

4 Comparison of variants

We begin with comparing our variants with each other to determine which performs best and experiment on RHD and STB. On both datasets, we test the performance of our model on the task of regressing the 3D joints from RGB directly. Additionally, we predict the 3D joint locations from given 2D joint locations (dimensionality lifting) on RHD.

Table 5 shows our results on the corresponding task and dataset. The errors are given in mean end-point-error (EPE) (median EPE is in the supplementary). Var. 3 outperforms the other variants on two tasks; lifting 2D joint locations to 3D on RHD and regressing 3D joint location directly from RGB on STB. On the other hand, Var. 1 is superior in the task of RGB→\rightarrow3D on RHD. However we note that in general, the individual performance differences are minor. This is to be expected, as we conduct all our experiments within individual datasets. Hence even if multiple modalities are present, they capture the same poses and the same inherent information. This indicates that having a shared latent space for generative purposes does not harm the performance and in certain cases can even enhance it. This may be due to the regularizing effect of introducing multiple modalities.

5 Comparison to related work

In this section we perform a qualitative analysis of our performance in relation to prior work for both RGB and depth cases. For this, we pick the best variant of the respective task, as determined in the previous section. For the RGB datasets (RHD and STB), we compare against . To the best of our knowledge, it is the only prior work that addresses the same task as we do. In order to compare fairly, we conduct the same data preprocessing. Importantly, in additional information such as handedness (H) and scale of the hand (S) are provided at test time. Furthermore, the cropped hands are normalized to a roughly uniform size. Finally, they change the task from predicting the global 3D joint coordinates to estimating a palm-relative, translation invariant (T) set of joint coordinates by providing ground truth information of the palm center. In our case, the handedness is provided via a boolean flag directly into the model.

However, in order to assess the influence of our learned hand model we incrementally reduce the reliance on invariances which require access to ground-truth information. These results are shown alongside our main algorithm.

2D to 3D. As a baseline experiment we compare our method to that of in the task of lifting 2D keypoints into a 3D hand pose configuration on the RHD dataset. Recently report that given a good 2D keypoint detector, lifting to 3D can yield surprisingly good results, even with simple methods in the case of 3D human pose estimation. Hand pose estimation is considerably more challenging task due to the more complex motion and flexibility of the human hand. Furthermore, provide a separate evaluation of their lifting component which serves as our baseline.

The first column of Table 6 summarizes the mean squared end-point errors (EPE) for the RHD dataset. In general, our proposed model outperforms by a relatively large margin. The bottom rows of Table 6 show results of ours without the handedness invariance (H) and the scale invariance (S), we still surpass the accuracy of . This suggests that our model indeed encodes physically plausible hand poses and that reconstructing the posterior from the embedding aids the hand pose estimation task.

RGB to 3D. Here, we evaluate our method on the task of directly predicting 3D hand pose from RGB images, without intermediate 2D keypoint extraction. We run our model and on cropped RGB images for fair comparison.

Zimmermann et al. , in which 2D keypoints are first predicted and then lifted into 3D serves as our baseline. We evaluate the proposed model on the STB and RHD datasets. Fig. 10(a) and 10(b) show several samples of our prediction on STB and RHD respectively. Even though some images in RHD contain heavily occluded fingers, our method retrieves biomechanically plausible predictions.

The middle column of Table 6 summarizes the results for the harder RHD dataset. Our approachs accuracy exceeds that of by a large margin. Removing available invariances again slightly decreases performance but our models still remains superior to . Looking at the PCK curve comparison in Fig. 4(a), we see that our model outperforms for all thresholds.

The rightmost column of Table 6 shows the performance on the STB dataset. The margin of improvement of our approach is considerably smaller. We argue that the performance on the dataset is saturated as it is much easier (see discussion in Sec. 4.2). Fig. 4(b) shows the PCK curves on STB, with the other baselines that operate on noisy stereo depth maps and not RGB (directly taken from ).

Depth to 3D. Given the ready availability of RGB-D cameras, the task of 3D joint position estimation from depth has been explored in great detail and specialized architectures have been proposed. We evaluate our architecture, designed originally for the RGB case, on the ICVL , NYU and MSRA datasets. Despite the lower model capacity, our method performs comparably (see Fig. 5) to recent works with just a modification to take 11-channel images as input compared to our RGB case.

6 Semi-supervised learning

Due to the nature of cross-training, we can exploit complementary information from additional data. For example, if additional unlabeled images are available, our model can make use of these via cross-training. This is a common scenario, as unlabeled data is plentiful. If not available, acquiring this is by far simpler than recording training data.

To explore this semi-supervised setting, we perform an additional experiment on STB. We simulate a situation where we have labeled and unlabeled data by discarding different percentages of 3D joint data from our dataset. Fig. 3, compares the median EPE of Var. 1 (which can only be trained supervised) with Var. 3 (trained semi-supervised). We see that as more unlabeled data becomes available, Var. 3 can make use of this additional information and improve prediction accuracy up to 22%\%.

7 Generative capabilities

Our model is guided to learn a manifold of hand poses. In this section, we demonstrate the smoothness and consistency of it. To this end, we perform a walk on one dimension of the latent space by embedding two RGB images of separate hand poses into the latent space and obtain two corresponding samples z1z_{1} and z2z_{2}. We then decode the latent space samples that reside on the interpolation line between them using our models for RGB and 3D joint decoding. Fig. 6 shows the resulting reconstructions, demonstrating consistency between both decoders. The fingers move in synchrony and the generated synthetic samples are both physically plausible and consistent across modalities. This demonstrates that the learned latent space is indeed smooth and represents a valid statistical model of hand poses.

The smoothness property of the unified latent space is attractive in several regards. Foremost because this potentially enables generation of labeled data which in turn may be used to improve current models. Fully exploring this aspect is subject to further research.

Conclusion

We have proposed a new approach to estimate 3D hand pose configurations from RGB and depth images. Our approach is based on a re-derivation of the variational lower bound that admits training of several independent pairs of encoders and decoders, shaping a joint cross-modal latent space representation. We have experimentally shown that the proposed approach outperforms the state-of-the art on publicly available RGB datasets and is at least comparable to highly specialized state-of-the-art methods on depth data. Finally, we have shown the generative nature of the approach which suggests that we indeed learn a usable and physically plausible statistical hand model, enabling direct estimation of the 3D joint posterior.

Acknowledgements

This work was supported in parts by the ERC grant OPTINT (StG-2016-717054)

References

Supplementary

This documents provides additional information regarding our main paper and discusses architecture, training and further implementation details. Furthermore, we provide additional experimental results in particular those that illustrate the benefit of the cross-modal latent space representation.

All code was implemented in PyTorch. For all models, we used the ADAM optimizer with its default parameters to train and set the learning rate of 10−410^{-4}. The batch size was set to 6464.

2D to 3D. For the 2D to 3D modality we use identical encoder and decoder architectures, consisting of a series of (Linear,ReLU)-layers. The exact architecture is summarized in table 3.

RGB to 3D. For the RGB to 3D modality, images were normalized to the range [−0.5,0.5][-0.5,0.5] and we used data augmentation to increase the dataset size. More specifically, we randomly shifted the bounding box around the hand image, rotated the cropped images in the range [−45∘,45∘][-45^{\circ},45^{\circ}] and applied random flips along the yy-axis. The resulting image was then resized to 256 ⁣× ⁣256256\!\times\!256. The joint data was augmented accordingly. Because the RHD and STB datasets have non-identical hand joint layouts (RHD gives the wrist-joint location, whereas STB gives the palm-joint location), we shifted the wrist joint of RHD into the palm via interpolating between the wrist and first middle-finger joint. We trained on both hands of the RHD dataset, whereas we used both views of the stereo camera of the STB dataset. This is the same procedure as in . The encoder and decoder architectures for RGB data are detailed in table 4. We used the same encoder/decoder architecture for the 3D to 3D joint modality as for the 2D to 2D case (shown in table 3).

Depth to 3D. We used the same architecture and training regime as for the RGB case. The only difference was adjusting the number of input channels from 33 to 11.

2 Qualitative Results

In this section we provide additional qualitative results, all were produced with the architecture and training regime detailed in the main paper.

Latent space consistency. In Fig. 8 we embed data samples from RHD and STB into the latent space and perform a t-SNE embedding. Each data modality is color coded (blue: RGB images, green: 3D joints, yellow: 2D joints). Here, Fig. 8(a) displays the embedding for our model when it is cross-trained. We see that each data modality is evenly distributed, forming a single, dense, approximately Gaussian cluster. Compared to Fig. 8(b) which shows the embedding for the same model without cross-training, it is clear that each data modality lies on a separate manifold. This figure indicates that cross-training is vital for learning a multi-modal latent space.

To further evaluate this property, in Fig. 9 we show samples from the manifold, decoding them into different modalities. The latent samples are chosen such that the lie on an interpolated line between two embedded images. In other words, we took sample xRGB1x^{1}_{RGB} and xRGB2x^{2}_{RGB} and encoded them to obtain latent sample z1z^{1} and z2z^{2}. We then interpolated linearly between these two latent samples, obtaining latent samples zjz^{j} which were then decoded into the 2D, 3D and RGB modality, resulting in a triplet. Hence the left-most and right-most samples of the figure correspond to reconstruction of the RGB image and prediction of its 2D and 3D keypoints, whereas the middle figures are completely synthetic. It’s important to note here that each decoded triplet originates from the same point in the latent space. This visualization shows that our learned manifold is indeed consistent amongst all three modalities. This result is in-line with the visualization of the joint embedding space visualized in Fig. 8.

Additional figures. Fig. 10(a) visualizes predictions on STB. The poses contained in the dataset are simpler, hence the predictions are very accurate. Sometimes the estimated hand poses even appear to be more correct than the ground truth (cf. right most column). Fig. 10(b) shows predictions on RHD. The poses are considerably harder than in the STB dataset and contain more self-occlusion. Nevertheless, our model is capable of predicting realistic poses, even for occluded joints. Fig. 12 shows similar results for depth images.

Fig. 11 displays the input image, its ground truth joint skeleton and predictions of our model. These were constructed by sampling repeatedly from the latent space from the predicted mean and variance which are produced by the RGB encoder. Generally, there are only minor variations in the pose, showing the high confidence of predictions of our model.

3 Influence of model capacity

All of our models predicting 3D joint skeleton from RGB images have strictly less parameters than . Our smallest model consists of 12′398′38712^{\prime}398^{\prime}387 parameters, and the biggest ranges up to 14′347′34614^{\prime}347^{\prime}346. In comparison, uses 21′394′52921^{\prime}394^{\prime}529 parameters. Yet, we still outperform them on RHD and reach parity on the saturated STB dataset. This provides further evidence of the proposed approach to learn a manifold of physically plausible hand configurations and to leverage this for the prediction of joint positions directly from an RGB image. employ a ResNet-50 architecture to predict the 3D joint coordinates directly from depth. In the experiment reported in the main paper, our architecture produced a slightly higher mean EPE (8.5) in comparison to DeepPrior++ (8.1). We believe this can be mostly attributed to differences in model capacity. To show this, we re-ran our experiment on depth images, using the ResNet-50 architecture as encoder and achieved a mean EPE of 8.0.