unified-med-vlm-benchmark
MedXIAOHE: A Comprehensive Recipe for Building Medical MLLMs — Shi et al. (2026) (arXiv:2602.12705, 2026)
What this evaluates
Evaluates medical vision-language models across a broad capability surface including visual diagnosis, medical imaging, clinical reasoning, text-based QA, report generation, and instruction following. It emphasizes protocol reproducibility, deployment relevance (safety, consistency, faithfulness), and robustness to real-world clinical imagery and OCR conditions.
Datasets
- Public Med-VLM Benchmarks (30+ subsets) — total ?; splits: test (-1)
- Inhouse VQA — total 100000; splits: test (-1)
- Inhouse OCR — total ?; splits: test (-1)
- Inhouse Caption — total ?; splits: test (-1)
Metrics
MCQ/Short QA Accuracy (primary) — range: [0, 1]
- Binary correctness score (1.0 if deterministic option extraction or normalized numeric prediction matches gold, 0.0 otherwise).
rubric-style structured judging — range: other
- Structured evaluation scoring clinical correctness, completeness, and absence of unsupported claims for open-form tasks (dialogue, reports, captions).
Key-point Coverage Score — range: other
- Reward-and-penalty metric where correctly covered key points receive positive credit and incorrect statements are penalized.
Input / output format
Input: Multimodal inputs (clinical images, medical documents, OCR-distorted reports) paired with standardized capability-aware prompt templates. Instructions specify task type (MCQ, short QA, long QA/dialogue, report/caption, OCR, agentic search) and include auxiliary context where applicable.
Output: Deterministic option extraction for closed-form tasks; structured text outputs for open-form tasks (dialogue, reports, captions) constrained by prompt templates. For Inhouse Caption, outputs are evaluated against curated key points.
Scoring recipe
def score_instance(task_type, pred, gold):
if task_type in ['MCQ', 'short_QA']:
return 1.0 if normalize(pred) == gold else 0.0
elif task_type == 'caption':
covered = count_covered_key_points(pred, gold['key_points'])
penalized = count_unsupported_claims(pred)
return covered - penalized
else:
return rubric_judge(pred, gold, ['clinical_correctness', 'completeness', 'no_unsupported_claims'])
def evaluate_suite(predictions, golds, task_types):
scores = [score_instance(t, p, g) for t, p, g in zip(task_types, predictions, golds)]
return macro_average_by_category(scores)
Common pitfalls
- Cross-paper comparisons are brittle due to protocol-level mismatches (different benchmark subsets, prompting styles, scoring scripts, and data hygiene assumptions).
- Open-form task scoring is highly sensitive to protocol choices, particularly distinguishing omissions from incorrect additions in report generation.
- Real-world OCR and VQA benchmarks require handling of perspective distortion, blur, glare, and partial occlusion, which standard clean datasets do not capture.
Evidence (verbatim from paper)
Across benchmarks, we normalize evaluation with a consistent harness: Task normalization: each dataset is mapped into a small set of task families (MCQ, short QA, long QA/dialogue, report/caption generation, OCR, agentic search/decision). Prompt templates: we use capability-aware templates that standardize instruction phrasing, answer format constraints, and the placement of auxiliary context. Answer parsing: for closed-form tasks (MCQ/short QA), we enforce deterministic parsing (option extraction, numeric normalization, whitespace/punctuation normalization). For open-form tasks (dialogue/report/caption), we score with task-appropriate metrics and/or rubric-style structured judging to distinguish clinical correctness, completeness, and unsupported claims.
Citation
@misc{shi2026medxiaohe,
title={MedXIAOHE: A Comprehensive Recipe for Building Medical MLLMs},
author={Shi et al. (2026)},
year={2026},
note={arXiv:2602.12705}
}
1---2name: unified-med-vlm-benchmark3description: Evaluates medical vision-language models across a broad capability surface including visual diagnosis, medical imaging, clinical reasoning, text-based QA, report generation, and instruction following. It emphasizes protocol reproducibility, deployment relevance (safety, consistency, faithfulness), and robustness to real-world clinical imagery and OCR conditions. Use when the user wants to benchmark on Public Med-VLM Benchmarks (30+ subsets), Inhouse VQA, Inhouse OCR, Inhouse Caption, or asks about evaluating this task. Reports MCQ/Short QA Accuracy.4---56# unified-med-vlm-benchmark78> MedXIAOHE: A Comprehensive Recipe for Building Medical MLLMs — Shi et al. (2026) (arXiv:2602.12705, 2026)910## What this evaluates1112Evaluates medical vision-language models across a broad capability surface including visual diagnosis, medical imaging, clinical reasoning, text-based QA, report generation, and instruction following. It emphasizes protocol reproducibility, deployment relevance (safety, consistency, faithfulness), and robustness to real-world clinical imagery and OCR conditions.1314## Datasets1516- **Public Med-VLM Benchmarks (30+ subsets)** — total ?; splits: test (-1)17- **Inhouse VQA** — total 100000; splits: test (-1)18- **Inhouse OCR** — total ?; splits: test (-1)19- **Inhouse Caption** — total ?; splits: test (-1)2021## Metrics2223- `MCQ/Short QA Accuracy` **(primary)** — range: [0, 1]24 - Binary correctness score (1.0 if deterministic option extraction or normalized numeric prediction matches gold, 0.0 otherwise).25- `rubric-style structured judging` — range: other26 - Structured evaluation scoring clinical correctness, completeness, and absence of unsupported claims for open-form tasks (dialogue, reports, captions).27- `Key-point Coverage Score` — range: other28 - Reward-and-penalty metric where correctly covered key points receive positive credit and incorrect statements are penalized.2930## Input / output format3132**Input**: Multimodal inputs (clinical images, medical documents, OCR-distorted reports) paired with standardized capability-aware prompt templates. Instructions specify task type (MCQ, short QA, long QA/dialogue, report/caption, OCR, agentic search) and include auxiliary context where applicable.3334**Output**: Deterministic option extraction for closed-form tasks; structured text outputs for open-form tasks (dialogue, reports, captions) constrained by prompt templates. For Inhouse Caption, outputs are evaluated against curated key points.3536## Scoring recipe3738```python39def score_instance(task_type, pred, gold):40 if task_type in ['MCQ', 'short_QA']:41 return 1.0 if normalize(pred) == gold else 0.042 elif task_type == 'caption':43 covered = count_covered_key_points(pred, gold['key_points'])44 penalized = count_unsupported_claims(pred)45 return covered - penalized46 else:47 return rubric_judge(pred, gold, ['clinical_correctness', 'completeness', 'no_unsupported_claims'])4849def evaluate_suite(predictions, golds, task_types):50 scores = [score_instance(t, p, g) for t, p, g in zip(task_types, predictions, golds)]51 return macro_average_by_category(scores)52```5354## Common pitfalls5556- Cross-paper comparisons are brittle due to protocol-level mismatches (different benchmark subsets, prompting styles, scoring scripts, and data hygiene assumptions).57- Open-form task scoring is highly sensitive to protocol choices, particularly distinguishing omissions from incorrect additions in report generation.58- Real-world OCR and VQA benchmarks require handling of perspective distortion, blur, glare, and partial occlusion, which standard clean datasets do not capture.5960## Evidence (verbatim from paper)6162> Across benchmarks, we normalize evaluation with a consistent harness: Task normalization: each dataset is mapped into a small set of task families (MCQ, short QA, long QA/dialogue, report/caption generation, OCR, agentic search/decision). Prompt templates: we use capability-aware templates that standardize instruction phrasing, answer format constraints, and the placement of auxiliary context. Answer parsing: for closed-form tasks (MCQ/short QA), we enforce deterministic parsing (option extraction, numeric normalization, whitespace/punctuation normalization). For open-form tasks (dialogue/report/caption), we score with task-appropriate metrics and/or rubric-style structured judging to distinguish clinical correctness, completeness, and unsupported claims.6364## Citation6566```bibtex67@misc{shi2026medxiaohe,68 title={MedXIAOHE: A Comprehensive Recipe for Building Medical MLLMs},69 author={Shi et al. (2026)},70 year={2026},71 note={arXiv:2602.12705}72}73```7475- arXiv: 2602.12705