It's Time to Get It Right: Improving Analog Clock Reading and Clock-Hand Spatial Reasoning in Vision-Language Models
Organizations: Incheon National University, Incheon, Republic of Korea · McGill University, Montreal, Canada
Abstract
Advances in vision-language models (VLMs) have achieved remarkable success on complex multimodal reasoning tasks, leading to the assumption that they should also excel at reading analog clocks. However, contrary to this expectation, our study reveals that reading analog clocks in real-world environments remains a significant challenge for state-of-the-art VLMs. Existing analog clock datasets are largely synthetic or planar with limited stylistic diversity and minimal background context, failing to capture the visual variability of real-world scenes. As a result, VLMs trained on such data exhibit weak spatiotemporal reasoning, frequently confusing the hour and minute hands and struggling under common visual conditions such as occlusion, lighting variation, and cluttered backgrounds. To address this issue, we introduce TickTockVQA, a human-annotated dataset containing analog clocks in diverse real-world scenarios. TickTockVQA provides explicit hour and minute annotations, and includes an AM/PM tag when it is inferable from the visual context. Furthermore, we propose Swap-DPO, a direct preference optimization-based fine-tuning framework to align model reasoning toward accurate time interpretation. Experimental results demonstrate that our approach substantially enhances clock reading accuracy and robustness under real-world conditions, establishing a foundation for future research on spatiotemporal reasoning and visual understanding in VLMs.
Figures & tables
| Model | Hour Acc | Min. Acc | Full Time Acc | MAE |
|---|---|---|---|---|
| SpatialVLM-3B [ 4 ] | 12.51 | 6.44 | 1.05 | 161.68 |
| Llama-3.2-11B [ 11 ] | 11.51 | 8.58 | 1.43 | 156.96 |
| Gemma3-12B [ 37 ] | 13.00 | 10.62 | 2.12 | 156.49 |
| InternVL3-8B [ 43 ] | 13.59 | 9.08 | 2.20 | 159.92 |
| Qwen2.5-VL-7B [ 2 ] | 17.65 | 22.44 | 6.04 | 148.62 |
| It’s About Time [ 39 ] | 28.95 | 25.00 | 18.54 | 135.15 |
| Clock Type | Environment | Transformation | Design (multi-label) | Total | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Indoor | Outdoor | Unknown | Normal | Flipped | Partial | Arabic | Roman | No numerals | ||
| Wall clocks | 2107 | 1622 | 317 | 3887 | 10 | 149 | 1953 | 1465 | 671 | 4046 |
| Tower clocks | 3 | 1905 | 5 | 1907 | 2 | 4 | 112 | 925 | 881 | 1913 |
| Wristwatches | 495 | 214 | 529 | 1214 | 1 | 23 | 795 | 95 | 363 | 1238 |
| Post clocks | 62 | 931 | 6 | 992 | 1 | 6 | 321 | 512 | 171 | 999 |
| Alarm/Desk clocks | 1235 | 53 | 213 | 1398 | - | 103 | 998 | 282 | 241 | 1501 |
| Model and Training Stages | Hour Acc | Minute Acc | Full Time Acc | MAE (hour) | MAE (minute) | MAE (total) | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| B | S | B | S | B | S | B | S | B | S | B | S | |
| Gemma3-12B [ 37 ] | 13.00 | 20.75 | 10.62 | 19.36 | 2.12 | 3.05 | 2.61 | 2.59 | 14.43 | 14.32 | 156.49 | 155.10 |
| w/ TickTockVQA | 46.37 | 55.04 | 54.39 | 65.68 | 34.21 | 37.11 | 1.35 | 1.27 | 6.68 | 6.34 | 81.66 | 77.26 |
| w/ Swap-DPO | 46.67 | 56.01 | 57.54 | 67.64 | 35.32 | 37.89 | 1.36 | 1.29 | 6.16 | 5.85 | 81.86 | 77.97 |
| Qwen2.5-VL-7B [ 2 ] | 17.65 | 25.26 | 22.44 | 32.14 | 6.04 | 7.26 | 2.47 | 2.44 | 11.96 | 11.81 | 148.62 | 146.76 |
| w/ SynClock | 28.11 | 37.51 | 35.68 | 47.17 | 16.12 | 18.28 | 2.15 | 2.09 | 9.60 | 9.35 | 129.51 | 126.34 |
| Dataset Scale | Hour Acc | Minute Acc | Full Time Acc | MAE |
|---|---|---|---|---|
| SynClock 12k | 25.93 | 31.60 | 7.07 | 144.05 |
| SynClock 50k | 30.19 | 39.74 | 10.58 | 136.65 |
| SynClock 100k | 36.35 | 45.67 | 17.56 | 131.45 |
| SynClock 1M | 37.51 | 47.17 | 18.28 | 126.34 |
Appendix figures & tables11 assets
Supplementary material from the paper’s appendix.
Appendix
| Source | Images | Split |
|---|---|---|
| Test Sources | ||
| COCO | 2,063 | Test |
| Open Images (OID) | 1,940 | Test |
| Clock Movies | 1,244 | Test |
| Training Sources | ||
| Visual Genome | 1,246 | Train |
| SFT | Random-DPO | Swap-DPO | |||||||
| Model | B | S | B | S | B | S | |||
| Qwen2.5-VL-7B | 20.3 | 22.8 | +2.42 | 20.6 | 23.4 | +2.75 | 23.1 | 25.1 | +2.02 |
| Gemma3-12B | 34.2 | 37.1 | +2.90 | 35.0 | 38.0 | +3.00 | 35.3 | 37.9 | +2.57 |
| Llama-3.2-11B | 45.8 | 48.1 | +2.32 | 45.6 | 47.7 | +2.06 | 46.2 | 48.5 | +2.26 |
| Average across models: | |||||||||
| Mean | 33.4 | 36.0 | +2.55 | 33.7 | 36.4 | +2.60 | 34.9 | 37.2 | +2.28 |
| Configuration | Qwen2.5-VL-7B | Llama-3.2-11B | Gemma3-12B | Notes |
| DPO-Specific Parameters | ||||
| Loss function | sigmoid | sigmoid | sigmoid | Standard DPO loss |
| (temperature) | 0.3 | 0.3 | 0.3 | Controls preference strength |
| Precompute ref. logprobs | false | false | false | Compute on-the-fly |
| LoRA Configuration | ||||
| LoRA enabled | ✗ | ✓ | ✓ | Qwen uses full fine-tuning |
| Parameter | Value |
|---|---|
| SFT Checkpoint Selection | |
| Qwen2.5-VL-7B | checkpoint-145 (epoch 5) |
| Llama-3.2-11B | checkpoint-174 (epoch 6) |
| Gemma3-12B | checkpoint-203 (epoch 7) |
| SFT Accuracy at Selected Checkpoint | |
| Qwen2.5-VL-7B | 20.3% Full Time Acc |
| Prompt ID | Full Prompt Text |
|---|---|
| Prompt A | Identify the single most prominent analog clock in the image (ignore digital displays). If multiple clocks are visible, choose the largest clearly visible face. Read hour = shorter thicker hand and minute = longer thinner hand ; ignore any seconds hand. If a hand lies between marks, use the lower hour and the nearest minute. Output only HH:MM (12-hour, leading zero, no AM/PM). If no analog clock is visible, output NO CLOCK. |
| Prompt B | Find the primary analog clock (exclude digital). Select the largest clearly visible face when multiple are present. Hour = shorter thicker hand ; minute = longer thinner hand ; ignore seconds. If a hand is between ticks, choose the lower hour and nearest minute. Answer strictly as HH:MM (12-hour, leading zero). If no analog clock is found, answer NO CLOCK. |
| Prompt C | Locate the most visible analog clock and ignore any digital displays. If several clocks exist, pick the biggest clear dial. Use the short thick hand for hours and the long thin hand for minutes; ignore seconds. Between ticks: take the lower hour and nearest minute. Return only HH:MM (12-hour, leading zero). If none is present, return NO CLOCK. |
| Common Core Instructions (present in all prompts): | |
| 1. Select the most prominent analog clock (ignore digital displays) | |
| 2. Hour hand = short/thick; Minute hand = long/thin (ignore seconds) | |
| Inference Prompt |
| Find the most prominent analog clock in the image. The hour hand is the short, thick one, and the minute hand is the long, thin one. If a hand is between marks, choose the lower hour and the nearest minute. Your answer must be only in HH:MM format (e.g., 08:05). |
| Prompt Type | Qwen | Llama | Gemma |
|---|---|---|---|
| Training Prompt A | 92 | 91 | 92 |
| Training Prompt B | 75 | 74 | 76 |
| Training Prompt C | 75 | 74 | 75 |
| Inference Prompt | 68 | 66 | 69 |
Visual Spatial Reasoning
Visual spatial reasoning studies how AI systems infer geometry, object relations, viewpoints, and physical change from images and video.
See all 251 papers