Real-time Hand Tracking under Occlusion from an Egocentric RGB-D Sensor
Franziska Mueller1
Srinath Sridhar1

arXiv:1704.02201v2 [cs.CV] 5 Oct 2017

1

Dushyant Mehta1
Dan Casas2

Max-Planck-Institute for Informatics, Germany

2

Oleksandr Sotnychenko1
Christian Theobalt1

Universidad Rey Juan Carlos, Spain

Abstract
We present an approach for real-time, robust and accurate hand pose estimation from moving egocentric RGB-D
cameras in cluttered real environments. Existing methods typically fail for hand-object interactions in cluttered
scenes imaged from egocentric viewpoints—common for
virtual or augmented reality applications. Our approach
uses two subsequently applied Convolutional Neural Networks (CNNs) to localize the hand and regress 3D joint
locations. Hand localization is achieved by using a CNN
to estimate the 2D position of the hand center in the input,
even in the presence of clutter and occlusions. The localized
hand position, together with the corresponding input depth
value, is used to generate a normalized cropped image that
is fed into a second CNN to regress relative 3D hand joint
locations in real time. For added accuracy, robustness and
temporal stability, we refine the pose estimates using a kinematic pose tracking energy. To train the CNNs, we introduce a new photorealistic dataset that uses a merged reality
approach to capture and synthesize large amounts of annotated data of natural hand interaction in cluttered scenes.
Through quantitative and qualitative evaluation, we show
that our method is robust to self-occlusion and occlusions
by objects, particularly in moving egocentric perspectives.

Figure 1: We present an approach to track the full 3D pose
of the hand from egocentric viewpoints (left), a challenging
problem due to additional self-occlusions, occlusions from
objects and background clutter. Our method can reliably
track the hand in 3D even under such conditions using only
RGB-D input. Here we show tracking results overlaid with
color and depth map (center), and visualized from virtual
viewpoints (right).

tion with model-based hand tracking, have been shown to
work well for static, third-person viewpoints in uncluttered
scenes [39, 29, 18], i.e., mostly for free hand motion in midair, a setting that is uncommon in natural hand interaction.
However, real-time hand pose estimation from moving,
first-person camera viewpoints in cluttered real-world
scenes where the hand is often occluded as it naturally interacts with objects, remains an unsolved problem. We
define first-person or egocentric viewpoints as those that
would typically be imaged by cameras mounted on the
head (for VR/AR applications), shoulder, or chest (see Figure 1). Occlusions, cluttered backgrounds, manipulated objects, and field-of-view limitations make this scenario particularly challenging. CNNs are a promising method to
tackle this problem but typically require large amounts of
annotated data which is hard to obtain since markerless
hand tracking (even with multiple views), and manual annotation on a large scale is infeasible in egocentric settings due to (self-)occlusions, cost, and time. Even semiautomatic annotation approaches [17] would fail if large
parts of the hand are occluded. Photorealistic synthetic data,

1. Introduction
Estimating the full articulated 3D pose of hands is becoming increasingly important due to the central role that
hands play in everyday human activities. Applications
in activity recognition [26], motion control [47], human–
computer interaction [30], and virtual/augmented reality
(VR/AR) require real-time and accurate hand pose estimation under challenging conditions. Spurred by recent developments in commodity depth sensing, several methods
that use a single RGB-D camera have been proposed [38,
31, 35, 22, 4, 42]. In particular, methods that use Convolutional Neural Networks (CNNs), possibly in combina1

on the other hand, is inexpensive, easier to obtain, removes
the need for manual annotation, and can produce accurate
ground truth even under occlusion.
In this paper, we present, to our knowledge, the first
method that supports real-time egocentric hand pose estimation in real scenes with cluttered backgrounds, occlusions, and complex hand-object interactions using a single
commodity RGB-D camera. We divide the task of perframe hand pose estimation into: (1) hand localization, and
(2) 3D joint location regression. Hand localization, an important task in the presence of scene clutter, is achieved by
a CNN that estimates the 2D image location of the center
of the hand. Further processing results in an image-level
bounding box around the hand and the 3D location of the
hand center (or of the occluding object directly in front of
the center). This output is fed into a second CNN that regresses the relative 3D locations of the 21 hand joints. Both
CNNs are trained with large amounts of fully annotated
data which we obtain by combining hand-object interactions with real cluttered backgrounds using a new merged
reality approach. This increases the realism of the training
data since users can perform motions to mimic manipulating a virtual object using live feedback of their hand pose.
These motions are rendered from novel egocentric views using a framework that photorealistically models RGB-D data
of hands in natural interaction with objects and clutter.
The 3D joint location predictions obtained from the
CNN are accurate but suffer from kinematic inconsistencies
and temporal jitter expected in single frame pose estimation methods. To overcome this, we refine the estimated 3D
joint locations using a fast inverse kinematics pose tracking energy that uses 3D and 2D joint location constraints
to estimate the joint angles of a temporally smooth skeleton. Together, this results in the first real-time approach for
smooth and accurate hand tracking even in cluttered scenes
and from moving egocentric viewpoints. We show the accuracy, robustness, and generality of our approach on a new
benchmark dataset with moving egocentric cameras in real
cluttered environments. In sum, our contributions are:
• A novel method that localizes the hand and estimates,
in real time, the 3D joint locations from egocentric
viewpoints, in clutter, and under strong occlusions using two CNNs. A kinematic pose tracking energy further refines the pose by estimating joint angles of a
temporally smooth tracking.
• A photorealistic data generation framework for synthesizing large amounts of annotated RGB-D training data
of hands in natural interaction with objects and clutter.
• Extensive evaluation on our new annotated real benchmark dataset EgoDexter featuring egocentric cluttered
scenes and interaction with objects.

2. Related work
Hand pose estimation has a rich history due to its applications in human–computer interaction, motion control
and activity recognition. However, most previous work estimates hand pose in mid-air and in uncluttered scenes with
third-person viewpoints, making occlusions less of an issue. We first review the prior art for this simpler setting
(free hand tracking) followed by a discussion of work in the
harder hand-object and egocentric settings.
Free Hand Tracking: Many approaches for free hand
tracking resort to multiple RGB cameras to overcome selfocclusions and achieve high accuracy [33, 1, 44]. However,
single depth or RGB-D cameras are preferred since multiple cameras are cumbersome to setup and use. Methods that
use generative pose tracking have been successful for free
hand tracking with only an RGB-D stream [19, 22, 35, 37].
However, these approaches fail under typical fast motions,
and occlusions due to objects and clutter. To overcome
this, most recent approaches rely solely on learning-based
methods or combine them with generative pose tracking.
Random forests are a popular choice [12, 36, 34, 45, 43]
due to their capacity but still result in kinematically inconsistent and jittery pose estimates. Many methods overcome this limitation through combination with a generative pose tracking strategy [31, 22, 38]. All of the above
approaches fail to work under occlusions arising from objects and scene clutter. Recent deep learning methods
promise large learning capacities for hand pose estimation [39, 4, 29, 48, 46, 18]. However, generating enough examples for supervised training remains a challenge. Commercial systems that claim to work for egocentric viewpoints [14] fail under large occlusions, see Section 6.
Hand Tracking under Challenging Conditions: Hand
pose estimation under challenging scene, background,
and camera conditions different from third-person mid-air
tracking remains an unsolved problem. Some methods can
track hands even when they interact with objects [6, 27], but
they are limited to slow motions and limited articulation.
A method for real-time joint tracking of hands and objects
from third-person viewpoints was recently proposed [32],
but is limited to known objects and small occlusions. Methods for capturing complex hand-object interactions and object scanning were proposed [20, 1, 13, 41, 40, 21]. However, these are offline methods and their performance in
egocentric cluttered scenarios is unknown.
Using egocentric cameras for human performance capture has gained attention due to ready availability of consumer wearable cameras [23]. Sridhar et al. [31] showed
a working example of real-time egocentric tracking in uncluttered scenes. Rogez et al. [24, 25] presented one of the
first methods to achieve this in cluttered scenes with natural hand-object interactions pioneering the use of synthetic
images for training a machine learning approach for diffi-

Figure 2: Overview: Starting from an RGB-D frame, we initially regress the 2D hand position heatmap using our CNN
HALNet and compute a cropped frame. A second CNN, JORNet, is used to predict root-relative 3D joint positions as well as
2D joint heatmaps. Both CNNs are trainned with our new SynthHands dataset. Finally, we use a pose tracking step to obtain
the joint angles of a kinematic skeleton.
cult egocentric views. However, this work was not meant
for real-time tracking. We introduce an approach to leverage large amounts of synthetic training data to achieve realtime, temporally consistent hand tracking, even under challenging occlusion conditions.

3. Overview
Our goal is to estimate the full 3D articulated pose of
the hand imaged with a single commodity RGB-D sensor.
We use the RGB and depth channels from the Intel RealSense SR300 [8], both with a resolution of 640×480 pixels and captured at 30 Hz. We formulate hand pose estimation as an energy minimization problem that incorporates
per-frame pose estimates into a temporal tracking framework. The goal is to find the joint angles of a kinematic
hand skeleton (Section 3.1) that best represent the input observation. Similar strategies have been shown to be successful in state-of-the-art methods [38, 31, 32, 22] that use
per-frame pose estimation to initialize a tracker that refines
and regularizes the joint angles of a kinematic skeleton for
free hand tracking. However, the per-frame pose estimation
components of these methods struggle under strong occlusions, hand-object interactions, scene clutter, and moving
egocentric cameras. We overcome this limitation by combining a CNN-based 3D pose regression framework, that is
tailored for this challenging setting, with a kinematic skeleton tracking strategy for temporally stable results.
We divide the task of hand pose estimation into several
subtasks (Figure 2). First, hand localization (Section 4.1) is
achieved by a CNN that estimates an image-level heatmap
(that encodes position probabilities) of the root — a point
which is either the hand center (knuckle of the middle finger, shown with a star shape in Figure 3a) or a point on
an object that occludes the hand center. The 2D and 3D
root positions are used to extract a normalized cropped im-

age of the hand. Second, 3D joint regression (Section 4.2)
achieved with a CNN that regresses root-relative 3D joint
locations from the cropped hand image. Both CNNs are
trained with large amounts of annotated data which were
generated with a novel framework to automatically generate
3D hand joint motion with natural hand interaction (Section
4.4). Finally, the regressed 3D joint positions are used in
a kinematic pose tracking framework (Section 5) to obtain
temporally smooth tracking of the hand motion.

3.1. Hand Model
To ensure a consistent representation for both joint locations (predicted by the CNNs) and joint angles (optimized
during tracking), we use a kinematic skeleton. As shown
in Figure 3, we model the hand using a hierarchy of bones
(gray lines) and joints (circles). The 3D joint locations are
used as constraints in a kinematic pose tracking step that estimates temporally smooth joint angles of a kinematic skeleton. In our implementation, we use a kinematic skeleton
with 26 degrees of freedom (DOF), which includes 6 for
global translation and rotation, and 20 joint angles, stored
in a vector Θ, as shown in Figure 3b. To fit users with different hand shapes and sizes, we perform a quick calibration
step to fix the length of the bones for different users.

4. Single Frame 3D Pose Regression
The goal of 3D pose regression is to estimate the 3D joint
locations of the hand at each frame of the RGB-D input. To
achieve this, we first create a colored depth map D, from the
raw input produced by commodity RGB-D cameras (e.g.,
Intel RealSense SR300). We define D as
D = colormap(R, G, B, Z),

(1)

where colormap(·) is a function, that depends on the camera calibration parameters, to map each pixel in the color

(a) Global 3D positions

(b) Kinematic skeleton

Figure 3: We use two different, but consistent, representations to model the hands. Our 3D joint regression step
outputs J = 21 global 3D joint locations, shown in (a) in
green, which are later used to estimate the joint angles of a
kinematic skeleton hand model, shown in (b). The orange
star depicts the joint used as a hand root.
image plane onto the depth map Z. Computing D allows
us to ignore camera-specific variations in extrinsic parameters. We also downsample D to a resolution of 320×240
to aid real-time performance. We next describe our pose
regression approach that is robust even in challenging cluttered scenes with notable (self-)occlusions of the hand. As
we show in the evaluation (Section 6), using a two step
approach to first localize the hand in full-frame input and
subsequently estimate 3D pose outperforms using a single
CNN for both tasks.

4.1. Hand Localization
The goal of the first part of pose regression is to localize
the hand in challenging cluttered input frames resulting in a
bounding box around the hand and 3D root location. Given
a colored depth map D, we compute
e = imcrop(D, HR ),
D

(2)

where HR is a heatmap encoding the position probability of
the 2D hand root and imcrop(·) is a function that crops
the hand area of the input frame. In particular, we estimate HR using a CNN which we call HALNet (HAnd Localization Net). The imcrop(·) function picks the imagelevel heatmap maximum location φ(HR ) = (u, v) and uses
the associated depth z in D to compute a depth-dependent
crop, the side length of which is inversely proportional to
the depth and contains the hand. Additionally, imcrop(·)
also normalizes the depth component of the cropped image
by subtracting z from all pixels.
HALNet uses an architecture derived from ResNet50 [7]
which has been shown to have a good balance between accuracy and computational cost [2]. We reduced the number of residual blocks to 10 to achieve real-time framerate

while maintaining high accuracy. We train this network using SynthHands, a new photorealistic dataset with ample
variance across many dimensions such as hand pose, skin
color, objects, hand-object interaction and shading details.
See Sections 4.3 and 4.4, and the supplementary document
for training and architecture details.
Post Processing: To make the root maximum location robust over time, we add an additional step to prevent outliers
from affecting 3D joint location estimates. We maintain a
history of maxima locations and label them as confident or
uncertain based on the following criterion. If the likelihood
value of the heatmap maximum at a frame t is < 0.1 and
it occurs at > 30 pixels from the previous maximum then it
is marked as uncertain. If a maximum location is uncertain,
we update it as
φt = φt−1 + δ k

φc−1 − φc−2
,
||φc−1 − φc−2 ||

(3)

where φt = φ(HRt ) is the updated 2D maximum location at
the frame t, φc−1 is the last confident maximum location,
k is the number of frames elapsed since the last confident
maximum, and δ is a decay factor to progressively downweight uncertain maxima. We empirically set δ = 0.98 and
use this value in all our results.

4.2. 3D Joint Regression
e that
Starting from a cropped and normalized input D
contains a hand, potentially partially occluded, our goal is
to regress the global 3D hand joint position vector pG ∈
R3×J . We use a CNN, referred to as JORNet (JOint Regression Net), to predict per-joint 3D root-relative positions
e Additionally, JORNet also regresses
pL ∈ R3×J in D.
per-joint 2D position likelihood heatmaps H = {Hj }Jj=1 ,
which will be used to regularize the predicted 3D joint positions in a later step. We obtain global 3D joint positions
L
pG
j = pj +r, where r is the global position of the hand center (or a point on an occluder) obtained by backprojecting
the 2.5D hand root position (u, v, z) to 3D. JORNet uses the
same architecture as HALNet and is trained with the same
data. See Sections 4.3 and 4.4 for training details, and the
supplementary document for architecture details.

4.3. SynthHands Dataset
Supervised learning methods, including CNNs, require
large amounts of training data in order to learn all the variation exhibited in real hand motion. Fully annotated real data
would be ideal for this purpose but it is time consuming to
manually annotate data and annotation quality may not always be good [17]. To circumvent this problem, existing
methods [24, 25] have used synthetic data. Despite the advances made, existing datasets are constrained in a number
of ways: they typically show unnatural mid-air motions, no

Figure 4: Our SynthHands dataset is created by posing a
photorealistic hand model with real hand motion data. Virtual objects are incorporated into the 3D scenario. To allow
data augmentation, we output object foreground and scene
background appearance as a constant plain color (top row),
which are composed with shading details and randomized
textures in a postprocessing step (bottom row).

Figure 5: Our SynthHands dataset has accurate annotated
data of a hand interacting with objects. We use a merged
reality framework to track a real hand, where all joint positions are annotated, interacting with a virtual object (top).
Synthetic images are rendered with chroma key-ready colors, enabling data augmentation by composing the rendered
hand with varying object texture and real cluttered backgrounds (bottom).

complex hand-object interactions, and do not model realistic background clutter and noise.
We propose a new dataset, SynthHands, that combines
real captured hand motion (retargeted to a virtual hand
model) with natural backgrounds and virtual objects to sample all important dimensions of variability at previously unseen granularity. It captures the variations in natural hand
motion such as pose, skin color, shape, texture, background
clutter, camera viewpoint, and hand-object interactions. We
now highlight some of the unique features of this dataset

that make it ideal for supervised training of learning-based
methods.
Natural Hand Motions: Instead of using static hand
poses [25], we captured real, non-occluded, hand motion
in mid-air from a third-person viewpoint, with a state-ofthe-art real-time markerless tracker [31]. These motions
were subsequently re-targeted onto a photorealistic synthetic hand rigged by an artist. Because we pose the synthetic hand using the captured hand motion, it mimics real
hand motions and increases dataset realism.
Hand Shape and Color: Hand shape and skin color exhibit large variation across users. To simulate real world
diversity, SynthHands contains skin textures randomly sampled from 12 different skin tones. We also sample variation
in other anatomical features (e.g., male hands are typically
bigger and may contain more hair) in the data. Finally, we
model hand shape variation by randomly applying a scaling
parameter β ∈ [0.8, 1.2] along each dimension of a default
hand mesh.
Egocentric Viewpoint: Synthetic data has the unique advantage that we can render from arbitrary camera viewpoints. In order to support difficult egocentric views, we
setup 5 virtual cameras that mimic different egocentric perspectives. The virtual cameras generate RGB-D images
from this perspective while also simulating sensor noise and
camera calibration parameters.
Hand-Object Interactions:
We realistically simulate
hand-object interactions by using a merged reality approach
to track real hand motion interacting with virtual objects.
We achieve this by leveraging the real-time capability of existing hand tracking solutions [31] to show the user’s hand
interacting with a virtual on-screen object. Users perform
motions such as object grasping and manipulation, thus
simulating real hand-object interactions (see Figure 5).
Object Shape and Appearance: SynthHands contains interactions with a total of 7 different virtual objects in various locations, rotations and scale configurations. To enable
augmentation of the object appearance to increase dataset
variance, we render the object albedo (i.e., pink in Figure
12) and shading layers separately. We use chroma keying
to replace the pink object albedo with a texture randomly
sampled from a set of 145 textures and combining it with
the shading image. Figure 12 shows some examples of the
data before and after augmentation. Importantly, note that
SynthHands does not contain 3D scans of the real test objects nor 3D models of similar objects used for evaluation in
Section 6. This demonstrates that our approach generalizes
to unseen objects.
Real Backgrounds: Finally, we simulate cluttered scenes
and backgrounds by compositing the synthesized handobject images with real RGB-D captures of real backgrounds, including everyday desktop scenarios, offices, corridors and kitchens. We use chroma keying to replace the

default background (green in Figure 12) with the captured
backgrounds.
Our data generation framework is built using the Unity
Game Engine and uses a rigged hand model distributed by
Leap Motion [14]. In total, SynthHands contains roughly
220,000 RGB-D images exhibiting large variation seen in
natural hands and interactions. Please see the supplementary document for more information and example images.

4.4. Training
Both HALNet and JORNet are trained on the SynthHands
dataset using the Caffe framework [10], and the AdaDelta
solver with a momentum of 0.9 and weight decay factor
of 0.0005. The learning rate is tapered down from 0.05
to 0.000025 during the course of the training. For training JORNet, we used the ground truth (u, v) and z of the
hand root to create the normalized crop input. To improve
robustness, we also add uniform noise (∈ [−25, 25] mm)
to the backprojected 3D root position in the SynthHands
dataset. We trained HALNet for 45,000 iterations and JORNet for 60,000 iterations. The final networks were chosen
as the ones with the lowest loss values. The layers in our
networks that are similar to ResNet50 are initialized with
weights of the original ResNet50 architecture trained on ImageNet [28]. For the other layers, we initialize the weights
randomly. For details of the loss weights used and the taper
scheme, please see the supplementary document.

5. Hand Pose Optimization
The estimated per-frame global 3D joint positions pG
are not guaranteed to be temporally smooth nor do they
have consistent inter-joint distances (i.e., bone lengths) over
time. We mitigate this by fitting a kinematic skeleton parameterized by joint angles Θ, shown in Figure 3b, to the
regressed 3D joint positions. Additionally, we refine the fitting by leveraging the 2D heatmap output from JORNet as
an additional contraint and regularize it using joint limit and
smoothness constraints. In particular, we seek to minimize
E(Θ) = Edata (Θ, pG , H) + Ereg (Θ),

(4)

where Edata is the data term that incorporates both the 3D
positions and 2D heatmaps
Edata (Θ, pG , H) = wp3 Epos3D (Θ, pG ) + wp2 Epos2D (Θ, H).
(5)
The first term Epos3D minimizes the 3D distance between
each predicted joint location pG
j and its corresponding position M(Θ)j in the kinematic skeleton set to pose Θ
Epos3D (Θ) =

J
X
j=1

2
||M(Θ)j − pG
j ||2 .

(6)

The second data term, Epos2D , minimizes the 2D distance
between each joint heatmap maximum φ(Hj ) and the projected 2D location of the corresponding joint in the kinematic skeleton
Epos2D (Θ) =

J
X

||π(M(Θ)j ) − φ(Hj ))||22 ,

(7)

j=1

where π projects the joint onto the image plane. We empirically tuned the weights for the different terms as: wp3 =
0.01 and wp2 = 5 × 10−7 .
We regularize the data terms by enforcing joint limits and
temporal smoothness constraints
Ereg (Θ) = wl Elim (Θ) + wt Etemp (Θ)

(8)

where

0
X 
Elim (Θ) =
(θi − θil )2

θi ∈Θ (θ u − θ )2
i
i

, if θil ≤ θi ≤ θiu
, if θi < θil
, if θi > θiu

(9)

is a soft prior to enforce biomechanical pose plausibility,
with Θl , Θu being the lower and upper joint angle limits,
respectively, and
Etemp (Θ) = ||∇Θ − ∇Θ(t−1) ||22

(10)

enforces constant velocity to prevent dramatic pose
changes. We empirically chose weights for the regularizers
as: wl = 0.03 and wt = 10−3 . We optimize our objective
using 20 iterations of conditioned gradient descent.

6. Results and Evaluation
We conducted several experiments to evaluate our
method and different components of it. To facilitate evaluation, we captured a new benchmark dataset EgoDexter consisting of 3190 frames of natural hand interactions with objects in real cluttered scenes, moving egocentric viewpoints,
complex hand-object interactions, and natural lighting. Of
these, we manually annotated 1485 frames using an annotation tool to mark 2D and 3D fingertip positions, a common approach used in free hand tracking [1, 33]. In total we gathered 4 sequences (Rotunda, Desk, Kitchen,
Fruits) featuring 4 different users (2 female), skin color
variation, background variation, different objects, and camera motion. Note that the objects in EgoDexter are distinct
from the objects in the SynthHands training data to show the
ability of our approach to generalize. In addition, to enable
evaluation of the different components of our method, we
also held out a test set consisting of 5120 fully annotated
frames from the SynthHands dataset.
Component Evaluation: We first analyze the performance
of HALNet and JORNet on the synthetic test set. The main

Figure 6: Comparison of 2D (left) and 3D (right) error of
the joint position estimates of JORNet. JORNet was initialized with either the ground truth (GT, blue) or with the
proposed hand localization step (HL, orange). We observe
that HL initialization does not substantially reduce the performance of JORNet. As expected, fingertips-only errors
(dashed lines) are higher than the errors for all joints.

goal of HALNet is to accurately localize the 2D position of
the root (which either lies on the hand or on an occluder
in front) accurately. We thus use 2D Euclidean pixel error between the ground truth root position and the predicted
position as the evaluation metric. On average, HALNet produces an error of 2.2 px with a standard deviation of 1.5 px
on the test set. This low average error ensures that we always obtain reliable crops for JORNet.
To evaluate JORNet, we use the 3D Euclidean distance
between ground truth joint positions (of all hand joints) and
the predicted position as the error metric. For comparison,
we also report the errors for only the 3D fingertip positions
which are a stricter measure of performance. Since the output of JORNet is dependent on the crop estimated in the
hand localization step, we evaluate two conditions: (1) using ground truth crops, (2) using crops from the hand localization step. This helps evaluate how hand localization
affects the final joint positions. Figure 6 shows the percentage of the test set that produces a certain 2D or 3D error
for all joints and fingertips only. For 3D error, we see that
using ground truth (GT) crops is better than using the crops
from the hand localization (HL). The difference is not substantial which shows that the hand localization step does not
lead to catastrophic failures of JORNet. For 2D error, however, we observe that JORNet initialized with HL results
in marginally better accuracy. We hypothesize that this is
because JORNet is trained on noisy root positions (Section
4.4) while the ground truth lacks any such noise.
CNN Structure Evaluation: We now show that, on our
real annotated benchmark EgoDexter, our approach that
uses two subsequently applied CNNs is better than a single
CNN to directly regress joint positions in cluttered scenes.
We trained a CNN with the same architecture as JORNet
but with the task of directly regressing 3D joint positions
from full frame RGB-D images which often have large occlusions and scene clutter. In Figure 7, we show the 3D

Figure 7: Comparison of our two-step RGB-D CNN architecture, the corresponding depth-only version and a single
combined CNN which is trained to directly regress global
3D pose. Our proposed approach achieves the best performance on the real test sequences.

Figure 8: Ablative analysis of the proposed kinematic pose
tracking on our real annotated dataset EgoDexter (average
fingertip error). Using only the 2D fitting energy leads to
catastrophic tracking failure on all sequences. The version
restricted to the 3D fitting term achieves a similar error as
the raw 3D predictions while it ensures biomechanical plausibility and temporal smoothness. Our full formulation that
combines 2D as well as 3D terms yields the lowest error.
fingertip error plot for this CNN (single RGB-D) which is
worse that our two-step approach. This shows that learning to directly regress 3D pose in cluttered scenes with occlusion is a harder task, which our approach simplifies by
breaking it into two steps.
Input Data Evaluation: We next show, on our EgoDexter dataset, that using both RGB and depth input (RGB-D)
is superior to using only depth, even when using both our
CNNs. Figure 7 compares the 3D fingertip error of a variant of our two-step approach trained with only depth data.
We hypothesize that additional color cues help our approach
perform significantly better.
Gain of Kinematic Model: Figure 8 shows an ablative
analysis of our energy terms as well as the effect of kinematic pose tracking on the final pose estimate. Because we

Rotunda

Desk

Fruits

Kitchen

Figure 9: Qualitative results on our real annotated test sequences from the EgoDexter benchmark dataset. The results overlayed on the input images and the corresponding 3D view from a virtual viewpoint (bottom row) show that our approach is
able to handle complex object interactions, strong self-occlusions and a variety of users and backgrounds.
enforce joint angle limits, temporal smoothness, and consistent bone lengths, our combined approach produces the
lowest average error of 32.6 mm.
We were unable to quantitatively evaluate on the only
other existing egocentric hand dataset [25] due to a different sensor unsupported by our approach. To aid qualitative comparison, we include similar reenacted scenes, background clutter, and hand motion in the supplemental document and video.
Qualitative Results: Figure 9 shows qualitative results
from our approach which works well for challenging real
world scenes with clutter, hand-object interactions, and different hand shapes. We also show that a commercial solution (LeapMotion Orion) does not work well under severe
occlusions caused by objects, see Figure 10 right. We refer
to the supplemental document for results on how existing
third person methods fail on EgoDexter and how our approach in fact generalizes to third person views.
Runtime Performance: Our entire method runs in realtime on an Intel Xeon E5-2637 CPU (3.5 GHz) with an
Nvidia Titan X (Pascal). Hand localization takes 11 ms,
3D joint regression takes 6 ms, and kinematic pose tracking
takes 1 ms.
Limitations: Our method works well even in challenging egocentric viewpoints and notable occlusions. However,
there are some failure cases which are shown in Figure 10.
Please see the supplemental document for a more detailed
discussion of failure cases. We used large amounts of synthetic data for training our CNNs and simulated sensor noise
for a specific camera preventing generalization. In the future, we would like to explore the application of deep domain adaptation [3] which offers a way to jointly make use
of labeled synthetic data together with unlabeled or partially
labeled real data.

Figure 10: Fast motion that leads to misalignment in the
colored depth image or failures in the hand localization step
can lead to incorrect predictions (left two columns). LeapMotion Orion fails under large occlusions (right).

7. Conclusion
We have presented a method for hand pose estimation
in challenging first-person viewpoints with large occlusions
and scene clutter. Our method uses two CNNs to localize
and estimate, in real time, the 3D joint locations of the hand.
A pose tracking energy further refines the pose by estimating the joint angles of a kinematic skeleton for temporal
smoothness. To train the CNNs, we presented SynthHands,
a new photorealistic dataset that uses a merged reality approach to capture natural hand interactions, hand shape,
size and color variations, object occlusions, and background
variations from egocentric viewpoints. We also introduce a
new benchmark dataset EgoDexter that contains annotated
sequences of challenging cluttered scenes as seen from egocentric viewpoints. Quantitative and qualitative evaluation
shows that our approach is capable of achieving low errors
and consistent performance even under difficult occlusions,
scene clutter, and background changes.
Acknowledgements: This work was supported by the ERC
Starting Grant CapReal (335545). Dan Casas was supported by a Marie Curie Individual Fellow, grant 707326.

Appendix
This appendix includes additional experiments (Section A), details about our new synthetic dataset SynthHands
(Section B), and information about our custom CNN architecture and training procedure (Section C). We also refer to
our supplemental video1 for more visual results.

A. Evaluation
In this section, we show additional experiments and
comparisons of our method.
Improvement by Combining 2D and 3D Predictions:
Figure 13 qualitative depicts the predicted joints by each
of the key components of our pipeline — 2D predictions,
3D predictions, and final tracked skeleton — on the test sequence Fruits. Note that the modes of failure for the
2D and 3D predictions are different which leads to accurate
skeleton tracking even if one kind of prediction is incorrect.
Thus, the combination of 2D and 3D predictions with the
tracking framework consistently produces the best results.
Comparisons to the State of the Art: We were unable to
quantitatively evaluate on the only other existing egocentric
hand dataset [25] due to a different sensor currently unsupported by our approach. Using our method with the Senz3D
camera requires adaptation of intrinsic camera parameters
and noise characteristics for training. However, to provide
a visual comparison to evaluate our method, we recorded
sequences that mimic sequences used by Rogez et al. [25],
and show qualitative evaluation in Figure 14 and in the supplementary video. Our method achieves significantly more
accurate hand tracking, while running in real time.
To show the completely different nature of our problem
which cannot be solved by employing state-of-the-art methods for hand tracking in free air, we applied the method of
Sridhar et al. [31] to our real test sequences from EgoDexter. Figure 16 demonstrates catastrophic failures of the
aforementioned approach. On the other hand, Figure 15 and
the supplemental video show how our method successfully
tracks sequences mimicked from the work of Sridhar et al.
We achieve comparable results, with improved stability of
the hand root position.
Performance on 3rd-Person Viewpoint: Even though
the machine learning components of our method were only
trained on our egocentric dataset SynthHands, Figure 17
demonstrates the generalizability to 3rd-person views. Note
that the hand localization step is robust to other skin-colored
parts, like faces, in the input.
Analysis of Failure Cases: Despite the demonstrated success of our approach, we still suffer from limitations that
produce erroneous tracking results. Figure 18 depicts the results from several intermediate steps of our method in case
1 http://handtracker.mpi-inf.mpg.de/projects/OccludedHands/

of failure. In particular, we show errors due to extreme self
occlusions, severe hand and object occlusions, and when the
hand is located out of the camera field of view.

B. SynthHands Dataset
Table 1 shows the modes of variation in the SynthHands
dataset. Representative frames are shown in Figure 12.

C. CNN Architecture and Training
In this section, we explain the network architecture used
for HALNet and JORNet and provide training details. Furthermore, we present experiments which lead to our specific
design decisions.

C.1. Network Design
The ResNet[7] architecture has been successfully used
for full body pose estimation in previous work [16]. While
ResNet50 offers a good tradeoff between speed and accuracy, hand motion is fast and exhibits rapid directional
changes. Further, the egocentric camera placement leads to
even faster relative motion in the scene. Therefore, we experimented based on recent investigations into the nature of
representations learned by ResNets [5] to get a faster architecture without significantly affecting the accuracy.
Core Architecture: Starting from ResNet50, we remove a
residual block from level 3, and keep only 4 residual blocks
at level 4. Level 5 is replaced with two 3 × 3 convolution
layers with 512 (conv4e) and 256 (conv4f) features and no
striding. Both of these layers also use batch normalization
[9]. From conv4f, A 3 × 3 convolutional stub followed by
bilinear upsampling produces the joint location heatmaps,
and a fully-connected layer with 200 nodes followed by anTable 1: SynthHands Details
Mode of Variation
Pose
Wrist+Arm
Rotation
Shape
Skin Color
Camera Viewpoints
Object Shapes
Object Textures
Background Clutter

Amount of Variation
63,530 frames of real hand motion,
sampled every 5th frame
wrist: sampled from 70 deg. range
arm: sampled from a 180 deg. range
x, y, z scale sampled uniformly in
[0.8, 1.2]; female + male mesh
2 x 6 hand textures (female/male)
5 egocentric viewpoints
7 objects
145 textures
10,000 real images, uniform random
u,v offset in [-100, 100]

other fully-connected layer predict the joint location vector.
See Figure 19 for details.

Average 3D Error (mm)

50

C.2. Training Details

JORNet
JORNet light

40
30
20
10
0
Wrist Thumb Index Middle Ring

tips in 3D on the SynthHands test set. The full JORNet
version yields a significant increase in performance compared to JORNet light which was only trained for wrist and
fingertips.

Little

Figure 11: Training JORNet to regress heatmaps and local
joint positions for all joints instead of only for fingertips
and the wrist (JORNet light) reduces the error on the SynthHands test set.
The resulting architecture needs 10 ms for a forward pass
at resolution 320 x 240 (HALNet) and 6 ms at resolution 128
x 128 (JORNET) on a Nvidia Pascal Titan X GPU. This is
a significant speed-up compared to the ResNet50 version
which needs 18 ms and 11 ms, respectively. Evaluation
on the SynthHands test set shows that the drop in accuracy
is only marginal. ResNet50 trained on the hand localization task achieves 2.1 px average error whereas HALNet
achieves 2.2 px.
Intermediate Supervision: For HALNet and JORNet, we
treat a subset of the feature maps at each of res3a, res4a
and conv4e in the networks as the predicted heatmaps, for
intermediate supervision [15]. For JORNet, we additionally
use the feature maps at the aforementioned stages to predict
joint positions for intermediate supervision (see Figure 19).
Auxiliary Task in HALNet: Predicting heatmaps for all
joints as auxiliary task helps HALNet to learn the structure
of the hand. This leads to a better performance compared
to a version only trained to regress the root heatmap. On
the SynthHands test set, regressing heatmaps for all joints
instead of only for the root improves the 2D pixel error by
6.4% (from 2.35 px to 2.2 px).
Regressing All Joints in JORNet: Although fingertips and
wrist location alone provide a strong constraint for the pose
of the hand, training JORNet to regress the heatmaps and
local 3D positions for all joints improves the accuracy. Figure 11 shows the average error for the wrist and all finger-

We use the Caffe [11] framework for training our networks, using the AdaDelta scheme with momentum set to
0.9 and weight decay to 0.005. Both networks are trained
with an input batch size of 16. For HALNet, we use a base
learning rate of 0.05 and train for 45k iterations. The input has a spatial resolution of 320x240 px, and the output
heatmaps have a resolution of 40x30 px. The main heatmap
loss has a loss weight of 1.0, and all intermediate heatmap
losses have loss weights of 0.5. For JORNet, the input has
a spatial resolution of 128x128 px. We train with a base
learning rate of 0.05, with main heatmap loss weight set at
1.0 and joint position loss weight at 2500. The intermediate heatmap losses have their loss weights set to 0.5 and
intermediate joint position loss weights set to 1250. After
45k iterations, the base learning rate is lowered to 0.01, the
intermediate heatmap loss weights lowered to 0.1 and the
intermediate joint position loss weights lowered to 250, and
trained for a further 15k iterations.

Figure 12: An example set of random samples taken from our SynthHands dataset. See Table 1 for description of dataset
variability.

Figure 13: 2D predictions (top row), 3D predictions (middle row) and tracked skeleton (bottom row) on our real annotated
sequence Fruits. The combination of 2D and 3D predictions in the tracking framework leads to better results than either
of the predictions in isolation.

(a) Pinch sponge

(b) Grab Knife

(c) Reach cupboard

(d) Grab bottle

(e) Write in notebook

(f) Open book

Figure 14: Qualitative evaluation of our results (top) and Rogez et al. [25] (bottom). We mimic the motions originally used
by [25] because, due to sensor differences (i.e. lens intrinsics, etc.), we cannot directly run our trained CNNs on their data.

Figure 15: Qualitative evaluation of our results (top) and Sridhar et al. [31] (bottom).

Figure 16: Qualitative results produced by the approach of Sridhar et al. [31] on our benchmark dataset EgoDexter. The
close proximity of the arm to the camera and the interaction with objects and the environment leads to catastrophic failures.

Figure 17: Despite of being trained for egocentric views, our approach in fact generalizes to 3rd-person views. In addition, it
is robust to the presence of other skin-colored body parts.

Figure 18: The failure cases of our method can be caused by different intermediate steps. The first two columns show the
output from HALNet, a heatmap and its maximum location with corresponding confidence. Note that the root stabilization
step improved the location in the last row (from green to red) but did not succeed. The third, fourth and fifth column shows
2D predictions, 3D predictions, and the tracked kinematic skeleton, respectively.

conv4e

conv4f

3, 1, 512

3, 1, 256

256, 1024 res4d

256, 1024 res4c

res3c
128, 512

2, 256, 1024 res4a

res3b
128, 512

res2c
64, 256

res3a

res2b
64, 256

2, 128, 512

res2a
1, 64, 256

3, 2

conv1
7, 1, 64

256, 1024 res4b

interm. loss

interm. loss

interm. loss

main loss

Residual block (identity skip)

Convolution block, with ReLU

Residual block (convolution)

MAX pooling layer (kernel size, stride)

Scale

BatchNorm

k, s, f

k, s, f

EuclideanLoss

InnerProduct
(3 x #joints)

Deconvolution layer
(kernel size, stride,
number of feature maps),
fixed to bilinear weights

Figure 19: Our network architecture.

EuclideanLoss

InnerProduct
(3 x #joints)

InnerProduct
(200)

EuclideanLoss

JORNet – Main loss (joint positions + heatmaps)

4, 2, #heatmaps

EuclideanLoss

4, 2, #heatmaps

Eltwise SUM
ReLU

1, s, f2

JORNet – Intermediate joint position loss

3, 1, 64

EuclideanLoss

k, s, #heatmaps

Slice
(#heatmaps)
3, 1, #heatmaps

=

Convolution layer (kernel size,
stride, number of feature maps)

Residual block (convolution)

HALNet / JORNet – Intermediate heatmap loss

HALNet – Main loss (heatmaps)

1, 1, f2

3, 1, f1
ReLU

1, s, f1
ReLU
=

4, 2, #heatmaps

Residual block (identity skip)

s, f1, f2

1, 1, f2

3, 1, f1
ReLU

=

Eltwise SUM
ReLU

f1, f2

1, 1, f1
ReLU

Convolution block

Deconvolution layer
(kernel size, stride,
number of feature maps)

References
[1] L. Ballan, A. Taneja, J. Gall, L. V. Gool, and M. Pollefeys.
Motion Capture of Hands in Action using Discriminative
Salient Points. In European Conference on Computer Vision
(ECCV), 2012. 2, 6
[2] A. Canziani, A. Paszke, and E. Culurciello. An analysis of
deep neural network models for practical applications. arXiv
preprint arXiv:1605.07678, 2016. 4
[3] Y. Ganin and V. Lempitsky. Unsupervised domain adaptation
by backpropagation. arXiv preprint arXiv:1409.7495, 2014.
8
[4] 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 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016. 1, 2
[5] K. Greff, R. K. Srivastava, and J. Schmidhuber. Highway and
residual networks learn unrolled iterative estimation. In International Conference on Learning Representations, 2016.
9
[6] H. Hamer, K. Schindler, E. Koller-Meier, and L. Van Gool.
Tracking a hand manipulating an object. In Computer Vision,
2009 IEEE 12th International Conference On, pages 1475–
1482. IEEE, 2009. 2
[7] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning
for image recognition. In IEEE Conference on Computer
Vision and Pattern Recognition (CVPR), June 2016. 4, 9
[8] IntelRealSenseSR300. https://click.intel.com/
realsense.html, 2016. 3
[9] S. Ioffe and C. Szegedy. Batch normalization: Accelerating
deep network training by reducing internal covariate shift. In
International Conference on Machine Learning, 2015. 9
[10] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint
arXiv:1408.5093, 2014. 6
[11] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM International Conference on Multimedia, pages 675–678, 2014. 10
[12] C. Keskin, F. Kra,̧ Y. E. Kara, and L. Akarun. Real time hand
pose estimation using depth sensors. In IEEE International
Conference on Computer Vision Workshops (ICCVW), pages
1228–1234, 2011. 2
[13] N. Kyriazis and A. Argyros. Scalable 3d tracking of multiple
interacting objects. In IEEE Conference on Computer Vision
and Pattern Recognition (CVPR), pages 3430–3437, 2014. 2
[14] LeapMotion.
https://developer.leapmotion.
com/orion, 2016. 2, 6
[15] C.-Y. Lee, S. Xie, P. Gallagher, Z. Zhang, and Z. Tu. Deeplysupervised nets. In AISTATS, volume 2, page 6, 2015. 10
[16] D. Mehta, H. Rhodin, D. Casas, O. Sotnychenko, W. Xu,
and C. Theobalt. Monocular 3d human pose estimation using transfer learning and improved CNN supervision. arXiv
preprint arXiv:1611.09813v2, 2016. 9

[17] M. Oberweger, G. Riegler, P. Wohlhart, and V. Lepetit. Efficiently Creating 3D Training Data for Fine Hand Pose Estimation. In IEEE Conference on Computer Vision and Pattern
Recognition (CVPR), 2016. 1, 4
[18] M. Oberweger, P. Wohlhart, and V. Lepetit. Training a feedback loop for hand pose estimation. In IEEE International
Conference on Computer Vision (ICCV), pages 3316–3324,
2015. 1, 2
[19] 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
[20] I. Oikonomidis, N. Kyriazis, and A. A. Argyros. Full dof
tracking of a hand interacting with an object by modeling occlusions and physical constraints. In Computer Vision (ICCV), 2011 IEEE International Conference on, pages
2088–2095. IEEE, 2011. 2
[21] P. Panteleris, N. Kyriazis, and A. A. Argyros. 3d tracking of
human hands in interaction with unknown objects. In BMVC,
pages 123–1, 2015. 2
[22] C. Qian, X. Sun, Y. Wei, X. Tang, and J. Sun. Realtime
and Robust Hand Tracking from Depth. In IEEE Conference
on Computer Vision and Pattern Recognition (CVPR), pages
1106–1113, 2014. 1, 2, 3
[23] H. Rhodin, C. Richardt, D. Casas, E. Insafutdinov,
M. Shafiei, H.-P. Seidel, B. Schiele, and C. Theobalt. Egocap: egocentric marker-less motion capture with two fisheye
cameras. ACM Transactions on Graphics (TOG), 35(6):162,
2016. 2
[24] G. Rogez, M. Khademi, J. Supančič III, J. M. M. Montiel,
and D. Ramanan. 3D hand pose detection in egocentric
RGB-D images. In Workshop at the European Conference
on Computer Vision, pages 356–371. Springer, 2014. 2, 4
[25] G. Rogez, J. S. Supancic, and D. Ramanan. First-person pose
recognition using egocentric workspaces. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR),
pages 4325–4333, 2015. 2, 4, 5, 8, 9, 12
[26] M. Rohrbach, S. Amin, M. Andriluka, and B. Schiele. A
database for fine grained activity detection of cooking activities. In IEEE Conference on Computer Vision and Pattern
Recognition (CVPR), pages 1194–1201, 2012. 1
[27] J. Romero, H. Kjellström, and D. Kragic. Hands in action:
real-time 3D reconstruction of hands in interaction with objects. In IEEE International Conference on Robotics and
Automation (ICRA), pages 458–463, 2010. 2
[28] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh,
S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein,
A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual
Recognition Challenge. International Journal of Computer
Vision (IJCV), 115(3):211–252, 2015. 6
[29] A. Sinha, C. Choi, and K. Ramani. Deephand: robust hand
pose estimation by completing a matrix imputed with deep
features. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 4150–4158, 2016. 1, 2
[30] S. Sridhar, A. M. Feit, C. Theobalt, and A. Oulasvirta. Investigating the dexterity of multi-finger input for mid-air text
entry. In ACM Conference on Human Factors in Computing
Systems, pages 3643–3652, 2015. 1

[31] S. Sridhar, F. Mueller, A. Oulasvirta, and C. Theobalt. Fast
and Robust Hand Tracking Using Detection-Guided Optimization. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015. 1, 2, 3, 5, 9, 12
[32] S. Sridhar, F. Mueller, M. Zollhoefer, D. Casas,
A. Oulasvirta, and C. Theobalt. Real-time Joint Tracking
of a Hand Manipulating an Object from RGB-D Input. In
European Conference on Computer Vision (ECCV), 2016.
2, 3
[33] S. Sridhar, A. Oulasvirta, and C. Theobalt. Interactive markerless articulated hand motion tracking using RGB and depth
data. In IEEE Conference on Computer Vision and Pattern
Recognition (CVPR), pages 2456–2463, 2013. 2, 6
[34] 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
[35] A. Tagliasacchi, M. Schroeder, A. Tkach, S. Bouaziz,
M. Botsch, and M. Pauly. Robust Articulated-ICP for RealTime Hand Tracking. Computer Graphics Forum (Symposium on Geometry Processing), 34(5), 2015. 1, 2
[36] D. Tang, H. Jin Chang, A. Tejani, and T.-K. Kim. Latent regression forest: Structured estimation of 3d articulated hand posture. In Proceedings of the IEEE Conference
on Computer Vision and Pattern Recognition, pages 3786–
3793, 2014. 2
[37] 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 Proc.
ICCV, 2015. 2
[38] 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. 1, 2, 3
[39] J. Tompson, M. Stein, Y. Lecun, and K. Perlin. Real-time
continuous pose recovery of human hands using convolutional networks. ACM Transactions on Graphics, 33, August
2014. 1, 2
[40] 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 (IJCV), 2016. 2
[41] D. Tzionas and J. Gall. 3d object reconstruction from handobject interactions. In Proceedings of the IEEE International
Conference on Computer Vision, pages 729–737, 2015. 2
[42] C. Wan, T. Probst, L. Van Gool, and A. Yao. Crossing nets:
Dual generative models with a shared latent space for hand
pose estimation. arXiv preprint arXiv:1702.03431, 2017. 1
[43] 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. 2
[44] R. Wang, S. Paris, and J. Popović. 6d hands: markerless
hand-tracking for computer aided design. In Proc. of UIST,
pages 549–558. ACM, 2011. 2
[45] C. Xu and L. Cheng. Efficient hand pose estimation from a
single depth image. In Proceedings of the IEEE International
Conference on Computer Vision, pages 3456–3462, 2013. 2

[46] 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 (ECCV), pages
346–361. Springer, 2016. 2
[47] W. Zhao, J. Zhang, J. Min, and J. Chai. Robust realtime
physics-based motion control for human grasping. ACM
Transactions on Graphics (TOG), 32(6):207, 2013. 1
[48] X. Zhou, Q. Wan, W. Zhang, X. Xue, and Y. Wei. Modelbased deep hand pose estimation. In IJCAI, 2016. 2

