HandVQA: Diagnosing and Improving Fine-Grained Spatial Reasoning about Hands in Vision-Language Models
Organizations: UNIST · University of Aberdeen · University College London · Fogsphere (Redev.AI Ltd), UK
Abstract
Understanding the fine-grained articulation of human hands is critical in high-stakes settings such as robot-assisted surgery, chip manufacturing, and AR/VR-based human-AI interaction. Despite achieving near-human performance on general vision-language benchmarks, current vision-language models (VLMs) struggle with fine-grained spatial reasoning, especially in interpreting complex and articulated hand poses. We introduce HandVQA, a large-scale diagnostic benchmark designed to evaluate VLMs' understanding of detailed hand anatomy through visual question answering. Built upon high-quality 3D hand datasets (FreiHAND, InterHand2.6M, FPHA), our benchmark includes over 1.6M controlled multiple-choice questions that probe spatial relationships between hand joints, such as angles, distances, and relative positions. We evaluate several state-of-the-art VLMs (LLaVA, DeepSeek and Qwen-VL) in both base and fine-tuned settings, using lightweight fine-tuning via LoRA. Our findings reveal systematic limitations in current models, including hallucinated finger parts, incorrect geometric interpretations, and poor generalization. HandVQA not only exposes these critical reasoning gaps but provides a validated path to improvement. We demonstrate that the 3D-grounded spatial knowledge learned from our benchmark transfers in a zero-shot setting, significantly improving accuracy of model on novel downstream tasks like hand gesture recognition (+10.33%) and hand-object interaction (+2.63%).
Figures & tables
| Model | Tuned | Eval | Angle | Distance | ||
| Accuracy | MAE | Accuracy | MAE | |||
| Base model (no tuning) | ||||||
| DeepSeek Janus Pro 7B | – | InterHand2.6M | 34.10 | 0.883 | 45.55 | 0.657 |
| DeepSeek Janus Pro 7B | – | FreiHAND | 35.31 | 0.830 | 44.15 | 0.668 |
| DeepSeek Janus Pro 7B | – | FPHA | 26.46 | 0.991 | 39.02 | 0.819 |
| Finetuned Models | ||||||
| Model | Tuned | Eval | Rel. Pos. X | Rel. Pos. Y | Rel. Pos. Z |
| Accuracy | Accuracy | Accuracy | |||
| Base model (no tuning) | |||||
| DeepSeek Janus Pro 7B | – | InterHand2.6M | 50.41 | 52.46 | 51.16 |
| DeepSeek Janus Pro 7B | – | FreiHAND | 49.80 | 51.55 | 50.03 |
| DeepSeek Janus Pro 7B | – | FPHA | 43.02 | 52.64 | 61.73 |
| Finetuned Models | |||||
| Setup | Interaction Recognition | Gesture Recognition |
| LLaVA Mistral 7B [ 36 ] | - | 57.42 |
| Qwen 2.5 VL 7B [ 3 ] | 80.26 | 71.86 |
| LLaVA Mistral 7B finetuned | - | 69.58 |
| Qwen 2.5 VL 7B finetuned | 82.89 | 82.19 |
| Angle Pose Descriptors | Distance Pose Descriptors | Relative Position Pose Descriptors (XYZ) |
| Thumb-MCP | Thumb-MCP vs. Index-PIP | Thumb-MCP vs. Index-PIP |
| Index-PIP | Index-PIP vs. Middle-PIP | Index-PIP vs. Middle-PIP |
| Middle-PIP | Middle-PIP vs. Ring-PIP | Middle-PIP vs. Ring-PIP |
| Ring-PIP | Ring-PIP vs. Little-PIP | Ring-PIP vs. Little-PIP |
| Little-PIP | Thumb-Tip vs. Index-Tip | Thumb-Tip vs. Index-Tip |
| Thumb-IP | Index-Tip vs. Middle-Tip | Index-Tip vs. Middle-Tip |
| Pose Descriptors | Label frequency (Count) |
| Angle | bent slightly inward (130,993), bent inward (107,143), straight (74,007), bent completely inward (21,622) |
| Distance | spread wide from (222,429), spread from (109,353), close to (1,983) |
| Rel. Pos. (X) | at the left of (198,988), at the right of (133,109) |
| Rel. Pos. (Y) | above (215,725), below (112,984) |
| Rel. Pos. (Z) | in front of (177,216), behind (152,481) |
| Model | Tuned | Eval | Angle | Distance | ||
| Accuracy | MAE | Accuracy | MAE | |||
| Finetuned Models on Individual Datasets | ||||||
| LLaVA Mistral 7B | InterHand2.6M | InterHand2.6M | 74.35 | 0.263 | 90.79 | 0.094 |
| LLaVA Mistral 7B | FreiHAND | FreiHAND | 62.91 | 0.382 | 86.19 | 0.141 |
| LLaVA Mistral 7B | FPHA | FPHA | 68.37 | 0.401 | 83.99 | 0.161 |
| Finetuned Model on HandVQA | ||||||
| Model | Tuned | Eval | Rel. Pos. X | Rel. Pos. Y | Rel. Pos. Z |
| Accuracy | Accuracy | Accuracy | |||
| Finetuned Models on Individual Datasets | |||||
| LLaVA Mistral 7B | InterHand2.6M | InterHand2.6M | 97.14 | 98.77 | 96.82 |
| LLaVA Mistral 7B | FreiHAND | FreiHAND | 92.60 | 93.20 | 88.17 |
| LLaVA Mistral 7B | FPHA | FPHA | 93.81 | 92.80 | 90.25 |
| Finetuned Model on HandVQA | |||||
| Model | Tuned | Eval | Angle | Distance | ||
| Accuracy | MAE | Accuracy | MAE | |||
| Base model (no tuning) | ||||||
| DeepSeek Janus Pro 7B | – | InterHand2.6M | 34.10 | 0.883 | 45.55 | 0.657 |
| DeepSeek Janus Pro 7B | – | FPHA | 26.46 | 0.991 | 39.02 | 0.819 |
| Finetuned Models | ||||||
| DeepSeek Janus Pro 7B | FreiHAND | InterHand2.6M | 56.15 | 0.456 | 82.70 | 0.175 |
| Model | Tuned | Eval | Rel. Pos. X | Rel. Pos. Y | Rel. Pos. Z |
| Accuracy | Accuracy | Accuracy | |||
| Base model (no tuning) | |||||
| DeepSeek Janus Pro 7B | – | InterHand2.6M | 50.41 | 52.46 | 51.16 |
| DeepSeek Janus Pro 7B | – | FPHA | 43.02 | 52.64 | 61.73 |
| Finetuned Models | |||||
| DeepSeek Janus Pro 7B | FreiHAND | InterHand2.6M | 77.32 | 89.80 | 75.33 |
| Model | FreiHAND test | InterHand2.6M test | ||
| Angle | Distance | Angle | Distance | |
| Accuracy % (MAE) | Accuracy % (MAE) | Accuracy % (MAE) | Accuracy % (MAE) | |
| HaMeR | 59.53 (0.428) | 88.86 (0.113) | 78.82 (0.218) | 88.11 (0.119) |
| LLaVA Mistral 7B | 42.48 (0.678) | 13.18 (1.342) | 40.08 (0.739) | 16.20 (1.293) |
| LLaVA Mistral 7B finetuned | 64.35 (0.367) | 86.71 (0.136) | 72.26 (0.283) | 90.27 (0.099) |
| Difficulty | Angle | Distance | R. Pos.(X) | R. Pos.(Y) | R. Pos.(Z) |
| Accuracy % (MAE) | Accuracy % (MAE) | Accuracy % | Accuracy % | Accuracy % | |
| Easy | 75.92 (0.255) | 95.01 (0.08) | 97.20 | 96.19 | 98.11 |
| Hard | 55.1 (0.454) | 78.01 (0.183) | 82.11 | 81.72 | 78.92 |
| Models | Overall Accuracy |
| LLaVA Mistral 7B | 41.96% |
| DeepSeek Janus Pro 7B | 45.82% |
| Qwen 2.5 VL 7B | 41.97% |
| Humans | 80.94% |
| Base Label | Description 1 | Description 2 |
| one | A single index finger is extended, representing the number one. | The hand is held up with only the index finger pointing upwards. |
| two_up | The index and middle fingers are extended upwards (peace sign), representing two. | A “V” sign, often used for “two” or “peace”. |
| two_up_inverted | An inverted “V” sign, with the palm facing inward. | The gesture for “two” or “peace” but inverted. |
| three | Three fingers are extended to represent the number three. | The hand gesture indicates a quantity of three. |
| four | Four fingers are extended to show the number four. | The hand gesture indicates a quantity of four. |
| fist | The hand is closed tightly into a fist. | All fingers are curled inward with the thumb wrapped around them. |
VLM Reasoning
Vision-language model reasoning studies how multimodal systems use visual evidence and language to answer questions, plan, and explain.
See all 853 papers