Why VLMs Miss Small Objects, and When Zooming In Is Safe

why-vlms-miss-small-objects,-and-when-zooming-in-is-safe

Why VLMs Miss Small Objects, and When Zooming In Is Safe

[Submitted on 7 Oct 2026 (v1), last revised 30 Oct 2026 (this version, v3)]

View PDF HTML (experimental)

Abstract:Screenshots, documents, engineering drawings, shelves and maps hold many small objects of kinds that change from task to task, and vision-language models (VLMs) promise to find them from an instruction and an example. Yet they see each image through a fixed token budget and miss small objects, so every user, and every agent that calls a model, must choose whether to send an image whole, raise its resolution, split it, or zoom. We show that VLMs miss small objects for two reasons a caller can estimate before any call: an object gets too few visual tokens (S), and a call must search and report too much (L). Raising S by a factor a multiplies the tokens needed to see an image by a^2, while splitting at the same scale lowers L at a cost at most linear in the number of views. Under two monotonicity assumptions, splitting cannot lower expected recall if no view zooms out and views overlap by one object, and neither part can be dropped; every such split pays a minimum token cost, and a simple rule pays it up to an explicit factor. Better models need less S, but an image can be arbitrarily large while a call’s budget is fixed, so splitting does not become obsolete, for zoom agents either. In about 187,000 requests to 12 VLMs, up to GPT-6.1, Claude Opus 5.5 and Gemini 4, on controlled images 24 of 40 predicted orderings hold significantly and none is violated; splits that never zoom out raised recall on average over models wherever S was below 1.5, and splits that zoom out lowered it in 19 of 21 model and data settings. The rule raised recall significantly in five of ten settings, by up to 0.28 (from 0.62 to 0.90), and precision and F1 in six, at a token cost known before any call.

Submission history

From: Junzhe Shi [view email]
[v1] Wed, 7 Oct 2026 02:10:52 UTC (332 KB)
[v2] Mon, 19 Oct 2026 00:32:04 UTC (334 KB)
[v3] Fri, 30 Oct 2026 06:22:53 UTC (809 KB)