We will, whenever possible, use the most accurate anatomical terminology; this should make it easier to compare our hand model against others.
For the fingers (index through pinky), the carpals and metacarpals can be assumed to be fixed in the wrist frame. In reality, there is a little bit of abduction in the metacarpals (which can be detected by squeezing the pinky and index finger together), but this is a relatively minor component of the overall hand motion and is ignored by the hand tracking algorithms. The three bones in the finger are the proximal phalange, the intermediate phalange, and the distal phalange.
For the thumb, the metacarpal is actually free to move, and there are only two phalangeal bones: the proximal phalange and the distal phalange. proximal, intermediate, and distal phalanges
Figure 2 Joints of the hand.
Because they have different bone structures, the finger and thumb joints are also named differently.
First, the finger joints (applies to the index, middle, ring, and pinky fingers).
Now, the thumb joints.
Figure 3 Joint frames as returned by PoseMessage::getJointFrames
.
There are two pieces of data returned by the hand tracking. The first are the
joint frames returned by PoseMessage::getJointFrames
or
PoseMessage::getJointTransforms
. These are 3D frames (defined by
a rotation and translation) that are located along the bones and should be used
for skinning. In addition, if you need a 3D frame, these are the ones to use.
The WRIST_JOINT
frame is special; it is aligned to the back of the
hand and is the most stable frame. The naming here is not strictly anatomical;
we use PROXIMAL
, INTERMEDIATE
and DISTAL
for each digit to refer to the frame that is closest/furthest from the
body as in Figure 3.
The second piece of data reported in the PoseMessage
are the
finger DOF. These correspond to joint angles for the various firnger
joints and can be used for gesture recognition. The DOF are numberd as in the
table below; note that we don't report joint angles for the distal
interphalangeal, which is assumed to be slaved to the proximal interphalangeal
joint.
DOF | Digit | Joint | Motion |
---|---|---|---|
0 | Thumb | CMC | AA |
1 | Thumb | CMC | FE |
2 | Thumb | MCP | FE |
3 | Thumb | IP | FE |
4 | Index | MCP | AA |
5 | Index | MCP | FE |
6 | Index | PIP | FE |
7 | Middle | MCP | AA |
8 | Middle | MCP | FE |
9 | Middle | PIP | FE |
10 | Ring | MCP | AA |
11 | Ring | MCP | FE |
12 | Ring | PIP | FE |
13 | Pinky | MCP | AA |
14 | Pinky | MCP | FE |
15 | Pinky | PIP | FE |