# Cross-modal Deep Variational Hand Pose Estimation

Adrian Spurr, Jie Song, Seonwook Park, Otmar Hilliges ETH Zurich

{spurra, jsong, spark, otmarh}@inf.ethz.ch

## Abstract

The human hand moves in complex and high-dimensional ways, making estimation of 3D hand pose configurations from images alone a challenging task. In this work we propose a method to learn a statistical hand model represented by a cross-modal trained latent space via a generative deep neural network. We derive an objective function from the variational lower bound of the VAE framework and jointly optimize the resulting cross-modal KL-divergence and the posterior reconstruction objective, naturally admitting a training regime that leads to a coherent latent space across multiple modalities such as RGB images, 2D keypoint detections or 3D hand configurations. Additionally, it grants a straightforward way of using semi-supervision. This latent space can be directly used to estimate 3D hand poses from RGB images, outperforming the state-of-the art in different settings. Furthermore, we show that our proposed method can be used without changes on depth images and performs comparably to specialized methods. Finally, the model is fully generative and can synthesize consistent pairs of hand configurations across modalities. We evaluate our method on both RGB and depth datasets and analyze the latent space qualitatively.

### 1. 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 [^15] [^16] [^27] [^35] 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.

![Image](images/289bd3dafaacaea972cf8833d109debb3af7c940fbe7291bd1eae67ce8cb9a50.jpg)

<div style="text-align: center;">Figure 1: Cross-modal latent space. t-SNE visualization of 500 input samples of different modalities in the latent space. Embeddings of RGB images are shown in blue, embeddings of 3D joint configurations in green. Hand poses are decoded samples drawn from the latent space. Embedding does not cluster by modality, showing that there is a unified latent space. The posterior across different modalities can be estimated by sampling from this manifold.</div>

Recent work relying solely on RGB images [^38] 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 [^20]. Therefore a sub-space of valid hand poses is supposed to exist and prior work on depth based hand tracking [^26] 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. [^34] 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 [^38] 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 [^15] [^16] [^34] that employ specialized architectures.

### 2. Related Work

Capturing the 3D motion of human hands from images is a long-standing problem in computer vision and related areas (cf. [^5]). With the recent emergence of consumer-grade RGB-D sensors and increased importance of AR and VR, this problem has been increased attention [^22] [^25] [^26] [^27] [^28] [^29] [^30] [^34] [^35] [^37]. Generally speaking, approaches can be categorized into tracking of articulated hand motion over time (e.g., [^18]) and per-frame classification [^25] [^27] [^34]. 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 [^19] [^22] [^30] [^33] [^36]. 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 [^3] [^10] [^25] [^28]. 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 [^24] [^32] 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 [^15] [^23], or estimating joint-angles instead of Cartesian coordinates [^16]. Exploiting the depth information more directly, it has also been proposed to convert depth images into 3D multi-views [^6] or volumetric representations [^7] 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 [^13]. 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. [^34] 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 [^11] framework that allows for joint training of a single cross-modal latent space, whereas [^34] 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 [^34] report only depth based experiments. In [^2], 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 [^38]. 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 exper-

---

![Image](images/2411e8e3417affdaf7a6c2e50734c66af38b1bb1327ffb155b621525d87e41cf.jpg)

<div style="text-align: center;">Figure 2: Schematic overview of our architecture. Left: a cross-modal latent space z is learned by training pairs of encoder and decoder q, p networks across multiple modalities (e.g., RGB images to 3D hand poses). Auxiliary encoder-decoder pairs help in regularizing the latent space. Right: The approach allows to embed input samples of one set of modalities (here: RGB, 3D) and to produce consistent and plausible posterior estimates in several different modalities (RGB, 2D and 3D).</div>

imentally show that our methods outperforms [^38] 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) [^8] learn an underlying distribution of the data via an adversarial learning process. The Variational Autoencoder (VAE) [^11] 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 multimodal hashing [^4]. Aytar et al. [^1] use several CNNs to co-embed data from different data modalities for scene classification and Ngiam et al. [^14] 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.

### 3. Method

The complex and dexterous articulation of the human hand is difficult to model directly with geometric or physical constraints [^18] [^30] [^33]. 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 [^20] [^31]. Furthermore, it has been shown that dimensionality reduction techniques can provide data-driven priors in RGB-D based hand pose estimation [^21] [^26]. 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 q take data samples x in the form of either 2D keypoints, RGB or depth images and project them into a low-dimensional latent space z, representing physically plausible poses. A set of decoders p 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 la-

---

tent 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 hands $^{1}$.

#### 3.1. Variational Autoencoder

Our cross-modal training objective can be derived from the VAE framework [^11], 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:

 $$ \log p(x)\geq E_{z\sim q(z|x)}[\log p(x|z)]-D_{K L}(q(z|x)||p(z)) $$

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

#### 3.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 z 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 $x_i$ (e.g., an RGB image) is embedded into the latent space to obtain the embedding vector z, from which a corresponding data sample $x_t$ is reconstructed (e.g., a 3D joint configuration). To achieve this, we maximize the log-probability of our desired output modality $x_t$ under our model $\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 [^11], we start with the quantity $\log p(x_t)$ that we want to maximize:

 $$ \log p(x_{t})=\int_{z}q(z|x_{i})\log p(x_{t})d z, $$

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

 $$ \int_{z}q(z|x_{i})\log\frac{p(x_{t})p(z|x_{t})q(z|x_{i})}{p(z|x_{t})q(z|x_{i})}d z. $$

Remembering that  $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:

 $$ \begin{aligned}&\int_{z}q(z|x_{i})\log\frac{q(z|x_{i})}{p(z|x_{t})}dz+\int_{z}q(z|x_{i})\log\frac{p(x_{t})p(z|x_{t})}{q(z|x_{i})}dz\\&=D_{KL}(q(z|x_{i})||p(z|x_{t}))+\int_{z}q(z|x_{i})\log(\frac{p(x_{t}|z)p(z)}{q(z|x_{i})})dz.\end{aligned} $$

Here  $p(z|x_t)$ corresponds to the desired but inaccessible posterior, which we approximate with  $q(z|x_i)$.

Since  $p(x_t)p(z|x_t) = p(x_t|z)p(z)$ and because  $D_{KL}(p(x)||q(x)) \geq 0$ for any distribution  p, q, we attain the final lower bound:

 $$ \begin{aligned}&D_{K L}(q(z|x_{i})||p(z|x_{t}))+\int_{z}q(z|x_{i})\log(\frac{p(x_{t}|z)p(z)}{q(z|x_{i})})d z\\&\geq\int_{z}q(z|x_{i})\log p(x_{t}|z)d z-\int_{z}q(z|x_{i})\log\frac{q(z|x_{i})}{p(z)}d z\\&=\mathbb{E}_{z\sim q(z|x_{i})}[\log p(x_{t}|z)]-D_{K L}(q(z|x_{i})||p(z)).\\ \end{aligned} $$

Note that we changed signs via the identity  $-\log(x) = \log\left(\frac{1}{x}\right)$. Here  $q(z|x_i)$ is our encoder, embedding  $x_i$ into the latent space and  $p(x_t|z)$ is the decoder, which transforms the latent sample  z into the desired representation  $x_t$.

The derivation shows that input samples  $x_i$ and target samples  $x_t$ can be decoupled via a joint embedding space  z where  i and  t can represent any modality. For example, to maximize  $\log p(x_{\mathrm{3D}})$ when given  $x_{\mathrm{RGB}}$, we can train with  $q(z|x_{\mathrm{RGB}})$ as our encoder and  $p(x_{\mathrm{3D}}|z)$ as the decoder.

Importantly the above derivation also allows to train additional encoder-decoder pairs such as  $(q(z|x_{\mathrm{RGB}}), p(x_{\mathrm{RGB}}|z))$, at the same time, for the same z. 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)$ represents a hand pose manifold which can be better defined with additional input modalities such as $x_{\mathrm{RGB}}$, $x_{2\mathrm{D}}$, $x_{3\mathrm{D}}$, and even $x_{\mathrm{Depth}}$ used in combination.

#### 3.3. Network Architecture

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

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.

---

#### 3.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 $P_{VAE}$ with corresponding encoders and decoders $q_i, p_j$, where i, j signify the respective modality, and trains all such pairs iteratively for $\mathcal{E}$ epochs. Note that the embedding space z is always the same and hence we attain a joint cross-modal latent space from this procedure (cf. Fig. 1).

```pseudo
// Algorithm 1: Cross-modal Variational Autoencoders

```

 $P_{VAE} \leftarrow \{(q_{k_1}, p_{l_1}), (q_{k_2}, p_{l_2}), \ldots\}$ Encoder/Decoder pairs, where $q_{k_1}$ encodes data from modality $k_1$ and $p_{l_1}$ reconstructs latent samples to data of modality $l_1$.

 $\mathcal{E}$ Number of epochs

 $e \leftarrow 0$

for $e < \mathcal{E}$ do

for $(q_k, p_l) \in P_{VAE}$ do

 $x_k, x_l \leftarrow X_k, X_l$ Sample data pair of modality k, l

 $\mu, \sigma \leftarrow q_k(x_k)$

 $z \sim \mathcal{N}(\mu, \sigma)$

 $\hat{x}_l \leftarrow p_l(z)$

 $\mathcal{L}_{MSE} \leftarrow ||x_l - \hat{x}_l||_2$

 $\mathcal{L}_{KL} \leftarrow -0.5 \times (1 + \log(\sigma^2) - \mu^2 - \sigma^2)$

 $\theta_{q_k} \leftarrow \theta_{q_k} - \nabla \theta_{q_k}(\mathcal{L}_{MSE} + \mathcal{L}_{KL})$

 $\theta_{p_l} \leftarrow \theta_{p_l} - \nabla \theta_{p_l}(\mathcal{L}_{MSE} + \mathcal{L}_{KL})$

end for

 $e \leftarrow e + 1$

end for

### 4. 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: (x_{i} \rightarrow x_{t}) \text{b}) Var. 2: (x_{i} \rightarrow x_{t}, x_{t} \rightarrow x_{t}) \text{c}) Var. 3: (x_{i} \rightarrow x_{t}, x_{i} \rightarrow x_{i}) \text{d}) Var. 4: (x_{i} \rightarrow x_{t}, x_{i} \rightarrow x_{i}, x_{t} \rightarrow x_{t}),$ where $x_{i}$ always signifies the input modality and i takes one of the following values: [RGB, 2D, Depth] and t equals the output modality. In our experiments this is always $t = 3D$ but can in general be any target modality. Including the $x_{t} \rightarrow x_{i}$ direction neither directly affects the RGB encoder, nor the 3D joint decoder and hence was dropped from our analysis.

#### 4.1. Implementation details

We employ Resnet-18 [^9] 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 [^15]. 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^{-4}$. Exact architecture details and hyperparameters can be found in the supplementary materials.

#### 4.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 [^37] (STB) and the Rendered Hand Pose Dataset (RHD) [^38]. STB contains 18k images with resolution of $640 \times 480$, which are split into a training set with 15k samples and test set with 3k 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 42k training images and 2.7k evaluation images of size $320 \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 [^27], NYU [^32], and MSRA [^25] datasets. For NYU, we train and test on viewpoint 1 and all 36 available joints, and evaluate on 14 joints as done in [^15] [^17] [^34] while for MSRA, we perform a leave-one-out cross-validation and evaluate the errors for the 9 models trained as done in [^15] [^25] [^34].

#### 4.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

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>2D $\rightarrow$3DRHD</td><td style='text-align: center; word-wrap: break-word;'>RGB $\rightarrow$3DRHD</td><td style='text-align: center; word-wrap: break-word;'>RGB $\rightarrow$3DSTB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Var. 1</td><td style='text-align: center; word-wrap: break-word;'>17.23</td><td style='text-align: center; word-wrap: break-word;'>19.73</td><td style='text-align: center; word-wrap: break-word;'>8.75</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Var. 2</td><td style='text-align: center; word-wrap: break-word;'>17.82</td><td style='text-align: center; word-wrap: break-word;'>19.99</td><td style='text-align: center; word-wrap: break-word;'>8.61</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Var. 3</td><td style='text-align: center; word-wrap: break-word;'>17.14</td><td style='text-align: center; word-wrap: break-word;'>20.04</td><td style='text-align: center; word-wrap: break-word;'>8.56</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Var. 4</td><td style='text-align: center; word-wrap: break-word;'>17.63</td><td style='text-align: center; word-wrap: break-word;'>20.35</td><td style='text-align: center; word-wrap: break-word;'>9.57</td></tr></table>

<div style="text-align: center;">Table 1: Variant comparison. Mean EPE given in mm. For explanation of variants, see Sec. 4.</div>

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 d 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 d to its respective GT location. We report this only for depth since it is commonly reported in the literature.

#### 4.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 1 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→3D 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.

#### 4.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 [^38]. 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 [^38] 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 [^38] in the task of lifting 2D keypoints into a 3D hand pose configuration on the RHD dataset. Recently [^12] 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, [^38] provide a separate evaluation of their lifting component which serves as our baseline.

The first column of Table 2 summarizes the mean squared end-point errors (EPE) for the RHD dataset. In general, our proposed model outperforms [^38] by a relatively large margin. The bottom rows of Table 2 show results of ours without the handedness invariance (H) and the scale invariance (S), we still surpass the accuracy of [^38]. 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 [^38] on cropped RGB images for fair comparison.

Zimmermann et al. [^38], in which 2D keypoints are first predicted and then lifted into 3D serves as our baseline. We evaluate the proposed model on the STB [^37] and RHD [^38] datasets. Fig. 7a and 7b 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 2 summarizes the results for the harder RHD dataset. Our approaches accuracy exceeds that of [^38] by a large margin. Removing available invariances again slightly decreases performance but our models still remains superior to [^38]. Looking at the PCK curve comparison in Fig. 4a, we see that our model outperforms [^38] for all thresholds.

The rightmost column of Table 2 shows the performance on the STB dataset. The margin of improvement of our approach is considerably smaller. We argue that the perfor

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>2D $\rightarrow$3DRHD</td><td style='text-align: center; word-wrap: break-word;'>RGB $\rightarrow$3DRHD</td><td style='text-align: center; word-wrap: break-word;'>RGB $\rightarrow$3DSTB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[^38] (T+S+H)</td><td style='text-align: center; word-wrap: break-word;'>22.43</td><td style='text-align: center; word-wrap: break-word;'>30.42</td><td style='text-align: center; word-wrap: break-word;'>8.68</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (T+S+H)</td><td style='text-align: center; word-wrap: break-word;'>17.14</td><td style='text-align: center; word-wrap: break-word;'>19.73</td><td style='text-align: center; word-wrap: break-word;'>8.56</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (T+S)</td><td style='text-align: center; word-wrap: break-word;'>18.90</td><td style='text-align: center; word-wrap: break-word;'>20.20</td><td style='text-align: center; word-wrap: break-word;'>10.16</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (T+H)</td><td style='text-align: center; word-wrap: break-word;'>19.69</td><td style='text-align: center; word-wrap: break-word;'>22.34</td><td style='text-align: center; word-wrap: break-word;'>9.59</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (T)</td><td style='text-align: center; word-wrap: break-word;'>21.15</td><td style='text-align: center; word-wrap: break-word;'>22.53</td><td style='text-align: center; word-wrap: break-word;'>9.49</td></tr></table>

<div style="text-align: center;">Table 2: Related work comparison. Mean EPE given in mm. For explanation of legends, see Sec. 4.5</div>

mance on the dataset is saturated as it is much easier (see discussion in Sec. 4.2). Fig. 4b shows the PCK curves on STB, with the other baselines that operate on noisy stereo depth maps and not RGB (directly taken from [^38]).

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 [^27], NYU [^32] and MSRA [^25] datasets. Despite the lower model capacity, our method performs comparably (see Fig. 5) to recent works [^15] [^17] [^34] [^35] with just a modification to take 1-channel images as input compared to our RGB case.

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.

#### 4.6. Semi-supervised learning

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

#### 4.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 $z_{1}$ and $z_{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

![Image](images/a255de382b11214de000f01d443f4a322318c14c60e96b8dac996e904bc9d4df.jpg)

<div style="text-align: center;">Figure 3: Median EPE of our model trained supervised and semi-supervised as a function of percentage of labeled data.</div>

![Image](images/73b4b2922a2e1232794dd2a78a0260b5db7ee8b6d3cc9d39770b8fc6d714567b.jpg)

<div style="text-align: center;">(a) RHD</div>

![Image](images/991eb5e034c4b4fd86f0914f96827e9bb2546e422b8f56f18f9459e51f28cd1e.jpg)

<div style="text-align: center;">(b) STB</div>

<div style="text-align: center;">Figure 4: PCK curve of our best model on RHD and STB for RGB to 3D.</div>

![Image](images/1c3c2856427831fdab6775cf4d4a07aa5cff40b4d821ed6c0db4f7ced7240eb3.jpg)

<div style="text-align: center;">(a) NYU</div>

![Image](images/cdb76263749412773e3d0e877dda99189f7903c0c8828c3482695b008521a3eb.jpg)

<div style="text-align: center;">(b) ICVL</div>

![Image](images/d90785dd8e6e4287aba6d5acd7c6fed347e412bd04bedd57da98aed589c65f8c.jpg)

<div style="text-align: center;">(c) MSRA</div>

<div style="text-align: center;">Figure 5: PCF curves for 3D joint estimation from depth input. Our model performs comparably to recent works.</div>

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.

---

![Image](images/c3395fc3e58ad77f26e172608ea2d591f45b9ea2d5ce38f8f614c98ef2153a2f.jpg)

<div style="text-align: center;">Figure 6: Latent space walk. Example of reconstructing samples of the latent space into multiple modalities. The left-most and right-most figures are reconstruction from latent space samples of two real RGB images. The figures in-between are multi-modal reconstruction from interpolated latent space samples, hence are completely synthetic.</div>

![Image](images/1f14da5aab51699a6393cb6391b44a33c2308c5b4237091282c43f5d646e6ff0.jpg)

<div style="text-align: center;">(c) ICVL (from Depth)</div>

<div style="text-align: center;">Figure 7: 3D joint predictions. For each triplet, the left most column corresponds to the input image, the middle column is the ground truth 3D joint skeleton and the right column is our corresponding prediction.</div>

### 5. 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.

### 6. Acknowledgements

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

---

## References

[^1]: Y. Aytar, L. Castrejon, C. Vondrick, H. Pirsiavash, and A. Torralba. Cross-modal scene networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017. 3

[^2]: D. Bouchacourt, P. K. Mudigonda, and S. Nowozin. Disco nets: Dissimilarity coefficients networks. In Advances in Neural Information Processing Systems, pages 352–360, 2016. 2

[^3]: C. Choi, A. Sinha, J. Hee Choi, S. Jang, and K. Ramani. A collaborative filtering approach to real-time hand pose estimation. In Proceedings of the IEEE International Conference on Computer Vision, pages 2336–2344, 2015. 2

[^4]: V. Erin Liong, J. Lu, Y.-P. Tan, and J. Zhou. Cross-modal deep variational hashing. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4077–4085, 2017. 3

[^5]: A. Erol, G. Bebis, M. Nicolescu, R. D. Boyle, and X. Twombly. Vision-based hand pose estimation: A review. Computer Vision and Image Understanding, 108(1):52–73, 2007. 2

[^6]: L. Ge, H. Liang, J. Yuan, and D. Thalmann. Robust 3d hand pose estimation in single depth images: from single-view cnn to multi-view cnns. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3593–3601, 2016. 2

[^7]: L. Ge, H. Liang, J. Yuan, and D. Thalmann. 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, pages 1991–2000, 2017. 2

[^8]: I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In Advances in neural information processing systems, pages 2672–2680, 2014. 3

[^9]: K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016. 5

[^10]: C. Keskin, F. Kıraç, Y. E. Kara, and L. Akarun. Real time hand pose estimation using depth sensors. In Consumer depth cameras for computer vision, pages 119–137. Springer, 2013. 2

[^11]: D. P. Kingma and M. Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013. 2, 3, 4

[^12]: J. Martinez, R. Hossain, J. Romero, and J. J. Little. A simple yet effective baseline for 3d human pose estimation. In International Conference on Computer Vision, 2017. 6

[^13]: F. Mueller, D. Mehta, O. Sotnychenko, S. Sridhar, D. Casas, and C. Theobalt. Real-time hand tracking under occlusion from an egocentric rgb-d sensor. arXiv preprint arXiv:1704.02201, 2017. 2

[^14]: J. Ngiam, A. Khosla, M. Kim, J. Nam, H. Lee, and A. Y. Ng. Multimodal deep learning. In Proceedings of the 28th international conference on machine learning (ICML-11), pages 689–696, 2011. 3

[^15]: M. Oberweger and V. Lepetit. Deepprior++: Improving fast and accurate 3d hand pose estimation. In International Conference on Computer Vision Workshops, 2017. 1, 2, 5, 7

[^16]: M. Oberweger, P. Wohlhart, and V. Lepetit. Hands deep in deep learning for hand pose estimation. arXiv preprint arXiv:1502.06807, 2015. 1, 2

[^17]: M. Oberweger, P. Wohlhart, and V. Lepetit. Hands deep in deep learning for hand pose estimation. arXiv preprint arXiv:1502.06807, 2015. 5, 7

[^18]: I. Oikonomidis, N. Kyriazis, and A. A. Argyros. Efficient model-based 3d tracking of hand articulations using kinect. In BmVC, volume 1, page 3, 2011. 2, 3

[^19]: C. Qian, X. Sun, Y. Wei, X. Tang, and J. Sun. Realtime and robust hand tracking from depth. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1106–1113, 2014. 2

[^20]: M. Santello, M. Flanders, and J. F. Soechting. Postural hand synergies for tool use. Journal of Neuroscience, 18(23):10105–10115, 1998. 2, 3

[^21]: M. Schröder, J. Maycock, H. Ritter, and M. Botsch. Real-time hand tracking using synergistic inverse kinematics. In Robotics and Automation (ICRA), 2014 IEEE International Conference on, pages 5447–5454. IEEE, 2014. 3

[^22]: T. Sharp, C. Keskin, D. Robertson, J. Taylor, J. Shotton, D. Kim, C. Rhemann, I. Leichter, A. Vinnikov, Y. Wei, et al. Accurate, robust, and flexible real-time hand tracking. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, pages 3633–3642. ACM, 2015. 2

[^23]: A. Sinha, C. Choi, and K. Ramani. Deephand: Robust hand pose estimation by completing a matrix imputed with deep features. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4150–4158, 2016. 2

[^24]: S. Sridhar, A. Oulasvirta, and C. Theobalt. Interactive markerless articulated hand motion tracking using rgb and depth data. In Proceedings of the IEEE International Conference on Computer Vision, pages 2456–2463, 2013. 2

[^25]: X. Sun, Y. Wei, S. Liang, X. Tang, and J. Sun. Cascaded hand pose regression. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 824–832, 2015. 2, 5, 7

[^26]: A. Tagliasacchi, M. Schroeder, A. Tkach, S. Bouaziz, M. Botsch, and M. Pauly. Robust articulated-icp for real-time hand tracking. Computer Graphics Forum (Proc. Symposium on Geometry Processing), 2015. 2, 3

[^27]: D. Tang, H. Jin Chang, A. Tejani, and T.-K. Kim. Latent regression forest: Structured estimation of 3d articulated hand posture. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2014. 1, 2, 5, 7

[^28]: D. Tang, J. Taylor, P. Kohli, C. Keskin, T.-K. Kim, and J. Shotton. Opening the black box: Hierarchical sampling optimization for estimating human hand pose. In Proceedings of the IEEE International Conference on Computer Vision, pages 3325–3333, 2015. 2

[^29]: D. Tang, T.-H. Yu, and T.-K. Kim. Real-time articulated hand pose estimation using semi-supervised transductive regression forests. In Proceedings of the IEEE international conference on computer vision, pages 3224–3231, 2013. 2

---

[^30]: J. Taylor, L. Bordeaux, T. Cashman, B. Corish, C. Keskin, T. Sharp, E. Soto, D. Sweeney, J. Valentin, B. Luff, et al. Efficient and precise interactive hand tracking through joint, continuous optimization of pose and correspondences. ACM Transactions on Graphics (TOG), 35(4):143, 2016. 2, 3

[^31]: E. Todorov and Z. Ghahramani. Analysis of the synergies underlying complex hand manipulation. In Engineering in Medicine and Biology Society, 2004. IEMBS'04. 26th Annual International Conference of the IEEE, volume 2, pages 4637–4640. IEEE, 2004. 3

[^32]: J. Tompson, M. Stein, Y. Lecun, and K. Perlin. Real-time continuous pose recovery of human hands using convolutional networks. ACM Transactions on Graphics (ToG), 33(5):169, 2014. 2, 5, 7

[^33]: D. Tzionas, L. Ballan, A. Srikantha, P. Aponte, M. Pollefeys, and J. Gall. Capturing hands in action using discriminative salient points and physics simulation. International Journal of Computer Vision, 118(2):172–193, 2016. 2, 3

[^34]: C. Wan, T. Probst, L. Van Gool, and A. Yao. Crossing nets: Combining gans and vaes with a shared latent space for hand pose estimation. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017. 2, 5, 7

[^35]: C. Wan, A. Yao, and L. Van Gool. Hand pose estimation from local surface normals. In European Conference on Computer Vision, pages 554–569. Springer, 2016. 1, 2, 7

[^36]: Q. Ye, S. Yuan, and T.-K. Kim. Spatial attention deep net with partial pso for hierarchical hybrid hand pose estimation. In European Conference on Computer Vision, pages 346–361. Springer, 2016. 2

[^37]: J. Zhang, J. Jiao, M. Chen, L. Qu, X. Xu, and Q. Yang. 3d hand pose tracking and estimation using stereo matching. arXiv preprint arXiv:1610.07214, 2016. 2, 5, 6

[^38]: C. Zimmermann and T. Brox. Learning to estimate 3d hand pose from single rgb images. In International Conference on Computer Vision, 2017. 1, 2, 3, 5, 6, 7
