| --- |
| license: apache-2.0 |
| tags: |
| - hand-pose |
| - keypoint-detection |
| - egocentric |
| --- |
| |
| # 2dhandpose |
|
|
| 2D hand keypoint estimation weights for egocentric video, trained by [Build AI](https://build.ai). |
|
|
| - `model.safetensors` β 0.43B-parameter ViT pose backbone (Sapiens-compatible architecture) with a 42-channel heatmap head. |
| - Input: monocular RGB frames. Output: one heatmap per hand keypoint. |
|
|
| ## Keypoint order (42 channels) |
|
|
| Channels 0β20 are the right hand, 21β41 the left hand. Within each hand: five fingers |
| (thumb, index, middle, ring, pinky), each as 4 points ordered fingertip β base (MCP), |
| followed by the wrist. |
|
|
| | channel | keypoint | |
| |---|---| |
| | 0β3 | right thumb, tip β MCP | |
| | 4β7 | right index, tip β MCP | |
| | 8β11 | right middle, tip β MCP | |
| | 12β15 | right ring, tip β MCP | |
| | 16β19 | right pinky, tip β MCP | |
| | 20 | right wrist | |
| | 21β24 | left thumb, tip β MCP | |
| | 25β28 | left index, tip β MCP | |
| | 29β32 | left middle, tip β MCP | |
| | 33β36 | left ring, tip β MCP | |
| | 37β40 | left pinky, tip β MCP | |
| | 41 | left wrist | |
|
|
| Skeleton: within each finger connect the 4 points in order; connect the wrist to each |
| finger's MCP (channels 3, 7, 11, 15, 19 for right; 24, 28, 32, 36, 40 for left). |
|
|
| ## Loading |
|
|
| The state dict follows the open-source [Sapiens](https://github.com/facebookresearch/sapiens) |
| pose layout (`backbone.*` ViT + `decode_head.*` deconv/conv heatmap head) with |
| `num_keypoints = 42`; any loader compatible with that code can consume it directly. |
|
|