April 20, 2021
Our hands are our primary operating tools, so their location, orientation, and articulation in space is vital for many human-computer interfaces. Automated hand pose estimation can be very useful for diverse applications such as virtual/augmented reality (XR), sign language recognition, gesture recognition and robotics. Collabora is particularly interested in using hand pose estimation in XR as this application meshes nicely with our work on Monado, the world’s first open-source OpenXR runtime.
Recent interest in hand pose estimation is driven by the marked advantage it can give to many fields, such as virtual sports coaching and factory worker safety. Pose estimation has the potential to create a new generation of automated tools designed to precisely measure human movement. In addition, pose estimation enhances existing applications in a broad range of areas, including: Augmented Reality, Animation, Gaming and Robotics. This is not by any means an exhaustive list, but it includes some of the primary ways in which pose estimation is shaping our future.
Although the two fields of hand pose and body pose estimation have significant overlap regarding their objectives and difficulties, hand pose estimation has a unique set of problems such as lack of characteristic local features, pose ambiguity, and substantial self-occlusion, making it a challenging problem to solve.
Traditional vision-based markerless methods for 3D hand pose estimation rely heavily on depth information, requiring either multi-view configurations or depth cameras. However, such hardware requirements add severe limitations to possible applications by significantly increasing the set up overhead and cost. Depth cameras have the added constraint of only working in indoor scenes, and requiring relatively high power consumption.
To circumvent this problem, we have tackled the challenging task of estimating the hand joint locations for both hands using only monocular RGB input images. To be more concrete; as part of a project backed by INVEST-AI, a program managed by IVADO Labs, we have developed a multi-stage neural network-based solution that accurately locates and tracks the hands despite complex background noise and occlusion between hands. Our system estimates 2D and 3D joint locations without any depth information.
Below is a preview of what the hand tracking looks like. We are currently working on integrating it into the Monado XR codebase, so it can be used out-of-the-box with different devices.
In tandem, we are working on a large-scale real-world hand pose dataset that will allow us to train a pipeline that outperforms current work in 3D using only RGB data.
|Custom build camera-rig with 12 cameras to capture hand-poses from different viewpoints.|
Last but not least, our solution is built to run on resource-constrained devices such as the VIM 3 and the Rock PI N10.
In our next post, we will dive into the machine learning details of our innovative pipeline. This will be followed by a third post covering how we recorded and annotated our large-scale real-world hand pose dataset. Stay tuned!
A step-by-step guide on how to enable 3D acceleration of Vulkan applications in QEMU through the new Venus experimental Vulkan driver for…
Maintaining a non-trivial set of GStreamer patches can be tricky. Thanks to the recent move to a single, unified git repo, you can now easily…
Earlier this year, I joined Collabora as an intern to work on improving testing in libcamera and automating it through KernelCI. Having…
With the LLVM toolchain seeing increasing development and adoption alongside the older, more established GNU toolchain, projects needing…
This summer, Christoph Haag and I had the pleasure of taking part in Google Summer of Code as mentors for xrdesktop, the Open Source project…
Earlier this year, from January to April 2021, I worked on adding support for stateless decoders for GStreamer as part of a multimedia internship…