Home

Awesome

Ego3DHands

<img src="imgs/image_sample1.png" width="320"> <img src="imgs/image_sample1_sideview.png" width="320">

<img src="imgs/image_sample2.png" width="320"> <img src="imgs/image_sample2_seg.png" width="320">

Ego3DHands is a large-scale synthetic dataset for the task of two-hand 3D global pose estimation. It provides images and corresponding labels with the presence of two hands in egocentric view generated using Blender. This dataset can also be used for the task of hand segmentation, 2D, 3D canonical hand pose estimation. For hand tracking in dynamic sequences, we provide a dynamic version of Ego3DHands. This dataset is introduced by our paper Two-hand Global 3D Pose Estimation Using Monocular RGB.

Each instance provides the following data for both hands:

Note that some instances only have a single hand present, in that case the missing hand will have values of zero for its joint locations.

Ego3DHands static & dynamic

Ego3DHands dataset provides 2 different versions for the task of static and dynamic pose estiamtion respectively. The static version includes 50,000 training instances and 5,000 test instances. The background images for the static version are randomly selected from approximately 20,000 images within 100 different scene categories from online sources. Additionally, the background images are randomly flipped horizontally and color augmented. The dynamic version includes 100 training videos and 10 test videos with 500 frames per video sequence. Each sequence has a unique background sequence selected from www.pexels.com.

Download

Please use the following links for downloading the datasets:

Ego3DHands (static): https://app.box.com/s/j5a27ilrxraz94ujlvg3gzf715fiq8ih

Ego3Dhands (dynamic): https://app.box.com/s/wtib1zbtmzu9wbwbw1miw8q1oivdbyx6

Evaluation

For the task of global hand pose estimation, we evaluate in terms of both the AUC for the PCK of the 3D canonical hand poses (pose accuracy) and a new metric of the AUC of the spherical PCK of the root joint that computes the distance accuracy and directional accuracy. Please see our paper for more details.

Visualization & Global Projection Algorithm

In order to visualize the 3D joints for both hands, you need to first create the proper environment in Anaconda. We ran the following commands to set up the environment on a Windows machine:

After setting up the environment, you can run the following command:

This should load the 2D, 3D canonical and 3D global joint locations from a sample instance in Ego3DHands and output the visualization in predefined angles in "outputs/" directory. You should obtain the following output images:

<img src="imgs/img_sample_vis1.png" width="320"> <img src="imgs/img_sample_vis2.png" width="320"> <img src="imgs/img_sample_vis3.png" width="320">

We have included camera intrinsics for Stereo Tracking Benchmark Dataset (STB) and Rendered Hand Pose Dataset (RHP). However, you would need to add in the samples from these other datasets and process the joints the same way we do in order for the script to function properly. Samples from other datasets can be added as well but the corresponding camera intrinsics would also need to be added into the existing script (e.g. refer to the issue tab for running the algorithm on InterHand2.6M).

This script also contains our global projection algorithm, which computes the 3D global joint locations using the 2D, 3D canonical joint locations, camera intrinsics and key bone length. This algorithm can be applied to compute the global 3D keypoint locations of any object given the aforementioned information.

License

This dataset can only be used for scientific/non-commercial purposes. If you use this dataset in your research, please cite the corresponding paper