cxmind-chest-xray-eval
CX-Mind: A Pioneering Multimodal Large Language Model for Interleaved Reasoning in Chest X-ray via Curriculum-Guided Reinforcement Learning — Li et al. (2025) (arXiv:2508.03733, 2025)
What this evaluates
Evaluates multimodal large language models on chest X-ray diagnosis across visual understanding, text generation, spatiotemporal alignment, and foundational medical language capabilities. It probes the model's ability to interpret radiological images, generate clinical reports, localize anomalies, and reason over medical text.
Datasets
- MIMIC-CXR & CheXpert — total ?; splits: train (-1), test (2000)
- OpenI — total ?; splits: test (500)
- Language Datasets (CHIP-CDN, CMeEE, IMCS-V2-MRG, DDx-basic, MedSafety, MedHG, Med-Exam) — total ?; splits: train (-1), test (-1)
- MS-CXR, RSNA, CXR-AL14 — total ?; splits: test (-1)
Metrics
Accuracy (Acc) (primary) — range: [0, 1]
- Proportion of correct predictions: sum(pred == gold) / total samples.
Jaccard Index — range: [0, 1]
- Intersection over union of predicted and gold sets: |A ∩ B| / |A ∪ B|. A threshold of >0.5 is applied for task success.
BLEU — range: [0, 1]
- Standard corpus-level n-gram precision with brevity penalty for text generation.
ROUGE-1/2/L — range: [0, 1]
- Recall-based overlap of unigrams, bigrams, and longest common subsequences between generated and reference text.
BERTScore — range: [0, 1]
- Cosine similarity between contextual embeddings of generated and reference tokens, averaged across the sequence.
Intersection over Union (IoU) — range: [0, 1]
- Area of overlap between predicted and ground-truth bounding boxes divided by their union area. A threshold of >0.5 is used.
Input / output format
Input: Chest X-ray image(s) paired with a text prompt or question (e.g., disease identification, report generation, view classification, or medical QA).
Output: Text response containing disease labels, a list of identified conditions, a full radiology report, or bounding box coordinates/localization ranges.
Scoring recipe
def compute_metrics(predictions, golds):
acc = sum(1 for p, g in zip(predictions, golds) if p == g) / len(golds)
jaccard = [len(set(p) & set(g)) / len(set(p) | set(g)) for p, g in zip(predictions, golds)]
iou = [compute_bbox_iou(p, g) for p, g in zip(predictions, golds)]
bleu = nltk.bleu_score.corpus_bleu([[g] for g in golds], predictions)
rouge = nltk.rouge_score.corpus_rouge(golds, predictions)
bertscore = bert_score.score(predictions, golds)
return {'acc': acc, 'jaccard': jaccard, 'iou': iou, 'bleu': bleu, 'rouge': rouge, 'bertscore': bertscore}
Common pitfalls
- Open-ended disease identification requires post-processing with an LLM (ChatGPT-4o) to extract standardized answers before scoring.
- Jaccard and IoU metrics use a strict threshold (>0.5) to determine task success or filter results.
- Out-of-domain evaluation uses a separate, smaller test set (OpenI) with different disease category coverage than in-domain data.
Evidence (verbatim from paper)
For close-ended questions, accuracy (Acc) was used as the primary metric. For open-ended questions, disease identification tasks were assessed using the Jaccard index and accuracy, with a threshold of Jaccard $>0.5$. For report generation tasks, we adopted standard natural language generation metrics, including BLEU, ROUGE-1, ROUGE-2, and ROUGE-L. Additionally, BERTScore was utilized to evaluate semantic similarity.
Citation
@misc{li2025cxmind,
title={CX-Mind: A Pioneering Multimodal Large Language Model for Interleaved Reasoning in Chest X-ray via Curriculum-Guided Reinforcement Learning},
author={Li et al. (2025)},
year={2025},
note={arXiv:2508.03733}
}
1---2name: cxmind-chest-xray-eval3description: Evaluates multimodal large language models on chest X-ray diagnosis across visual understanding, text generation, spatiotemporal alignment, and foundational medical language capabilities. It probes the model's ability to interpret radiological images, generate clinical reports, localize anomalies, and reason over medical text. Use when the user wants to benchmark on MIMIC-CXR & CheXpert, OpenI, Language Datasets (CHIP-CDN, CMeEE, IMCS-V2-MRG, DDx-basic, MedSafety, MedHG, Med-Exam), MS-CXR, RSNA, CXR-AL14, or asks about evaluating this task. Reports Accuracy (Acc).4---56# cxmind-chest-xray-eval78> CX-Mind: A Pioneering Multimodal Large Language Model for Interleaved Reasoning in Chest X-ray via Curriculum-Guided Reinforcement Learning — Li et al. (2025) (arXiv:2508.03733, 2025)910## What this evaluates1112Evaluates multimodal large language models on chest X-ray diagnosis across visual understanding, text generation, spatiotemporal alignment, and foundational medical language capabilities. It probes the model's ability to interpret radiological images, generate clinical reports, localize anomalies, and reason over medical text.1314## Datasets1516- **MIMIC-CXR & CheXpert** — total ?; splits: train (-1), test (2000)17- **OpenI** — total ?; splits: test (500)18- **Language Datasets (CHIP-CDN, CMeEE, IMCS-V2-MRG, DDx-basic, MedSafety, MedHG, Med-Exam)** — total ?; splits: train (-1), test (-1)19- **MS-CXR, RSNA, CXR-AL14** — total ?; splits: test (-1)2021## Metrics2223- `Accuracy (Acc)` **(primary)** — range: [0, 1]24 - Proportion of correct predictions: sum(pred == gold) / total samples.25- `Jaccard Index` — range: [0, 1]26 - Intersection over union of predicted and gold sets: |A ∩ B| / |A ∪ B|. A threshold of >0.5 is applied for task success.27- `BLEU` — range: [0, 1]28 - Standard corpus-level n-gram precision with brevity penalty for text generation.29- `ROUGE-1/2/L` — range: [0, 1]30 - Recall-based overlap of unigrams, bigrams, and longest common subsequences between generated and reference text.31- `BERTScore` — range: [0, 1]32 - Cosine similarity between contextual embeddings of generated and reference tokens, averaged across the sequence.33- `Intersection over Union (IoU)` — range: [0, 1]34 - Area of overlap between predicted and ground-truth bounding boxes divided by their union area. A threshold of >0.5 is used.3536## Input / output format3738**Input**: Chest X-ray image(s) paired with a text prompt or question (e.g., disease identification, report generation, view classification, or medical QA).3940**Output**: Text response containing disease labels, a list of identified conditions, a full radiology report, or bounding box coordinates/localization ranges.4142## Scoring recipe4344```python45def compute_metrics(predictions, golds):46 acc = sum(1 for p, g in zip(predictions, golds) if p == g) / len(golds)47 jaccard = [len(set(p) & set(g)) / len(set(p) | set(g)) for p, g in zip(predictions, golds)]48 iou = [compute_bbox_iou(p, g) for p, g in zip(predictions, golds)]49 bleu = nltk.bleu_score.corpus_bleu([[g] for g in golds], predictions)50 rouge = nltk.rouge_score.corpus_rouge(golds, predictions)51 bertscore = bert_score.score(predictions, golds)52 return {'acc': acc, 'jaccard': jaccard, 'iou': iou, 'bleu': bleu, 'rouge': rouge, 'bertscore': bertscore}53```5455## Common pitfalls5657- Open-ended disease identification requires post-processing with an LLM (ChatGPT-4o) to extract standardized answers before scoring.58- Jaccard and IoU metrics use a strict threshold (>0.5) to determine task success or filter results.59- Out-of-domain evaluation uses a separate, smaller test set (OpenI) with different disease category coverage than in-domain data.6061## Evidence (verbatim from paper)6263> For close-ended questions, accuracy (Acc) was used as the primary metric. For open-ended questions, disease identification tasks were assessed using the Jaccard index and accuracy, with a threshold of Jaccard $>0.5$. For report generation tasks, we adopted standard natural language generation metrics, including BLEU, ROUGE-1, ROUGE-2, and ROUGE-L. Additionally, BERTScore was utilized to evaluate semantic similarity.6465## Citation6667```bibtex68@misc{li2025cxmind,69 title={CX-Mind: A Pioneering Multimodal Large Language Model for Interleaved Reasoning in Chest X-ray via Curriculum-Guided Reinforcement Learning},70 author={Li et al. (2025)},71 year={2025},72 note={arXiv:2508.03733}73}74```7576- arXiv: 2508.03733