DenseHap: Dense Hand Haptic Estimation from Monocular Images
Organizations: Imperial College London
Abstract
As dexterous robotic manipulation advances, scalable annotations of human hand-object interactions are becoming increasingly important. Furthermore, previous hand contact estimation methods suffered from issues such as dorsal-side misclassifications and insufficient precision, while lacking a unified framework for integrating multiple hand to environment interaction modalities, including distance fields, contact thresholds, and pressure. To address that, we present DenseHap, a unified end-to-end approach to estimate hand distance field recognition, comprehensive hand contact detection, hand pressure analysis, and hand reconstruction from a single monocular image. By incorporating three distinctly defined heads, along with a pretrained 3D reconstructed skeleton and an enhanced dataset, DenseHap outperforms previous state of the art models on four evaluation datasets, improving the F1 score by 8.5 percentage points (a 16% relative improvement) on untrained datasets and by 3 percentage points (5% relative improvement) on in-distribution datasets. Furthermore, DenseHap has effectively improved short-range hand estimate and pressure evaluation. Code and models will be publicly available upon the paper's acceptance.
Figures & tables
| Dataset | Size | Share | Type |
|---|---|---|---|
| A. Sensor-measured (high reliability) | |||
| PressureVisionDB [ 14 ] | 33,514 | 2.88% | Pressure |
| B. Multi-view, MoCap (high reliability) | |||
| TACO [ 29 ] | 153,097 | 13.17% | Manipulation |
| OakInk2 [ 61 ] | 147,553 | 12.69% | Manipulation |
| ARCTIC [ 11 ] | 147,238 | 12.66% | Manipulation |
| DenseHap | HACO | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Dataset | P | R | F1 | F1 ⋆ | P | R | F1 | F1 ⋆ | |
| EPIC-Contact | 2272 | .453 | .622 | .511 | .525 | .386 | .595 | .428 | .459 |
| ContactPose | 2192 | .606 | .812 | .673 | .675 | .565 | .680 | .588 | .599 |
| MOW | 92 | .432 | .926 | .555 | .570 | .525 | .607 | .522 | .567 |
| ARCTIC | 3000 | .675 | .792 | .703 | .713 | .516 | .787 | .682 | .684 |
| Mean | – | .542 | .788 | .600 | .621 | .498 | .667 | .555 | .578 |
| Method | MOW | ContactPose | EPIC | ARCTIC | RICH | Hi4D |
|---|---|---|---|---|---|---|
| POSA-hand [ 19 ] | .408 | – | – | – | .398 | .315 |
| ContactPrompt [ 26 ] | .526 | – | – | – | – | – |
| DECO [ 48 ] | .395 † | .513 | .492 | .365 | .454 | .304 † |
| BSTRO [ 21 ] | .380 † | .155 | .382 | .290 | .645 | .420 † |
| HACO [ 25 ] | .522 | .599 | .459 | .684 | .781 | .474 |
| JointHand (ours) | .571 d | .675 d | .524 c | .713 d | .799 c | .424 c |
| H O Distance MAE (mm) | ||||
|---|---|---|---|---|
| Method | All | – | ||
| InterField-SF [ 11 ] | 9.47 | 7.92 | 7.62 | 10.51 |
| Our distance head | 11.49 | 3.70 | 4.12 | 16.21 |
| Method | VolIoU | MAE (Pa) | C-IoU |
| Image space, px | |||
| PressureVision | 0.413 | 4246 | 0.558 |
| Mesh space, MANO-778 | |||
| Failed blank control, loss † | 0.000 | 6306 | 0.000 |
| Ours (full model), BCE + proxy | 0.491 | 2840 | 0.597 |
| Contact head | MOW | HIC | RICH | Hi4D | Mean |
|---|---|---|---|---|---|
| A. Each vertex sees only its own image patch | |||||
| MLP, 1 hidden layer | .462 | .109 | .527 | .516 | .404 |
| MLP, 2 hidden layers | .464 | .107 | .527 | .515 | .403 |
| MLP, 5 hidden layers | .502 | .168 | .551 | .519 | .435 |
| Graph network on the mesh | .477 | .153 | .536 | .517 | .421 |
| B. All vertices share one summary of the image | |||||
| Contact head | Params | MOW | HIC | RICH | Hi4D |
|---|---|---|---|---|---|
| (a) Cross-attention, Skip protocol, best | |||||
| Full size | 25 M | .547 | .348 | .799 | .699 |
| Small | 1 M | .550 | .266 | .778 | .698 |
| Tiny | 60 k | .533 | .265 | .781 | .701 |
| spread | .017 | .083 | .021 | .003 | |
| (b) Per-vertex MLP, non-contact scored , | |||||
| Variant | ContactPose | ARCTIC |
|---|---|---|
| HACO [ 25 ] | .588 | .682 |
| 2D proj. + distance supervision | .653 | .687 |
| + distance-conditioned contact | .664 | .688 |
| + BCS weighting | .659 | .686 |
| Full: 3 trunks + proximity injection | .673 | .713 |
| Method | Params | FPS | Latency (ms) |
|---|---|---|---|
| ViT-H backbone only | M | 43.5 | |
| WiLoR (recon. only) | M | 31.8 | |
| HACO (contact only) | M | 30.0 | |
| WiLoR HACO cascade | B | 15.4 | |
| DenseHap (ours) | M | 26.1 |