File size: 1,525 Bytes
ec9bf0f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
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.