JointHand: per-vertex hand contact and hand–object distance
jointhand_head.pt is the JointHand contact head (42.4 M parameters, epoch 29). It runs on top of the
frozen WiLoR backbone (wilor_final.ckpt, unchanged),
so the hand mesh is exactly WiLoR's. For every one of the 778 MANO vertices it predicts
contact_prob: contact probability (paper read-out:p > 0.52)pred_dist: metric hand–object distance in metres (paper read-out:d < 12 mm)
The default read-out on datasets with distance supervision is contact OR distance.
| file | contents |
|---|---|
jointhand_head.pt |
{'contact_head_state_dict', 'epoch', 'head', 'head_dims', 'env'} |
The head reads these environment variables at construction time; they must match training
(they are also stored under env in the checkpoint):
HACO_DCC_V2_XYZ=1 HACO_DCC_V2_DEEP_DIST=1 HACO_DIST_LOG=1 HACO_DIST_INJECT_TAU=0.015 HACO_FORCE_INJECT_P0=0.10
Architecture: AttentionSamplingDistForceInjectContactHead(vit_feat_dim=1280, model_dim=512, num_heads=8, num_layers=4, mlp_dim=2048, dropout=0.1). The paper's numbers were computed under bf16 autocast.
- Demo: https://huggingface.co/spaces/Xgxx00200/JointHand
- Project page / paper / code: see the demo page
The pressure branch of this checkpoint is not trained to a useful output and should not be used.
Licence: CC BY-NC 4.0 (research use). WiLoR and MANO keep their own licences.