腹部 CT 肿瘤三维问答基准 — 两名放射科医生都只答对一半

438K QA 对 / 3D 体积 / 42 个临床亚型

来源 https://huggingface.co/datasets/tumor-vqa/DeepTumorVQA_2.0发布时间: 2026-10-26最后更新: 2026-10-26 阅读 5
腹部 CT 肿瘤三维问答基准 — 两名放射科医生都只答对一半

信息速览

数据集名称腹部 CT 肿瘤三维问答基准 — 两名放射科医生都只答对一半
数据类型人工标注,配对报告,元数据,原始影像
规模9,262 个 CT 体积(训练池八千三百余例 + 基准 991 例,官方称同一批 AbdomenAtlas 病例)
接入方式https://huggingface.co/datasets/tumor-vqa/DeepTumorVQA_2.0
AI 就绪度

腹部 CT 的读片从来不是一句话的事。放射科医生面对一叠横断面,先扫一遍找异常,再在三维里量出长径、体积、密度,然后判断这个体积够不够大、位置偏不偏、和周围器官什么关系,最后才落到「像不像胰腺导管腺癌」这类结论上。DeepTumorVQA 2.0 做的事情,是把这条链路上的每一环拆成一道可以单独打分的题,让模型在同一条证据链上逐级暴露短板。

这个基准由约翰斯·霍普金斯大学 Yuille 实验室与 Schuture 团队完成,Hugging Face 组织 tumor-vqa 下发布 2.0 版。问答拆成识别、测量、视觉推理、医学推理四个阶段、42 个临床亚型,约 43.8 万个问答对,配 9,262 个 CT 体积;问答标注用 CC-BY-4.0,底层影像沿用上游许可。它的野心不在「再刷一个总分」,而在于把「模型到底卡在哪一步」变成可测量的量。

如果只看一个数字:两名执业放射科医生在一份 200 道的分层子集上盲答,一位答对 45.0%,一位答对 54.5%。做题的不止是医生,还包括三十多个模型配置;理解这个数字的含义,比理解任何模型的榜位都重要。一屏速览见下表。

维度 内容
官方名称 DeepTumorVQA 2.0(前代 DeepTumorVQA 1.0)
发布组织 Hugging Face 组织 tumor-vqa
核心团队 约翰斯·霍普金斯大学 Yuille 实验室 × Schuture
版本链 1.0(2025-05-11 建库,arXiv 2505.18915)→ 2.0(2026-05-03 建库,2026-05-25 更新)
论文 arXiv 2605.09679《DeepTumorVQA: A Hierarchical 3D CT Benchmark for Stage-Wise Evaluation of Medical VLMs and Tool-Augmented Agents》
问答规模 1 万道基准 + 约 42.8 万道训练池
影像规模 九千余个 CT 体积(基准 991 例 + 训练池八千三百余例)
亚型 42 个,分布到 4 个阶段(识别 9、测量 5、视觉推理 16、医学推理 12)
记录单位 一个问答对(qid 唯一)
主键 qid
影像来源 AbdomenAtlas3.0Mini 及其上游多中心腹部 CT
标注来源 结构化放射报告 + 器官分割掩膜,模板生成
人工复核 200 道分层抽样,两名执业放射科医生盲答
问答许可 CC-BY-4.0
影像许可 沿用上游各自条款
代码与工具 GitHub Schuture/DeepTumorVQA,pip 包 deeptumorvqa
仓库体积 文件清单两万余条目,基准三维体积约 70 GB
最轻接入 基准问答 + 整卷切片约 0.7 GB
人工复核题量 200 道分层抽样,仅用于标定难度

§1 它要解决的具体麻烦

1.1 一张总分掩盖了四件事

医学视觉问答的评测长期只有一个数:准确率。排行榜上一行一个百分比,谁高谁低一目了然,但没人知道高在哪儿。一个模型可能在「这个器官里有没有病灶」这类判断题上几乎全对,却在「病灶长径是多少毫米」上接近瞎猜;另一个模型反过来,认得尺寸但分不清胰腺和淋巴结。两者总分可能一模一样,可落到临床工作流里,前者只能当分诊预筛,后者只能当测量助手,完全不是一个用途。

它的解法是分层——不按难度排序,而按肿瘤诊断的证据链排序:识别给出「有没有」,测量给出「多大、多密」,视觉推理在量化之上比较定位计数,医学推理再套用临床判据。上层答案依赖下层的基本量,每层又都可以独立计分。

第一个后果是不能只报总分。官方榜给了总体加四档共五列,读任何一行的第一件事是看落差:它告诉你是「看得见但量不准」还是「量得准但判不出」。

第二个后果更隐蔽:分层让「证据链断了」这件事第一次变得可见。一个模型在医学推理题上答对,如果它的测量档分数很低,那这次答对大概率是猜的或者靠语言先验蒙的,因为医学推理的参照证据链本身要经过测量这一步。这一点在 §4 的案例里会展开。

1.2 三条常见的错误期待

期待一:以为这是带标注的放射报告语料。 问答确实从报告派生,但交付物是问句加短答:「脾脏增大怎么分级」的答案是一个等级词,不是一句描述。训练报告生成,字段对不上。

期待二:以为 42 个亚型意味着 42 种肿瘤。 42 是任务数不是病种数:肝脏同时出现在存在性、脂肪变、聚集度三个亚型里,「器官体积测量」又横跨肝脾肾。当疾病分类表读,会错估病理覆盖。

期待三:以为医生只答对一半,说明题目有毛病。 那两百道是按亚型分层抽的,用途是标定难度区间,不是给医生打分。医生的识别档明显高于测量档,模型也有同样形状但幅度更大。这个数字的用法是「不容易被常识蒙对」,不是「不可信」。

1.3 它能给到的与给不到的

你的需求 它给的 够不够
判断能否在腹部 CT 上定位病灶 9 个识别亚型,另有多个带器官字段的推理亚型 够粗筛;答案多为等级词非坐标框,不能当检测指标
判断定量测量能力 5 个测量亚型:病灶体积、器官体积、CT 值、CT 值比值、肿瘤负荷 够,这是相对同类最硬的一档
判断临床判读能力 12 个医学推理亚型:胰腺分期、可切除性、脂肪肝分级 部分够;判据来自模板与知识库,不等于指南
训练医学视觉语言模型 约 42.8 万道训练池问答 + 四万条轨迹 够;轨迹仅覆盖 283 个体积,需自行扩样
训练工具调用智能体 参照缓存 + 两万条轨迹 + 评测器 够入门;工具集固定三类,扩展需自接
做三维空间推理研究 问答挂在体积上,附体素间距与矩阵尺寸 够;空间定位类亚型只有少数
训练报告生成模型 无 不够,字段里没有报告原文
直接做临床辅助诊断 官方明确仅供研究与教学 不够,且不应尝试
复现榜位到小数点后一位 榜 30 行 + 评测器 大体够;输入模态与提示模板需对齐

1.4 你的处境与它能帮到的事

你的处境 它能帮你什么 下一步该做什么
手上有一个腹部 CT 视觉语言模型,老板问它到底能干什么 用四阶段分数切出短板,把「能干什么」翻译成「哪一档可用」 先跑二维切片配置拿到基线,再决定是否值得上三维体积输入
正在做工具增强智能体,需要一个能验证工具链是否真的有用的环境 有 oracle、predicted、vision 三种工具模式,同一模型可切换对比 同一模型三种模式各跑一遍,看工具带来的增益落在哪一档
要在论文里声明「我们的模型在 3D 医学问答上领先」 有一份已被三十多个模型用过的公开榜 报总分时同时报四档分数,否则会被质疑分层设计的初衷被绕过
想验证自己的分割模型能否撑起下游问答 有一条通用分割模型预算的自动分割缓存,与参照掩膜缓存并存 两套缓存对比跑,估出自动分割对问答准确率的影响上限
要在医疗器械申报材料里写性能验证 无 不够,临床验证需要目标人群的独立数据集与前瞻性设计
想找一个中文医学问答语料 无 不够,全部问答为英文,术语为英文缩写

1.5 一句话判断

这是目前少有的把「量得准不准」单独拎出来打分的腹部 CT 问答基准;如果你要评的是三维空间推理与量化能力,它是首选之一;如果你要评的是报告生成或临床决策,它不在射程内。

1.6 不适合谁:四条边界

不适合当临床决策依据的去用。 数据集卡写明仅供研究与教学,未获临床决策批准。任何一个在申报材料里引用它的榜位当作临床有效性的做法,都会在审评环节被要求补充前瞻性证据;这份证据不可能从本数据集里长出来。

不适合做放射报告生成的研究者。 它的答案是被压平成等级词、数值、类别标签的短答,报告里那句「胰腺体部见一低密度灶,边界不清,似侵犯脾静脉」被拆成了若干道独立问答。想要段落级文本,AbdomenAtlas 上游的结构化报告更接近目标。

不适合把 42 个亚型当疾病谱来用的人。 这是一份任务清单,不是一份病理目录。按亚型统计得出的「覆盖率」只能说明题型覆盖,不能说明病种覆盖,更不能说明人群覆盖。

不适合只想跑一个数字就写结论的人。 分层评测的价值全在四档之间的落差;如果只报总体准确率,这个基准相对任何单档基准都没有优势,反而多付了下载与对齐成本。不适合的用法,是把它的优点用成缺点。

§2 数据构成与规格

2.1 三层交付物:一份基准、一个训练池、一批轨迹

仓库内容按用途分三块,通过 config 机制暴露。

benchmark 默认加载,是测试集:1 万道问答挂在 991 个体积上,覆盖全部 42 个亚型,自带整卷切片、器官聚焦切片、整卷视频三种派生模态再加原生 NIfTI。跑分用的就是这块。

train 约 42.8 万道问答,挂在八千三百余个体积上,分 train 与 val_pool 两段。留出池约 4.7 万道,基准那一万道正从它里面抽出——这意味着基准与训练池同源,训练过的数据不能算干净的外部验证。

agent_sft 是两万条训练轨迹加两万条留出轨迹,ShareGPT 对话格式,记录分割、测量、知识检索三类工具的完整调用过程。

另有两个散放目录:tool_cache 存预算好的工具输出,metadata 存排行榜、亚型模式表与报告元数据。

组件 内容 规模 用途 是否需要原始体积
benchmark 测试问答 + 三种派生模态 + NIfTI 1 万问答 / 991 体积 评测 视配置
上游来源谱系 1.0 汇总的十七个公开腹部 CT 数据集 与上两行合计一致 追溯病例出处 否
train 训练池问答 约 42.8 万问答 / 八千三百余体积 训练 是,回上游取
val_pool 留出池问答 官方称约 4.7 万问答 抽样来源与内部验证 是
agent_sft 工具调用轨迹 2 万训练 + 2 万留出 智能体训练 否,走缓存
tool_cache 参照与自动分割答案 三份 JSON 免跑工具直接评测 否
metadata 排行榜、亚型模式、报告元数据 四份 CSV 分析与对照 否

上游来源这一行值得单说:2.0 卡片只说影像来自 AbdomenAtlas3.0Mini 及其来源,没列全名录。1.0 卡片给过十七个数据集的聚合表,最大的两个是腹部创伤检测挑战的数千例与 FLARE 系列的三千余例,其余为器官、胰腺、肝脏肿瘤分割等中小集合。2.0 规模与该表同口径,但中心构成与各来源占比官方本页无口径。做跨中心研究时,这份名录用来判断测试集是否同源;判断不了占比,先假设不均衡。

2.2 字段与记录的完整字典

单条记录在基准集与训练池之间共享字段名,基准集多带路径列。

标识与影像

字段 类型 含义 使用注意
qid 字符串 问答主键,如 bench_00017 跨版本不复用,1.0 用整数编号
image_id 字符串 病例标识,如 BDMAP_00008446 与上游命名一致,可回查
spacing 字符串 体素间距,如「[0.83 0.83 5.0]」 字符串非数组,解析前去掉多余空格
shape 字符串 矩阵尺寸,如 (512, 512, 116) 字符串非元组;层间距沿第三维
sex 字符串或空 性别,F 或 M 基准集里有空值
age 浮点或空 年龄 基准集里有空值
scanner 字符串或空 扫描仪型号 基准集里大量为空
contrast 字符串或空 增强期相 大量为空,期相分层前先查空值

问答本体

字段 类型 含义 使用注意
question 字符串 开放式问句 英文,措辞由模板决定
answer 字符串 参考答案 等级词、数值或类别名
mc_question 字符串 选择题问句,选项内嵌 选项顺序不固定,需解析
correct_option 字符串 正确选项字母 多为 A 到 D,少部分三选一
organ 字符串 涉及的器官 肝、脾、肾、胰的英文名
lesion 字符串或布尔 是否涉及病灶 同一列类型不定,解析须容错
question_type 字符串 四阶段之一 与亚型表分组一致
question_subtype 字符串 42 个亚型之一 与模式表键对齐
requires_tools 字符串数组 所需工具序列 分割、测量、知识三类

派生模态路径

以下四列仅基准集有。

字段 含义 对应文件
slice_path 器官聚焦切片 benchmark/slices/
video_path 器官聚焦视频 benchmark/videos/
whole_slice_path 整卷切片 benchmark/slices_whole/
whole_video_path 整卷视频 benchmark/videos_whole/

要注意卡片示例与文件实际并不完全一致:卡片写 mc_question,1.0 卡片写 multiple_choice_question;卡片里 lesion 是布尔,文件里既有 "True"/"False" 字符串也有 "lesion" 类别词。不影响使用,但别把卡片当严格模式。

2.3 一条记录的完整解剖

以仓库里第二条基准问答为例,逐字段走一遍。

qid              bench_00001
image_id         BDMAP_00001543
spacing          [0.8027344 0.8027344 2.5]     #-- 层间距 2.5 毫米,明显厚于面内
shape            (512, 512, 290)               #-- 290 层,按 2.5 毫米算约 725 毫米覆盖
sex              F
age              64.0
scanner          NaN                          #-- 字段存在但值为空
contrast         NaN                          #-- 同上
question         Find which kidney is larger in volume (or if they're equal):
answer           the same
mc_question      ... A: left kidney B: the same C: right kidney
correct_option   B
organ            kidney
lesion           False                        #-- 注意这里是字符串 "False",不是布尔
question_type    visual reasoning
question_subtype kidney volume comparison
requires_tools   ["segment_organ", "measure"]
slice_path       benchmark/slices/BDMAP_00001543_kidney.png
video_path       benchmark/videos/BDMAP_00001543_kidney.mp4
whole_slice_path benchmark/slices_whole/BDMAP_00001543.png
whole_video_path benchmark/videos_whole/BDMAP_00001543.mp4

它的参照证据链是四步:分割左肾、测容、分割右肾、测容。答案「两边一样」来自两次分割加两次测容,不是目测。这也解释了为何工具清单只列两项而亚型表记四步:工具名记类别,步数记调用次数。

再看层间距。面内 0.80 毫米、层间 2.5 毫米,纵向分辨率比横向差三倍多。问「哪个肾更大」时体积对层厚不敏感,两肾同处一个体积、同一套采样;问「最大病灶直径」时层间距直接决定纵向误差量级。§4.3 的案例会回到这一点。

2.4 规模结构:42 个亚型怎么分布

官方亚型模式表给的是 42 行、13 列的结构。四个阶段的分法是 9 个识别、5 个测量、16 个视觉推理、12 个医学推理。这张表最有用的三列是参照轨迹步数、所需原语、基准题目数。

阶段 亚型数 典型亚型 参照轨迹步数范围 所需原语
识别 9 胰腺癌存在性、肝病灶存在性、脾增大检出 1–3 分割
测量 5 器官体积测量、器官 CT 值测量、肿瘤负荷百分比 2–4 分割 + 测量
视觉推理 16 病灶计数、肾体积比较、最大病灶位置、器官聚集度 1–5 分割 + 测量(长链交替)
医学推理 12 胰腺肿瘤分期、胰腺病灶可切除性、肝脂肪变分级 3–5 知识 + 分割 + 测量

三个可对照的规模事实。一是题量集中在可程序化生成的两类:器官聚集度与器官体积测量,说明基准在自动化生成这一端配比偏高。二是最少的「假性囊肿判定」只有 3 道,只够定性观察。三是若干医学推理亚型在全量数据与基准侧的题数完全相同,训练侧等于零覆盖。

观察项 事实 对使用的影响
题目最多 器官聚集度 977 道、器官体积测量 852 道 总分被这两类主导,报亚型均值更公平
题目最少 假性囊肿判定 3 道 方差极大,不宜单列结论
训练侧不足 多个推理亚型训练题数等于基准题数 微调这些亚型需自行补样
阶段不均衡 视觉推理 16 个亚型占近四成 四档权重天然不均
轨迹长度 1 到 5 步,多步题含交替原语 智能体步数上限至少设五步

2.5 与同类资源的字段差异

把它和库里已有的二维医学问答资源并排看,差异集中在三处:记录单位、答案形态、模态。

维度 DeepTumorVQA 2.0 VQA-RAD PathVQA SLAKE MedQA
影像模态 腹部 CT 三维体积 单张放射图 单张病理图 放射与病理单图 纯文本
记录单位 问答对 + 病例 问答对 + 单图 问答对 + 单图 问答对 + 单图 题目
空间维度 三维,带体素间距 二维 二维 二维 无
答案形态 等级词、数值、类别,另带选择题 开放式与是非 开放式与是非 开放式与是非 选项
标注来源 报告 + 掩膜模板生成 医生撰写 教材图注改写 医生撰写 考试题
参考答案可机算 大部分可,走掩膜与测容 不可 不可 不可 是
分层设计 四阶段、42 亚型 无 无 无 无
工具调用环境 有,三类工具三种模式 无 无 无 无

最关键的一行是「参考答案可机算」。二维问答靠语义匹配判分,本身带噪声;这份数据的多数答案由掩膜测量程序生成,可用精确匹配或数值容差,这是它敢生成四十多万条问答的前提,代价是答案空间被结构化、叙述性描述被排除在外。

§3 它是什么:名称、身份与版本谱系

3.1 三个名字要分清

在 Hugging Face 搜 DeepTumorVQA,结果里两个是本家,两个是第三方。

仓库 归属 许可 状态 该拿它做什么
tumor-vqa/DeepTumorVQA_2.0 官方 CC-BY-4.0 当前版本 首选,评测与训练都用它
tumor-vqa/DeepTumorVQA_1.0 官方 CC-BY-NC-4.0 前代 只为复现旧结果,商用禁入
ZiyueWang/DeepTumorVQA_image 第三方 未声明 需申请访问 原始影像补充,非官方
34data/deeptumorvqa 第三方 未声明 规模偏小 不宜作评测依据

1.0 与 2.0 的差别不止在数字。1.0 只交付一份 CSV(约 107 MB)和一份病例映射表,九千余个体积、三十九万五千道问答,聚合了 17 个上游数据集,没有分层、没有工具环境,许可是非商业的 CC-BY-NC-4.0。2.0 把问答提到约 43.8 万、亚型收成 42 个,加了四阶段分层、三种派生模态、工具缓存与两万条轨迹,许可换成允许商用的 CC-BY-4.0。

许可这句要单独说:用 1.0 做过的探索若要产品化,正确路径是换到 2.0 的问答并重新核对影像侧许可,而不是沿用旧包。§8.1 给出完整时间轴。

3.2 一个问答对在系统里的位置

理解这个数据集的身份,要看懂它挂在哪棵树上。它的最小单位是一个问答对,问答对指向一个病例标识,病例标识指向上游 AbdomenAtlas 的一个 CT 体积,体积又指向若干个原始公开数据集。

层级 对象 维护方 变更风险
第 0 层 原始公开 CT 数据集 各原始发布方 上游可能修订或撤回
第 1 层 AbdomenAtlas3.0Mini 病例与报告 AbdomenAtlas 升级会改病例集合
第 2 层 BDMAP 标识与分割掩膜 AbdomenAtlas 标识稳定,掩膜版本要记
第 3 层 问答对与亚型标签 tumor-vqa 升级会改题目与数量
第 4 层 派生切片、视频、缓存 本仓库 可本地重生成

任一层变动都会波及可比性。最常见的事故有两类:拿 2.0 的榜位与 1.0 的论文数字直接对比(题目集、亚型划分、许可全不同);或把自动分割缓存与参照掩膜的分数混在一张表里(官方标了 oracle、predicted、vision 三种模式,混着用等于把工具质量的差异算进了模型能力)。

3.3 名称里的「2.0」意味着什么

版本号在本仓库里不是营销修饰。2.0 的问答文件内部还有一个 version 字段,值是 4.1,描述里写的是「由 V4 测试集平衡筛选而来」。也就是说,仓库名走的是一条轴,问答文件内部走的另一条轴,第三条轴是论文标题里的「hierarchical」。

编号轴 当前值 出现在哪 读法
仓库版本 2.0 仓库名 交付形态,含模态与工具环境
问答文件版本 4.1 test_qa.json 的 version 题目集内部迭代号
设计代际 hierarchical 论文标题 四阶段分层范式

三条轴混称是常见误会。别人写「在 DeepTumorVQA 上取得某分数」,你分不清那代是三十九万五千题还是四阶段,也分不清输入是体积还是切片——而这两项对分数的影响大于模型本身。见到引用分数,先问代际、输入、工具模式。

3.4 它服务的是哪一类评测

把使用场景按「评什么」切开,本数据集的定位会更清楚。

评的目标 典型指标 本数据集是否直接支持 说明
病灶检出 敏感度、假阳性数 间接 识别亚型给等级判断,不是框或点
器官与病灶测量 体积或长径相对误差 直接 测量亚型按数值容差判分
三维空间关系 位置、相邻、聚集度 直接 多个视觉推理亚型覆盖
临床判读 分期、可切除性、分级 直接 医学推理 12 个亚型
工具编排 调用序列与最终答案 直接 三种模式可分离
报告生成质量 文本相似度、事实一致性 不支持 无报告级参照文本
分割质量 戴斯系数、豪斯多夫距离 不支持 掩膜在上游

这张表回答一个高频问题:能否替代分割评测。不能。掩膜只是内部参照,对外给的是问答准确率;但附带的自动分割缓存可反推分割对问答的影响。

§4 核心层:质量、特点与一个贯穿案例

4.1 分层设计的实质是「证据链可核」

四阶段不是难度分级,是证据链分级:识别一次分割就能定论,医学推理要先分割再测量再查知识。上层答案的正确以上层证据链完整为前提,每层又可独立计分。落到评测上有两层含义。

一层是分数可解释。医学推理档拿到六十分、测量档只有三十分,那么这六十分不可能全靠证据链走出,它必然走了别的路径:从语言先验里猜「胰腺肿瘤多半可切除」,或从选项措辞里押注。这种拆解在单档基准上做不到。

另一层是失败可定位。论文评了三十多个配置后给出的结论是:可靠的定量测量是主要瓶颈,它上不去,后两档就更难;工具增强能显著缓解;而工具一旦可用,「把医学知识和工具结合推理」又成新挑战。这三句构成研发路线图,比任何总分有用。

4.2 检测难度是否被常识蒙过去

自动化生成问答的最大风险不是答案错,是题目太容易。模板生成的问题往往问法固定、选项模式化,语言模型不看图也能押中一部分。官方的应对是请两名执业放射科医生(分别有七年和十三年经验,独立于标注团队)在一份 200 道的分层子集上盲答。

作答方 输入 识别 测量 视觉推理 医学推理 总体
资深放射科医生 3D 体积 70.0 40.0 64.0 44.0 54.5
初级放射科医生 3D 体积 46.7 37.8 49.3 44.0 45.0
七兆参数级通用模型(非医学微调) 2D 53.0 31.4 38.2 38.7 39.9

这张表要横着读。两位医生的识别档在四十到七十之间,明显高于测量档的三十七八;一个没做医学微调的通用模型识别档能摸到五十三,测量档只有三十一。三个作答方在同一位置露了同一个破绽:量化测量最难。题目的难度不靠冷僻术语,靠「必须真的去量」。

同一批数字还回答了一个更尖锐的问题:通用模型在识别档上已接近初级医生。这不说明模型能替代医生,而说明识别类亚型的区分度正在耗尽,增量只能来自测量与推理。只看总体分会把这条结构性信息整条丢掉。

4.3 案例:一位脾脏增大的三级判定

取一条真实的基准问答来说明四阶段怎么咬合。

qid            bench_00017
image_id       BDMAP_00008446
spacing        [0.83 0.83 5.0]
shape          (512, 512, 116)
question       How would you classify the splenic enlargement based on volume?
answer         Normal (no splenomegaly)
mc_question    ... A: Normal ... B: Moderate ... C: Severe ... D: Mild ...
correct_option A
organ          spleen
question_type  medical reasoning
question_subtype splenomegaly grading
requires_tools ["segment_organ", "measure", "lookup_medical_knowledge"]

这道题有三个层次的信息。

第一层在字段里:question_type 是医学推理,requires_tools 列了三步,说明它不是「脾脏有没有变大」的识别题,而是「按体积分级」的判读题,答案在四个等级词里。

第二层在证据链里:分割脾脏、测体积、查知识库映射阈值,三步缺一不可。层间距 5.0 毫米在这题上影响有限,因为体积由体素计数乘单位体积得到;但若问的是最大长径,5 毫米层厚意味着纵向误差可能到半个层厚以上。

第三层在题与题之间:该亚型在全量数据里只有 842 道,与基准侧题数完全相同,训练池零覆盖。想提这个亚型的表现,靠现有训练池补不了,必须自己造题。

它在后文还会被引用三次:§5.4 说明工具缓存如何省掉三步调用,§7.3 说明单亚型样本不足的偏差,§8.3 说明为何分层设计至今未被大规模复制。§4.3 的案例值得反复看,正因为它同时暴露了优点(证据链可核)与弱点(部分亚型样本严重不足)。

4.4 特色之二:三种工具模式把「模型能力」和「工具能力」拆开

多数医学基准只有一种模式:给图给题、模型直接答。这里做成可切换的三档。

模式 模型拿到什么 评的是什么 适合谁
oracle(参照) 参照掩膜算出的工具结果 测量完全正确时推理能走多远 给模型能力设上限
predicted(预测) 模型自带分割算出的结果 分割误差传导到答案的程度 评估端到端系统
vision(视觉) 器官切片,工具输出靠看图估 视觉感知与工具调用的耦合 评估视觉智能体

三档之间的差值本身就是结论。以官方榜里一个四兆参数级医学模型为例:直接作答约六十四分,走参照工具六十三点八,走预测工具六十点九,走纯视觉模式掉到三十一点五。参照与预测差不到三个点,说明自带分割已贴近参照;视觉模式掉一半以上,说明「看图估测量值」仍是硬伤。

这条拆法对产品团队有用:分割已经很强,参照与预测的差距就是你拿到的上限;没有分割模块,视觉模式的分才是真实起点。

4.5 特色之三:四万条轨迹可以拿来监督

官方给了两套轨迹:两万条训练、两万条留出,对话轮次格式,每轮记录调了哪个工具、传了什么参数、拿到什么返回。

覆盖范围要看清。两套轨迹都来自同一批 283 个训练体积,是八千三百余个体积里的一小部分,因为参照工具缓存目前只对这批做全了,扩到全体排在 2.1 版。轨迹覆盖 38 个亚型,排除的四类是段间比较、最大病灶切片、最大病灶位置、相邻器官——它们需要工具没提供的空间信息。

轨迹属性 值 影响
训练轨迹数 2 万 够小规模监督微调
留出轨迹数 2 万 够泛化检查
覆盖体积 283 个 多样性远低于训练池
覆盖亚型 38 个 空间定位四亚型缺失
排除原因 工具无空间信息 想覆盖需自建空间工具

实际后果是:用这批轨迹微调的智能体在空间定位类题上不会有改善,训练信号里压根没有这一类。§7.3 把它列为可枚举偏差。

4.6 质量的另一面:可机算答案的代价

可机算的参考答案带来判定可靠性,也窄化了答案空间。按形态归类,基准集的答案至少有五种。

答案形态 例 判定方式 在评测中的表现
等级词 正常、轻度、中度、重度 精确匹配 选项少,猜中率高
数值 体积、CT 值、长径 数值容差 最难,需要真测量
类别名 器官名、病灶类型 精确匹配 靠解剖知识可部分命中
相对判断 左侧更大、两边一样 精确匹配 依赖两侧测量的一致性
布尔 是、否 精确匹配 猜中率五成,题目区分度低

五类答案的猜中率差别很大:是非题五成,四级题两成半,数值题几乎猜不中。汇总成总体分时,配比一变,分数就跟着变。这也是官方在总体之外另给四档分的原因——同档之内答案形态相对同质,比较才成立。

§5 怎么拿到:下载、字段与最小可用流程

5.1 先选配置,再谈下载量

下载策略刻意做轻,官方按模态给了六种配置的下载量。

配置 下载体积 说明
问答 + 二维切片 约 0.7 GB 最轻,够跑识别与部分推理
问答 + 二维视频 约 3.9 GB 多帧时序,介于二三维之间
问答 + 三维体积 约 70 GB 显式跑三维输入才需要
智能体 + 参照工具 约 11 MB 只下缓存
智能体 + 预测工具 约 9 MB 只下缓存
智能体 + 视觉 约 2.9 GB 器官切片

训练侧同样拆分:二维切片约 6 GB,视频约 18 GB。训练池的三维体积不在本仓库,需去上游 AbdomenAtlas3.0Mini 按清单取,官方在训练目录给了一份含全部病例标识的链接说明。

判断很简单:先确认要评哪一档。识别与判读,二维切片够了;三维空间关系与体积测量,绕不开七十个 G,或者退一步用参照工具缓存。

5.2 取一份最小可用的基准问答

这段只下问答与整卷切片,跑完能读出规模而不碰大文件。

#-- 最小检索:只取基准问答与整卷切片,约 0.7 GB
from huggingface_hub import snapshot_download
import json
from pathlib import Path

root = Path(snapshot_download(
    "tumor-vqa/DeepTumorVQA_2.0",
    repo_type="dataset",
    allow_patterns=[
        "benchmark/test_qa.json",
        "benchmark/images_2d/whole/*.png",
        "metadata/subtype_schema.csv",
    ],
    endpoint="https://hf-mirror.com",
))

qa = json.loads((root / "benchmark/test_qa.json").read_text())
print("版本", qa["version"])
print("题目数", qa["num_questions"], "影像数", qa["num_images"])
print("阶段", qa["question_types"])

first = qa["questions"][0]
for k in ("qid", "image_id", "organ", "question_type", "question_subtype", "correct_option"):
    print(k, "=", first[k])

跑完会打印问答文件内部版本 4.1、题目一万、影像九百九十一、四个阶段名。这一步也在核对一件事:仓库名是 2.0,文件内版本是 4.1,两个编号不要混。

5.3 按亚型切片做小样本评测

全量一万道跑太慢,快速验证可按亚型抽样。这段等量抽题,凑一份两百题的小测集。

#-- 按亚型分层抽样,每亚型固定配额
import json
import random
from collections import defaultdict
from pathlib import Path

qa = json.loads(Path("benchmark/test_qa.json").read_text())
buckets = defaultdict(list)
for item in qa["questions"]:
    buckets[item["question_subtype"]].append(item)

random.seed(20261026)
quota = 5
sample, tiny = [], []
for subtype, items in sorted(buckets.items()):
    if len(items) < quota:
        tiny.append((subtype, len(items)))
    for q in random.sample(items, min(quota, len(items))):
        sample.append({k: q[k] for k in
                       ("qid", "image_id", "question", "answer",
                        "correct_option", "question_subtype")})

Path("sample_200.json").write_text(json.dumps(sample, ensure_ascii=False, indent=2))
print("抽样", len(sample), "题,覆盖亚型", len({s["question_subtype"] for s in sample}))
print("不足配额的小亚型", tiny)

重点不是抽样,是最后那行「不足配额的小亚型」:只有个位数甚至三道的亚型会全部落进列表,这正是 §2.4 说的失衡。做小样本评测时,它们不能与足量亚型同栏比较。

5.4 用工具缓存省掉三步调用

回到 §4.3 的案例。那道脾脏分级题需要三步工具调用,如果每次都真跑分割,一万道基准题的成本会很高。官方预先算好了缓存。

#-- 读参照工具缓存,取出某病例的分割与测量值
import json
from pathlib import Path

cache = json.loads(Path("tool_cache/benchmark_oracle_tool_cache.json").read_text())
image_id = "BDMAP_00008446"
entry = cache.get(image_id, {})
if isinstance(entry, dict):
    for key in sorted(entry.keys()):
        print(key, "->", str(entry[key])[:80])
else:
    print("该病例在缓存中的类型:", type(entry).__name__)
    print(str(entry)[:300])

缓存有两种:参照缓存用的是参照掩膜算出的值,可以视为工具的分数上限;自动分割缓存用的是通用的开源分割模型算出的值,代表不依赖人工掩膜的现实情形。两者对应 §4.4 表里的 oracle 与 predicted 两档。做对比实验时,同一批题在两份缓存上各跑一遍,差值就是自动分割的代价。

需要提醒的是,缓存的文件名与内容结构可能随版本调整,上面的读取方式做了容错。生产环境里不要写死字段名,先用一个病例把键打出来再取。

5.5 一次性把字段和亚型对齐

问答文件里的亚型字符串与亚型模式表里的名称必须逐字对齐,否则按亚型聚合会漏项。下面这段做一次完整性核对。

#-- 核对问答里的亚型是否都能在模式表里找到
import csv
import json
from pathlib import Path

qa = json.loads(Path("benchmark/test_qa.json").read_text())
rows = list(csv.DictReader(Path("metadata/subtype_schema.csv").open()))
schema = {r["subtype_name"] for r in rows}

used = {q["question_subtype"] for q in qa["questions"]}
missing = sorted(used - schema)
unused = sorted(schema - used)

print("模式表亚型数", len(schema))
print("问答里出现的亚型数", len(used))
print("问答有而表里没有", missing)
print("表里有而问答没用", unused)

counts = {}
for q in qa["questions"]:
    counts[q["question_subtype"]] = counts.get(q["question_subtype"], 0) + 1
table = {r["subtype_name"]: int(r["n_benchmark"]) for r in rows}
diff = {k: (counts.get(k, 0), table.get(k)) for k in sorted(table) if counts.get(k, 0) != table.get(k)}
print("与模式表题数不一致的亚型", diff)

最后一行输出通常为空,说明模式表里的基准题数与实际问答文件一致。一旦不为空,先别怀疑数据有问题,先确认自己读的是不是同一个版本的文件——两个口径不一致时,官方未必给了解释,此时的正确做法是记录差异并注明版本,而不是替官方下判断。

5.6 三处常见的读取陷阱

陷阱 具体表现 处理方式
数值写成字符串 spacing 与 shape 都是字符串 去括号与多余空格再切分
布尔类型不定 同列既有「True」又有类别词 先看类型分布再归一
空值表示不一 卡片写 null,文件写 NaN JSON 用允许 NaN 的解析器,CSV 指定空值集合
选项数不固定 多为四选一,少数三选一 从 mc_question 解析实际项数
路径列仅基准集有 训练池无切片列 训练侧自行生成或按上游路径拼
同一病例多题 991 个体积挂 1 万道题 验证集按病例分组切,不能按题随机切

最后一条最易忽视。按题随机切,同一病例的题会同时落在训练与验证两侧,而它们共享同一套解剖事实,造成泄漏与虚高。先按 image_id 分组,再按组切。

§6 与库内条目的关系

6.1 关系图谱

在千方医数集的 AI-Ready 数据集库里,腹部 CT 与医学视觉问答这两个邻域都已经有成员,但没有一个条目同时占住这两块。这正是这个品类的空位。

                     ┌── 3D-IRCADb(肝脏肿瘤分割,三维体积)
   三维腹部影像 ───────┤
                     ├── AMOS / BTCV 类(器官分割,多中心)
                     └── AbdomenCT-1K(器官分割,跨中心评测)

                     ┌── VQA-RAD(放射单图问答)
   二维医学问答 ───────┼── PathVQA(病理单图问答)
                     └── SLAKE(放射与病理单图问答)

                     ┌── DeepTumorVQA 2.0  ← 三维体积 + 问答 + 工具环境三者交集
   交叉空位 ──────────┘
邻近条目 与它的关系 可以互借的东西
三维器官分割类(如 AbdomenCT-1K) 供给方 本数据集的掩膜与病例源自上游分割数据,分割强则问答的测量档上限高
三维肝脏肿瘤分割(如 3D-IRCADb) 并行参照 都是三维肝脏病灶,但一个出分割掩膜、一个出问答,可交叉验证「分割好是否问答也好」
二维放射问答(如 VQA-RAD) 能力阶梯 从单图问答进步到体积问答是否带来增益,可用两者对比
病理单图问答(如 PathVQA) 模态对照 同为肿瘤主题,一个是 CT 三维、一个是镜下二维
腹部器官分割评测(如 BTCV) 上游来源 病例可能重叠,做数据泄漏检查时要交叉核对病例标识

6.2 检索路径

在库里找它,可以从三条路径进去。

入口 检索方式 命中什么
标签入口 医学影像 + CT + 视觉问答 + 评测基准 三维问答是这个组合里唯一的成员
部位入口 腹部 → 肝、胆、胰、脾、肾 腹部 CT 影像类条目,本篇是其中唯一带问答标注的
任务入口 医学问答与基准 → 视觉问答 二维图像问答与三维体积问答并列,可直接比较

标签入口最精准:「CT + 视觉问答」的交集里只有本篇把三维体积当作默认输入模态。

6.3 与上游 AbdomenAtlas 的分工

若库里将来收录 AbdomenAtlas3.0Mini,分工是:上游给病例、报告与掩膜,本数据集给问答、亚型、派生模态与工具环境。

需求 找 AbdomenAtlas 找 DeepTumorVQA
要原始体积与掩膜 是 只给基准侧九百多个
要报告文本 是 只给派生出的短答
要问答对 否 是
要四阶段评测 否 是
要工具调用轨迹 否 是
要训练问答规模 否 是,约四十二万八千道

库里现有条目均未涵盖该上游,本篇已在来源与许可段标明,避免误认为影像版权归本仓库。

§7 质量评估与局限性

7.0 阅读本节前的一个前置校正

在进入评分之前,需要先校正一个常见的误判:把这份数据集的分数当成「模型医学能力的度量」。

不是。它度量的是「模型在一条模板化证据链上的表现」,每环都有参照定义:分割用上游掩膜,测量用掩膜体素计数,知识用固定阈值。答对说明与该参照吻合;答错未必是医学上错了,可能是测量方法、参照体系不同,或答案更合理却不在选项里。

后果是:拿榜位去肯定或否定一个模型,都会高估它的证据力。正确读法是「在某套参照定义下的吻合度」,且必须配四档分一起读;单读总分,等于把 §4.1 说的分层设计整个浪费掉。

第二个误判是「医生只答对一半,所以题目不可信」。那批子集仅两百道,置信区间宽;医生用三维体积、直接作答、无工具,与模型最优配置不同条件。它标定的是难度下界,不是题目质量。

第三个误判是「官方数字打架说明数据有问题」。仓库版本 2.0、问答文件版本 4.1、论文口径约四十七万六千道,三条轴各有计数规则。遇到不一致,记下两个口径与差额,别替官方裁决。

7.1 五维评分

维度 分数 依据 扣分原因
规模 9 / 10 约四十三万八千道问答、九千余个体积、四十二个亚型 训练池与基准同源,缺少真正的外部验证集
结构规范 9 / 10 三层配置、字段字典齐、每字段有类型与含义 卡片示例与文件实际字段名有小幅不一致
标注质量 6 / 10 参照答案可机算、有分层抽样人工盲答 只有两百道经人工复核,其余为模板生成
可接入性 8 / 10 轻配置 0.7 GB、pip 包、HF 直接加载 三维体积 70 GB,训练侧需回上游取
文档完备度 8 / 10 卡片讲清布局、许可、模态拆分与轨迹覆盖 人口学与中心数细节指向论文,本页无口径
综合 8.0 / 10 三维问答品类里的当前首选 使用时必须配四档分数与模式说明

口径说明:这是相对同品类资源的分位判断,不是绝对分。规模给高分,因为四十二万八千道的量级在细分品类里没有对手;标注质量压到中等,因为模板生成加小样本复核是合理的工程折衷,但达不到「医生逐题标注」的标准。

7.2 用得好的三个特征

回看官方榜上的强项配置,有三个共同点。

一是模态匹配。二维切片微调在四兆参数级能到六成四上下,同参数的三维体积微调只有五成出头。不是三维没用,而是样本有限时投影成切片更易收敛,三维收益要等数据量与架构到位。

二是分层增益明确。器官级微调的版本在识别与测量两档的提升都明显大于医学推理档,说明微调信号主要落在前两档,后两档要靠知识注入或工具。

三是工具收益方向一致。切到工具模式后,测量档的提升是所有配置里最大的,这与「定量测量是主要瓶颈」互为佐证——工具把最难那环外包了出去。

7.3 已知的、可枚举的偏差

偏差分数据侧与设计侧两类。

编号 偏差 表现 后果
B1 模板语言 问句由模板生成,句式重复 可借句式押注,临床问法迁移未验证
B2 亚型样本失衡 最多近千道,最少三道 方差悬殊,小亚型不可单列
B3 训练覆盖不均 多个推理亚型训练题数等于基准题数 微调需自行补样
B4 轨迹覆盖窄 四万条轨迹仅来自 283 个体积 微调后体积多样性不足
B5 空间任务缺口 四个空间定位亚型不进轨迹 「在哪里」类问题无训练信号
B6 复核规模小 仅两百道经两名医生盲答 无法推断全量标注准确率
B7 与基准同源 基准从留出池抽样,两者同源 训练过的模型基准分偏高
B8 人口学披露不足 性别年龄有空值,中心构成未给 无法做公平性分层

§4.3 的案例正好可以拿来量化 B2。那个脾脏分级亚型全量只有 842 道题,与基准题数完全相同,说明训练池零覆盖。一个只在这份数据上训练过的模型,在这个亚型上的表现就等于零样本迁移,而它在总体分上的权重却与足量亚型相同——这是 B2 与 B7 叠加后最容易被忽略的失真点。

7.4 DAIMS 数据质量检查表

把常规数据质量检查项(DAIMS 体系)套在这份交付物上,看哪些官方已补齐、哪些要自建。检查对象是问答与元数据文件,影像侧只到仓库公布的结构。

# 检查项 状态 说明
1 宽格式 通过 三配置同构,字段跨基准与训练池同名
2 唯一标识 通过 主键唯一,病例标识与上游对齐
3 特殊字符 通过 标识为 ASCII,亚型名为小写英文
4 重复行 需核 未给去重说明;按题目去重
5 缺失编码 部分 JSON 写 NaN,卡片写 null
6 标签标识 通过 四阶段与 42 亚型由模式表定义
7 罕见类分组 缺 三道题的亚型未标记,会稀释均值
8 偏倚评估 部分 有两百道医生盲答,无人群偏倚评估
9 数据字典 通过 卡片逐字段说明,模式表补任务属性
10 缺失语义 缺 scanner、contrast 为空的原因未说明
11 设备记录 缺 扫描仪与期相大面积空,无法控制设备变量
12 共线性 不适用 问答不是表格型特征
13 编码映射 缺 无 ICD 或 SNOMED 映射
14 时间戳 不适用 记录不含时间字段
15 划分建议 部分 有 train 与 val_pool,但同源
16 泄漏讨论 缺 说明基准从留出池抽,未论病例级泄漏
17 标签分布 通过 模式表直接给各亚型题数
18 测量偏倚 部分 参照由掩膜算出,掩膜一致性不在本库
19 外部验证建议 缺 未给推荐做法
20 版本记录 部分 两条版本轴并存,无变更日志
21 预处理脚本 通过 代码仓有生成与评测脚本
22 合规要求 通过 问答与影像分列许可
23 多模态对齐 通过 路径字段与三种模态一一对应
24 去标识化 部分 上游称已完成,未给明细

按项计,通过十项、部分九项、缺失六项、不适用两项,二十四分制约得十三分半。缺口不来自文档偷懒,而来自构造方式:质量重心放在「参照答案可机算」,对人群、设备、编码映射这些表格数据集才关心的维度投入有限。这十三分的缺口,都要在数据侧之外补。

7.5 外部验证矩阵

可信度很大程度取决于有没有别人独立用过。到 2026 年 10 月,能观察到的情况是:

验证来源 是否存在 说明
官方多配置横评 有 榜三十行,含通用模型、医学模型与两位医生
官方工具模式对比 有 参照、预测、视觉三档均有数据
同团队跨版本对比 有 1.0 与 2.0 可对照,题目集不同
第三方独立复现 尚未观察到 2026 年 5 月发布,复现需时间
下游任务实证 无 官方明确不用于临床决策
与上游分割基准交叉验证 未给 掩膜来自上游,理论可交叉,官方未做

最有分量的一行是「第三方独立复现尚未观察到」。新基准头一年的分数通常带配置红利——提示模板、输入分辨率、采样策略都在探索期,后来者常发现分数难完全重现。所以看到任何引用数字,先确认版本、输入模态、工具模式三件事,任一不同即不可比。

7.6 它为何能持续:把「量不准」这个真问题做成了可交付的评测

它活下来不是因为规模大,而是押中了一个短期不会消失的痛点:多模态模型看图能说,但量不准。三维场景比二维更尖锐,误差来源更多——层厚、配准、部分容积效应、掩膜边界。

只要痛点还在,四阶段分层就有理由存在:它把痛点拆成可测量的四块,谁想改进模型都知道该修哪块。若有一天模型在测量档普遍逼近工具精度,它的核心价值就会被抽走。§4.3 的案例展示的不是分数,而是「正确性建立在三步证据上」这个结构——结构在,基准就在。

另一层生存逻辑在工程侧。七十个 G 对多数实验室是门槛,官方用懒下载拆成 0.7 GB 入门包、3.9 GB 视频包、2.9 GB 视觉包,不同资源条件的人都能进来。这个决定看似细枝末节,实际决定了它能否被广泛试用。

§8 生态位与历史

8.1 历史沿革

关键节点都能在官方页面或论文里找到出处。

时间 事件 版本 出处
2025-05-11 仓库建立,交付单份问答 CSV 与病例映射表 1.0 仓库创建时间
2025-05 论文《Are Vision Language Models Ready for Clinical Diagnosis?》预印本 1.0 arXiv 2505.18915
2025-06-30 1.0 最后一次更新 1.0 仓库更新时间
2026-05-03 2.0 仓库建立 2.0 仓库创建时间
2026-05-10 2.0 论文提交 arXiv 2.0 arXiv 2605.09679 提交日期
2026-05-25 2.0 最后更新(核对时) 2.0 仓库更新时间
2026-06 起 见刊于 J Healthc Inform Res 系列刊物 2.0 Europe PMC

有两处要小心。一是 2.0 论文的见刊信息:Europe PMC 以题名精确检索无命中,只搜到同团队另一篇胰腺癌定位论文,故上表末行只写系列刊物、未写卷期。二是 1.0 的引用格式在卡片里有多余括号,属排版瑕疵。

1.0 到 2.0 的实质改动有四条:许可从非商业改为可商用;评测从单档改成四阶段;交付从一份 CSV 扩成三层配置;新增工具环境与轨迹。其中许可是产业侧的分水岭,分层是学术侧的分水岭。

8.2 生态位:它站在哪两条线的交叉点

第一条线是医学问答基准的演化:单图是非题、单图开放、带知识的多模态问答、三维体积问答。它站在「三维」节点上,把输入从一张图推到一整个体积,问题也从「这是什么」变成「有多大」。

第二条线是医学智能体:从纯语言工具调用走向带影像工具的多模态智能体。它给了一个带参照工具、可切三档模式的沙盒。

生态位 竞争者状态 本数据集的差异
三维医学问答 公开可用者极少 规模与分层当前领先
工具智能体沙盒 多数自建不公开 固定工具集与可复现评测器
腹部 CT 评测 多为分割与分类 唯一以问答评四阶段
肿瘤主题问答 二维为主 唯一体积级肿瘤问答

8.3 为什么分层设计至今没有被大规模复制

设计看起来不难,实现起来很贵,原因有三。

一是参照答案得可机算。分层的前提是每层都有确定参照,参照要靠掩膜与测量程序;多数问答集从医生自由文本里抽题,没有掩膜,分层就只能退化成主观难度分级。

二是参照证据链得真实存在。亚型模式表里每个亚型都写了轨迹步数与所需原语,这两列是先设计出来的;要先拆临床判读流程,工作量远超写问答。

三是工具体系。三档模式依赖可替换的工具接口,工具输出还要与参照严格对齐,这层的工程量在论文里不显眼,却决定上面两层能否落地。

§4.3 的案例在这里的作用是说明第三点的必要性:一道脾脏分级题如果只有两步工具就能答,那是识别题不是判读题;正是因为需要「分割、测量、查知识」三步且有次序,它才能被放进医学推理档,也才能被智能体轨迹覆盖。

8.4 与相邻资源的选型对照

在几个候选之间做选择,可按下表逐行走。

你的目标 首选 次选 不选它的理由
三维腹部病灶分割 上游分割数据集 本篇的掩膜 对外不出分割指标
三维腹部问答评测 本篇 自建私有集 私有集不可比
医学智能体工具调用 本篇 通用工具调用基准 通用基准无三维影像工具
二维放射问答 单图问答数据集 本篇的二维切片配置 切片是为三维问答服务的降级方案
放射报告生成 上游结构化报告 报告生成语料 没有叙述性文本
临床决策验证 前瞻性临床研究 无 明确不适用

这张表的用法是逐行排除,不是挑赢家。同一团队往往同时需要三到四种资源,把边界对齐比在单一资源上纠结更有用。

§9 使用指引

9.1 三种角色的路径

角色一:要做模型选型的技术负责人。 问题不是「哪个模型最好」,而是「用哪一档的模型」。路径是:先用二维切片配置把候选各跑一遍,只看四档分;按测量档与识别档的差值排序,差值大的短板在量化,配分割模块可能比换更大模型更划算。这一步不碰三维体积。

只有两个候选在二维配置上接近时,才值得上七十个 G 的体积输入把它们分开——三维输入的分差常在小数点后一位,成本却高一个量级。之后再把三档工具模式各跑一遍:预测与参照差三个点以内,说明自带分割够用;差十个点以上,说明分割模块必须先补。

角色二:要写论文的研究生。 约束是算力与时间。先确认要评哪一档,只报那一档,但四档全列——分层基准最常见的意见就是「为什么只报总体」。再写清评估条件:哪一版问答文件、哪种输入模态、哪种工具模式。做微调时按病例标识切分验证集而非按题随机切(§5.6),这一句值得在方法节单列。报亚型结果时,样本量小于十道的亚型单独标注,别混进均值。

角色三:要搭智能体原型的产品团队。 约束是工程链路。先只下工具缓存,十一兆就能在不碰影像的情况下把流水线跑通;再接 pip 评测器,用公开模型跑基线,确认输出与榜位同一量级——这是校准不是比成绩。然后同一模型在三档模式各跑一遍,把差值记成工具链缺口。

用轨迹做微调要算清代价:两万条轨迹只来自 283 个体积,超出这个解剖范围收益会打折。更稳的是先用轨迹把工具序列格式固定下来,再回自有数据扩样。§4.3 的案例可当业务样例:三步证据链是典型深度,工具集至少要覆盖定位、量化、查规则三类。

9.2 一条最短的可用流程

这条流程从零跑到能报出带四档分的结果,不需要三维体积。

#-- 第一步:装评测器与数据下载工具
python3.11 -m pip install --upgrade deeptumorvqa huggingface_hub

#-- 第二步:指向镜像,只取基准问答与整卷切片
export HF_ENDPOINT=https://hf-mirror.com
python3.11 -c "
from huggingface_hub import snapshot_download
snapshot_download('tumor-vqa/DeepTumorVQA_2.0', repo_type='dataset',
                  allow_patterns=['benchmark/test_qa.json',
                                  'benchmark/images_2d/whole/*.png',
                                  'metadata/leaderboard.csv'])
"

#-- 第三步:先跑一遍官方给出的示例模型,确认流水线通
deeptumorvqa-eval --model Qwen/Qwen3-VL-4B-Instruct \
                  --mode vqa --input 2d_image --format mc \
                  --output results/baseline.json

#-- 第四步:换模型重跑,只改 --model 参数
deeptumorvqa-eval --model Qwen/Qwen3-VL-8B-Instruct \
                  --mode vqa --input 2d_image --format mc \
                  --output results/compare.json

第三步是关键校准点。官方卡片给的示例命令本身就是可跑通的基线;若分数与榜上可对照行差出一大截,先查切片目录,再查评测模式,最后才怀疑模型。把环境问题误判成模型问题,是这类评测最常见的冤枉。想评三维输入,把 --input 换成体积配置并先放好体积;想评工具模式,加参数并把缓存下到工作目录,都不必改评测器代码。

9.3 引用方式

论文引用用官方给的条目,注意作者顺序与题名。

@article{chen2026deeptumorvqa,
  title   = {DeepTumorVQA: A Hierarchical 3D CT Benchmark for
             Stage-Wise Evaluation of Medical VLMs and Tool-Augmented Agents},
  author  = {Chen, Yixiong and Xiao, Wenjie and Bassi, Pedro RAS and
             Wang, Boyan and He, Liang and Zhou, Xinze and Er, Sezgin and
             Hamamci, Ibrahim Ethem and Zhou, Zongwei and Yuille, Alan},
  journal = {arXiv preprint arXiv:2605.09679},
  year    = {2026}
}
引用场景 该引什么 注意事项
引用问答数据 2.0 论文与仓库 两处都引,仓库会更新
引用上游影像 AbdomenAtlas3.0Mini 及来源 版权归上游,不能只引本篇
引用前代结果 1.0 论文与旧仓库 标明版本,不与 2.0 混排
引用排行榜 仓库 CSV 并注明日期 榜单随投稿变化
商用致谢 问答署名,影像逐个核对 两类许可分开处理

署名要分清问答与影像两部分:问答嵌进产品只署一次名,派生切片或视频随产品分发则要沿上游链条逐个确认条款。§7.3 的 B7 也相关:若产品用的是在训练池上微调过的模型,署名之外还要说明能力来源与局限。

§10 AI 使用声明

项目 内容
撰写方式 由写作助手按千方医数集百科体例生成初稿
事实来源 官方数据集卡、官方仓库文件(问答样本、亚型模式表、排行榜、覆盖说明)、2.0 论文摘要 arXiv 页
检索方式 直接访问官方 API 与原始文件,未使用搜索引擎摘要代替原文
数字核对 规模与结构类数字以官方文件为准;官方内部口径不一致处已注明两个口径与差额
人工复核范围 医学表述、许可条款、亚型命名的中文对照
未核实项 论文期刊卷期、上游中心构成、人口学分布细节
未使用 未下载全量影像包逐条统计,未做分布类统计,未复跑任何模型
责任声明 本页不构成临床使用建议;数据用途以官方条款为准

常见误读(避坑清单)

常见说法 实际 证据
答案是放射科医生写的 由报告加掩膜经模板程序生成 数据集卡「标注」小节:全部问答由验证过的元数据程序化生成
两百道人工复核太少所以不可信 那是分层抽样估难度,不是校对样本 官方写明两位执业医生独立盲答,用意是展示难度非平凡
四十二亚型等于四十二种病 是任务亚型,一个器官可对应多个 模式表里肝脏同时出现在存在性、脂肪变、聚集度
论文四十七万六千道、仓库四十三万八千道,必有一个错 两个口径:交付物与全量含留出池,差额官方未说明 摘要给全量口径,卡片给交付物口径
医生只答对一半说明题目有毛病 两百道、直接作答、无工具,与模型最优配置不同条件 榜里两位医生输入为三维体积、模式为直接作答
分层设计让总分更可信 总分会被题量最多的亚型主导 模式表显示器官聚集度近千道、器官体积测量八百余道
训练池与基准同源,不能拿来训练 可以训练,但不能再拿基准当外部验证 卡片说明基准从留出池抽样而来
七十个 G 是必须付的下载成本 二维切片配置只要零点七 G 数据集卡按模态懒下载表
写着 CC-BY-4.0 就能整包商用再分发 只有问答与元数据是这个许可,影像沿用上游 卡片许可小节分三段写明
能拿它的分数做器械申报证据 官方明确仅供研究与教学 卡片使用注意事项第一条

FAQ

Q1:DeepTumorVQA 的答案是放射科医生写的吗?
不是。由结构化报告加器官分割掩膜经模板程序生成,另取两百道请两名执业放射科医生盲答,只为估难度,不是逐题校对。要当金标准用,先看清这点。

Q2:为什么有的地方写四十三万八千条,论文却写四十七万六千条?
卡片按交付物计数:一万道基准加约四十二万八千道训练池;论文按含留出池的全量口径。差额在留出池与去重规则,官方未说明。

Q3:不下载七十 G 的 CT 也能评测吗?
能。二维切片配置约零点七 G,视频约三点九 G,只有显式选三维体积输入才要七十 G。智能体参照缓存只要十一兆。

Q4:能把这个数据集直接用于临床吗?
不能。数据集卡写明仅供研究与教学,未获临床决策用途批准;评测分数高不等于临床可用。

Q5:训练池的 CT 体积在哪里?
本仓库不重托管训练池的 NIfTI,按官方说明去上游 AbdomenAtlas3.0Mini 取;基准的九百九十一个体积直接放在仓库里,训练目录另附病例清单。

Q6:为什么模型的总体分不高,但它的识别分很高?
这正是分层要显露的。识别一次分割就能定论,测量要准确量出数值,后者对当前模型是硬伤;总分被测量档拖下来,短板在量化不在感知。

Q7:能不能只用它的问答,影像用自己的 CT?
技术上可以,但题与影像强绑定:参照答案由对应体积的掩膜算出,换影像等于换参照。做跨中心泛化,正确做法是在新数据上重跑参照工具生成答案。

Q8:九千多个体积是九千多个病人吗?
不一一对应。官方给的是体积数,同一病人可能有多个期相或重建。做病人级统计前先去重,否则同一个人算两遍。

Q9:为什么有些亚型在训练池里等于零?
模式表显示若干医学推理亚型在全量与基准的题数完全相同,说明它们全在基准侧。想微调这些亚型,得自己在同源数据上造题。

Q10:能不能用它替代分割评测?
不能。它对外给的是问答准确率,不是戴斯系数。但附带的自动分割缓存可估算分割误差对问答的影响。

Q11:排行榜可以直接拿来比吗?
只有版本、输入模态、工具模式三项都相同时才可比。同一模型常有多行,分别对应二维、视频、三维与三种工具模式;看输入列与模式列,别只排总分类。

Q12:它会一直更新吗?
官方在覆盖说明里提到把轨迹扩到全部训练体积,标为 2.1 版。在此之前做版本间比较要留出这条变量。

术语表

术语 英文 含义
三维视觉问答 3D VQA 以三维体积为输入的问答,区别于单图问答
证据链 evidence chain 从识别到判读的步骤序列,每步有参照
四阶段 four stages 识别、测量、视觉推理、医学推理
亚型 subtype 任务粒度,共四十二个
原语 primitive 工具类别,分分割、测量、知识三类
参照轨迹 ground-truth trace 一道题应有的工具调用序列
参照工具模式 oracle mode 参照掩膜算出的工具结果交给模型
预测工具模式 predicted mode 用模型自带分割算出工具结果
视觉模式 vision mode 只给器官切片,测量靠看图估
体素间距 spacing 相邻体素在三个方向上的物理距离
层厚 slice thickness 沿第三维的采样间隔
部分容积效应 partial volume effect 体素跨越组织边界造成的灰度混合
掩膜 mask 逐体素标注的分割结果
自动分割缓存 auto-seg cache 通用分割模型预算好的工具输出
留出池 val pool 基准题目的抽样来源
器官聚焦切片 organ-focused slice 围绕器官裁剪的二维切片
整卷切片 whole-volume slice 覆盖整体积的二维切片
选择题模式 MC 选项内嵌在问句中
开放式模式 free-form 直接生成答案,靠匹配判分
模板化生成 templated generation 固定句式加变量批量造题
可机算答案 computable ground truth 可由程序从掩膜或规则算出
病例标识 BDMAP ID 上游 AbdomenAtlas 的病例编号
亚型模式表 subtype schema 亚型、属性、原语、题数对照表
中心 center 影像采集机构
分层抽样 stratified sampling 按亚型等比例抽题
病例级划分 patient-level split 按病人切训练与验证

附录 A:核心数字核对表

项 值 来源 来源层级
问答对总数 约 438,000 数据集卡首段 官方页面
基准问答数 10,000 问答文件 num_questions 字段 官方文件
训练池问答数 428,050 数据集卡配置表 官方页面
论文全量问答数 约 476,000 论文摘要 论文摘要
CT 体积总数 九千二百六十二 论文摘要 论文摘要
基准体积数 991 问答文件 num_images 字段 官方文件
训练池体积数 八千三百三十四 数据集卡配置表 官方页面
临床亚型数 42 亚型模式表行数 官方文件
亚型模式表列数 13 亚型模式表表头 官方文件
识别类亚型数 9 亚型模式表分组计数 官方文件
测量类亚型数 5 亚型模式表分组计数 官方文件
视觉推理类亚型数 16 亚型模式表分组计数 官方文件
医学推理类亚型数 12 亚型模式表分组计数 官方文件
最大亚型题数 977 亚型模式表 官方文件
最小亚型题数 3 亚型模式表 官方文件
轨迹总数 40,000 数据集卡配置表 官方页面
轨迹覆盖体积 283 覆盖说明 官方文件
轨迹覆盖亚型 38 覆盖说明 官方文件
排行榜行数 38 排行榜 CSV 官方文件
资深医生总体分 54.5 排行榜 CSV 官方文件
初级医生总体分 45.0 排行榜 CSV 官方文件
人工复核题数 200 数据集卡标注小节 官方页面
三维体积下载量 约 70 GB 数据集卡懒下载表 官方页面
二维切片下载量 约 0.7 GB 数据集卡懒下载表 官方页面
视频下载量 约 3.9 GB 数据集卡懒下载表 官方页面
问答文件内部版本 4.1 问答文件 version 字段 官方文件
仓库文件条目数 两万余 仓库 API 统计 未核实(API 返回值)

附录 B:数字的来源分层

第一层:官方页面。 来自数据集卡与仓库文件,包括问答总数、配置规模、下载量、许可安排、工具模式名称、标注方式与人工复核规模。可直接引用,官方修订会同步在同一位置。

第二层:论文摘要。 来自 arXiv 2605.09679,包括全量问答数、体积总数、三十多个配置的评测结论、测量是主瓶颈的判断。覆盖面比卡片宽,口径与卡片不同,引用须标明。

第三层:未核实。 期刊卷期、上游中心构成与人口学分布、各亚型的来源比例、自动分割缓存的模型与权重版本。两处来源都没有明确给出,本文相关表述一律写成「未给出口径」,不做推断。

三层混用最容易出的错是把第二层当成第一层的补充。两层计数规则不同:一层数交付物,二层数设计全集;差额(留出池与去重规则)没有公开说明,正确写法是两个口径并列。

附录 C:完整参考文献

  1. Chen Y, Xiao W, Bassi P, Wang B, He L, Zhou X, Er S, Hamamci IE, Zhou Z, Yuille A. DeepTumorVQA: A Hierarchical 3D CT Benchmark for Stage-Wise Evaluation of Medical VLMs and Tool-Augmented Agents. arXiv:2605.09679, 2026. https://arxiv.org/abs/2605.09679
  2. Chen Y, Xiao W, Bassi P, Zhou X, Er S, Hamamci IE, Zhou Z, Yuille A. Are Vision Language Models Ready for Clinical Diagnosis? A 3D Medical Benchmark for Tumor-centric Visual Question Answering. arXiv:2505.18915, 2025.
  3. Hugging Face 数据集卡 tumor-vqa/DeepTumorVQA_2.0. https://huggingface.co/datasets/tumor-vqa/DeepTumorVQA_2.0
  4. Hugging Face 数据集卡 tumor-vqa/DeepTumorVQA_1.0. https://huggingface.co/datasets/tumor-vqa/DeepTumorVQA_1.0
  5. 仓库文件 benchmark/test_qa.json 与 benchmark/test_qa.jsonl(问答字段与版本元数据)。
  6. 仓库文件 metadata/subtype_schema.csv(四十二亚型乘十三列的属性表)。
  7. 仓库文件 metadata/leaderboard.csv 与 leaderboard_freeform.csv(模型与医生分数)。
  8. 仓库文件 agent_sft/coverage_note.md(轨迹覆盖范围与排除亚型)。
  9. 仓库文件 train/ct_link.md(训练池体积的上游链接与病例清单)。
  10. 代码仓库 Schuture/DeepTumorVQA. https://github.com/Schuture/DeepTumorVQA
  11. 上游影像 AbdomenAtlas3.0Mini. https://huggingface.co/datasets/AbdomenAtlas/AbdomenAtlas3.0Mini
  12. Moglia A, Nastasio EC, Mainardi L, Cerveri P. MiniGPT-Pancreas: Multimodal Large Language Model for Pancreas Cancer Observation and Localization in CT Images. J Healthc Inform Res, 2026;10(1):40-69. doi:10.1007/s41666-025-00224-6(用于说明同领域其他团队对 CT 与问答式交互的探索,非本数据集来源)。

附录 D:从零复现一次小规模评测

把前文散落的步骤串成一条完整任务:只评识别与测量两档,用两百题,不碰三维体积。

#-- 步骤一:建工作目录并抽出按亚型分层的二百题子集
import json
import random
from collections import defaultdict
from pathlib import Path

base = Path("work_deeptumorvqa")
base.mkdir(exist_ok=True)

qa = json.loads(Path("benchmark/test_qa.json").read_text())
by_subtype = defaultdict(list)
for row in qa["questions"]:
    if row["question_type"] in ("recognition", "measurement"):
        by_subtype[row["question_subtype"]].append(row)

random.seed(7)
picked = []
report = []
for subtype, rows in sorted(by_subtype.items()):
    take = random.sample(rows, min(len(rows), 10))
    picked.extend(take)
    report.append({"subtype": subtype, "available": len(rows), "picked": len(take)})

(base / "subset_meta.json").write_text(json.dumps(report, ensure_ascii=False, indent=2))
(base / "subset.jsonl").write_text(
    "\n".join(json.dumps(r, ensure_ascii=False) for r in picked))
print("抽题", len(picked), "覆盖亚型", len(report))
low = [r for r in report if r["available"] < 10]
print("样本不足十道的亚型", [(r["subtype"], r["available"]) for r in low])
#-- 步骤二:跑评测并汇总四档分与亚型分
import json
import subprocess
from collections import defaultdict
from pathlib import Path

base = Path("work_deeptumorvqa")
subprocess.run([
    "deeptumorvqa-eval",
    "--model", "Qwen/Qwen3-VL-4B-Instruct",
    "--mode", "vqa",
    "--input", "2d_image",
    "--format", "mc",
    "--data", str(base / "subset.jsonl"),
    "--output", str(base / "result.json"),
], check=True)

res = json.loads((base / "result.json").read_text())
records = res.get("records", res.get("predictions", []))
hit = defaultdict(lambda: [0, 0])
for r in records:
    st = r["question_subtype"]
    ok = int(r.get("predicted_option") == r.get("correct_option"))
    hit[st][0] += ok
    hit[st][1] += 1

rows = sorted(((k, v[0] / max(v[1], 1), v[1]) for k, v in hit.items()), key=lambda x: x[1])
for k, acc, n in rows:
    print(f"{k:38s} acc={acc:.3f} n={n}")
#-- 步骤三:把两次运行的结果做差,看模型差异落在哪一档
python3.11 - <<'PY'
import json
from pathlib import Path

a = json.loads(Path("work_deeptumorvqa/result.json").read_text())
b = json.loads(Path("work_deeptumorvqa/result_8b.json").read_text())

def stage_acc(res):
    acc = {}
    for r in res.get("records", res.get("predictions", [])):
        st = r.get("question_type", "unknown")
        cur = acc.setdefault(st, [0, 0])
        cur[0] += int(r.get("predicted_option") == r.get("correct_option"))
        cur[1] += 1
    return {k: v[0] / max(v[1], 1) for k, v in acc.items()}

sa, sb = stage_acc(a), stage_acc(b)
for k in sorted(sa):
    print(f"{k:20s} 4B={sa[k]:.3f}  8B={sb.get(k, float('nan')):.3f}  delta={sb.get(k, 0) - sa[k]:+.3f}")
PY

三段做完,你手上有一张表:横轴是亚型,纵轴是准确率,外加两档差。这张表的用法是找「样本足但准确率奇低」的格子——那才是模型真正的短板;样本不足十道的格子要单独标注,不能与足量亚型并列比较,这一点在 §7.3 表里已经列为 B2 偏差。如果想继续往三维走,把步骤二的输入参数换成三维体积配置,并在运行前确认体积目录已就位。

附录 E:如果只记五件事

  1. 它是四阶段分层评测,不是又一个总分榜。 报分数必须报四档,否则这套设计等于没用。
  2. 答案不是医生写的。 由结构化报告加掩膜模板生成,两百道由两名医生盲答只用于标定难度。
  3. 两个口径要分清。 交付物约四十三万八千道,论文全量约四十七万六千道,差额源自留出池,官方未拆解。
  4. 下载量可以砍到零点七 G。 七十 G 的三维体积只在显式选择三维输入时才需要,先用二维配置做选型,再决定是否上三维。
  5. 许可分三层。 问答与元数据是 CC-BY-4.0,派生切片与视频沿用上游,底层体积归各自来源数据集。

编辑说明

核验时间 2026 年 10 月 26 日。核验方式为直接访问镜像 API 与仓库原始文件(数据集卡、问答样本、亚型模式表、排行榜、覆盖说明、训练链接说明),以及 arXiv 摘要页;Europe PMC 以题名精确检索无命中,故期刊卷期未列入。

未覆盖:各上游数据集的体积占比、人群与中心分布、自动分割缓存的模型与权重、开放式评分的全部结果。

口径:「约」表示官方给的是约数或本页取整;「未核实」表示两处来源都没有给出且未做推断;官方数字不一致时并列两个口径并注明差额,不判断对错。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • slide-chat — 共享标签:医学影像 / 医学问答与基准 / 视觉问答 / 肿瘤学
  • kits — 共享标签:医学影像 / CT / 医学问答与基准 / 肿瘤学
  • lits — 共享标签:医学影像 / CT / 医学问答与基准 / 肿瘤学
  • flare — 共享标签:医学影像 / CT / 医学问答与基准 / 肿瘤学
  • flare-2026 — 共享标签:医学影像 / CT / 医学问答与基准 / 肿瘤学
  • dalphin — 共享标签:医学影像 / 医学问答与基准 / 视觉问答 / 肿瘤学
  • pddca — 共享标签:医学影像 / CT / 肿瘤学
  • autopet — 共享标签:医学影像 / CT / 肿瘤学
  • lung-pet-ct-dx — 共享标签:医学影像 / CT / 肿瘤学
  • ct-org — 共享标签:医学影像 / CT / 肿瘤学

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集