A method comprising: capturing, by a camera, a two-dimensional, 2D, image of a hand; identifying, at a processor, keypoints (115, 120, 125, 130) on the hand in the 2D image captured by the camera, wherein the keypoints (115, 120, 125, 130) comprise locations of tips of fingers and a thumb of the hand, joints that connect phalanxes of the fingers and the thumb, palm knuckles that represent a point of attachment of the fingers and the thumb to a palm of the hand, and a wrist location that indicates a point of attachment of the hand to a forearm, the palm of the hand being represented as a palm triangle and a thumb triangle; and determining, at the processor, a three-dimensional pose of the hand using locations of the keypoints (115, 120, 125, 130) to access lookup tables, LUTs, that represent potential 3D poses of the hand as a function of the locations of the keypoints (115, 120, 125, 130), wherein the LUTs comprise finger pose LUTs that represent 2D coordinates of each of the fingers and the thumb in corresponding finger pose planes as a function of the locations of the tips of the fingers or thumb relative to corresponding palm knuckles of the fingers or thumb, the finger pose planes having fixed orientations relative to the palm triangle and the thumb triangle, respectively, wherein determining the 3D pose of the hand comprises: determining 2D coordinates of the fingers and the thumb from the finger pose LUTs based on relative locations of corresponding fingertips and palm knuckles of the fingers and the thumb, determining orientations of the palm triangle and the thumb triangle from the 2D image, rotating the 2D coordinates of the fingers and the thumb based on the orientations of the palm triangle and the thumb triangle, respectively, and determining a 3D skeleton model that represents the 3D pose of the hand by combining the palm triangle, the orientation of the palm triangle, the thumb triangle, the orientation of the thumb triangle, and the rotated 2D finger coordinates of the fingers and thumb. capturing, by a camera, a two-dimensional, 2D, image of a hand; identifying, at a processor, keypoints (115, 120, 125, 130) on the hand in the 2D image captured by the camera, wherein the keypoints (115, 120, 125, 130) comprise locations of tips of fingers and a thumb of the hand, joints that connect phalanxes of the fingers and the thumb, palm knuckles that represent a point of attachment of the fingers and the thumb to a palm of the hand, and a wrist location that indicates a point of attachment of the hand to a forearm, the palm of the hand being represented as a palm triangle and a thumb triangle; and determining, at the processor, a three-dimensional pose of the hand using locations of the keypoints (115, 120, 125, 130) to access lookup tables, LUTs, that represent potential 3D poses of the hand as a function of the locations of the keypoints (115, 120, 125, 130), wherein the LUTs comprise finger pose LUTs that represent 2D coordinates of each of the fingers and the thumb in corresponding finger pose planes as a function of the locations of the tips of the fingers or thumb relative to corresponding palm knuckles of the fingers or thumb, the finger pose planes having fixed orientations relative to the palm triangle and the thumb triangle, respectively, wherein determining the 3D pose of the hand comprises: determining 2D coordinates of the fingers and the thumb from the finger pose LUTs based on relative locations of corresponding fingertips and palm knuckles of the fingers and the thumb, determining orientations of the palm triangle and the thumb triangle from the 2D image, rotating the 2D coordinates of the fingers and the thumb based on the orientations of the palm triangle and the thumb triangle, respectively, and determining a 3D skeleton model that represents the 3D pose of the hand by combining the palm triangle, the orientation of the palm triangle, the thumb triangle, the orientation of the thumb triangle, and the rotated 2D finger coordinates of the fingers and thumb. determining 2D coordinates of the fingers and the thumb from the finger pose LUTs based on relative locations of corresponding fingertips and palm knuckles of the fingers and the thumb, determining orientations of the palm triangle and the thumb triangle from the 2D image, rotating the 2D coordinates of the fingers and the thumb based on the orientations of the palm triangle and the thumb triangle, respectively, and determining a 3D skeleton model that represents the 3D pose of the hand by combining the palm triangle, the orientation of the palm triangle, the thumb triangle, the orientation of the thumb triangle, and the rotated 2D finger coordinates of the fingers and thumb.