VQA-RAD — 放射学视觉问答基准 AI-Ready Wikipedia | 千方病案医数集

315 张放射影像与 3,515 个临床医生问答对

来源 U.S. National Library of Medicine(NIH)Lister Hill National Center for Biomedical Communications url: https://osf.io/89kps/发布时间: 2026-09-08最后更新: 2026-09-08 阅读 4

信息速览

数据集名称VQA-RAD — 放射学视觉问答基准 AI-Ready Wikipedia | 千方病案医数集
数据类型315 张放射影像,3,515 个问答对,11 类问题类型,CC0 1.0 开放获取,约 40 MB 归档
规模315 例教学病例(每图对应唯一患者)
接入方式U.S. National Library of Medicine(NIH)Lister Hill National Center for Biomedical Communications url: https://osf.io/89kps/
AI 就绪度

数据集封面

VQA-RAD — 放射学视觉问答基准 AI-Ready Wikipedia

INFOBOX

字段 内容
数据集名称 VQA-RAD(放射学视觉问答数据集)
英文全称 Visual Question Answering - Radiology(A dataset of clinically generated visual questions and answers about radiology images)
别名/简称 RAD-VQA、VQA_RAD、Medical VQA-RAD
疾病分类(ICD-11) 多系统影像发现(代表性目标:8B11 脑缺血性卒中、BC45 心脏肥大、CA40 肺炎)
SNOMED CT 399208008(胸部 X 线检查)、77477000(计算机体层成像)、57054005(心脏肥大)
数据模态 放射影像(X 线/CT/MRI)+ 英文问答文本
AI 任务类型 医学视觉问答(开放式 + 封闭式),图像分类/定位问答
样本总数 315 张影像 / 3,515 个问答对
数据大小 约 40 MB(OSF 归档压缩包)
数据格式 JPG 图像 + JSON/XML/XLSX 标注
许可证 CC0 1.0 Universal
访问级别 开放(无需注册与申请)
DUO 标签 NRES(无限制)
语言 英语
首发日期 2018-11-20
最后更新 2018-11-20(OSF 归档版,此后无官方版本迭代)
发布机构 美国国家医学图书馆(NLM/NIH)Lister Hill 生物医学传播国家中心
官方主页 Open Science Framework
下载地址 Open Science Framework
DOI 10.1038/sdata.2018.251
引用次数 912+(Google Scholar,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 有官方 train/test 划分与 JSON/XML/XLSX 多格式标注、许可证零门槛;但需手动处理 4 个重复三元组、字段拼写错误与开放式评估协议,官方未提供预处理脚本(扣分项)
页面状态 published

§0 E-E-A-T 信任声明与免责声明

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、三类体区影像与临床任务定义、金标准描述)、§7 偏倚分析。

数据工程审核者:千方病案医学编辑部交叉审核:医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

审核方式:交叉审核

利益冲突声明:千方病案医数集与 NLM/NIH、MedPix、Open Science Framework 无任何商业利益关联。本页面不销售 VQA-RAD 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受 NLM、NIH 或 Open Science Framework 的任何形式资助。

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和可用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。VQA-RAD 以 CC0 1.0 Universal 许可发布,图像源自 MedPix® 开放教学病例库,用于商业用途时仍应遵守 MedPix 与原始出版物的署名惯例并自行评估合规风险。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? VQA-RAD 回答的是一个看似简单的问题:让 AI 像临床医生一样"看图说话"。数据集包含 315 张放射影像(头部 CT/MRI、胸部 X 线、腹部 CT 各约三分之一)和 3,515 个问答对——每个问题都不是模板生成的,而是由 15 名完成临床轮转的医学生与研究员,站在"向同事请教"的视角自然写出的,例如"心脏是否增大?"“病灶在左肾还是右肾?”。它是医学视觉问答(Medical VQA)领域第一个纯人工构建的问答数据集。

为什么重要? 在 VQA-RAD 出现之前,医学 VQA 数据集基本靠从图注自动生成问题,问题常常"读不通",图像也混有拼图与三维重建,与真实临床场景脱节。VQA-RAD 用约 60 小时的专家贡献换来了高质量、贴合临床语言的数据,成为该领域几乎所有后续工作的引用基线——截至 2026-09 已被引用 912 次以上,SLAKE、PathVQA、VQA-Med 等后继数据集都以它为对照。它还是少数同时提供"封闭式与开放式"“自由问法与模板问法”"改写配对"三种视角的数据集,让研究者能在同一份数据上观察模型能力的多个切面。

我能用它做什么? 训练和评测医学 VQA 模型(从经典的 SAN/BAN 到今天的 LLaVA-Med、MedGemma 等多模态大模型)、做放射教学问答工具的原型、研究"封闭式 vs 开放式"问答的行为差异。注意它只有 315 张图、为单层教学影像,适合做方法验证与教学,不适合直接得出"可上临床"的结论。若你的目标是临床级证据,应把它与真实院内数据(如 MIMIC-CXR)组合使用,VQA-RAD 承担方法验证与消融环节。

§1.1 技术摘要

VQA-RAD 由美国国家医学图书馆(NLM/NIH)Lister Hill 生物医学传播国家中心的 Lau、Gayen、Ben Abacha 与 Demner-Fushman 构建,于 2018-11-20 发表在 Scientific Data(DOI: 10.1038/sdata.2018.251)。图像从开放教学病例库 MedPix® 按四条标准采样:每个教学病例仅取一张图(保证图像对应唯一患者)、结构足够清晰、无箭头/圆圈等放射标记、图注足够详尽,最终得到 104 张头部轴位单层 CT/MRI、107 张胸部 X 线与 104 张腹部轴位 CT,共 315 张 JPG 图像。15 名临床受训者在无引导条件下自由提问并标准化问题,另生成 paraphrase(改写)与 framed(模板化)两种变体,形成 free-form 1,515 + paraphrase 733 + framed 1,267 共 3,515 个问答对;free-form 问题再按 11 类语义分类(模态、平面、器官系统、异常、存在性、位置、颜色、大小、属性、计数、其他),并区分封闭式(是/否或有限选项)与开放式答案。作者以 MCB 与 SAN 两个经典 VQA 算法验证了数据集的可学习性,并发布官方 train/test 划分(test 451 = 300 随机 free-form + 151 配对 paraphrase)。全部数据以 CC0 1.0 许可托管于 Open Science Framework。

从数据工程视角复述一遍这条流水线:图像层的质量控制(唯一患者、清晰度、无标记、图注详尽四条硬标准)发生在 MedPix 侧与采样侧;文本层的质量控制(自由提问、标准化、双路改写、全量验证、类型归类)发生在标注侧;两层在"一图多问"的结构上汇合,平均每图挂 11 条问答。这个设计的直接后果是:图像数(315)远小于问答对数(3,515),一切以图像为单位的统计与划分决策都会被放大——这也解释了 §5.3 泄漏问题为何在此数据集上格外突出。

§1.2 战略价值

维度一:临床语言的"金种子"数据。 VQA-RAD 的 3,515 个问答对全部由人工书写并逐条验证,保留了临床提问的自然语言形态:同一语义既有 free-form 问法又有改写问法,且通过 qid_linked_id 字段显式配对。这使得它至今仍是研究"医学问题措辞鲁棒性"(同一问题换一种问法,模型是否还能答对)的首选测试床——这是任何自动生成图注的数据集都给不了的信号。对小团队而言,3,515 条数据可以在单卡上完成完整微调实验,是低成本验证医学多模态思路的高性价比起点。

具体到研究设计,这个"金种子"价值体现在三个可操作的实验形态上。其一是配对鲁棒性曲线:以 train 侧 free-form 问题训练、test 侧 paraphrase 配对评估,可以直接量化"换一种问法掉多少分",这一指标在指令微调时代的医学 LMM 评测中被反复使用。其二是题型能力画像:11 类问题类型构成从感知(模态/平面/器官)到定位(位置/计数)再到描述(大小/属性)的认知阶梯,一份按类型分桶的准确率报告即可诊断模型的短板层级。其三是小样本方法论验证:在 3,515 条的量级上,提示工程、LoRA 秩选择、冻结策略等工程决策的效应量可以快速迭代验证,再迁移到 SLAKE/PathVQA 等更大数据集复核。

维度二:医学多模态大模型时代的持续基准。 2018 年发布时的经典基线(SAN 总体准确率 46.3%、BAN 53.7%)到 2023-2026 年的多模态大模型时代仍被反复引用:LLaVA-Med、Med-Flamingo、RadFM、HuatuoGPT-Vision、GMAI-VL、MedGemma 等模型几乎都把 VQA-RAD 列入评测组合。它的封闭式/开放式双指标设计,天然适合诊断"模型是会做选择题还是会开放式推理"。截至 2026-09,论文被引 912+ 次,Hugging Face 镜像月下载约 9,570 次,社区活跃度在小规模医学数据集中名列前茅。

这种持续引用还有一个结构性原因:VQA-RAD 的 test 集只有 451 条,评测成本低到任何新模型都可以"顺手"测一遍,使它成为医学多模态论文实验表里的常驻列。代价是口径碎片化——各论文的 test 文件与评估器并不完全一致(详见 §8.1 与坑点 1),引用榜单时必须逐行核对口径。对数据集百科的读者而言,正确的打开方式是:把它当作方法验证与能力画像的标尺,而不是临床性能的证据。

§1.3 同类数据集横向对比

数据集 年份 图像规模 问答对规模 模态 标注方式 与 VQA-RAD 的差异化
VQA-RAD 2018 315 张 3,515 个 头部 CT/MRI、胸部 X 线、腹部 CT 临床医生完全人工书写 首个纯人工临床问答数据集;free-form/paraphrase/framed 三档措辞可配对
SLAKE 2021 642 张 14,028 个 多体区放射影像 专家人工 + 语义标注 中英双语;附带分割 mask 与知识图谱
PathVQA 2020 4,998 张 32,799 个 病理显微图像 从教科书图注自动生成 规模大但问题自动生成,语言自然度低于 VQA-RAD
VQA-Med 2019 2019 4,200 张 15,292 个 放射影像(MedPix) 半自动生成 + 人工审核 ImageCLEF 竞赛系列,同团队(Ben Abacha 等)出品,规模更大

(数据来源:Frontiers in AI 综述 2024

表中对比呈现了一个清晰的谱系:VQA-RAD 以"小而精"立足(纯人工、可配对),SLAKE 以"双语 + 语义标注"补足规模与结构化,PathVQA/VQA-Med 系以自动或半自动生成换取数量级规模。选型经验:研究措辞与临床语言 → VQA-RAD;需要语义监督信号(分割/知识图谱)→ SLAKE;追求规模与统计功效 → PathVQA 或 VQA-Med 系列。三者组合使用时,注意答案空间差异(yes/no 比例、答案长度分布)会引入评估偏差,建议统一归一化后分桶比较。

§1.4 版本时间轴

时间 版本/事件 说明
2018-11-20 官方首发 论文发表于 Scientific Data 5:180251;数据同步归档于 Open Science Framework(DOI: 10.17605/OSF.IO/89KPS),含 Readme.docx、VQA_RAD Dataset Public JSON/XML/XLSX 与图像文件夹
2023-06-03 Hugging Face 转换版快照 flaviagiammarino/vqa-rad 从 OSF 下载并转换为 HF datasets 格式,含 2,248 个问答对(去重后 2,244),社区实际使用最广
2023 前后 社区完整划分版 vqa-rad-with-bert 发布 trainset.json/testset.json,train + test = 3,515,与论文口径一致,被 Med-MoE 等后续工作采用
截至 2026-09 生态现状 OSF 官方文件未再迭代;Hugging Face 镜像月下载约 9,570 次;Papers with Code 维护活跃排行榜

时间轴的核心信息是:官方版本自 2018 年冻结,生态活力全部来自社区衍生。这带来一个反复出现的实践问题——同一篇论文说"VQA-RAD 上 62%",其 test 集可能是 451 条官方口径,也可能是去除 framed 后的 451 条(恰好相同),还可能是 LLaVA-Med 自行处理的子集。引用任何数字前,请回溯其数据加载代码确认口径(本页 §3.0 与坑点 1 给出了核对路径)。

§1.5 典型应用场景

  1. 医学 VQA 模型基准评测:官方 train/test 划分 + 封闭式/开放式双指标,可直接对比 SAN、BAN、LLaVA-Med、MedGemma 等三代模型;451 条 test 的评测成本接近于零,适合作为新模型的"第一站"测试。
  2. 问题措辞鲁棒性研究:利用 qid_linked_id 配对的 free-form/paraphrase 问题,量化模型对同义改写的敏感度;这一实验形态是 VQA-RAD 独有的设计红利。
  3. 放射教学工具原型:以"看图提问"形式构建规培与医学生自测应用,问题难度分布贴近真实教学场景;11 类问题可直接映射为应用的题库分类。
  4. 多模态大模型轻量微调:3,515 条数据单卡即可微调 7B 级视觉语言模型,是 LoRA/适配器类方法的标准试验场;结合冻结骨干策略可在 24 GB 显存内完成全流程。
  5. 视觉问答行为分析:11 类问题类型 + 开闭式标签,支持按认知层级(感知→定位→计数→推理)拆解模型能力短板;per-type 报告也是论文实验表的标准形态。

§2 医学背景

§2.1 ICD-11 映射

VQA-RAD 是多系统影像问答数据集,不以单一疾病为主线;其问答内容映射到的代表性 ICD-11 条目如下:

数据内容 ICD-11 编码 ICD-11 中文名称 说明
头部 CT/MRI 中的缺血性卒中问答 8B11 脑缺血性卒中 “are regions of the brain infarcted?” 类存在性/异常问题的典型目标
胸部 X 线中的心影增大问答 BC45 心脏肥大 “is the heart enlarged?”“is cardiomegaly shown?” 的编码对应
胸部 X 线中的肺部感染问答 CA40 肺炎 胸片渗出影相关问答的常见临床背景

(编码依据:ICD-11 中文版与家庭大健康 ICD-11 编码解析)

需要说明映射的边界:VQA-RAD 的问题大多停留在"影像发现"层面(有无异常、位置、大小),并不构成完整临床诊断;ICD-11 编码在此的作用是把常见问答目标挂到标准术语体系上,便于与电子病历或登记数据联动分析。除表中三条外,数据集还散布胸腔积液、骨折、脏器占位等数十种发现类问答,受规模所限本表只列高频且已验证编码的代表性条目,其余不做编码外推。

§2.1b SNOMED CT 映射

标签/发现 ICD-11 相应条目 SNOMED CT 码 术语
胸部 X 线检查 CA40/BC45 等胸片目标 399208008 Plain chest X-ray(胸部 X 线检查)
计算机体层成像 8B11 等头部/腹部目标 77477000 Computerized axial tomography(计算机体层成像)
心脏肥大 BC45 57054005 Cardiomegaly(心脏肥大)

SNOMED 映射的用法与 ICD-11 一致:为"检查方式 + 代表性发现"提供标准术语锚点。做检索增强或知识图谱类应用时,可把 MODALITY 类问答的答案空间(“ct”“mri-flair”"x-ray"等)映射到上述检查概念上,实现问答系统与术语服务的对接;未列入表中的 MRI 概念请以 SNOMED CT 官方浏览器查询为准,本页不做编码外推。

§2.2 疾病与影像背景

VQA-RAD 的三类体区覆盖对应放射科三大高频读片区,各体区的教学要点与数据集内的典型问答如下。

头部轴位 CT/MRI(104 张)。急性卒中(ICD-11 8B11)是全球致残与致死的主要病因之一,影像上"是否梗死、是否出血"的二分判断直接决定溶栓与取栓决策;VQA-RAD 中的相关问题多为存在性/异常类(如"are regions of the brain infarcted?"),另有中线移位、占位效应与序列识别(T2/FLAIR)类问答。教学病例的梗死与出血表现通常较为典型,这与急性期真实影像的不确定性形成对比。

胸部 X 线(107 张)。胸片是检查量最大的影像项目,心影增大(BC45)、肺炎实变(CA40)、胸腔积液与气胸构成四大教学主题;数据集中"心影是否增大""是否有胸腔积液"类封闭式问答密度最高,CARDIOMEGALY 一词直接出现在示例问答中。胸片判读是全科与急诊医师的核心技能,因此该子集也是教学问答工具最常引用的部分。

腹部轴位 CT(104 张)。聚焦脏器定位(左肾/右肾、肝叶/脾脏)、占位与结石识别、对比剂增强表现(“with contrast?”)与脏器形态(胆囊是否扩张等);定位类问题使该子集成为位置推理(POSITIONAL)的主要来源。

体区 影像构成 常见教学发现 代表性问答形态
头部 轴位单层 CT/MRI(104 张) 梗死、出血、中线移位、占位 “are regions of the brain infarcted? — yes”
胸部 X 线平片(107 张) 心影增大、实变、胸腔积液、气胸 “is cardiomegaly shown? — yes”
腹部 轴位单层 CT(104 张) 脏器定位、占位、结石、强化 “where is the mass located? — right kidney”

(示例问答取自数据集官方样例;体区构成见论文 Methods)

MedPix® 教学病例库由 NLM 主持,每个病例附带由专家放射科医师撰写并审核的图注(含平面、模态与发现),这为 VQA-RAD 的问答质量提供了上游保障。需要强调:教学病例的构图与病变典型度高于日常临床影像,这是理解该数据集行为时必须记住的先验。此外,MedPix 图像以 JPG 存储,已经历压缩与尺寸归一,像素级密度测量类研究不应以该数据集为依据。

§2.3 临床任务定义

临床任务 在 VQA-RAD 中的形态 对应问题类型 临床意义
影像感知(筛查) 识别模态、平面、器官系统 MODALITY、PLANE、ORGAN 阅片的第一步,相当于"这是什么检查、看的是哪里"
异常判读(诊断辅助) 判断有无异常、是否正常 ABNORMALITY、OBJECT/PRESENCE 对应"片子上有没有问题"的初筛判断
定位与计数 病灶侧别、位置、数量 POSITIONAL、COUNT 对应报告中的定位描述(左/右、脏器、段叶)
形态与量化 大小、颜色/信号强度、属性 SIZE、COLOR、ATTRIBUTE 对应报告中的形态学描述(增大、高密度、强化)
综合推理 开放式描述与归纳 OTHER 最接近放射科报告语言的自由表述

上表同时解释了 VQA-RAD 的难度结构:任务越靠下(定位→量化→推理),答案空间越大、开放式比例越高,模型分数也越低——这正是论文 Figure 2 中 POSITIONAL、COUNTING、OTHER 更可能为开放式的临床动因。把这张表与 §8.1 榜单对照阅读,可以理解为什么封闭式准确率普遍在 70% 以上而开放式长期停滞:前者大量落在感知与异常判读层,后者被综合推理拖住。

§2.4 患者人群构成

维度 描述
来源机构 MedPix®(NLM 主持的开放教学病例库),投稿来自全球临床贡献者、以美国机构为主
收录时间 2018 年采样前已入库的历史教学病例(论文未披露各病例采集年份)
体区分布 头部 104 例 / 胸部 107 例 / 腹部 104 例(每图对应唯一教学病例)
年龄/性别分布 数据集未披露(图像级患者人口学信息不随数据发布)
就医类型 教学与会诊病例,病变典型度较高
标注人群 15 名完成核心临床轮转的医学生与研究员(非资深放射科医师)

这张人群表的信息缺口本身就是一个重要事实:VQA-RAD 刻意只发布"影像 + 问答",不携带任何病例级人口学信息。这对多数 VQA 研究无碍(模型输入只有图像与问题),但意味着任何想在该数据集上做人群分层分析、公平性审计或流行病学推断的尝试都缺乏数据基础——相关需求应转向携带完整元数据的院内数据集。

§2.5 临床价值

VQA-RAD 的临床价值主要体现在三个层面。教学层:问题由受训者以"问同事"的口吻提出,天然构成一份"规培生想知道什么"的语料,用于教学问答工具时比机器生成的问题更贴近学习者的真实困惑;11 类问题类型也覆盖了从"这是什么检查"到"病灶在哪、多大"的完整学习曲线。决策支持层:存在性(PRESENCE)与异常(ABNORMALITY)类问答对应初筛场景,可作为"预问诊式"影像查询工具的评价数据——但其 315 张图的规模不足以支撑任何临床可靠性结论。语言接口层:开放式问答对应放射报告的自然语言,是通往"对话式阅片助手"的重要中间任务;LLaVA-Med、MedGemma 等模型用它来量化医学开放问答能力,正是这一价值的延续。

从技术演进的角度看,VQA-RAD 还承担了"范式迁移标尺"的角色:2018 年验证的是融合架构(MCB/SAN)能否适应医学问题;2021-2022 年验证的是元学习与去噪策略(MEVF/MMQ)在小数据上的增益;2023 年以后验证的是指令微调与推理链(LLaVA-Med、Chiron-o1)能否转化为医学问答能力。同一份测试集横跨三代技术范式,这在医学数据集中并不多见。

§2.6 标注金标准

维度 描述
划分方式 官方 test 451 条(300 随机 free-form + 151 配对 paraphrase),其余 3,064 条为 train
标注方式 纯人工:自由提问 → 标准化 → 改写(paraphrase)与模板化(framed)
标注者 15 名临床受训者(医学生/研究员,完成核心临床轮转),每人至少标注 40 张图
一致性保障 全部问答对经人工验证并按 11 类问题类型 + 2 类答案类型人工归类;图注由专家放射科医师撰写审核
金标准性质 参考答案为人工书写的短语级答案,开放式答案允许多种正确表述

与自动生成数据集相比,这份金标准的核心资产是"问题也经过人工设计"——答案层与问题层都由临床视角塑形。其代价是规模上限受专家时间约束(60 小时 ↔ 3,515 条),这解释了后续 SLAKE(双语扩展)、VQA-Med(竞赛扩展)等为何走向"人工种子 + 半自动放大"的混合路线。使用 VQA-RAD 时应把它定位为"临床语言分布的标定集",而非大规模训练语料。


§3 数据集规格

§3.0 版本抉择矩阵

VQA-RAD 官方自 2018 年后未再迭代,但社区衍生版本众多且口径差异显著,选错版本会直接导致评测不可比:

你的需求 推荐版本 规模 理由
复现论文口径 / 与经典论文对比 OSF 官方文件 + 社区 3,515 划分(vqa-rad-with-bert) 315 图 / 3,515 对(train 3,064 + test 451) 与论文 §5.0 完全一致,free-form/paraphrase/framed 全保留
快速用 Hugging Face 加载做原型 flaviagiammarino/vqa-rad 315 图 / 2,244 对(去重后) load_dataset 一行加载;注意其仅含官方文件的子集,数字不能与 3,515 口径混用
需要问题类型/答案类型/措辞类型元数据做细粒度分析 abhay2812/vqa-rad 314 图 / 2,244 对 保留 11 类问题类型、OPEN/CLOSED、HEAD/CHEST/ABD 与 phrase_type 标签,并修复拼写与空格问题
微调 LLaVA-Med 系模型对齐文献数字 论文口径划分(3,064/451)或 LLaVA-Med 自述划分 3,515 或更少 LLaVA-Med 未公开其 test 文件,社区数字存在约 3-8 个点的口径差,见坑点 1

使用这份矩阵时的判别口诀:先问自己要对齐谁的数字,再选版本。对齐 2018-2022 经典论文 → 官方 3,515 口径;对齐 2023 后 HF 社区实验 → flaviagiammarino 版;做类型级分析或数据质量研究 → abhay2812 清理版;四者不可互相"借数字"。另一个隐蔽差异是图像引用——部分衍生版本把 image_name 存为完整 MedPix URL,拼接本地路径前务必归一化(坑点 5)。

§3.1 模态详情

模态 数量 采集/呈现特点
头部轴位 CT 或 MRI(单层) 104 张 单层轴位图像,含 T2/FLAIR 等序列;用于梗死、出血、中线移位等教学问答
胸部 X 线 107 张 后前位/侧位胸片,JPG 格式;心影、肺野、肋骨相关问答
腹部轴位 CT(单层) 104 张 含平扫与增强;脏器定位、占位与结石类问答

全部图像为 JPG(MedPix 存储格式),无 DICOM、无像素级 mask、无体数据;每张图在数据集内对应唯一教学病例(唯一患者)。

对模态构成的两点提示:①头部子集混合了 CT 与 MRI(含 T2/FLAIR 等序列),MODALITY 类问题正是让模型区分这些采集方式,做多模态融合时该子集天然承担"模态识别"任务;②单层设计是有意为之——论文明确以"一图一问"对标通用 VQA 的数据结构,代价是放弃了 volumetric 上下文,模型无法从数据中学到跨层推理。

§3.2 按子集样本数

子集 图像数 问答对数 说明
全集(官方口径) 315 3,515 free-form 1,515 + paraphrase 733 + framed 1,267
官方 train 313 3,064 与 test 共享约 202 张图像(见 §5.3)
官方 test 203 451 300 随机 free-form + 151 配对 paraphrase
HF 转换版 train 313 1,793 去除 framed 与 4 个重复三元组后
HF 转换版 test 203 451 与官方 test 一致
按 QA 级体区分布 314(被引用图像) HEAD 715 / CHEST 794 / ABD 739 abhay2812 清理版统计(2,248 对口径)

子集表里最容易踩的坑是第四行与第五行的"图像数相同、问答对数差近一半":官方 train 含 framed 模板问句(1,267 条),HF 版把这部分剔除了,因此两者不能互填。另有细节:官方 train 的 313 张与 test 的 203 张加起来超过全集 315,正是因为约 202 张图像跨集(§5.3),这不是表格错误而是划分设计的直接体现。

§3.3 数据格式

文件 格式 内容
VQA_RAD Dataset Public.json JSON 全部问答对与元数据(qid、image_name、question、answer、answer_type、question_type、phrase_type、qid_linked_id、question_frame)
VQA_RAD Dataset Public.xlsx XLSX 同上内容的电子表格形态
VQA_RAD Dataset Public.xml XML 同上内容的 XML 形态
VQA_RAD Image Folder/ JPG 315 张放射影像,文件名形如 synpic676.jpg(MedPix 原始文件名)
Readme.docx DOCX 官方说明,含官方划分方法(§5.0 节)

三份标注文件内容同构、格式各异,是官方为兼容不同工具链提供的便利;但三者在数值类型上的处理并不完全一致——XLSX 通道会把 COUNT 类数字答案保持为数值,而 JSON 中多为字符串,跨格式读取后需要统一类型(坑点 4)。工程实践建议固定以 JSON 为主文件、XLSX 仅作人工查阅,避免两套读取逻辑并存。

§3.4 存储大小

大小
OSF 官方归档(含图像与全部标注文件) 约 40 MB
Hugging Face 转换版 约 34.5 MB

数据集整体为小型数据集,无需专门存储方案;单机磁盘与 Git LFS 均可承载。大小的细微差异来自打包方式:HF 版把图像内嵌进 parquet 并经过重编码,OSF 版保留 MedPix 原始 JPG。做像素级一致性研究(如比较不同版本图像)时应以 OSF 原图为准。

§3.5 标注方式

纯人工标注,分三步:受训者先自由提出问题(无引导,模拟向同事请教),再对问题做标准化处理,最后生成 paraphrase(自由改写)与 framed(模板框架)两种变体。每条问答对均经人工验证,并按 11 类问题类型与 OPEN/CLOSED 答案类型人工归类。无自动生成、无弱监督成分——这正是它与 PathVQA 等自动生成数据集的核心区别。

“三档措辞”(free-form/paraphrase/framed)是理解该数据集标注学的钥匙:free-form 代表临床自然语言的真实分布,paraphrase 提供受控的同义变化,framed 则把同一语义映射到统一模板句。三者共享答案,因此可以在几乎不增加标注成本的情况下,把"语言变化"从"视觉理解"中部分剥离出来——这是后续章节多个实验设计(划分隔离、鲁棒性曲线)的基础。

§3.6 标注者资质与一致性

标注者为 15 名完成核心临床轮转的医学生与研究员(clinical trainees),选择理由是他们"接近住院医师培训阶段的提问需求"。每人至少标注 40 张图像,总投入约 60 小时专家时间。论文未报告标注者间一致性系数(如 kappa);质量保障依赖:上游 MedPix 专家放射科医师审核的图注、问答对全量人工验证、以及论文 Figure 2 对问题类型的分布核查。使用时应注意:标注者并非资深放射科医师,个别答案表述可能不满足亚专科精度(见 §7.2)。

§3.7 采集周期

数据采集与构建集中于 2018 年论文发表前(标注总量约 60 小时专家贡献);源图像为 MedPix 历史教学病例,采集年份跨度未披露。数据集发布后官方未更新,dateModified 以 2018-11-20 归档版为准。对时间敏感的应用(如对比新一代影像设备的成像特征)应以"2018 年冻结的教学影像"为前提设定预期。

§3.8 地域覆盖

图像来源为 MedPix®(美国国家医学图书馆主持的开放教学病例库),病例投稿以美国机构为主但面向全球开放;数据集文档未披露每张图的原始地域。以"NLM 主持、美国为主"作为空间覆盖描述。教学库的病例构成偏常见病与经典征象,地域流行病学差异(如结核等区域性疾病的影像表现)在数据集中覆盖有限。

§3.9 设备规格

数据集不包含采集设备参数(厂商、层厚、kVp、场强等);图像为 JPG 截取而非 DICOM,设备元数据不可恢复。如需设备层信息,需回到 MedPix 原始病例页按 image_name 逐例查询(部分病例含设备描述文本)。这意味着基于 VQA-RAD 训练的模型不应宣称对特定设备/协议的鲁棒性——数据中不存在可控制该变量的信息。

§3.10 深度溯源链

MedPix® 教学病例(NLM 主持,专家审核图注)
  └─ 采样筛选(唯一患者/清晰/无标记/图注详尽四标准)→ 315 张 JPG
       └─ 临床受训者人工问答(15 人,free-form → paraphrase → framed)
            └─ 人工验证与 11 类语义归类 → VQA_RAD Dataset Public(JSON/XML/XLSX)
                 └─ OSF 归档(2018-11-20,DOI: 10.17605/OSF.IO/89KPS)
                      └─ 社区衍生:HF 转换版(2023-06)、3,515 完整划分版、清理版

MedPix 病例 → 采样四标准 → 人工问答 → 人工验证归类 → OSF 归档 → 社区衍生,六环节中前四环有论文 Methods 与 Figure 1 支撑,后两环可由 OSF 文件哈希与 HF 数据卡佐证。对使用者而言,溯源链中最薄弱的一环是"社区衍生":衍生版本不承诺与官方文件逐行一致,任何衍生版本上的实验结论都应注明版本来源。


§4 数据结构

§4.0 目录树

数据解压后的目录结构如下(官方 OSF 归档):

VQA-RAD/
├── Readme.docx                        # 官方说明(含 §5.0 官方划分方法)
├── VQA_RAD Dataset Public.json        # 标注主文件(推荐使用)
├── VQA_RAD Dataset Public.xlsx        # 电子表格形态
├── VQA_RAD Dataset Public.xml         # XML 形态
└── VQA_RAD Image Folder/              # 315 张放射影像
    ├── synpic17604.jpg
    ├── synpic22442.jpg
    ├── synpic40464.jpg
    └── ...(共 315 个 JPG 文件)

§4.1 DAIMS 字段字典

以官方 JSON 主文件为基准的核心字段(8-15 行核心表):

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
qid Integer 问题唯一 ID 401 主键;配对与去重依据 无此情况 约 0-3514
image_name Text 图像文件名(MedPix 命名) synpic40464.jpg 关联图像与患者级分组 部分衍生版存完整 URL 需提取 无此情况 synpic*.jpg
question Text 自然语言问题 are regions of the brain infarcted? 文本编码器输入 口语化、拼写不统一 无此情况 自由文本(英文)
answer Text 参考答案 yes 监督目标 开放式答案表述多样 1 条 null 答案 自由文本(英文)
answer_type Text 答案类型标签 CLOSED 分桶评测(closed/open) ⚠️ 存在尾随空格「CLOSED 」 无此情况 CLOSED / OPEN
question_type Text 问题语义类型(可多标签) OBJECT/CONDITION PRESENCE 按类型分桶诊断 ⚠️ 存在拼写变体(ATRIB、PRSE、Other) 无此情况 11 类 + 组合标签
phrase_type Text 措辞类型 free-form 措辞鲁棒性实验 / 划分隔离 无此情况 free-form / paraphrase / framed
qid_linked_id Integer 配对改写问题的 qid 402 构建同义问题对 无配对时为空 空 / 合法 qid
question_frame Text framed 模板句 what organ system is shown? 模板问答实验 framed 外为空 模板字符串

官方 JSON 中一条典型记录的形态如下(字段名以官方文件为准,不同衍生版本列名略有差异):

{
  "qid": 401,
  "image_name": "synpic40464.jpg",
  "question": "are regions of the brain infarcted?",
  "answer": "yes",
  "answer_type": "CLOSED",
  "question_type": "OBJECT/CONDITION PRESENCE",
  "phrase_type": "free-form",
  "qid_linked_id": "",
  "question_frame": ""
}

(示例问题与图像文件名取自数据集官方样例;qid 数值以实际文件为准)

字段字典的使用提示:qid 是唯一主键但不是顺序索引,不要假设 qid 连续;question_type 是官方 taxonomy 的自由文本实现,存在"SIZE, PRES"这类组合写法,解析时按逗号拆分;phrase_typeqid_linked_id 组合构成本数据集最有价值的实验资产——同一语义问题的两三种问法及其链接关系。question_frame 仅在 framed 问题上有值,它是模板句而非自然问题,训练时建议与 free-form 分开统计。

§4.2 标签分布

标签维度 分布
答案类型(free-form 内) 封闭式 878 条 / 开放式 637 条(train 约 72% CLOSED,test 约 60% CLOSED)
问题类型(free-form) PRESENCE 占比最高;MODALITY、ORGAN、POS 次之;COUNT、COLOR、ATTRIBUTE、OTHER 稀少
措辞类型 free-form 1,515 / paraphrase 733 / framed 1,267
体区(QA 级,2,248 口径) HEAD 715 / CHEST 794 / ABD 739
问题类型倾向 POSITIONAL、COUNTING、OTHER 更可能为开放式(论文 Figure 2)

对分布的两点解读:①开闭式比例在 train/test 间不同(72% vs 60% CLOSED),意味着 test 的开放式题目相对更多、更难,直接看 overall 会低估模型在训练分布上的表现;②稀少类样本量小,COUNT/COLOR/ATTRIBUTE 每类在 free-form 中仅数十条,分桶报告时的置信区间很宽(详见坑点 8)。

§4.3 关键统计

  • 平均每张图像约 11.2 个问答对(3,515 / 315),最多一张图挂多类问题(论文官方示例展示同一张图被问及全部 11 类)。
  • 封闭式问题以 yes/no 为主,另有少量有限选项问题(如左右侧别)。
  • 图像-问答连接:315 张图中 314 张被至少一个问答对引用,1 张为孤儿图像。
  • train/test 图像重叠约 202 张(官方划分按问题采样而非按患者切分,详见 §5.3)。
统计项 数值 备注
图像总数 315 头 104 / 胸 107 / 腹 104
问答对总数(官方口径) 3,515 free-form 1,515 / paraphrase 733 / framed 1,267
平均每图问答对数 约 11.2 官方口径
官方 test 451 300 free-form + 151 配对 paraphrase
被引用图像 314 1 张孤儿图像
跨集图像 约 202 官方划分下的图像级重叠
重复三元组 4 3 个 train 重复 + 1 个跨集重复

加载完整性自检(训练前 30 秒跑一遍,可提前捕获绝大多数数据问题):

import json, os
from collections import Counter

records = json.load(open("data/vqa_rad/vqa_rad_clean.json", encoding="utf-8"))
IMG_DIR = "data/vqa_rad/VQA_RAD Image Folder"

assert len({r["qid"] for r in records}) == len(records), "qid 重复"
assert len({r["image_file"] for r in records}) <= 314, "孤儿图像未过滤"
assert all(r["answer"] and r["answer_norm"] for r in records), "空答案残留"
assert not any("CLOSED " == r["answer_type"] for r in records), "answer_type 空格残留"
type_counter = Counter(r["question_type_clean"] for r in records)
print(type_counter.most_common())           # 观察分桶,发现未合并的拼写变体
print(f"{len(records)} QA / {len({r['image_file'] for r in records})} images")

§4.4 数据层级

VQA-RAD 的层级是医学数据集中少见的"扁平三级"结构——没有检查/序列/切片的中间层,图像即是最小数据单元:

教学病例(唯一患者,315 个)
  └── 单张放射影像(synpic*.jpg,每病例 1 张)
        └── 问答对(3,515 条;同一图像挂 free-form + paraphrase + framed 多条问答)
              └── 语义标签(question_type / answer_type / phrase_type)

关键推论:"患者级"与"图像级"一一对应(每图唯一患者),因此按图像分组的交叉验证即为按患者分组的交叉验证;但官方 train/test 划分未按图像切分,患者级泄漏由此产生。

这个层级结构也决定了两种实验范式的分野:以问答对为单位训练、以官方 test 评估(对齐文献);或以图像为单位切分、以分组口径评估(考察真实泛化)。两者在论文中应显式区分命名,如 “QA-level split” 与 “image-level split”——混用命名是审稿意见中的高频扣分点。

§4.5 缺失值与信息性缺失

情形 数量 处理建议
answer 为 null 1 条 训练集中直接剔除或在清理版中标记为 unanswerable
未被任何问答引用的图像 1 张 加载时按 image_name 内连接过滤,避免索引越界
qid_linked_id 为空 大部分非配对问题 视为独立问题,非缺失
question_frame 为空 非 framed 问题 视为独立问题,非缺失

数据集不使用信息性缺失编码(无"缺失但有意义"的哨兵值);所有缺失均为真实缺失,直接过滤即可。需要留意的一个反直觉点:qid_linked_idquestion_frame 的空值是结构性空(表示"该问题不属于配对/模板体系"),不是数据缺失——把它们当缺失值填补或删除都会破坏配对实验。工程质量上,这属于"空值语义清晰"的良好设计,与 answer 列的 1 条真实 null 性质完全不同。


§5 划分与使用建议

§5.1 官方划分

官方 test 集 = 300 条随机抽取的 free-form 问题 + 151 条与之配对的 paraphrase 问题,共 451 条;其余 3,064 条(free-form、paraphrase、framed 全部)构成 train。注意官方划分对问题采样而非对图像/患者切分,因此 test 中问题的"原图"绝大多数也出现在 train 中——这是复现经典论文数字的前提,也是做泛化研究时必须绕开的设计。

官方 Readme 同时给出了自定义划分的推荐流程:先隔离一个 phrase_type,随机抽取比例,再用 qid_linked_idquestion_frame 找到配对问题,避免"free-form 在训练集、其配对 paraphrase 在测试集"造成的系统性偏倚。这几乎是官方文档中唯一的方法论建议,也是严肃评估应遵循的底线。

§5.2 社区惯例划分

  • 经典论文口径(SAN/BAN 至 MuVAM/Med-VQA 系列):官方 3,064/451,test 上报 overall/open-ended/closed-ended 三个准确率。
  • HF 口径(flaviagiammarino 版):train 1,793 / test 451(去除 framed 与重复),多模态大模型微调常用。
  • LLaVA-Med 口径:论文未公开其 VQA-RAD test 文件,Med-MoE 维护者确认官方 train+test = 3,515 并以此对齐,但与 LLaVA-Med 数字存在口径差(见坑点 1)。

三套口径并存的直接后果是:VQA-RAD 的"排行榜"实际是若干个口径相近但不完全相同的榜的叠加。经验法则是——2020-2022 年的论文基本都在官方 451 条 test 上评估(可与 MuVAM 表互比);2023 年后 LMM 论文需逐篇检查其数据加载脚本;跨代比较时优先信任你自己用统一脚本复算的数字。

§5.3 泄漏风险(重点)

  1. 图像级泄漏(官方默认存在):train 313 张图 + test 203 张图,而去重后仅 314 张图被引用,即约 202 张图像同时出现在 train 与 test 两侧。同一图像上 train 侧的问题可能"剧透"test 侧答案(例如 train 问"什么器官系统?“、test 问"这个器官是否增大?”)。
  2. 配对泄漏(官方文档明示风险):test 中的 151 条 paraphrase 与 train 中的 free-form 通过 qid_linked_id 配对且共享图像与答案;官方 Readme 明确建议做严肃评估时按 phrase_type 隔离并利用 qid_linked_id/question_frame 重新构造划分。
  3. 患者级泄漏即图像级泄漏:每图唯一患者,故患者级切分 = 图像级切分;任何声称"患者级泛化"的实验都必须按 image_name 重建划分。
  4. 同图问答语义相关性:跨集共享的约 202 张图上,train 侧问题与 test 侧问题在类型上高度相关(同一图的全部 11 类问题可能分散两侧),泄漏不是"同图随机噪声"而是"同图系统性剧透",这也是分组口径分数回撤幅度的主要来源。

一句话总结 §5.3:在 VQA-RAD 上,“官方划分"回答的是"模型能否答对见过图上的其他问题”,“分组划分"回答的才是"模型能否读懂一张新图”——两种答案都有价值,但必须分开命名、分开报告。

提示:复现历史论文时若发现 closed/open 分桶对不上文献,第一检查项是 phrase_type 处理方式——把 framed 并入训练但不并入评估、或把 paraphrase 并入训练,都会改变 test 分布,多数"对不上"由此而来。

§5.4 划分策略建议

实验目标 推荐划分
与 2018-2022 经典论文对比 官方 3,064/451(接受图像重叠,注明口径)
医学图像级泛化评估 按 image_name 分组切分(如 70/15/15,分组 ShuffleSplit),保证同一 synpic 不跨集
措辞鲁棒性研究 train 全部 free-form,test 按 paraphrase 配对评估;或按 phrase_type 隔离
跨数据集泛化 VQA-RAD 训练 → SLAKE/PathVQA 测试(注意答案空间差异)

上表四种目标对应四份不同的"心理预期":对齐文献时分数会偏乐观(重叠加持);分组口径才是部署视角的真实起点;措辞研究关注的是配对内的一致率而非绝对准确率;跨数据集实验则应把答案空间对齐方案(归一化/映射表)写入方法节。四者混在一张表里比较是常见的论文硬伤。

§5.5 交叉验证建议

小数据(3,515 条)下建议 5 折分组交叉验证(GroupKFold,按 image_name 分组)上报均值±标准差;单次 train/test 切分在 closed 子集上波动可达 1-2 个点,不足以支撑模型间差异结论。历史文献多报单次划分结果,比较时需留意。具体操作上有两个细节值得遵守:其一,分组键必须用 image_name 而非 qid——同一图像的多条问答若跨折,验证折信息即刻泄漏;其二,若同时报告官方口径与分组口径,两套结果应来自同一份清理数据(§6.3),避免把"清洗差异"误读为"划分差异"。

§5.6 外部验证建议

在 VQA-RAD 上训练的模型应至少在一个外部数据集(SLAKE 或 PathVQA)上复测 open/closed 双指标;反向(SLAKE→VQA-RAD)亦可。由于三者答案空间与题型分布不同,建议使用统一归一化(小写、去标点)后评估,并报告按图像分组与官方划分两种口径。若目标是医学 LMM 的系统能力审计,推荐"VQA-RAD(感知+定位)× SLAKE(知识推理)× PathVQA(大规模自动题)"三件套组合,三者互补覆盖认知阶梯,且都是公开可下载、单卡可评的规模。


§6 AI 就绪指南 ⭐

§6.0 云端快速启动

Hugging Face Hub 提供转换版(flaviagiammarino/vqa-rad,约 34.5 MB),Colab/Kaggle 免费档即可加载:

from datasets import load_dataset
ds = load_dataset("flaviagiammarino/vqa-rad")   # 含 train/test 两个 split
print(ds)                                        # train 1,793 / test 451(去重口径)

需要官方 3,515 全量口径时,请从 OSF 下载原始归档(见 §6.2),两种口径不可混用。若在离线环境加载 HF 版,提前用 save_to_disk 导出本地快照即可,无需额外转换。云端环境的典型三步是:load_dataset(HF 口径)→ 本页 §6.3 的清理逻辑(同样适用)→ §6.4 的 DataLoader;全流程在免费 GPU 档位上跑通一个 epoch 约需数分钟。HF 版的 test split 与官方 451 条一致,可先用它快速验证评估脚本,再切换到官方口径做最终报告。

§6.1 快速上手

以下代码假设你已从 OSF 下载官方归档并解压。目录结构预期与 data_root 拼接关系如下:data_root 指向解压根目录,标注文件直接位于根目录下,图像位于 VQA_RAD Image Folder 子目录——文件夹名含空格,是新手路径拼接的高频错误点。最小可用子集:JSON 主文件 + 图像文件夹即可完成训练,无需 XML/XLSX。代码同时演示了最小质量过滤(null 答案、孤儿图像引用),这是任何下游实验的起点。

import json, os

DATA_ROOT = "data/vqa_rad"  # 解压后的根目录
ANN_FILE = os.path.join(DATA_ROOT, "VQA_RAD Dataset Public.json")
IMG_DIR = os.path.join(DATA_ROOT, "VQA_RAD Image Folder")

with open(ANN_FILE, encoding="utf-8") as f:
    records = json.load(f)

print(len(records))           # 官方全量口径 3,515
print(records[0].keys())      # qid, image_name, question, answer, ...
print(records[0]["image_name"])

# 最小可用子集:free-form + 有答案 + 图像存在
subset = [r for r in records
          if r.get("answer") and os.path.exists(os.path.join(IMG_DIR, r["image_name"]))]
print(len(subset))            # 剔除 null 答案与孤儿图像引用

§6.2 数据获取

途径 链接 形式 大小 前置条件
OSF 官方归档 osf.io/89kps ZIP(JSON/XML/XLSX + JPG) 约 40 MB 无(CC0,无需注册)
Hugging Face 转换版 flaviagiammarino/vqa-rad parquet(内嵌图像) 约 34.5 MB
社区完整划分版 vqa-rad-with-bert trainset.json / testset.json 仅标注 无(图像仍需 OSF 下载)

下载注意事项:①OSF 项目页的 ZIP 入口在 Files 区,部分镜像页只展示元数据;②HF 版内嵌图像 bytes,load_dataset 首次运行会解包,磁盘预留建议 ≥1 GB;③社区划分版只含标注文件,图像务必使用 OSF 官方原图,混用其他来源的同名文件会造成难以察觉的错位。三条途径的许可一致(CC0 1.0),可自由选择组合。

# 方式一:Hugging Face(推荐原型验证)
from datasets import load_dataset
ds = load_dataset("flaviagiammarino/vqa-rad")

# 方式二:OSF 官方归档(推荐论文复现;ZIP 下载链接在项目页 Files 区)
# 访问 https://osf.io/89kps/ → Download ZIP → 解压至 data/vqa_rad/

§6.3 预处理全流程

<details>
<summary>展开完整预处理代码(格式转换 → 质量修复 → 归一化)</summary>

import json, re, os

DATA_ROOT = "data/vqa_rad"
ANN_FILE = os.path.join(DATA_ROOT, "VQA_RAD Dataset Public.json")
IMG_DIR = os.path.join(DATA_ROOT, "VQA_RAD Image Folder")

with open(ANN_FILE, encoding="utf-8") as f:
    records = json.load(f)

# ---------- 步骤 1:字段修复(类型拼写与空格) ----------
QTYPE_FIX = {"ATRIB": "ATTRIBUTE", "PRSE": "PRES", "Other": "OTHER"}

def clean_record(r):
    r["answer_type"] = (r.get("answer_type") or "").strip().upper()   # 修复「CLOSED 」
    qt = (r.get("answer_type") or "").strip()
    raw_qt = r.get("question_type") or ""
    parts = [QTYPE_FIX.get(p.strip(), p.strip().upper()) for p in raw_qt.split(",")]
    r["question_type_clean"] = ",".join(p for p in parts if p)
    # COUNT 类答案可能存为数字(4、12、0.05),统一转字符串
    r["answer"] = str(r["answer"]) if r.get("answer") is not None else None
    # 图像引用归一化:兼容文件名与完整 URL 两种形态
    name = r["image_name"]
    if "/" in name:
        name = name.rstrip("/").split("/")[-1]
    r["image_file"] = name
    return r

records = [clean_record(r) for r in records]

# ---------- 步骤 2:质量过滤(null 答案 / 孤儿图像 / 重复三元组) ----------
seen, cleaned = set(), []
for r in records:
    if not r["answer"]:                                  # 1 条 null 答案
        continue
    if not os.path.exists(os.path.join(IMG_DIR, r["image_file"])):  # 孤儿引用
        continue
    key = (r["image_file"], r["question"], r["answer"])
    if key in seen:                                      # 4 个重复三元组
        continue
    seen.add(key)
    cleaned.append(r)

print(f"cleaned: {len(cleaned)} records")

# ---------- 步骤 3:答案归一化(评估一致性) ----------
def normalize(text):
    text = text.lower().strip()
    text = re.sub(r"[^\w\s]", "", text)
    return text

for r in cleaned:
    r["answer_norm"] = normalize(r["answer"])
    r["is_closed"] = r["answer_type"] == "CLOSED"

with open("data/vqa_rad_clean.json", "w", encoding="utf-8") as f:
    json.dump(cleaned, f, ensure_ascii=False, indent=2)

</details>

要点:①answer_type 的尾随空格与 question_type 拼写变体不修复会让分桶统计错位;②COUNT 类答案原生为数字,直接进 tokenizer 会报类型错误;③归一化函数应在训练与评估两侧保持同一实现。

图像侧的配套处理如下(批量校验尺寸与模式,避免训练中期因个别异常图崩溃):

from PIL import Image
from collections import Counter

IMG_DIR = os.path.join(DATA_ROOT, "VQA_RAD Image Folder")
sizes, modes = Counter(), Counter()
bad = []
for r in cleaned:
    path = os.path.join(IMG_DIR, r["image_file"])
    with Image.open(path) as im:
        sizes[im.size] += 1
        modes[im.mode] += 1
        if im.size[0] < 64 or im.size[1] < 64:   # 过小图提前暴露
            bad.append(r["image_file"])
print(sizes.most_common(5))   # MedPix 截图尺寸不一,训练前统一 resize
print(modes)                  # 多数为人像二值化/灰度,统一 convert("RGB")
print(f"undersized: {len(bad)}")

(MedPix 图像为教学截图而非原始 DICOM 导出,尺寸离散是正常现象;统一 Resize 到 224×224 并转三通道即可满足主流骨干网络输入要求)

§6.4 PyTorch DataLoader

<details>
<summary>展开完整 Dataset 类 + transform + DataLoader 代码</summary>

import json, os
import torch
from torch.utils.data import Dataset, DataLoader
from PIL import Image
from torchvision import transforms

class VQARADDataset(Dataset):
    """VQA-RAD 图像-问答对数据集。

    目录结构预期:
        data_root/
        ├── vqa_rad_clean.json        # §6.3 预处理产物
        └── VQA_RAD Image Folder/     # 官方图像目录(注意空格)
    data_root 与文件名的拼接关系:os.path.join(data_root, "VQA_RAD Image Folder", image_file)
    """

    def __init__(self, data_root, split_records, tokenizer=None, max_len=32, train=True):
        self.img_dir = os.path.join(data_root, "VQA_RAD Image Folder")
        self.records = split_records
        self.tokenizer = tokenizer
        self.max_len = max_len
        # 位置类问题(POS)对左右翻转敏感,训练期增强需按类型降级(见坑点 7)
        self.train = train
        self.base_tf = transforms.Compose([
            transforms.Resize((224, 224)),
            transforms.Grayscale(num_output_channels=3),
            transforms.ToTensor(),
            transforms.Normalize(mean=[0.485, 0.456, 0.406],
                                 std=[0.229, 0.224, 0.225]),
        ])

    def __len__(self):
        return len(self.records)

    def __getitem__(self, idx):
        r = self.records[idx]
        image = Image.open(os.path.join(self.img_dir, r["image_file"])).convert("RGB")
        pixel_values = self.base_tf(image)
        if self.tokenizer is not None:
            enc = self.tokenizer(r["question"], padding="max_length",
                                 max_length=self.max_len, truncation=True,
                                 return_tensors="pt")
            question_ids = enc["input_ids"].squeeze(0)
        else:
            question_ids = r["question"]          # 自定义文本管线时返回原文
        return {
            "pixel_values": pixel_values,
            "question_ids": question_ids,
            "answer": r["answer"],
            "answer_norm": r["answer_norm"],
            "is_closed": torch.tensor(float(r["is_closed"])),
            "question_type": r["question_type_clean"],
        }

def collate_fn(batch):
    return {k: [b[k] for b in batch] for k in batch[0]}

if __name__ == "__main__":
    data_root = "data/vqa_rad"
    with open(os.path.join(data_root, "vqa_rad_clean.json"), encoding="utf-8") as f:
        records = json.load(f)
    train_recs = [r for r in records if r.get("phrase_type") != "framed"]
    ds = VQARADDataset(data_root, train_recs, train=True)
    dl = DataLoader(ds, batch_size=32, shuffle=True, num_workers=4, collate_fn=collate_fn)
    batch = next(iter(dl))
    print(batch["pixel_values"].shape)   # [32, 3, 224, 224]

</details>

§6.5 坑点清单(8 个)

以下 8 个坑点全部来自该数据集及其社区的真实失败模式(官方文档、HF 数据卡、清理记录与 GitHub issue),每条按"问题/症状/解决/参考"四段组织,解决路径按投入成本分为简单/进阶/SOTA 三档。开始调参之前通读一遍,可以省掉 VQA-RAD 上最常见的几轮返工。

⚠️ 坑点 1:版本口径混用导致评测数字不可比(分类:评估误用)

问题:官方文件 3,515 条、HF 转换版 2,248 条(去重后 2,244 条、train 1,793)、社区衍生版口径各异;不同论文的 VQA-RAD 分数建立在不同的 test 集之上,直接比较会产生系统性偏差。
症状:同一模型复现出的分数与文献相差 3-8 个点;把 HF 版 train 出的模型与 3,515 口径论文对比;Med-MoE 维护者在 issue 中确认其用 3,515 完整划分对齐而 LLaVA-Med 从未公开其 test 文件。
解决

  1. 简单方法:在实验记录中固定一个口径(推荐官方 3,064/451),并在报告开头声明 train/test 条数。
  2. 进阶方法:加载时校验 len(test) == 451 且 train+test 总数与所选版本一致,不一致直接抛错。
  3. SOTA 方法:同时维护"官方口径"与"HF 口径"两套评测脚本,报告时双列呈现并注明差异来源。
    参考Med-MoE issue #12HF 数据卡

⚠️ 坑点 2:官方划分的图像级泄漏(分类:数据泄漏)

问题:官方按问题采样而非按患者/图像切分,train 313 张与 test 203 张图像合计 516,去重后仅 314 张被引用——约 202 张图像同时出现在两侧,train 侧问答会向 test 侧"剧透"同一图像的病灶信息。
症状:模型在 test 上分数虚高;按 image_name 重建划分后 closed 准确率明显回落;同一图像在两侧的问答语义高度相关(如 train 问"什么器官系统?“test 问"该器官是否增大?”)。
解决

  1. 简单方法:复现文献时沿用官方划分并如实注明"官方划分含图像级重叠"。
  2. 进阶方法:按 image_name 做 GroupKFold 分组切分,报告分组口径作为泛化下界:
from sklearn.model_selection import GroupShuffleSplit
import json

records = json.load(open("data/vqa_rad_clean.json", encoding="utf-8"))
groups = [r["image_file"] for r in records]
gss = GroupShuffleSplit(n_splits=1, test_size=0.15, random_state=42)
train_idx, test_idx = next(gss.split(records, groups=groups))
train_set = [records[i] for i in train_idx]
test_set = [records[i] for i in test_idx]   # 同一 synpic 不再跨集
  1. SOTA 方法:双口径上报(官方口径 + 分组口径),并按 question_type 分桶展示两类口径的差值,量化"记忆 vs 泛化"。
    参考:论文 §5.0 官方划分说明、HF 数据卡重复与重叠记录

⚠️ 坑点 3:answer_type 尾随空格与问题类型拼写变体(分类:标签理解)

问题:原始文件中 answer_type 存在尾随空格("CLOSED "),question_type 存在拼写变体(ATRIB→ATTRIBUTE、PRSE→PRES、Other→OTHER)与多标签组合(如 “SIZE, PRES”),直接按字符串分桶会把同类问题拆到不同桶。
症状:closed/open 分桶统计对不上论文数字;按类型计算准确率时出现同名异桶或极小桶;str.strip() 之前 == "CLOSED" 判断恒为 False。
解决

  1. 简单方法:加载后统一 strip().upper() 并用映射表修正拼写变体。
  2. 进阶方法:多标签字段按逗号拆分后取主标签(第一个)做主分桶、全标签做次分桶。
  3. SOTA 方法:用清理版数据集(如 abhay2812 版,已修复上述问题)并在复现实验中冻结同一份修复脚本入库。
    参考abhay2812 清理记录

⚠️ 坑点 4:COUNT 类答案以数字类型存储(分类:工程陷阱)

问题:部分计数型答案在 XLSX/JSON 中以数值类型存储(如 4、12、0.05),与文本答案混在同一 answer 列;经 pandas/XLSX 通道读入时 DataFrame 列被推断为 object 与 float 混合,进入 tokenizer 或评估器时报类型错误。
症状tokenizer(answers) 抛出 float 不可迭代;评估时 str(ans) 后出现 “4.0” 与 “4” 不匹配,计数类准确率被低估。
解决

  1. 简单方法:读入后立即 df["answer"] = df["answer"].astype(str),并把 “4.0” 归一为 “4”。
  2. 进阶方法:对 COUNT 类型单独走数值通道:答案为数值时先按 float 解析再比较(容差 1e-6),文本比较作为回退。
  3. SOTA 方法:评估器实现"数值等价 + 文本归一 + 同义词表"三级匹配,并报告各通道命中率。
    参考abhay2812 清理记录第 5 条

⚠️ 坑点 5:null 答案与孤儿图像导致索引错误(分类:工程陷阱)

问题:数据集中有 1 条 answer 为 null 的记录、1 张未被任何问答引用的图像(315 张中 314 张被引用);若按"全部图像建索引 + 全部记录建样本"的惯性写法,会产生缺文件报错或空答案样本。
症状FileNotFoundError(引用了不存在文件名的衍生版本)或 DataLoader 返回 None 答案后 loss 变 NaN;统计"315 张图全被用到"的假设不成立。
解决

  1. 简单方法:加载后过滤 answer is None,并按 os.path.exists 过滤孤儿引用(§6.1 代码已内置)。
  2. 进阶方法:构建 image_name → 样本列表的倒排索引,训练前断言 len(index) <= 314
  3. SOTA 方法:在清理版数据卡中固化"质量过滤四件套"(null 答案/孤儿图像/重复三元组/类型拼写),保证实验可复现。
    参考HF 数据卡abhay2812 清理记录

⚠️ 坑点 6:开放式答案的评估器分歧(分类:评估误用)

问题:开放式答案没有唯一正确表述,不同论文分别采用 exact match、tokenized F1、LLM judge 等评估器;同一模型在不同评估器下分数可差 20 个点以上,closed 准确率高而 open 准确率低是常态(如某代模型 closed 78.8% 而 open 约 20-47%)。
症状:审稿人质疑"为什么你的 open 分数比文献低 30 个点";两篇论文对比表实际不可比;LLM judge 换版本后榜单名次翻转。
解决

  1. 简单方法:closed 子集报准确率、open 子集同时报 exact match 与 tokenized F1,注明评估器版本。
  2. 进阶方法:固定一套归一化(小写、去标点、冠词剥离)+ 同义词表,把评估脚本与数据一起开源。
  3. SOTA 方法:采用 LLM judge 时冻结模型版本与 judge prompt,抽样 100 条人工校验 judge 与人工评分的相关系数。
    参考Papers with Code 三指标定义sota2 榜单指标差异

⚠️ 坑点 7:315 张图的小数据过拟合与增强陷阱(分类:偏倚陷阱)

问题:训练集仅约 3,000 条问答对、313 张图,视觉骨干极易记住训练图;而常用的水平翻转增强会把"左肾/右肾""左侧胸腔积液"类答案直接翻转成错误标签——POSITIONAL 类问题对翻转零容忍。
症状:训练准确率 95%+ 而 test 停滞在 60% 附近;加了 RandomHorizontalFlip 后按类型评估发现 POSITIONAL/SIZE 类准确率异常下降。
解决

  1. 简单方法:禁用水平/垂直翻转与旋转;保留亮度/对比度抖动与轻度高斯噪声。
  2. 进阶方法:按 question_type 条件增强——question_type 含 POS/COUNT 时走无几何变换管线(§6.4 代码已按类型预留开关)。
  3. SOTA 方法:用医学图像预训练权重(BiomedCLIP、MedSAM encoder 等)冻结视觉骨干,仅微调融合层,把可训练参数压到 1% 以下。
    参考:论文对 MedPix 单层图像的讨论、openmedlab 收录页

⚠️ 坑点 8:问题类型长尾使分桶结论不稳定(分类:偏倚陷阱)

问题:PRESENCE 类占绝对主导,COUNT、COLOR、ATTRIBUTE、OTHER 合计占比很低;按 11 类问题类型上报时,稀少类每类仅数十条,1 条答案表述差异即可波动数个点。
症状:论文表格中稀少类准确率在相邻两版模型间大幅震荡且方向矛盾;以"COLOR 类提升 15 个点"宣称能力改进,实际仅源于十几条样本。
解决

  1. 简单方法:稀少类合并为"其他"桶,或对每类设置最小样本量阈值(≥30 条)才单独报告。
  2. 进阶方法:分组交叉验证后报告每类的均值±标准差,差异检验用 bootstrap。
  3. SOTA 方法:把 11 类按认知层级归并为感知(MODALITY/PLANE/ORGAN)、检测(ABN/PRES)、定位(POS/COUNT/SIZE/COLOR)、推理(ATTRIB/OTHER)四组报告,兼顾稳定性与可解释性。
    参考:论文 Figure 2 类型分布、SLAKE 论文对 VQA-RAD 类型统计的引用

§6.6 数据增强

类别 操作 说明
✅ 安全 亮度/对比度抖动(±10%) 模拟扫描条件差异,不改变语义
✅ 安全 轻度高斯噪声/模糊 提升对压缩伪影鲁棒性
✅ 安全 随机裁剪后 resize(幅度 ≤10%) 保持主要解剖结构完整
❌ 危险 水平/垂直翻转 左右侧别与上下解剖关系反转,POSITIONAL 类答案直接失效
❌ 危险 大角度旋转 轴位影像有固定方向约定(患者左=图像右),旋转破坏先验
❌ 危险 CLAHE 强增强 可能放大噪声使"是否强化"类判断失真
❌ 危险 混合(Mixup/CutMix)跨图混合 破坏"一图一患者"的临床语义,答案失去唯一性

增强策略的取舍逻辑可以概括为一句话:凡是不改变"左右/上下/计数/强化"语义的操作都可安全使用。VQA-RAD 的图像是灰度教学影像,光度类增强收益有限但无害;几何类增强几乎全部踩雷(轴向影像的方向约定);而在文本侧,对 question 做同义词替换式增强需谨慎——数据集本身已经用 paraphrase 提供了"真实人写的同义改写",合成改写很难比它更贴近临床语言。

§6.7 模型推荐

模型 类型 适用场景 VQA-RAD 参考表现
SAN / BAN 经典注意力融合 快速基线、消融实验 overall 46.3% / 53.7%(MuVAM 论文口径)
MEVF / MMQ 元学习/去噪增强 小数据正则研究 overall 60.7% / 67.0%
MuVAM / Med-VQA 词-图关系建模 措辞-视觉关联研究 overall 72.2% / 71.6%(各自论文口径)
LLaVA-Med 医学指令微调 LMM 开放式问答、报告式输出 overall 62.6%(Chiron-o1 论文口径)
Med-Flamingo few-shot 多模态 零/少样本能力对照 overall 45.4%(Chiron-o1 论文口径)
HuatuoGPT-Vision-34B 大规模医学 LMM 追求上限的封闭式/开放式双评测 overall 68.1%
MedGemma 4B 轻量医学多模态 端侧/低算力部署 Tokenized F1 49.9(2025-07);closed accuracy 69.1(2026-06 榜单)
Qwen2-VL 系列 + LoRA 通用 LMM 微调 自定义管线与消融 社区微调脚本活跃(HF 上多个衍生模型)

选型时的两条经验:①在 VQA-RAD 这种 3,000 条级训练集上,“更大的模型"并不自动等于"更高的分数”,冻结视觉骨干 + 微调融合层往往优于全参微调(小数据过拟合主导瓶颈,见坑点 7);②若最终目标是开放式报告生成,请在 SLAKE 或 PathVQA 上并评——VQA-RAD 的开放式子集只有约 600 条,分数噪声偏大。

从榜单时间线看,2018-2020 年经典融合模型把 overall 从 46%(SAN)推到 60%(MEVF),增益主要来自更好的视觉-语言对齐与元学习正则;2021-2022 年的 MuVAM/Med-VQA/MMQ 一代通过词图关系与噪声标注处理逼近 72%;2023 年后 LMM 一代在开放式子集上的改善最为显著,但总体分数的提升趋缓——因为 closed 子集已接近该数据规模的饱和区,天花板更多受"315 张图的视觉多样性"限制而非模型架构。给使用者的预期管理:新架构在 closed 上挤出的最后几个点,未必能迁移到真实影像。

§6.8 硬件需求

场景 显存 建议配置
SAN/BAN 经典基线训练 8 GB 单张消费级 GPU,小时级完成
2-7B LMM LoRA 微调 24 GB 单卡 A10/4090,3,515 条数据数小时收敛
7B LMM 全参微调 80 GB A100/H100 单卡或多卡 ZeRO-2
推理型医学 LMM 复现(Chiron-o1 级) 40-80 GB 建议直接使用开源权重推理评测
批量评测(含 LLM judge) 16 GB + API 本地推理 + judge API 配额预估 1 万次调用内

预算口径说明:训练显存按 batch 32、图像 224×224 估算;LMM 微调按 LoRA(rank 16-64)估算,全参微调 7B 级仍需 A100/H100。由于数据集仅约 40 MB、3,515 条样本,磁盘与数据加载通常不是瓶颈,瓶颈集中在显存与推理时长——451 条 test 的 LMM 评测在单张 A10 上约需 10-20 分钟(取决于生成长度),是构建自有评测循环时可以放心迭代的规模。

§6.9 评估指标代码

以下评估器与 §6.3 的归一化函数配套使用,一次运行同时产出 closed/open/overall 与按类型分桶四组数字,覆盖 Papers with Code 三指标体系:

from collections import defaultdict

def evaluate(records, preds):
    """records: 含 answer_norm / is_closed / question_type_clean 的列表;preds: 归一化预测"""
    closed_hit, closed_n, open_hit, open_n = 0, 0, 0, 0
    by_type = defaultdict(lambda: [0, 0])          # type -> [hit, n]
    f1_num = f1_den = 0
    for r, p in zip(records, preds):
        t = r["question_type_clean"]
        by_type[t][1] += 1
        if r["is_closed"]:
            closed_n += 1
            if p == r["answer_norm"]:
                closed_hit += 1
                by_type[t][0] += 1
        else:
            open_n += 1
            pt, gt = set(p.split()), set(r["answer_norm"].split())
            if p == r["answer_norm"]:
                open_hit += 1
                by_type[t][0] += 1
            f1_num += 2 * len(pt & gt)
            f1_den += len(pt) + len(gt)
    return {
        "closed_acc": closed_hit / max(closed_n, 1),
        "open_em": open_hit / max(open_n, 1),
        "open_token_f1": f1_num / max(f1_den, 1),
        "overall": (closed_hit + open_hit) / max(len(records), 1),
        "per_type": {t: h / max(n, 1) for t, (h, n) in by_type.items()},
    }

(closed 准确率对应 Papers with Code 的 Close-ended Accuracy;open 建议同时报 EM 与 tokenized F1,见坑点 6)

使用这份评估器时的三个约定:①所有比较方必须在同一份 answer_norm 上运行(归一化实现入库、版本固定);②per_type 输出是诊断模型行为的核心视图——感知类低分提示视觉编码问题,定位类低分提示空间推理或增强污染,开放式低分提示语言生成或评估问题;③closed 与 open 的样本量不同(约 878 vs 637,free-form 口径),overall 是加权结果而非两者平均,报告时避免混写。

§6.10 MLOps 笔记

VQA-RAD 的工程风险不在规模而在口径:以下五条实践专为"多人、跨月、跨模型的可比性"设计:

  • 数据版本化:把所用版本口径(OSF 3,515 / HF 2,244)写入 DVC 或 MLflow run tag;评估结果不标注口径的 run 一律视为无效。
  • 评估固化:§6.9 的评估器与归一化函数入库并加单元测试,保证跨实验可比;预测文件(predictions.jsonl)随 run 归档,任何分数可回算。
  • 监控漂移:模型上线后按 question_type 分桶监控错误率;POSITIONAL 类错误率上升往往提示预处理管线被改动(如引入了翻转)。
  • 合规留痕:CC0 许可免除了授权负担,但生产系统仍需留存"训练数据来自开放教学病例、非临床数据"的声明,避免下游误用于真实诊断。
  • 复现实验卡:建议为每个实验维护一行"版本口径 / 清理脚本哈希 / 划分方式 / 评估器"四元组;VQA-RAD 的历史口径碎片化(§3.0)使这四个字段成为复现的最低充分信息。
训练/评测 VQA-RAD 的推荐自查 状态检查 对应本页
固定了版本口径并写入实验记录 train+test 条数与所选版本一致 §3.0、坑点 1
执行了清理四件套 无 null/孤儿/重复/拼写残留 §6.3、坑点 3-5
明确了划分语义 官方口径 or 分组口径,二选一或双报 §5.3-§5.4、坑点 2
冻结了评估器 归一化 + 指标 + judge 版本入库 §6.9、坑点 6
增强未破坏左右语义 POSITIONAL 类无翻转增强 §6.6、坑点 7
分桶报告含最小样本量 稀少类合并或注明宽置信区间 §4.2、坑点 8

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
来源偏倚 全部图像来自 MedPix 教学病例库,构图与病变典型度高于常规临床影像 在真实院内影像上复测;报告中注明教学域来源
标注者偏倚 标注者为受训者而非资深放射科医师,个别答案精度有限 亚专科问题的人工抽检;避免把答案当确诊金标准
类型长尾 PRESENCE 主导,COUNT/COLOR/ATTRIBUTE 稀少 合并稀少桶;bootstrap 置信区间
划分泄漏 官方划分约 202 张图像跨 train/test 分组口径双报告(坑点 2)
模态不平衡 CT/MRI 均为单层轴位,无体数据与序列信息 不外推到 volumetric 任务结论
规模偏倚 315 图难以支撑大模型充分微调 参数高效微调 + 医学预训练权重

这六类偏倚的作用机制并不等价:来源偏倚与规模偏倚是结构性的(无法靠清洗修复,只能靠外部数据对冲);标注者偏倚与类型长尾是统计性的(可通过加权、分层采样缓解);划分泄漏与模态不平衡则是协议性的(靠正确的实验设计规避)。实验报告中若只处理协议性问题而宣称解决泛化,属于常见的范围夸大;反之,在官方口径上取得的分数也不应被自动贴上"不可信"标签——它测的是"同图问答连续性",一种在检索式临床助手场景下真实存在的能力。

§7.2 标注质量

问答对全部经人工验证并归类,上游图注由专家放射科医师撰写审核,整体质量在小规模人工数据集中属上乘;但需注意三点:①标注者为 15 名受训者,论文未报告标注者间一致性系数;②开放式答案存在表述多样性(同一答案可有多种正确短语),使评估天然依赖评估器选择;③已知的 1 条 null 答案与 4 个重复三元组说明文件级质检未完全自动化,使用前应执行 §6.3 的过滤管线。

从标注协议设计看,有两个值得肯定的细节:其一,"先自由提问、后标准化"的两段式流程兼顾了语言自然度与数据可用性,这也是 paraphrase/framed 变体得以系统产生的原因;其二,问题分类法不是拍脑袋设定,而是从 TDIUC 通用类别、MedPix 放射报告与 CME 题库(MedPix、AuntMinnie、Radiopaedia)三源归纳再迭代,因此 11 类边界总体清晰。局限在于:答案粒度不统一(“yes” 与 “there is a small effusion” 混在同一答案列),且没有答案同义词表,做严格 EM 评估时需要自行补充归一化词表。

§7.3 泛化性

场景 失效风险 证据
真实院内 X 线/CT 教学风格差异导致分布偏移,分数回撤 图像全部来自 MedPix 教学库(论文 Methods)
volumetric/序列输入 数据集无体数据,模型无 3D 推理训练信号 论文明确以"一图一问"为设计起点
非英语临床环境 问题与答案均为英文 HF 数据卡 Languages: en
跨体区迁移 单类问题类型在稀少桶上样本不足 类型长尾分布(论文 Figure 2)
对抗性措辞 paraphrase 配对显示同义改写即导致分数波动 官方设计 paraphrase 子集用于考察该风险
儿科/罕见病影像 教学病例以成人常见病为主,稀病谱覆盖不足 论文未声明儿科/罕见病覆盖,问答以常见教学要点为轴

需要特别提示"分数外推"风险:在 VQA-RAD test 上取得 75% 的模型,不代表在真实院内数据上仍有同等表现——教学影像的构图标准化(居中、裁剪干净、无体位伪影)会系统性抬高感知类问题的难度上限。合理的表述方式是"在 VQA-RAD 基准上达到 X",并附分组口径与外部数据集结果。

§7.4 伦理

图像源自公开的 MedPix 教学病例库,发布时按唯一病例采样并要求无放射标记;分布式文件不含患者标识、日期或人口学元数据;作者声明无利益冲突。以 CC0 1.0 发布意味着法律层面无使用限制,但研究者在构建面向真实患者的系统时,仍需独立完成伦理审查与监管合规,不能以"数据集本身开放"替代临床数据使用的伦理程序。

两点延伸提醒:其一,MedPix 原病例页可能包含比 VQA-RAD 发布文件更丰富的病例文本(病史、讨论),回溯使用这些信息时属于对 MedPix 的二次使用,应遵守 MedPix 自身的条款与学术规范;其二,问答内容本身可能反映标注者的判读习惯与局限(受训者水平),把答案作为"临床真值"用于训练决策系统时,应在系统文档中说明这一证据等级。

§7.5 公平性

数据集不随附患者人口学信息(年龄、性别、种族均未披露),无法进行亚组性能审计;教学病例库的人群构成亦不代表任何目标部署人群。在公平性敏感的应用中,应将 VQA-RAD 视为"方法开发集"而非"性能证据集"。若研究需要人口学分桶评估,可行路径是按 image_name 回溯 MedPix 病例页获取病例级文本信息(部分病例含年龄/性别描述),但这属于二次挖掘,需单独评估其合规边界,且无法覆盖全部 315 例。

§7.6 数据漂移

数据集于 2018 年冻结,影像采集技术与报告惯例早于深度学习医学影像的普及(更早于 photon counting CT 等新技术);其问答语言风格对应 2018 年前的教学习惯。用它评测的现代 LMM 面临双向漂移:数据风格老于真实临床,模型能力新于数据设计。社区尚未发布官方"刷新版",跨代模型对比时应假设存在 1-3 个点的时代噪声。

实际操作中,漂移主要通过两个通道显现:一是问题措辞漂移——现代论文常以自有 prompt 模板重新表述问题再测试,此时测的已不完全是原始数据分布;二是答案集覆盖漂移——LLM 时代的开放式生成可能产出正确但不在参考答案表述内的回答,tokenized F1 与 LLM judge 正是为缓解这一漂移而生。监测漂移的实用做法是保留一小批(如 50 条)官方格式问答作为"锚点集",每次管线变更后重跑,锚点分数波动超过 2 个点即触发审查。

§7.7 DAIMS 24 项质检

下表按 DAIMS 检查单逐项评估 VQA-RAD,状态取值 ✅(达标)/ ⚠️(部分达标或需使用者补齐)/ ❌(不达标且无官方补救):

# 检查项 状态 说明
1 宽格式 单主表(JSON/XLSX/XML 三形态同构),一行一问答对
2 唯一标识 qid 全局唯一;image_name 关联图像
3 特殊字符 ⚠️ answer_type 尾随空格、question_type 拼写变体需清洗
4 重复行 4 个重复三元组(3 个 train 重复 + 1 个跨 train/test)
5 缺失编码 ⚠️ 1 条 null 答案,未使用哨兵值
6 标签标识 answer_type / question_type / phrase_type 三层标签齐备
7 罕见类分组 ⚠️ COUNT/COLOR/ATTRIBUTE 每类仅数十条
8 偏倚评估 论文 Figure 2 主动分析类型×开闭式分布
9 数据字典 Readme.docx 定义字段与官方划分方法
10 信息性缺失解释 null 答案无任何官方说明
11 设备记录 无采集设备参数
12 共线性 非表格特征数据,无共线性风险
13 编码映射 ⚠️ 部分衍生版图像引用为完整 MedPix URL,需提取文件名
14 时间戳处理 无任何时间戳字段
15 划分建议 官方提供划分方法并建议按 phrase_type 隔离
16 泄漏讨论 ⚠️ 官方提示配对偏倚,但图像级重叠需使用者自行发现
17 标签分布 类型/开闭式/体区分布均有公开统计
18 测量偏倚 ⚠️ 受训者标注且无一致性系数报告
19 外部验证建议 本页 §7.8 提供矩阵与协议
20 版本记录 ⚠️ 官方无版本号,社区衍生版本口径不一
21 预处理脚本 ⚠️ 官方无脚本;社区清理版可替代
22 合规要求 CC0 1.0,无申请与协议负担
23 多模态对齐 每条问答严格挂接单一图像
24 去标识化 教学病例公开来源,无直接标识符

DAIMS 评分:16 / 24(✅ 12 项、⚠️ 8 项、❌ 4 项)

评分解读:VQA-RAD 在"结构清晰、标签体系完备、许可零门槛"三项上表现突出,反映其论文级数据工程的水准;失分集中在"文件级质检(重复行/null)缺位、无时间戳与设备记录、无官方预处理脚本与版本管理"——这些都是 2018 年数据集的通病,而非设计缺陷。与同代数据集相比,它的标签维度(类型/开闭式/措辞三套体系)远超同期水准,这是 16/24 中"高质量 12 分"的主要构成;扣分项几乎全部属于"可用脚本一次性修复"的工程债,而非不可逆的数据缺陷。

对你意味着什么:①直接用可跑通,但动手前先执行 §6.3 过滤四件套(null/孤儿/重复/拼写),大约 10 分钟即可把 ⚠️/❌ 项消掉一半;②任何跨论文对比前先固定口径(坑点 1),否则一切分数讨论无意义;③若要把结论外推到真实临床,请在分组划分口径下复测一遍(坑点 2),官方口径只用于文献对齐;④若你的下游需要时间戳、设备参数或人口学信息做分层,此数据集无法支撑(❌ 项),请组合携带元数据的院内数据集。

§7.8 外部验证矩阵

下表汇总同行评审文献中"VQA-RAD 与外部数据集对照"的代表性结果,用于回答一个高频问题:在 VQA-RAD 上的分数换一个数据集还成立吗?矩阵收录原则:只录有明确论文出处的对照数字,转引关系在表后注明。

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
SLAKE(VQA-RAD↔SLAKE 双向) 北大深医研团队(ISBI 2021) 医学 VQA overall 准确率 GMAI-VL:VQA-RAD 66.3 vs SLAKE 72.9 跨数据集落差约 6.6 点 更大规模双语数据上分数更高,VQA-RAD 小数据是瓶颈之一
PathVQA 加州大学(CVPRW 2020) 病理 VQA(同模型跨域) Med-Flamingo:VQA-RAD 45.4 vs PathVQA 54.7 反向更高约 9.3 点 few-shot 模型对病理图注式问答适配更好
PMC-VQA 生数科技等(2023) 通用医学 VQA HuatuoGPT-Vision-34B:VQA-RAD 68.1 vs PMC-VQA 58.2 VQA-RAD 高约 9.9 点 小数据集 closed 比例高,整体分数天然占优
通用多模态评测 MMMU(H&M) MMMU 团队(2023) 跨域健康问答 GMAI-VL:VQA-RAD 66.3 vs MMMU 51.3 VQA-RAD 高约 15 点 医学专用微调在域内小集收益最大

(表中数字转引自 Chiron-o1 论文对比表与其原始论文;跨数据集分数受答案空间与题型分布影响,仅供相对参考)

矩阵的读法:关注相对变化的符号与幅度而非绝对值。VQA-RAD 上"closed 高、open 低、总体受小数据压制"是普遍模式——GMAI-VL 在 SLAKE 上比 VQA-RAD 高 6.6 点,说明后者的规模瓶颈;HuatuoGPT-Vision 在 VQA-RAD 上比 PMC-VQA 高 9.9 点,说明封闭式占比高的数据集天然抬分。任何"我们的模型在 VQA-RAD 上超过文献 X 点"的宣称,都应先核对是否换了口径或评估器。


§8 基准性能与生态

§8.1 排行榜

经典基线与代表性模型在 VQA-RAD test 上的总体准确率(overall accuracy):

阅读此表前请先接受一个前提:这是一张"多口径叠加"的榜单。带 * 的行来自 2020-2022 年的系列论文,基本共享官方 451 条 test 与 EM 评估器,横向可比性较好;不带 * 的 LMM 行来自各自论文的评测组合,test 文件与评估器各异,只能作为量级参考。表中保留两代模型的对比正是为了呈现这种不可比性本身——它比任何单一数字都更能说明医学 VQA 评测的现状。

排名 模型 性能 年份 关键技术 完整引用 代码
1 Chiron-o1-2B 75.4 2025 医学推理链 + 课程强化 Xie et al., 2025, NeurIPS 2025(医学多模态推理模型 Chiron-o1) 开源
2 ChestX-Reasoner 70.9 2025 胸片报告监督推理 Chen et al., 2025(ChestX-Reasoner,医学多模态推理) 开源
3 HuatuoGPT-Vision-34B 68.1 2024 医学视觉指令微调 Chen et al., 2024, arXiv:2406.19280 开源
4 GMAI-VL 66.3 2024 通用医学 AI 视觉语言模型 Li et al., 2024, arXiv:2411.14522 开源
5 MuVAM 72.2* 2021 多视图注意力 + 元学习 Zhao et al., 2021, arXiv:2107.03216 需申请
6 Med-VQA(QCR+TCR) 71.6* 2021 条件推理框架 Wu et al., 2021(Medical VQA via conditional reasoning) 需申请
7 MMQ 67.0* 2022 多模态元标注 Liu et al., 2022(MMQ:large-scale noise-robust meta annotation) 需申请
8 LLaVA-Med 62.6 2023 医学视觉指令微调(LLaVA 系) Li et al., 2023, NeurIPS 2023, arXiv:2306.17100 开源
9 MEVF 60.7* 2020 元学习 + 去噪自编码 Vu et al., 2020(MEVF,medical VQA 元学习) 需申请
10 Med-Flamingo 45.4 2023 few-shot 医学多模态 Moor et al., 2023, arXiv:2307.08041 开源

⚠️ 数值不可直接比较的原因:①test 口径不一(带 * 者沿用官方 3,515 口径的社区复现,LLaVA-Med 系工作 test 文件未公开,见坑点 1);②开放式评估器不同(exact match / tokenized F1 / LLM judge);③部分模型在更大的组合数据(SLAKE+PathVQA+VQA-RAD 联训)上评估。原论文基线:MCB closed 60.6% / open 25.4%,SAN closed 57.2% / open 24.2%;SAN overall 46.3%、BAN overall 53.7%(MuVAM 口径)。

§8.2 SOTA 总结与选型建议

VQA-RAD 的能力天花板在 2025 年前后被推理型医学多模态模型推到约 75% 总体准确率;封闭式子集在高世代模型上普遍超过 75%,而开放式子集长期徘徊在 20-50% 区间,评估器选择是主要噪声源。选型建议:资源受限或需要可解释中间步骤 → Chiron-o1/MedGemma 4B 级小模型微调;开放式报告式输出研究 → LLaVA-Med/HuatuoGPT-Vision 系;经典方法论文或消融实验 → BAN/MEVF 基线仍具引用价值。

§8.3 评测协议

社区通行协议:官方 3,064/451 划分;closed 子集报 accuracy、open 子集报 accuracy(EM)与 tokenized F1、总体报 accuracy;答案归一化(小写、去标点);现代 LLM 评测逐步转向 LLM judge(需冻结 judge 版本)。Papers with Code 榜单维护 Close-ended Accuracy / Open-ended Accuracy / Overall Accuracy 三指标(榜单链接)。

新一代基座的评测出现了第三种口径:以 tokenized F1 或 LLM judge 取代 EM 作为开放式主指标(MedGemma 技术报告采用 Tokenized F1,2025-07 榜单最优 49.9;Med-Gemini 在 closed accuracy 上报 78.8,2026-06 榜单)。三套指标并存意味着:跨论文比较时应至少对齐"test 口径 + 开放式指标"两件事,缺一即不可比(见坑点 1 与坑点 6)。若需自建榜单,建议同时记录三列并保存预测文件哈希,保证任何一条记录可复算。

数据集 规模 模态 与 VQA-RAD 关系
SLAKE 642 图 / 14,028 对 多体区放射影像 双语 + 分割标注的加强版对照
PathVQA 4,998 图 / 32,799 对 病理图像 自动生成问答的大规模对照
VQA-Med 2019 4,200 图 / 15,292 对 放射影像 同团队(NLM)竞赛系列,题式一致
VQA-Med 2021 5,500 图 / 5,500 对 放射影像 加入 VQG 任务与自监督赛道

选择相关数据集做组合实验时的一个重要区别:SLAKE 与 VQA-Med 系同属"放射影像问答",与 VQA-RAD 构成同域增强;PathVQA 属于病理域,跨域迁移价值在于考察"医学视觉语言"的共性成分。ImageCLEF/VQA-Med 系列由同一团队(NLM 的 Ben Abacha 等)主导,题型设计明显承袭 VQA-RAD 的四类骨架(模态/平面/器官/异常),对照阅读两者的任务定义文档对理解医学 VQA 的任务演化很有帮助。

§8.5 关键论文 Top 8

以下 8 篇构成理解 VQA-RAD 及其生态的最短阅读路径:前 5 篇解释"任务与模型如何演化",后 3 篇解释"数据集如何演化":

  1. Lau et al., 2018, Scientific Data. DOI: 10.1038/sdata.2018.251 — VQA-RAD 原始论文:首个纯人工临床问答数据集的设计、构建与基线验证;任何使用该数据集的工作必引。
  2. Antol et al., 2015, ICCV. DOI: 10.1007/s11263-016-0966-6 — 通用 VQA 任务与 VQA 数据集奠基,VQA-RAD 的任务范式来源;理解"一图一问"结构设计必读。
  3. Goyal et al., 2017, CVPR — VQA 2.0 与语言先验校正,VQA-RAD 问题类型学(TDIUC)的参照系;解释了为何要控制"猜答案"捷径。
  4. Yang et al., 2016, CVPR — Stacked Attention Networks(SAN),VQA-RAD 官方基线之一;经典论文复现的起点。
  5. Kim et al., 2018, NeurIPS — Bilinear Attention Networks(BAN),医学 VQA 长期主流骨干;SLAKE/MuVAM 时代的默认对比项。
  6. Ben Abacha et al., 2019, ImageCLEF/VQA-Med — 同团队竞赛系列,把 VQA-RAD 题式扩展为万人规模基准;医学 VQA 任务定义的官方延续。
  7. Liu et al., 2021, ISBI — SLAKE:双语语义标注数据集,与 VQA-RAD 构成互补评测对;需要语义监督(分割/知识图谱)时的首选。
  8. Li et al., 2023, NeurIPS. arXiv:2306.17100 — LLaVA-Med:把 VQA-RAD 纳入指令微调组合的里程碑,开启 LMM 时代评测惯例;其 VQA-RAD 评估口径的争议也极具教学意义(坑点 1)。

§8.6 社区活跃度

截至 2026-09:论文被引 912+(Google Scholar);Hugging Face 转换版月下载约 9,570 次,其上衍生出 8 个以上微调模型(Idefics2、LLaVA-Med、Qwen2.5-VL、Moondream 等)与 9 个在线 Demo 空间;Papers with Code 榜单持续更新(MedGemma 系 2025-2026 年仍有新提交);Med-MoE、PromptMRG 等开源项目把 VQA-RAD 作为标准评测集并留下活跃 issue 讨论(口径与评估协议是最热话题)。

按年份的引用节奏(Google Scholar 截至 2026-09)显示该数据集的热度在 2023 年 LMM 兴起后不降反升:医学多模态论文的默认实验表使 VQA-RAD 成为"每篇必测"的常驻列。对小数据集而言,这种"低成本可测性"是生命力的关键——451 条 test 的评测成本接近于零,而它恰好卡在"感知+定位"这个所有医学 LMM 都必须证明的能力层。

§8.7 生态快照

资源 类型 链接 热度(截至 2026-09) 推荐理由
OSF 官方归档 官方数据 osf.io/89kps 唯一权威源 3,515 全量口径与官方 Readme
flaviagiammarino/vqa-rad HF 数据集 Hugging Face 月下载约 9,570 一行加载、含图像 bytes
abhay2812/vqa-rad HF 清理版 Hugging Face 社区新近 保留全部元数据并修复已知数据问题
vqa-rad-with-bert GitHub 划分版 Nana2929/vqa-rad-with-bert 被 Med-MoE 等采用 3,515 口径 train/test JSON
Papers with Code 榜单 排行榜 PwC 持续更新 三指标排行与论文入口
MedPix® 上游病例库 medpix.nlm.nih.gov 持续运营 按 image_name 回溯病例上下文

生态使用的三条路线建议:原型验证走 HF(最快);论文复现走 OSF + 社区 3,515 划分(最可比);细粒度分析或数据质量研究走 abhay2812 清理版(元数据最全)。三条路线都免费,切换成本只有一套加载脚本——建议在仓库里同时维护三套 loader 并用同一接口封装,实验配置里显式声明当前路线。


§9 相关资源与引用

§9.1 官方资源

§9.2 BibTeX 引用

@article{lau2018dataset,
  title     = {A dataset of clinically generated visual questions and answers about radiology images},
  author    = {Lau, Jason J and Gayen, Soumya and Ben Abacha, Asma and Demner-Fushman, Dina},
  journal   = {Scientific Data},
  volume    = {5},
  pages     = {180251},
  year      = {2018},
  publisher = {Nature Publishing Group},
  doi       = {10.1038/sdata.2018.251}
}

如需同时引用数据存档:

@data{lau2018osf,
  author = {Lau, Jason J and Gayen, Soumya and Demner-Fushman, Dina},
  title  = {VQA-RAD dataset},
  year   = {2018},
  doi    = {10.17605/OSF.IO/89KPS},
  url    = {https://osf.io/89kps/}
}

两条引用均与 PubMed/OSF 官方署名一致:论文四作者按原序排列,数据存档引用沿用 OSF 数据引用页的作者列表。期刊名 Scientific Data 建议保持全称,勿缩写为 Sci Data,以免中文编辑部统一格式时产生二次修改。

§9.3 引用指南

使用 VQA-RAD 发表成果时:①引用原始论文(上述第一个 BibTeX);②在实验细节中明确写出所用版本口径(3,515 全量 / 2,244 HF 去重)与 test 集条数(451);③开放式结果注明评估器(EM / tokenized F1 / LLM judge 及版本);④若使用社区清理版或衍生划分,同时引用对应资源。

使用场景 必引 建议加注
直接在官方划分上评测 lau2018dataset test 451 条、官方口径、评估器版本
使用 HF 转换版训练 lau2018dataset + HF 数据卡 train 1,793/2,244 口径说明
使用清理版或自定义划分 lau2018dataset + 对应资源 清理脚本链接与划分方式
跨数据集联合训练 lau2018dataset + SLAKE/PathVQA 论文 各数据集配比与答案空间处理

一条工程习惯供参考:把"数据来源 + 版本口径 + 清理哈希 + 划分方式 + 评估器版本"五元组写进论文附录或代码仓库 README,可以预先消解 90% 的复现质询——这在 VQA-RAD 这种口径碎片化的基准上尤其有效。


§10 AI 使用声明卡

§10.1 AI 模型列表

本页面的撰写与整理使用了大语言模型辅助(文本组织、代码示例生成、格式校对),未使用 AI 生成图像或伪造实验数据。AI 参与遵循"检索有源、数字有据、观点可溯"三原则:所有事实性内容先经 WebSearch 检索并在 §10.3 登记来源,再由 AI 组织行文;无来源支撑的信息一律省略。

§10.2 AI 参与范围

  • ✅ 章节结构组织与行文润色
  • ✅ 基于 WebSearch 检索结果的事实汇总与交叉核对
  • ✅ 代码示例(§6.1/§6.3/§6.4/§6.9)的编写与风格统一
  • ✅ 表格整理与 DAIMS 自检状态初评
  • ✅ 基准数字的来源标注与口径差异分析
  • ❌ 未使用 AI 生成任何未经来源支撑的规模数字或基准分数
  • ❌ 未使用 AI 推断患者信息或补全数据集中不存在的元数据

§10.3 输入来源列表

  1. Lau JJ, Gayen S, Ben Abacha A, Demner-Fushman D. A dataset of clinically generated visual questions and answers about radiology images. Scientific Data. 2018;5:180251. doi:10.1038/sdata.2018.251
  2. Lau JJ, et al. VQA-RAD dataset. Open Science Framework. 2018. doi:10.17605/OSF.IO/89KPS. https://osf.io/89kps/
  3. PubMed 收录页(PMID: 30457565). https://pubmed.ncbi.nlm.nih.gov/30457565/
  4. Hugging Face Dataset Card — flaviagiammarino/vqa-rad. https://huggingface.co/datasets/flaviagiammarino/vqa-rad
  5. Hugging Face 清理版与讨论 — abhay2812/vqa-rad. https://huggingface.co/datasets/abhay2812/vqa-rad/discussions/1/files
  6. Papers with Code — VQA-RAD 数据卡与排行榜. https://paperswithcode.com/dataset/vqa-rad
  7. Papers with Code Benchmark — Medical VQA on VQA-RAD. https://paperswithcode.co/benchmark/vqa-rad
  8. openmedlab/Awesome-Medical-Dataset — VQA-RAD 收录页. https://github.com/openmedlab/Awesome-Medical-Dataset/blob/main/resources/VQA-RAD.md
  9. Zhao et al. Medical Visual Question Answering(MuVAM). arXiv:2107.03216. https://arxiv.org/pdf/2107.03216.pdf
  10. Frontiers in AI 机器学习综述(2024)— VQA-RAD/SLAKE/PathVQA/VQA-Med 规模统计. https://www.frontiersin.org/articles/10.3389/frai.2024.1430984
  11. Springer Nature Discover Applied Sciences(2026)— VQA-RAD 基线 MCB/SAN 数字引述. https://link.springer.com/article/10.1007/s44163-026-01011-x
  12. Med-MoE GitHub issue #12 — VQA-RAD 评估口径讨论. https://githubissues.com/jiangsongtao/Med-MoE/12
  13. sota2.com — VQA-RAD 榜单(Med-Gemini/RadGrounder 等,2026). https://www.sota2.com/research/sota/medical-visual-question-answering-on-vqa-rad-10
  14. Chiron-o1 论文对比表(2025). https://ima.qq.com/wiki/?shareId=ba386a5cd2775c74e1d484d14e7b51582018980d8f04c4b705484cfe8a9077cd
  15. Google Scholar 引用统计(截至 2026-09). https://scholar.google.hr/citations?citation_for_view=iZEdPAEAAAAJ%3A9yKSN-GCB0IC
  16. ICD-11 中文版(维基文库)与家庭大健康 ICD-11 编码解析(8B11/BC45/CA40). https://zh.wikisource.org/wiki/国际疾病分类第十一次修订本(ICD-11)中文版

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
§2 医学背景(ICD-11/SNOMED 映射) 千方病案医学编辑部 对照 ICD-11 中文版与 SNOMED 概念逐条核对 ✅ 已通过/已验证
§3-§4 规模数字与字段字典 千方病案医学编辑部 对照论文、HF 数据卡、openmedlab 三源交叉 ✅ 已通过/已验证
§5 划分与泄漏分析 医疗 AI 数据工程师 复算 train/test 图像重叠数字 ✅ 已通过/已验证
§6 坑点与代码 医疗 AI 数据工程师 溯源 issue/清理记录并代码走查 ✅ 已通过/已验证
§7 DAIMS 24 项 千方病案医学编辑部 逐项对照官方文档与社区证据 ✅ 已通过/已验证
§8 基准数字 千方病案医学编辑部 溯源至原论文/榜单并标注口径差异 ✅ 已通过/已验证
§9 BibTeX 千方病案医学编辑部 与 PubMed/OSF 官方引用格式比对 ✅ 已通过/已验证
§10 AI 使用声明 千方病案医学编辑部 逐条核对来源列表与检索快照 ✅ 已通过/已验证

§10.5 AI 生成章节标注

全部章节由 AI 辅助起草,经人工交叉审核后发布;其中 §1.0/§1.2/§7.7 的解读性文字为 AI 组织、人工审定的观点性内容。事实性内容(规模数字、划分口径、基准分数、坑点来源)均可通过 §10.3 来源列表回溯到原始出处;观点性内容(选型建议、评分解读、生态判断)代表编辑部的编辑立场,欢迎读者以新证据修正。

§10.6 最后人工审核日期

2026-09-05(与 §0 审核日期一致)

审核范围说明:本次人工审核覆盖全文 11 个正文章节与 JSON-LD 块,重点核对了规模数字(315/3,515/451)、版本口径矩阵、ICD-11/SNOMED 编码、DAIMS 24 项状态与 8 个坑点的来源可溯性;引用类数字(被引 912+、月下载 9,570)以检索日 2026-09-08 的快照为准,后续维护时应按"截至 YYYY-MM"格式滚动更新。

页面状态:published(全部内容已完成审核并发布)

返回 AI-Ready 数据集