Grasping the Future: Joint 3D Hand-Object Forecasting From Internet Videos
Organizations: University of Washington · University of North Carolina at Chapel Hill · Johns Hopkins University · Skild AI
Abstract
To interact with an object, we need to anticipate both how it will move and how our hands should move with it. Human videos capture these relationships across everyday activities, offering a natural source for learning to predict future interactions. Learning from them requires recovering motion from completed interactions and using it to anticipate what could happen next. We present , a unified generative model of joint 3D hand-object motion, including wrist motion, finger articulation, and object position and orientation. Through masked spatiotemporal completion and flow matching, we train a single model for several prediction tasks: forecasting future interactions, predicting hand motion given object motion or vice versa, generating both trajectories toward a desired final object pose, and completing partially observed interactions. We explicitly model hand-object relations and incorporate contact constraints to help preserve grasp relationships during motion. To obtain 3D supervision from internet videos, we develop a scalable pipeline that combines pretrained perception models with joint geometric optimization to reconstruct completed interactions. We combine these recovered trajectories with annotated interaction datasets as training data for all tasks. We demonstrate strong performance across all tasks, outperforming released forecasters on datasets with 3D annotations. Moreover, we show geometric and physical plausibility of the predicted trajectories by retargeting them to a robotic embodiment. Videos are available at https://grasping-the-future.github.io.
Figures & tables
| Future prediction | Hands obj. | Obj. hands | Temporal infilling | Goal, all given | Goal, hands given | Goal, object given | ||||||
| Entity | object | hands | object | hands | object | hands | object | hands | object | hands | object | hands |
| Error at | end | end | end | end | middle | middle | middle | middle | end | middle | middle | end |
| Stay-put | 142.6 | 145.6 | 149.0 | 156.6 | 51.7 | 69.3 | 98.8 | 127.7 | 149.0 | 127.7 | 98.8 | 156.6 |
| Constant velocity | 627.1 | 819.3 | – | – | – | – | – | – | – | – | – | – |
| Interpolation | – | – | – | – | 38.2 | 49.0 | 76.0 | 92.3 | – | 92.3 | 76.0 | – |
| Rigid carry | – | – | 108.6 | 156.4 | – | – | – | – | – | – | – | – |
| Inputs at inference | ADE | FDE | ||||||||||
| Method | RGB | Depth | Hands | Object | Text | L wrist | R wrist | Object | L wrist | R wrist | Object | |
| USST ( Bao et al., 2023 ) | ✓ | ✓ | 1 | 134.6 | 135.2 | – | 196.3 | 182.3 | – | |||
| ForeHand4D ( Prakash et al., 2025 ) | ✓ | 20 | 92.4 | 103.1 | – | 122.8 | 133.6 | – | ||||
| EgoH4 ( Hatano et al., 2025 ) | ✓ | 2D | 1 | 223.4 | 266.9 | – | 292.5 | 327.8 | – | |||
| Uni-Hand ( Ma et al., 2026 ) | ✓ | ✓ | ✓ | 20 | 360.8 | 344.1 | – | 359.5 | 348.7 | – | ||
| ObjectForesight ( Soraki et al., 2026 ) | ✓ | ✓ | ✓ | 20 | – | – | 77.0 | – | – | 130.4 | ||
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Task | Observed in training | Observed at evaluation | Training probability |
|---|---|---|---|
| Forecasting | first frames, | first s | |
| Hands object | hands throughout, object in the first frame | same | |
| Object hands | object throughout, hands in the first frame | same | |
| Goal-conditioned † | first – and last – frames | first and last frames | |
| Temporal infilling | all except one gap of – of the window | all except the middle third | |
| Random blocks | all except one block per selected entity | training only |
| Architecture | |
| Transformer | blocks; width ; heads; feed-forward width ; GELU; dropout |
| Parameters | M trainable; M frozen |
| Training data | |
| Dataset sizes | Action100M / ; TACO / ; DexYCB / ; OakInk2 / ; SHOW3D / ; HOT3D / ; H2O / ; HO3D / ; HO-Cap / ; total / |
| Flow matching | Decoded trajectory | Contact and samples | |||
|---|---|---|---|---|---|
| Hand translation | Wrist and object position | Fingertip distance | |||
| Wrist rotation | Wrist and object rotation | Attachment position | |||
| Finger articulation | Finger-joint rotation | Attachment rotation | |||
| Object translation | Smoothness | Attachment velocity | |||
| Object rotation | Joint limits | Contact classifier | |||
| Hand-object relations | MANO pose prior | Energy score | |||
| DexYCB | HOT3D | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Variant | wrist | depth | surface | obj. depth | wrist | depth | surface | obj. depth | drift |
| Raw extraction | |||||||||
| All denoiser corrections | |||||||||
| Moving-average smoothing | |||||||||
| Full refinement | |||||||||
| Method | Contact deviation | Relative position | Motion deviation | Acceleration | Hand joint error | [email protected] | [email protected] |
|---|---|---|---|---|---|---|---|
| (mm) | (mm) | (mm) | (m/s 2 ) | (mm) | (%) | (%) | |
| Published results | |||||||
| ArcticNet-SF ( Fan et al., 2023 ) | 94.2 | 166.7 | 70.1 | 3.9 / 5.3 | 44.8 | 16.5 | 55.9 |
| JointTransformer ( Abou Zeid, 2023 ) | 30.1 | 78.6 | 20.0 | 3.1 / 9.5 | 22.9 | 17.6 | 56.9 |
| HOPformer ( Bansal et al., 2026 ) | 20.7 | 65.8 | 11.4 | 2.5 / 4.1 | 19.9 | 29.8 | 69.7 |
| Same clips, prepared inputs and ground-truth mesh | |||||||
| EPIC-Contact | HOT3D | DexYCB | ||||
|---|---|---|---|---|---|---|
| Method | Hand | Object | Hand | Object | Hand | Object |
| HOPformer | 23.9 | 24.0 | 52.2 | 38.5 | 96.6 | 28.0 |
| Ours | 15.8 | 18.3 | 55.0 | 25.5 | 10.3 | 20.7 |
| Hands ADE | Object ADE | Hands FDE | Object FDE | Inside (%) | ||||||||||
| Model | ES | ES | ES | ES | Hands | Object | ||||||||
| Main model | 86.7 | 60.2 | 49.6 | 64.9 | 42.0 | 37.5 | 128.5 | 93.3 | 74.8 | 110.3 | 76.9 | 65.1 | 82 | 79 |
| Losses and relation tokens | ||||||||||||||
| No physical-loss group | 90.2 | 62.2 | 51.3 | 64.9 | 43.0 | 38.5 | 135.4 | 101.3 | 80.1 | 111.9 | 80.5 | 68.8 | 81 | 76 |
| No relation tokens | 91.2 | 62.4 | 51.1 | 67.9 | 43.7 | 39.3 | 132.7 | 98.8 | 76.4 | 113.4 | 78.8 | 67.7 | 81 | 76 |
| Scene conditioning and augmentation | ||||||||||||||
| Model | Tip error (mm) | Contact F1 (%) | Held (%) | Slipping (%) | Detached (%) |
|---|---|---|---|---|---|
| Main model | 65.7 | 68.2 | 15.5 | 47.5 | 24.9 |
| Losses and relation tokens | |||||
| No physical-loss group | 72.2 | 65.3 | 14.3 | 44.5 | 29.1 |
| No relation tokens | 70.4 | 66.3 | 14.2 | 45.5 | 28.1 |
| Scene conditioning and augmentation | |||||
| No scene encoder | 67.6 | 67.3 | 15.6 | 46.6 | 26.0 |
| Method | Inside | Apart | Error | |
|---|---|---|---|---|
| Hand forecasting | ||||
| ForeHand4D ( Prakash et al., 2025 ) | 20 | 82% | 191.8 | 224.1 |
| EgoH4 ( Hatano et al., 2025 ) | 20 | 0% | 0.2 | 310.2 |
| Uni-Hand ( Ma et al., 2026 ) | 20 | 0% | 11.2 | 359.8 |
| Ours | 20 | 76% | 125.2 | 160.5 |
| Object forecasting | ||||
| Future prediction | Hands obj. | Obj. hands | Temporal infilling | Goal, all given | Goal, hands given | Goal, object given | ||||||
| Entity | object | hands | object | hands | object | hands | object | hands | object | hands | object | hands |
| Error at | end | end | end | end | middle | middle | middle | middle | end | middle | middle | end |
| Energy score of the samples | ||||||||||||
| Specialist | 95.2 | 101.2 | 37.5 | 62.0 | 21.7 | 28.7 | 53.6 | 60.0 | 53.0 | 61.3 | 54.7 | 61.0 |
| Ours | 89.0 | 94.4 | 35.1 | 59.6 | 22.2 | 29.8 | 51.0 | 59.3 | 71.1 | 62.0 | 53.5 | 70.5 |
| Reference inside the samples (%) | ||||||||||||