Controlled ablation · frozen segmenter · training-free · n=50/domain

Does MLLM localization make a frozen segmenter work on unseen medical images?

A grounding MLLM (Claude, in-session) emits a box — then points, then a judged correction — and a frozen SAM-HQ / MedSAM decodes the mask. No fine-tuning, no per-domain parameters, one identical pipeline across twelve datasets and six modalities. The answer is yes, decisively — localization is the lever — with one instructive failure that maps its limit.

+0.04 → +0.62L1−L0 Dice gain from MLLM localization
(12/12 domains, mostly p<0.01)
11 / 12domains where the MLLM box beats a
zero-shot trained detector (GroundingDINO)
0.00 → 0.75Spleen: the MLLM mislocalizes, but a frozen
correspondence localizer recovers it (> UniverSeg)

The localization ladder

Each column is a way to produce the SAM prompt; the frozen segmenter (SAM-HQ) is held fixed. Reading left→right is increasing localization quality. Colour is Dice (red→green); the outlined cell is the best deployable rung per domain. L1/L2 are the MLLM box / box+points; L2+sr adds a GT-free self-reprompt box-tighten; L3 is the agentic judge loop (≈L2, see below); oracle is the GT box — the frozen-decoder ceiling.

L0 · noneLdet · DINOL1 · boxL2 · +pointsL2+sr · bestL3 · +judgerouter★ · 3-wayoracle · GT box
ISICDermoscopy0.4300.8020.8210.8370.8360.8370.8610.886
KvasirEndoscopy0.3020.4080.6320.5920.6790.6220.8320.905
ColonDBEndoscopy·OOD0.1830.1840.6500.7020.7450.7020.8770.922
ETISEndoscopy·OOD0.0730.1220.6930.7500.7080.7500.6930.940
CXRChest X-ray0.4240.4240.8550.9080.8680.9080.9370.841
MontgomeryX-ray·OOD0.4290.4710.8660.8990.8990.9120.9610.914
FetalHeadUltrasound0.4670.6380.8920.9210.9230.9210.9380.932
ProstateMRI0.0740.1920.5660.6530.6110.6530.6800.892
HeartMRI·LA0.0250.0270.2040.2010.1900.2090.3920.829
SpleenCT0.0400.0730.0770.0330.1210.0330.7530.939
LiverCT0.1850.2740.3800.4680.3210.4820.8190.871
PancreasCT0.0180.0420.2420.2590.2360.2590.2420.775
meann=120.2210.3050.5730.6020.5950.6070.7490.887

SAM-HQ, zero-tuning config, no target labels. n=50/domain (domain-max where smaller: ColonDB/ETIS 40, Prostate 30, Spleen 28, Heart 24; the L2 & L3 columns stay at n=25). Endoscopy·OOD / X-ray·OOD = cross-dataset generalization sets. L2+sr (outlined) — a GT-free self-reprompt — is the best rung on the colour/boundary-rich domains (Kvasir 0.59→0.64, ColonDB 0.70→0.75), but on the grayscale CT/MRI organ stacks at the bottom (Heart, Spleen, Liver, Pancreas) points & self-reprompt don't help — the plain box (L1) is best and the rows stay red because localization, not the decoder, is the wall (their oracles are 0.77–0.94). The router★ column is the one few-shot rung (~10 labels/domain): it routes per domain between the MLLM box and the op_sam correspondence localizer, recovering the grayscale organs (Spleen, Liver) and beating few-shot UniverSeg on average (see below). Two priors that don't help: the L3 judge loop (≈L2, below) and a coarse polygon mask prior fed to SAM (L2m: −0.14 on CXR — a mask prior helps only when it's SAM's own refined mask, i.e. L2+sr).

Why it works: localization quality predicts Dice

The ladder shows localization helps; this shows it is the cause. For every image, how well does the MLLM box overlap the GT box — and does that overlap predict the frozen segmenter's Dice? Across all 512 images, box-IoU explains ~75% of Dice variance.

Scatter of MLLM box-IoU vs frozen-SAM Dice across 512 images; strong positive trend, Spearman 0.81.
ρ = 0.81pooled Spearman(box-IoU, Dice), n=512
domainbox-IoUloc>.5ρ within
ISIC0.77794%+0.49
Kvasir0.44546%+0.76
ColonDB0.50452%+0.66
ETIS0.43945%+0.73
CXR0.832100%+0.05
Montgomery0.841100%+0.21
FetalHead0.80298%+0.57
Prostate0.39323%+0.91
Heart0.1170%+0.87
Spleen0.0524%+0.81
Liver0.31122%+0.88
Pancreas0.24310%+0.57

Spleen box-IoU 0.012 — the box lands on the liver, so Dice is 0. Kvasir / ColonDB / Prostate have low localized-rates and high within-domain ρ (Prostate +0.91): exactly where localization varies, it drives Dice. CXR / Montgomery sit at the localization ceiling (IoU>0.8), so within-domain ρ flattens — nothing left to gain there.

What each rung buys

Paired per-image deltas, Wilcoxon signed-rank (*** p<.001 · ** p<.01 · * p<.05 · ns), win/loss over 25 images.

L1 − L0 (does MLLM localization help vs none)

  • ETIS+0.620***w33/l7
  • Prostate+0.492***w26/l4
  • ColonDB+0.467***w33/l7
  • Montgomery+0.437***w49/l1
  • CXR+0.431***w50/l0
  • FetalHead+0.424***w48/l2
  • ISIC+0.392***w45/l5
  • Kvasir+0.330***w37/l13
  • Pancreas+0.224***w40/l10
  • Liver+0.195***w31/l19
  • Heart+0.178**w14/l10
  • Spleen+0.037**w3/l25

L1 − Ldet (MLLM box vs GroundingDINO zero-shot)

  • ETIS+0.571***w30/l10
  • ColonDB+0.467***w33/l7
  • CXR+0.431***w50/l0
  • Montgomery+0.395***w49/l1
  • Prostate+0.374***w26/l4
  • FetalHead+0.254***w42/l8
  • Kvasir+0.224**w27/l23
  • Pancreas+0.200***w38/l12
  • Heart+0.176**w14/l10
  • Liver+0.105*w31/l17
  • ISIC+0.019nsw22/l28
  • Spleen+0.003**w3/l25

L2 − L1 (positive/negative points vs box only)

  • ColonDB+0.137*w15/l8
  • Montgomery+0.061***w19/l6
  • Prostate+0.052**w16/l8
  • FetalHead+0.049nsw14/l11
  • CXR+0.040***w21/l4
  • Kvasir+0.036nsw11/l12
  • Spleen+0.033nsw3/l0
  • ISIC+0.024nsw11/l14
  • ETIS+0.016**w17/l4
  • Heart−0.003nsw6/l10
  • Pancreas−0.025nsw13/l11
  • Liver−0.056nsw10/l14

Frozen backbone: SAM-HQ vs untrained MedSAM

Swapping the frozen decoder behind the same MLLM prompt. Both are training-free; SAM-HQ leads given a good box, MedSAM is competitive on ISIC/CXR. The oracle columns show each decoder's ceiling.

domainSAM-HQ · L2MedSAM · L2SAM-HQ · oracleMedSAM · oracle
ISIC0.8370.8520.8860.921
Kvasir0.5920.4890.9050.860
ColonDB0.7020.6000.9220.858
ETIS0.7500.6180.9400.897
CXR0.9080.8140.8410.907
Montgomery0.8990.8250.9140.852
FetalHead0.9210.8380.9320.899
Prostate0.6530.5070.8920.836
Heart0.2010.1690.8290.825
Spleen0.0330.0570.9390.921
Liver0.4680.4830.8710.873
Pancreas0.2590.2480.7750.721

Does agentic iteration help? No — perception is the ceiling

We pushed hard on the L3 idea (judge the mask, correct it, iterate) in four forms. All are ≤ +0.005 mean Dice over L2 — the loop is not the lever.

  • L3boundary judge + keep-best gate+0.005best; from Kvasir wrong-object catches
  • L3tgtuned judge + keep-best gate+0.002stricter prompt, still gated
  • L3ttuned judge, always-apply+0.000no gate — regressions cancel the gains
  • L3rverify → re-localize loop 0fired 0 relocations — perception-bound

The stricter judge did surface more real errors (Kvasir over-seg flags 4→10), but a gate is what makes corrections safe (always-apply cancels out), and where the boundary is hard to see the judge stays blind (Prostate/Spleen flag ~0). The verify→re-localize loop fired 0 relocations: on Spleen it can't perceive the liver error; on Kvasir the location is already right and the loss is boundary, not location.

Closing the gap: two complementary frozen localizers

Is the wall localization (fixable) or the task? Swap the MLLM box for op_sam (frozen DINOv2 dense-correspondence, 10 labeled supports, no gradient) → box → same frozen SAM. Result: op_sam and the MLLM box are complementary — op_sam wins 7/12, and the best-of-both column is an oracle (GT picks the localizer) that beats few-shot UniverSeg.

domainMLLM boxop_samUniverSegbest-of-bothbetter localizer
ISIC Dermoscopy0.8520.8610.8100.861op_sam
Kvasir Endoscopy0.6790.8320.5070.832op_sam
ColonDB Endoscopy·OOD0.7450.8640.6040.864op_sam
ETIS Endoscopy·OOD0.7080.1690.2420.708MLLM
CXR Chest X-ray0.8680.6490.9310.868MLLM
Montgomery X-ray·OOD0.8990.6680.9460.899MLLM
FetalHead Ultrasound0.9230.8690.7320.923MLLM
Prostate MRI0.6110.6800.7710.680op_sam
Heart MRI·LA0.2040.3230.6430.323op_sam
Spleen CT0.1210.7530.6920.753op_sam
Liver CT0.4830.8190.8260.819op_sam
Pancreas CT0.2480.1390.4780.248MLLM

op_sam breaks the organ wall — Spleen 0.00→0.75, Liver 0.52→0.85, both beating UniverSeg — proving those were MLLM grayscale-localization failures, not task difficulty. But it's no universal winner: it fails on bilateral lungs (CXR/Montgomery — one correspondence peak can't grab two lungs), subtle flat polyps (ETIS 0.23), and tiny Pancreas, where the semantic MLLM box wins. The per-image oracle over the two frozen localizers is 0.757 (> UniverSeg 0.682). Realizing it splits by budget: a GT-free per-image router (route on op_sam's validated prior_iou) reaches only 0.664 — both localizers are confidently wrong in their failure modes (prior_iou is −0.12 anti-correlated with "op_sam is better"), a routing-gate wall. But a few labels/domain fix it — and adding SegGPT as a third complementary method lifts the routed result to 0.760, beating every few-shot baseline (see the method below).

The method: a few-shot router over complementary no-gradient segmenters

The negatives above (iteration, mask priors) say what doesn't work, and the two-localizer study says the pieces are complementary; here is what banks it. Three no-gradient methods are each strong in a different regime — MLLM box→SAM (0 labels), op_sam correspondence (10 support labels), SegGPT in-context (10-support pool). A per-domain few-shot router picks among them by mean Dice on ~10 calibration labels (no gradient). To be fair we compare at matched label budget: UniverSeg & SegGPT are also few-shot in-context (N labeled supports), so the honest question is whether routing a few labels beats spending them on one method.

domainUniverSegSegGPTrouter★ (ours)
ISIC Dermoscopy0.8100.7120.861
Kvasir Endoscopy0.5070.6100.832
ColonDB Endoscopy·OOD0.6040.8770.877
ETIS Endoscopy·OOD0.2420.6160.693
CXR Chest X-ray0.9310.9370.937
Montgomery X-ray·OOD0.9460.9610.961
FetalHead Ultrasound0.7320.9380.938
Prostate MRI0.7710.6520.680
Heart MRI·LA0.6430.3920.392
Spleen CT0.6920.5520.753
Liver CT0.8260.6540.819
Pancreas CT0.4780.0920.242
mean0.6820.6660.749

Matched-budget fairness: at the SAME ~10-label budget, UniverSeg drops to 0.618 (N=10) from 0.682 (N=25), SegGPT is 0.666, op_sam 0.637. The 3-way router = 0.749 (per-image oracle 0.757) — beating every few-shot baseline even at matched budget, and its CI lower bound clears UniverSeg-N25. The three methods are genuinely complementary: SegGPT wins the lungs/fetal-head (Montgomery .96, CXR .93), op_sam the organs & clear polyps (Spleen .75, Liver .85, Kvasir .84), the MLLM box the subtle-flat ETIS / tiny Pancreas. Bold = best per domain. Honest caveats: the router is few-shot (~10 support + ~10 calibration labels ≈ 20), not label-free; and a purely GT-free per-image router does not realize this (routing-gate wall) — the few labels are what bank it.

From diagnosis to recovery: two GT-free routes

The failure section shows self-correction can't fix a confidently-wrong localization because the verifier shares the localizer's blind spot. That implies a principle — the localizer must not judge itself — and a question: can we detect & recover confidently-wrong localization without ground truth? Two routes, both obeying the principle, partially close it.

1 · An independent multi-candidate audit

Decode K=4 candidates (MLLM box, padded box, op_sam, SegGPT), then select with signals independent of the MLLM — anatomical area/centroid prior, SAM predicted-IoU/stability, cross-transform (h-flip) consistency, CLIP region–text similarity. Leave-one-domain-out, n=512.

selectormean Dice
always-op · best single method0.643
single-signal gate (prior_iou)0.664
LODO over 8 existing signals · the wall0.669
independent audit · K=4 (localizer can't judge itself)0.732
  + MLLM-self signals (ablation)0.730
best-of-4 oracle0.811

The independent audit clears the 0.669 gate wall to 0.732 (~45% of the gap to the best-of-4 oracle 0.811); adding the MLLM's own signals does not help (0.730) — independence is the lever. It flags bad masks at AUROC 0.911, and on the 126 confidently-wrong MLLM boxes it recovers 52/126 (41%) to Dice≥0.5 (mean 0.053→0.405); abstaining on the least-confident half raises the kept set to 0.90.

Neither fully solves the failure (audit recovers 41%; the adapter trails on precise small targets) — but both are GT-free and neither lets the localizer judge itself, turning the paper's negative finding into a measurable recovery agenda.

For the paper

The premise holds

Better MLLM localization → large, significant Dice gains on a frozen segmenter across six OOD modalities, no training. Localization — not the decoder — is the binding constraint (oracle−L0 = +0.42…+0.90 everywhere).

MLLM > trained detector

A grounding MLLM out-localizes GroundingDINO on 11/12 datasets because it reasons about modality and anatomy zero-shot, where an open-vocab detector trained on natural images does not transfer.

Iteration isn't the lever; the decoder is

Four agentic-loop variants (judge, tuned-judge, always-apply, verify→re-localize) all land ≤ +0.005 over L2 — perception-bound. But a sharper frozen decoder (SAM-HQ) + GT-free self-reprompt beats MedSAM's L2 by +0.089 on the same box, no iteration.

The failure is the finding

Spleen CT maps the limit precisely: when target identity hinges on a convention the image doesn't reveal, MLLM localization fails and self-correction can't recover it. A clean "when/why it fails" result.