Pictograph Research

PG-HandPose

Pictograph Research · Keypoint detection · Trained 32m ago · CC-BY-NC-SA-4.0

Sign in to import View on Hugging Face

Model Card

PG-HandPose

A keypoint detection model (RF-DETR Keypoint Preview), locating each hand and its 21 keypoints, scoring 81.8% OKS.

Pictograph Research · Keypoint Detection · RF-DETR Keypoint Preview · FP32 · CC-BY-NC-SA-4.0 · Public

Overview

This is a keypoint detection model built on RF-DETR Keypoint Preview, trained on the Hand Keypoints dataset. It expects 576x576 input and runs in FP32 precision. It finds each hand and its 21 keypoints: the Skeleton section lists them in output order, with the joints each connects to.

Performance

Headline: 81.8% OKS.

Metric Value
OKS81.8%
OKS@5092.7%
OKS@7584.0%
Recall85.1%

OKS is COCO's keypoint AP: the average precision over object keypoint similarity (OKS) thresholds 0.50 to 0.95. OKS@50 and OKS@75 are the AP at one threshold; Recall is the average recall over 0.50 to 0.95.

Skeleton

Each object the model finds is one instance: its keypoints share an instance_id, are named for their joint and carry their own confidence. The keypoint index is the model's output order.

# Keypoint Connects to
0wristthumb_cmc, index_finger_mcp, pinky_mcp
1thumb_cmcwrist, thumb_mcp
2thumb_mcpthumb_cmc, thumb_ip
3thumb_ipthumb_mcp, thumb_tip
4thumb_tipthumb_ip
5index_finger_mcpwrist, index_finger_pip, middle_finger_mcp
6index_finger_pipindex_finger_mcp, index_finger_dip
7index_finger_dipindex_finger_pip, index_finger_tip
8index_finger_tipindex_finger_dip
9middle_finger_mcpindex_finger_mcp, middle_finger_pip, ring_finger_mcp
10middle_finger_pipmiddle_finger_mcp, middle_finger_dip
11middle_finger_dipmiddle_finger_pip, middle_finger_tip
12middle_finger_tipmiddle_finger_dip
13ring_finger_mcpmiddle_finger_mcp, ring_finger_pip, pinky_mcp
14ring_finger_pipring_finger_mcp, ring_finger_dip
15ring_finger_dipring_finger_pip, ring_finger_tip
16ring_finger_tipring_finger_dip
17pinky_mcpring_finger_mcp, wrist, pinky_pip
18pinky_pippinky_mcp, pinky_dip
19pinky_dippinky_pip, pinky_tip
20pinky_tippinky_dip

Training

Setting Value
Base datasetHand Keypoints
ExportHand Keypoints-base
Dataset size26,677 images
Input size576x576
Epochs12
Batch size4
Learning rate0.0001
Model sizepreview
PrecisionFP32
Version1.0.0

Use this model

Run inference with the Pictograph SDK:

from pictograph import Client, get_model, KeypointModel, KeypointResult

client = Client(api_key="pk_live_...")  # Settings -> API Keys

# Downloads + caches the weights on first use
model: KeypointModel = get_model(
    name="PG-HandPose",
    task="keypoint_detection",
    format="onnx",
    precision="fp32",
    device="cpu",
    client=client,
)
result: KeypointResult = model.predict(image="photo.jpg")
print(result)
# Fully offline (no API key) once you have the weights + config.json
from pictograph import load_model, KeypointModel, KeypointResult

model: KeypointModel = load_model(
    "/path/to/weights.onnx",
    "/path/to/config.json",
    task="keypoint_detection",
    format="onnx",
)
result: KeypointResult = model.predict(image="photo.jpg")

License

Released under CC-BY-NC-SA-4.0.

Download the model files

Exports to ONNX. Sign in to download the weights and config, or pull it from the SDK with the Use Model snippet.

Sign in to download

Hand Keypoints

Pictograph Research Pictograph Research
26,677 images · 0 classes
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Data / content

Allows use and adaptation with credit, but not for commercial purposes, and adaptations must be shared under the same license.

Read the full Creative Commons Attribution-NonCommercial-ShareAlike 4.0 →

Join the discussion

Comments and reactions live in the app.

Sign in to comment

Build your first vision tool

$5 of free compute every month. No card required.