信息速览

OpenI / IU X-ray — 经典胸片-报告图文对数据集 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | Indiana University Chest X-ray Collection |
| 英文全称 | Indiana University Chest X-ray Collection(OpenI / IU X-ray) |
| 别名/简称 | OpenI、IU X-ray、IU Chest X-ray、NLMCXR、印第安纳大学胸部X光开放影像集 |
| 疾病分类 | 胸部多疾病谱(ICD-11:CB24 心脏肥大 / CA4Z 呼吸系统疾病 / DB90-DB98 胸膜与胸腔疾病等,详见 §2.1) |
| SNOMED CT | 8186001 Cardiomegaly / 111895007 Atelectasis / 60046008 Pleural effusion / 233604007 Pneumonia / 168731009 Chest X-ray(详见 §2.2) |
| 数据模态 | 影像(胸部 X 光片,正位 PA/AP + 侧位)+ 文本(放射学报告) |
| AI 任务类型 | 放射报告生成(图像描述)、多标签图像分类、视觉-语言检索、图文多模态预训练、教学 |
| 样本总数 | 7,470 张胸片 / 3,955 份放射报告(一份报告对应一次检查,含 1-4 张影像) |
| 数据大小 | ~1.3 GB(PNG 发布版)/ ~75 GB(DICOM 原始版)/ ~1 MB(XML 报告) |
| 数据格式 | PNG(512px 灰度)/ DICOM(原始全分辨率)/ XML(报告)/ XLSX(术语映射表) |
| 许可证 | Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International(CC BY-NC-ND 4.0) |
| 访问级别 | 开放(官方直链直接下载,无需注册申请) |
| DUO 标签 | HMB, NPUNCU |
| 语言 | 英文(放射学报告) |
| 首发日期 | 2015-07(JAMIA 论文在线发表,数据集随 Open-i 平台公开) |
| 最后更新 | 2015-07-01(单次发布,此后未更新,无版本号体系) |
| 发布机构 | 美国国家医学图书馆(NLM/NIH)& 印第安纳大学医学院(Indiana University School of Medicine) |
| 官方主页 | https://openi.nlm.nih.gov/faq |
| 下载地址 | https://openi.nlm.nih.gov/imgs/collections/NLMCXR_png.tgz(PNG)/ NLMCXR_dcm.tgz(DICOM)/ NLMCXR_reports.tgz(报告) |
| DOI | 10.1093/jamia/ocv080(数据集论文,数据集本体无独立 DOI) |
| 引用次数 | 1,500+(Google Scholar,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 免申请直接下载、文档与手工编码完善、报告生成社区基准成熟;扣分项:无官方划分、规模小、发布后未更新、CC BY-NC-ND 限制衍生再分发 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 映射、胸部疾病临床任务定义、手工编码金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(XML 报告结构、影像-报告关联键)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
利益冲突声明:千方病案医数集与美国国家医学图书馆(NLM)、美国国立卫生研究院(NIH)、印第安纳大学无任何商业利益关联。本页面不托管、不再分发 OpenI / IU X-ray 数据集本体(符合 CC BY-NC-ND 4.0 的 NoDerivatives 条款与官方"不向外转发"请求),仅提供 AI 就绪指南与学术信息服务。编辑者未接受 NLM、NIH 或印第安纳大学的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。OpenI / IU X-ray 采用 CC BY-NC-ND 4.0 许可:仅限非商业用途、禁止演绎再分发;官方另请求不要将数据集分享到研究组/机构之外,发表成果时归属 NLM/NIH 并引用指定论文(PMID: 26133894)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
OpenI / IU X-ray 是美国国家医学图书馆(NLM)与印第安纳大学医学院于 2015 年联合发布的胸部 X 光开放影像集,包含 7,470 张脱敏胸片(正位 + 侧位)和 3,955 份结构化放射报告——一份报告对应一名患者的一次检查。全部数据经 CC BY-NC-ND 4.0 许可免申请直接下载。
它的历史地位一句话概括:这是全球第一个可以自由下载的"胸片 + 完整放射报告"图文对数据集。在它之前,医疗影像研究要么只有图像没有文本,要么文本锁在医院内网。2016-2020 年间几乎所有"AI 自动写放射报告"的开创性论文——从 CoAtt、HRGR 到 R2Gen——都在它上面完成首次验证,原始论文在 Google Scholar 已被引用超过 1,500 次(截至 2026-09)。
你可以用它来:复现放射报告自动生成(radiology report generation)的经典基线、做 MeSH/RadLex 多标签胸片分类、作为视觉-语言预训练的教学级入门数据集、或研究小样本医学图文对齐方法。需要大规模图文对训练时,请转向其后继者 MIMIC-CXR。
§1.1 摘要
OpenI / IU X-ray 由 NLM 的 Lister Hill 国立生物医学通信中心(LHNCBC)团队从印第安纳患者照护网络(Indiana Network for Patient Care,INPC)的两家医院收集整理:原始收集 3,996 份放射报告与 8,121 张 PACS 影像,经自动脱敏 + 人工复核后,剔除 41 份不合格检查,最终发布 3,955 份报告与 7,470 张影像。每份报告为一份 XML 文件,含 INDICATION(检查指征)、COMPARISON(对照检查)、FINDINGS(影像所见)、IMPRESSION(诊断印象)四个标准段落;除文本外,两名训练有素的编码员使用 101 个 MeSH 与 76 个 RadLex 编码对 2,470 份非正常报告的关键发现进行手工标注,另有 NLM 医学文本索引器(MTI)产生的自动 MeSH 标签。影像以 DICOM(约 75 GB)与 512px PNG(约 1.3 GB)双格式发布。数据集 2015 年单次发布后未再更新,但凭借"小而全、开箱即用"的特性,至今仍是胸片报告生成论文的标准小数据基准与教学首选。
§1.2 战略价值分析
范式开创维度:OpenI / IU X-ray 是放射报告自动生成(radiology report generation)这一研究方向的"第零号数据集"。Shin 等人 2016 年在 CVPR 发表的 “Learning to Read Chest X-Rays”(被引 540+)正是用它完成了医学影像"从分类到描述"的范式跨越;此后 Jing 等人的 CoAtt(ACL 2018)、Li 等人的 HRGR-Agent(AAAI 2018)、Chen 等人的 R2Gen(EMNLP 2020)一脉相承,把"看图写报告"从概念验证推进为成熟任务家族。没有 OpenI 的免费开放,这一子领域的兴起至少要推迟到 2019 年 MIMIC-CXR 出现之后。
生态互补维度:在 MIMIC-CXR(37 万影像)、CheXpert(22 万影像)主导的今天,IU X-ray 的角色反而更清晰了——它是报告生成评测的"小数据对照组"。几乎所有新一代报告生成论文(R2Gen、CMN、M2Tr、PPKED、TIMER 直到大模型时代)都坚持同时在 MIMIC-CXR 与 IU X-ray 上报告结果:后者规模小、正常例占比高(38%)、报告模板化程度高,恰好暴露模型"靠背模板刷 BLEU"的短板。它与 MIMIC-CXR 构成"小-大"“门诊-ICU”"高模板化-高多样性"的对照实验设计。
工程教学维度:全套数据下载不到 1.5 GB(PNG + XML),XML 结构规整、报告英文简洁、无需任何申请流程——这使 IU X-ray 成为医学多模态 AI 教学与原型验证的事实标准。MONAI 官方教程的 TransCheX 多标签分类示例、大量高校课程的期末项目、HuggingFace 上的数十个镜像与派生标注,都建立在它之上。
§1.3 横向对比
| 数据集 | 影像数 | 报告数 | 模态 | 获取方式 | 核心差异化 |
|---|---|---|---|---|---|
| OpenI / IU X-ray | 7,470 | 3,955 | X 光 + 完整报告 + 手工 MeSH/RadLex 编码 | 免申请直接下载(CC BY-NC-ND) | 首个开放图文对;小而全;教学与小数据基准 |
| MIMIC-CXR | 377,110 | 227,835 | X 光 + 报告(文本需 NLP 提标) | PhysioNet 凭证化申请 | 大规模 ICU 场景,大模型时代主基准 |
| NIH ChestX-ray14 | 112,120 | 无(NLP 提 14 标签) | X 光 + 弱监督标签 | 免申请直接下载 | 纯分类基准,无报告文本 |
| CheXpert | 224,316 | 不公开(Plus 版含) | X 光 + 不确定性标签 | 在线签署协议 | 不确定性建模范式 |
| PadChest | 160,868 | 109,931(西班牙语) | X 光 + 西语报告 | 申请下载 | 非英语放射报告的唯一大规模来源 |
| PEIR Gross | 7,443 | 每张一句描述 | 病理/放射教学图 | 开放 | 教学图像描述,非真实检查报告 |
OpenI / IU X-ray 的不可替代性在三点:免费开放且无申请门槛(CheXpert/MIMIC 均需签约);报告经专业编码员手工 MeSH/RadLex 标注(其他数据集全靠 NLP 自动提取);与 MIMIC-CXR 形成报告生成评测的"双基准"惯例。
§1.4 版本演进时间轴
| 时间 | 事件 |
|---|---|
| 2012 | NLM Open-i(Open Access Biomedical Image Search Engine)公开上线,索引 PMC 开放获取文献图像 |
| 2013-2014 | NLM 与印第安纳大学合作,从 INPC 两家医院收集 3,996 份报告 + 8,121 张影像,执行自动脱敏与人工复核 |
| 2015-07-01 | 数据集论文在线发表(Demner-Fushman et al., JAMIA, DOI: 10.1093/jamia/ocv080),3,955 份报告 + 7,470 张影像随 Open-i 开放下载 |
| 2015 | 标注方法学姊妹论文发表(“Annotation of Chest Radiology Reports for Indexing and Retrieval”,MIE 2015) |
| 2016-03 | 论文期刊版正式刊出(JAMIA 23(2):304-310) |
| 2016-06 | Shin et al. CVPR 2016 “Learning to Read Chest X-Rays”——首个基于 IU X-ray 的深度学习图文研究 |
| 2017-2019 | CoAtt / HRGR / CMAS-RL 等报告生成模型密集涌现,IU X-ray 成为领域标准基准 |
| 2019 | MIMIC-CXR 发布,IU X-ray 转为"小数据对照基准"角色 |
| 2020-11 | R2Gen(EMNLP 2020)发布代码与 70/10/20 预处理惯例,成为后续论文事实标准 |
| 2021-2023 | CMN、M2Tr Progressive、PPKED、TIMER 等持续以 IU X-ray 为第二基准 |
| 2015 至今 | 数据集本体无任何更新;Open-i 检索平台转入低维护状态,下载直链保持可用 |
§1.5 典型 AI 应用场景
- 放射报告自动生成(核心场景):输入胸片(正位 ± 侧位),输出 FINDINGS/IMPRESSION 文本——IU X-ray 是该任务从 2016 年至今的奠基性基准。
- 多标签胸片分类:以手工 MeSH/RadLex 编码或社区派生的 14 类 CheXpert 风格标签为监督信号(MONAI TransCheX 教程标准用法)。
- 视觉-语言检索与对齐:图文互检、跨模态 embedding 学习——数据集论文本身就是一篇检索研究(30 条查询的检索评测)。
- 小样本/低资源多模态方法验证:7,470 张影像的规模适合原型实验、消融研究与课程项目,单卡数小时即可跑完一轮。
- 教学与课程设计:免申请、体积小、XML 结构清晰,是医学 AI 课程介绍 DICOM、放射报告结构与脱敏的最佳教具。
§2 医学背景
§2.1 ICD-11 疾病分类锚定
OpenI / IU X-ray 覆盖常规门诊与住院胸片检查的完整疾病谱。手工编码体系为 MeSH + RadLex,其高频发现到 ICD-11 的映射如下(编码占比基于 2,470 份非正常报告,出自 Demner-Fushman 2016 Table 1):
| 手工编码(MeSH/RadLex) | 中文名称 | ICD-11 对应 | 占非正常报告比 |
|---|---|---|---|
| Cardiomegaly | 心脏肥大 | CB24 心脏肥大 | 15.1%(375 份,第一高频) |
| Pulmonary atelectasis | 肺不张 | CA4Z 呼吸系统疾病,未特指 | 14.0%(347 份) |
| Calcified granuloma | 钙化性肉芽肿 | CB0Z 肺部良性病变,未特指 | 11.5%(284 份) |
| Aorta / tortuous | 主动脉迂曲 | BD5Z 主动脉疾病,未特指 | 10.2%(253 份) |
| Lung / hypoinflated | 肺充气不足 | CA4Z 呼吸系统疾病,未特指 | 9.9%(245 份) |
| Opacity / lung base | 肺基底不透影 | CA4Z 呼吸系统疾病,未特指 | 8.2%(203 份) |
| Pleural effusion | 胸腔积液 | DB98.Z 胸腔积液,未特指 | 6.9%(172 份) |
| Lung / hyperinflation | 肺过度充气 | CA2Z 慢性阻塞性肺疾病相关 | 6.6%(164 份) |
| Cicatrix / lung | 肺瘢痕 | CA4Z 呼吸系统疾病,未特指 | 5.9%(148 份) |
| Calcinosis / lung | 肺钙化 | CB0Z 肺部良性病变,未特指 | 5.7%(141 份) |
编码体系说明:手工编码采用"后组式"(post-coordination)风格——MeSH 主干词 + 解剖限定词(如 Cicatrix/lung),101 个 MeSH 与 76 个 RadLex 编码共标注 6,907 条发现,Top-50 编码覆盖 68.1%。MeSH 首选词与放射科口语并不总是一致(如放射科写 “scarring”,MeSH 首选词为 Cicatrix),但 MeSH 条目词(entry terms)通常已覆盖放射科常用说法。官方另提供 radiology_vocabulary_final.xlsx 术语映射表供查询。
§2.2 SNOMED CT 映射
| 数据集标签 | ICD-11 | SNOMED CT | SNOMED CT 术语 |
|---|---|---|---|
| Cardiomegaly | CB24 | 8186001 | Cardiomegaly (finding) |
| Pulmonary atelectasis | CA4Z | 111895007 | Atelectasis (disorder) |
| Pleural effusion | DB98.Z | 60046008 | Pleural effusion (disorder) |
| Pneumonia | CA40 | 233604007 | Pneumonia (disorder) |
| Lung hyperinflation | CA2Z | 49584005 | Hyperinflation of lung (finding) |
| Pulmonary emphysema | CA22 | 87433001 | Pulmonary emphysema (disorder) |
| Calcified granuloma | CB0Z | 45658009 | Granuloma (morphologic abnormality) |
| Normal examination | — | 168731009 | Normal chest X-ray (finding) |
| 检查操作本体 | — | 168731009 / 399208008 | Plain chest X-ray (procedure) |
注:SNOMED CT 映射为千方编辑部依据 UMLS 对照关系整理,数据集官方仅以 MeSH/RadLex 发布,未提供 SNOMED CT 编码。
§2.3 疾病简介
胸部 X 光检查(chest radiography)是全球年检查量最大的医学影像手段,单美国每年即执行数千万人次,用于心肺疾病的筛查、诊断与随访。IU X-ray 的疾病谱反映典型综合医院胸片检查分布:心脏肥大(15.1%)、肺不张(14.0%)、钙化灶与陈旧性病变(合计约 23%)、胸腔积液(6.9%)为高频异常;同时 38% 的检查(1,526/3,996)被两名编码员判定为完全正常——这一"高正常率"高度贴近真实门诊场景,也是该数据集区别于"全阳性"教学图库(如 MedPix)的关键特征。需要注意的是,该集合急性重症与传染病样本稀疏(肺炎样本仅约 40 例),不适用于肺炎等特定疾病的检测研究。
§2.4 临床任务定义
| AI 任务 | 临床对应 | 监督信号来源 | 典型输出 |
|---|---|---|---|
| 放射报告生成 | 放射科医师阅片后书写 FINDINGS/IMPRESSION | 报告文本(FINDINGS 段为主目标) | 自由文本段落 |
| 多标签异常标注 | 医师对影像异常的标准化登记 | 手工 MeSH/RadLex 编码(2 名编码员) | 多热标签向量 |
| 影像-报告检索 | 临床以图搜例、教学检索 | 影像-报告关联键(uid) | 排序列表 |
| 正常/异常初筛 | 检查分诊(triage) | “normal” 判定(编码员共识) | 二分类 |
| 视觉-语言预训练 | 通用表征学习 | 图文对天然配对 | 跨模态 embedding |
§2.5 患者人群特征
| 维度 | 特征 |
|---|---|
| 数据来源 | 印第安纳患者照护网络(INPC)旗下印第安纳大学医学院附属两家医院(每家约 2,000 例),美国印第安纳州 |
| 采集时间 | 论文未公开披露检查年份区间;数据于 2013-2014 年整理、2015 年发布 |
| 规模 | 3,955 名患者(每份报告对应一名患者的一次检查)/ 7,470 张影像 |
| 年龄/性别 | 未以结构化字段发布;年龄性别散见于 INDICATION 自由文本(如 “XXXX-year-old male with cough”),脱敏将部分年龄替换为 XXXX |
| 种族分布 | 未发布 |
| 就医类型 | 门诊与住院混合(综合医院常规胸片检查流),非 ICU 专病队列 |
| 正常例占比 | 38%(1,526/3,996 报告被判定为 normal) |
| 视图构成 | 正位(PA/AP)与侧位约各占一半(Kaggle 社区标注:frontal 51% / lateral 49%,7,466 张可判读) |
人群偏倚提示:单区域(印第安纳州)双医院来源,人群族裔构成、设备厂商与报告书写风格均局限于美国中西部综合医院;无结构化人口学字段意味着公平性审计只能依赖文本挖掘,这是该数据集用于公平性研究的硬约束(详见 §7.1)。
§2.6 金标准/参考标准
| 数据层 | 标注/记录方式 | 产生者 | 金标准性质 |
|---|---|---|---|
| 报告文本(FINDINGS/IMPRESSION) | 临床常规书写,放射科医师签发 | 两家医院的执业放射科医师 | 临床金标准文本;未经二次阅片复核,存在个体风格差异 |
| 手工 MeSH/RadLex 编码 | 双人独立编码 + 检索任务相关性判定(Cohen’s κ = 0.85/0.90) | NLM 两名训练有素的编码员(L.R.、S.E.S.) | 数据集最强标注资产;仅覆盖 2,470 份非正常报告 |
| MTI 自动 MeSH 标签 | NLM Medical Text Indexer 自动提取 + MetaMap 否定剔除 | 机器 | 辅助信号;MTI 不处理否定与不确定性,被剔除的否定标签不可恢复 |
| 影像质量 | PACS 常规采集 + CTP 脱敏 + 人工复核 | 医院 PACS / NLM | 胶片扫描影像经人工排查烧录 PHI(4 张检出后移除) |
| 检索相关性判定 | 30 条查询 × 841 条记录,双人三点量表 | NLM 编码员 | 用于证明手工编码提升检索精度(论文核心实验) |
脱敏规则(理解数据怪癖的前提):影像经 RSNA Clinical Trial Processor(CTP)脱敏并逐张人工复核;文本经激进自动去标识,达到 100% precision——代价是少数医学词汇被误判为个人信息而替换为 “XXXX”(如 “Cardiomediastinal silhouette is XXXX”),这类损伤不可恢复,是文本任务的固有噪声(见 §6.5 坑点 4)。
§3 数据集规格
§3.0 版本抉择矩阵
IU X-ray 只有一个官方版本(2015 年单次发布),但存在三种获取形态。30 秒选型:
| 你的需求 | 推荐形态 | 大小 | 理由 |
|---|---|---|---|
| 报告生成 / 教学 / 快速原型 | NLMCXR_png.tgz + NLMCXR_reports.tgz | ~1.3 GB + ~1 MB | 512px PNG 直接可读,XML 报告立即可解析;社区全部基准论文均基于 PNG 版 |
| 需要原始分辨率、DICOM 元数据(窗宽窗位、设备型号)或高保真预处理 | NLMCXR_dcm.tgz | ~75 GB | 唯一含完整 DICOM 头的形态;注意磁盘与下载带宽 |
| 官方直链访问受限 / 需要 frontal-lateral 视图标注 | Kaggle raddar 镜像 | ~2 GB | 2048px PNG + indiana_projections.csv 人工视图标注;注意 CC BY-NC-ND 的 ND 条款使镜像再分发处于灰色地带(见 §6.5 坑点 8) |
一句话结论:做报告生成或分类实验,PNG 三件套(images + reports + vocabulary xlsx)永远够用;只有当你明确需要 DICOM 像素精度或头信息时才下载 75 GB 版本。
§3.1 模态详细说明
IU X-ray 是严格的双模态图文对数据集:
- 影像模态:7,470 张胸部 X 光片,正位(PA/AP)与侧位约各半。PNG 发布版为 8-bit 灰度、尺寸约 512×420 至 512×624(Shin et al. 2016 实测);DICOM 版保留原始全分辨率与经脱敏的 DICOM 头。一名患者的一次检查(一个 uid)关联 1-4 张影像,典型为正位 + 侧位两张。
- 文本模态:3,955 份 XML 放射报告,每份含 INDICATION / COMPARISON / FINDINGS / IMPRESSION 四段式结构(部分段落可缺失,见 §4.5)。FINDINGS 为影像所见叙述,是报告生成任务的主目标;IMPRESSION 为诊断结论。
- 标注层(第三模态性质):手工 MeSH/RadLex 编码(双编码员)+ MTI 自动 MeSH 标签,均以 XML 元素内嵌于报告文件。
§3.2 样本量拆分
| 口径 | 数量 | 说明 |
|---|---|---|
| 放射报告(= 患者 = 检查) | 3,955 | 每份报告对应一名患者的一次检查 |
| 影像总数 | 7,470 | 平均每次检查约 1.89 张 |
| 关联至少一张影像的报告 | 3,851(97.4%) | 其余 104 份为纯文本孤儿报告 |
| 含 FINDINGS + 至少一张影像 | 3,337 | 报告生成任务的实际上限 |
| 其中 FINDINGS 文本唯一 | 2,553(76.5%) | 23.5% 的 FINDINGS 与他报告完全重复 |
| 正常报告 | 1,526 / 3,996(38%) | 双编码员判定 |
| 非正常报告(手工编码覆盖) | 2,470 | 共标注 6,907 条发现 |
| R2Gen 预处理惯例后 | 6,470 影像 / 约 3,336 报告 | 剔除无 FINDINGS 样本(社区主流口径) |
§3.3 数据格式详情
| 文件 | 格式 | 尺寸/规格 | 说明 |
|---|---|---|---|
| NLMCXR_png.tgz | PNG(8-bit 灰度) | 512×420 ~ 512×624 | 约 1.3 GB;全部基准论文使用的形态 |
| NLMCXR_dcm.tgz | DICOM | 原始全分辨率 | 约 75 GB;含脱敏后 DICOM 头(设备、窗宽窗位等) |
| NLMCXR_reports.tgz | XML(UTF-8) | 每份报告一个文件 | 约 1 MB;解压目录名为 ecgen-radiology |
| radiology_vocabulary_final.xlsx | XLSX | — | MeSH/RadLex 术语映射表 |
| (Kaggle 镜像)indiana_projections.csv | CSV | 3 列 | 7,466 张影像的 frontal/lateral 人工视图标注 |
§3.4 存储大小
| 形态 | 压缩大小 | 解压后 | 备注 |
|---|---|---|---|
| PNG 影像包 | ~1.3 GB | ~1.5 GB | 第三方镜像站披露值,官方未标注 |
| DICOM 影像包 | ~75 GB | ~80 GB | 单张约 10 MB 的数字化胸片 |
| XML 报告包 | ~1 MB | ~15 MB | 3,955 个 XML 文件 |
| 推荐磁盘预留 | — | 5 GB(PNG 方案)/ 120 GB(DICOM 方案) | 含实验中间产物 |
§3.5 标注方式
三层标注体系,质量递减:
- 手工编码(金标准):两名 NLM 编码员依据专门编制的胸部 X 光索引词表(MeSH 为主、RadLex 补充,后组式风格)独立编码 2,470 份非正常报告的关键发现;检索评测阶段双人相关性判定一致性 Cohen’s κ = 0.85(三点量表)/ 0.90(二分判定)。
- 自动标注(辅助):NLM Medical Text Indexer(MTI)从 FINDINGS/IMPRESSION 提取 MeSH 标签;因 MTI 不处理否定,团队用 MetaMap 检出否定语境标签并整批剔除——这保证精度但牺牲了召回,且否定信息不可恢复。
- 文本本体(弱监督之源):FINDINGS/IMPRESSION 自由文本本身即是最丰富的监督信号;社区派生工作(CheXpert labeler 打 14 类标签、RadGraph 抽取等)均在此基础上二次加工。
放射科医师签发报告(INPC 医院)
│
├─→ 自动脱敏(激进算法,100% precision,XXXX 副作用)
│ └─→ 人工复核确认
├─→ MTI 自动 MeSH 标注 ─→ MetaMap 否定检出 ─→ 剔除否定标签
└─→ 双人手工 MeSH/RadLex 编码(仅非正常报告)
│
└─→ 检索评测验证(30 查询,κ=0.85)
§3.6 标注者资质
| 标注层 | 人数 | 资质 | 一致性检验 |
|---|---|---|---|
| 手工 MeSH/RadLex 编码 | 2 | NLM 专门培训的索引编码员(Laritza Rodriguez、Sonya E. Shooshan,均为数据集论文共同作者) | 检索相关性双人判定 Cohen’s κ = 0.85 / 0.90 |
| 报告书写 | 多名 | 两家医院执业放射科医师(临床常规签发) | 未做阅片者间一致性检验 |
| 自动标注 | — | NLM MTI + MetaMap(Aronson & Lang, 2010) | 论文报告:纯文本检索 vs 文本+手工编码检索的精度对比实验 |
§3.7 数据采集时间范围
论文未公开检查的具体年份区间。可确认的时间线:数据于 2013-2014 年间自 INPC 两家医院 PACS 与报告系统提取,2015-07 随论文在线发表开放下载。此后无增量更新、无版本号——这是理解其"冻结快照"性质的关键。
§3.8 地理覆盖
美国印第安纳州,印第安纳患者照护网络(Indiana Network for Patient Care,INPC)旗下印第安纳大学医学院附属的两家医院(论文未披露院名,每家贡献约 2,000 例)。单区域双中心结构是泛化性讨论的核心约束(§7.3)。
§3.9 采集设备规格
| 项目 | 说明 |
|---|---|
| 影像来源 | 两家医院 PACS(Picture Archiving and Communication System)导出的常规临床胸片 |
| 设备型号 | 未在论文层面汇总披露;DICOM 版头文件保留经脱敏的设备/参数元数据,可逐张查询 |
| 影像类型 | 数字摄影(DR)为主;含少量胶片扫描影像(论文明确指出 4 张烧录 PHI 的影像均为胶片扫描件,已移除) |
| 脱敏管线 | RSNA Clinical Trial Processor(CTP)处理 DICOM 头 + 人工逐张复核烧录文字 |
| 视图 | 正位(PA/AP)与侧位;发布包未提供官方视图标签,需文件名推断或用 Kaggle 社区标注 |
§3.10 深度溯源链
| 环节 | 系统/方法 | 关键转换 |
|---|---|---|
| 1. 临床产生 | 两家 INPC 医院放射科:常规胸片检查 + 医师签发报告 | 影像入 PACS,报告入 RIS/HIS |
| 2. 区域汇聚 | Indiana Network for Patient Care(区域健康信息交换组织) | 跨院报告文本汇集;印第安纳大学研究团队提取 3,996 份报告 + 8,121 张影像 |
| 3. 脱敏 | 文本:激进自动去标识算法;影像:RSNA CTP + 人工复核 | 文本达 100% precision,出现 XXXX 损伤;4 张烧录 PHI 影像移除 |
| 4. 质控筛选 | NLM 团队人工核查 | 剔除 41 份缺正/侧位配对或段落结构不清的检查 → 3,955 份 / 7,470 张 |
| 5. 编码标注 | 双人手工 MeSH/RadLex 编码 + MTI 自动标注 + MetaMap 否定剔除 | 101 MeSH + 76 RadLex 编码,6,907 条发现 |
| 6. 公开发布 | NLM Open-i 平台(openi.nlm.nih.gov) | 2015-07 随 JAMIA 论文上线;CC BY-NC-ND 4.0;Box/tgz 直链分发;此后冻结 |
§4 数据结构详解
§4.0 目录结构预览
iu_xray/ # 建议数据根目录(自命名)
├── NLMCXR_png/ # PNG 影像(解压自 NLMCXR_png.tgz,7,470 张)
│ ├── CXR1_IM-0001-1001.png # 正位(frontal)
│ ├── CXR1_IM-0001-2001.png # 侧位(lateral)
│ ├── CXR2_IM-0652-1001.png
│ ├── CXR2_IM-0652-2001.png
│ └── ... # 命名规则:CXR{uid}_IM-{code}-{view}
├── ecgen-radiology/ # XML 报告(解压自 NLMCXR_reports.tgz,3,955 份)
│ ├── 1.xml # 文件名 = uid(与影像 CXR{uid} 前缀对应)
│ ├── 2.xml
│ └── ...
├── radiology_vocabulary_final.xlsx # MeSH/RadLex 术语映射表(可选)
└── (可选)NLMCXR_dcm/ # DICOM 原始影像(解压自 NLMCXR_dcm.tgz)
└── ...
关联键说明:报告 2.xml ↔ 影像 CXR2_IM-0652-1001.png / CXR2_IM-0652-2001.png——uid(这里是 2)是唯一桥梁;XML 内部的 <parentImage id> 元素给出该报告关联影像的完整 id(如 CXR2_IM-0652-1001)。一份报告关联多张影像,一张影像只属一份报告。
§4.1 DAIMS 标准化字段描述表
XML 报告(每文件 = 一次检查)
| 字段名 | 数据类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| uid(文件名/eId) | INTEGER | 检查唯一标识 | 2 | 图文关联主键 | 无 | 不允许缺失 | 1-3955 整数 |
| INDICATION | TEXT | 检查指征(AbstractText Label) | “Positive PPD.” | 临床上下文特征 | 含 “XXXX” 脱敏占位 | 2.2% 报告缺失该段(86/3,851) | 自由文本 |
| COMPARISON | TEXT | 既往对照检查 | “None.” | 时间上下文(多数为 None) | 仅记录有无 | 15.6% 缺失(599/3,851) | 自由文本 |
| FINDINGS | TEXT | 影像所见叙述 | “The lungs are clear…” | 报告生成主目标 | XXXX 噪声;23.5% 文本重复 | 13.3% 缺失(514/3,851) | 自由文本,数十至数百字符 |
| IMPRESSION | TEXT | 诊断印象 | “No active disease.” | 生成/分类第二目标 | 同上 | 0.1% 缺失(31/3,851) | 自由文本,多为 1-2 句 |
| MeSH/RadLex 手工编码 | TEXT[] | 双编码员标注的关键发现 | “Cardiomegaly” | 多标签分类金标准 | 仅覆盖非正常报告 | 正常报告无编码(= normal 本身即标签) | 101 MeSH + 76 RadLex 词表 |
| MTI 自动标签 | TEXT[] | MTI 提取的 MeSH | “Pleural Effusion” | 辅助弱监督 | 否定标签已被剔除,不可恢复 | 无显式缺失编码 | MeSH 词表 |
| parentImage id | TEXT[] | 关联影像 id 列表 | “CXR2_IM-0652-1001” | 图文配对 | 104 份报告无关联影像 | 无影像则元素缺失 | 1-4 个 id |
影像(每文件 = 一张胸片)
| 字段名 | 数据类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| image_id | TEXT | 影像标识(文件名主体) | CXR2_IM-0652-1001 | 与报告 parentImage 关联 | 无 | 不允许缺失 | 文件名约定 |
| pixels | IMAGE | 像素矩阵 | 512×512 灰度 | 模型输入 | PNG 版仅 8-bit/512px | 无 | PNG 512×420~624;DICOM 全分辨率 |
| view | TEXT | 投照视图 | frontal / lateral | 视图过滤(多数论文只用正位) | 官方未标注,需文件名后缀或社区 CSV | 约 4 张无法判定 | frontal(PA/AP) / lateral |
§4.2 标签分布统计
手工编码 Top-10(基于 2,470 份非正常报告,Demner-Fushman 2016 Table 1):
| 编码 | 报告数 | 占比 |
|---|---|---|
| Cardiomegaly | 375 | 15.1% |
| Pulmonary atelectasis | 347 | 14.0% |
| Calcified granuloma | 284 | 11.5% |
| Aorta / tortuous | 253 | 10.2% |
| Lung / hypoinflated | 245 | 9.9% |
| Opacity / lung base | 203 | 8.2% |
| Pleural effusion | 172 | 6.9% |
| Lung / hyperinflation | 164 | 6.6% |
| Cicatrix / lung | 148 | 5.9% |
| Calcinosis / lung | 141 | 5.7% |
关键分布事实:
- 正常/异常:38% normal(1,526/3,996)——多标签分类中 “No Finding” 是最大类。
- 长尾严重:Top-50 编码覆盖 68.1% 发现,剩余 127 个编码分摊 31.9%——尾部编码样本量个位数。
- 肺炎样本仅约 40 例(IEEE Access 2021 综述统计),该数据集不支持肺炎专项检测。
- FINDINGS 文本重复:Top-10 高频 FINDINGS 文本(全为正常模板句,如 “The heart is normal in size. The mediastinum is unremarkable. The lungs are clear.”)覆盖 344 份报告(10.3%)。
- MeSH 标签共现:前 20 高频 MeSH 中 60% 以上与其他标签共现(Shin 2016),单标签假设不成立。
§4.3 关键字段描述性统计
- 平均每次检查约 1.89 张影像(7,470 / 3,955)。
- FINDINGS 段长度:以正常模板句约 15-25 词为下限,复杂病例达百词级;显著短于 MIMIC-CXR(见 Kougia et al. 2021 的段落长度箱线图对比)。
- 每名编码员平均为每份非正常报告标注约 2.8 条发现(6,907 / 2,470)。
- 约 60% 检查含正位 + 侧位双视图;单视图检查以正位为主。
§4.4 数据层级关系
患者 / 检查(uid,3,955;XML 文件名 = uid.xml)
├─ 报告文本(INDICATION / COMPARISON / FINDINGS / IMPRESSION)
├─ 手工 MeSH/RadLex 编码(检查级,非正常报告才有)
├─ MTI 自动 MeSH 标签(检查级)
└─ 影像 1..N(parentImage id 关联;N 通常 = 2:正位 + 侧位)
├─ CXR{uid}_IM-XXXX-1001.png(frontal)
└─ CXR{uid}_IM-XXXX-2001.png(lateral)
必须内化的层级事实:标签与文本都是**检查级(exam-level)**而非影像级(image-level)的——放射科医师是看着一次检查的全部影像写一份报告。把同一检查的每张影像当作独立带标签样本(image-based 假设)是社区早期论文的常见方法学错误:侧位片上未必能看到正位片对应的发现,反之亦然(Shin 2016、Jing 2018、Kougia 2019 均专门讨论过此问题)。正确做法见 §5.2 与 §6.5 坑点 1。
§4.5 缺失值情况与信息性缺失编码
| 缺失类型 | 字段 | 缺失率 | 缺失机制 | 对 AI 的影响 | 处理建议 |
|---|---|---|---|---|---|
| 结构性缺失 | FINDINGS | 13.3%(514/3,851) | 报告流程未单独成段(所见并入印象) | 报告生成样本上限缩减至 3,337 | 训练时剔除,或回退用 IMPRESSION |
| 结构性缺失 | COMPARISON | 15.6% | 无既往检查 | 对照建模不可用 | 视为 “None” |
| 结构性缺失 | INDICATION | 2.2% | 流程差异 | 上下文特征缺失 | 空字符串填充 |
| 影像缺失 | parentImage | 2.6%(104/3,955) | 影像未成功导出/脱敏失败 | 图文对减少 | 剔除纯文本孤儿 |
| 信息性缺失 | 手工编码 | 38%(正常报告) | 缺失即标签:无编码 = normal | 可直接构造 No Finding 类 | 勿误判为标注遗漏 |
| 信息性缺失 | MTI 否定标签 | 不可量化 | MetaMap 检出否定后整批剔除 | “无某标签” ≠ “无此病变” | 不把 MTI 阴性当硬负样本 |
| 文本损伤 | XXXX 占位符 | 少量报告 | 脱敏误伤医学词汇 | 生成模型学到 XXXX | 过滤含 XXXX 的样本(坑点 4) |
§5 数据划分与使用建议
§5.1 官方数据划分
官方不提供任何 train/validation/test 划分——这是 IU X-ray 与 MIMIC-CXR(官方划分)最大的工程差异。社区形成了两套事实标准:
- R2Gen 惯例(报告生成主流):Chen et al. (EMNLP 2020) 开源代码中的预处理流程——剔除无 FINDINGS 样本(余 6,470 影像 / 约 3,336 报告),按检查级随机 70/10/20 划分 train/val/test,文本小写化、去非字母 token。复现文献数值时务必使用该仓库的划分文件与预处理。
- MONAI TransCheX 惯例(多标签分类):johnson111788/tutorials 仓库提供 train/validation/test 的
.npy划分文件与 14 类 CheXpert 风格标签。
§5.2 推荐划分策略
- 检查级(exam-level)划分:划分单位必须是 uid(检查),而不是影像——同一检查的正位与侧位必须落在同一侧,否则同一病变同时出现在训练与测试中(坑点 1)。
- 固定随机种子并公开划分文件:因无官方划分,论文间数值可比性的唯一保障是复用前人公开的划分(R2Gen 仓库),或在自定义划分时公开 uid 列表。
- 按正常/异常分层:38% 正常例的比例应在 train/val/test 间保持一致。
- 视图均衡:若只用正位训练,先按视图过滤再划分;混入侧位会污染正位模型的评估(坑点 6)。
import random
def exam_level_split(uids, seed=42, ratios=(0.7, 0.1, 0.2)):
"""按检查 uid 划分;uids 为去重后的检查 id 列表"""
rng = random.Random(seed)
uids = sorted(uids)
rng.shuffle(uids)
n = len(uids)
n_train, n_val = int(n * ratios[0]), int(n * ratios[1])
return (set(uids[:n_train]), set(uids[n_train:n_train + n_val]),
set(uids[n_train + n_val:]))
train_u, val_u, test_u = exam_level_split(all_uids)
assert not (train_u & test_u) # 检查级零泄漏验证
§5.3 数据泄漏风险防御
| # | 泄漏模式 | 严重程度 | 防御措施 |
|---|---|---|---|
| 1 | 按影像而非检查划分(正/侧位分居 train/test) | 高 | 以 uid 为分组键划分 |
| 2 | FINDINGS 重复文本跨集合出现(23.5% 非唯一) | 中高 | 对 FINDINGS 文本去重后再划分,或至少报告去重后指标 |
| 3 | 检索式生成方法"背模板":测试集正常句在训练集出现 | 中 | 评估时分层报告正常/异常子集指标 |
| 4 | 用含 INDICATION(指征)训练生成 FINDINGS,测试时泄漏临床提示 | 低-中 | 明确声明输入是否含 INDICATION,论文间保持一致 |
§5.4 交叉验证建议
样本量小(3,337 可用报告),单次 70/10/20 划分的测试集仅约 670 份报告,BLEU/CIDEr 波动可达 ±0.01-0.02。建议:(1) 复现文献时用其公开划分单次评估;(2) 方法学研究用 5 折检查级交叉验证报告均值 ± 标准差;(3) 大模型零样本评估可直接使用 R2Gen 惯例的测试集。
§5.5 外部验证
IU X-ray 训练的模型外部验证标准路径:MIMIC-CXR(同一任务的最大规模对照,几乎所有报告生成论文的标配双基准设计)、PadChest(跨语言泛化)、NIH ChestX-ray14 / CheXpert(分类任务迁移)。反向(大集训练 → IU X-ray 测试)是常见的小样本泛化协议。
§6 AI 就绪指南
§6.0 云端快速启动
零门槛体验:数据集本身即"云端友好"——PNG + XML 合计约 1.3 GB,Google Colab 免费实例可直接
wget官方直链并在分钟级完成解压与解析,无需任何账号。# Colab 单元格内直接执行(官方直链) !wget -q https://openi.nlm.nih.gov/imgs/collections/NLMCXR_png.tgz !wget -q https://openi.nlm.nih.gov/imgs/collections/NLMCXR_reports.tgz !tar -xzf NLMCXR_png.tgz && tar -xzf NLMCXR_reports.tgzMONAI 官方教程 “Preprocessing Open-I Dataset / TransCheX”(github.com/johnson111788/tutorials → multimodal/openi_multilabel_classification_transchex)提供了从原始包到 14 类多标签训练的完整 Notebook,配合 Colab 免费 GPU 可在 1 小时内跑通。
§6.1 快速上手(XML 解析 + 图文配对)
# ========================================
# OpenI / IU X-ray 快速上手 — XML 解析与图文配对
# 环境要求: Python >= 3.8, pandas, lxml(或标准库 xml.etree)
#
# 目录结构预期:
# ./iu_xray/
# ├── NLMCXR_png/ # 7,470 张 PNG(CXR{uid}_IM-*-{view}.png)
# └── ecgen-radiology/ # 3,955 份 XML({uid}.xml)
#
# 关联规则:XML 文件名 uid ↔ 影像文件名前缀 CXR{uid}
# ========================================
import os
import glob
import xml.etree.ElementTree as ET
import pandas as pd
DATA_ROOT = "./iu_xray"
IMG_DIR = os.path.join(DATA_ROOT, "NLMCXR_png")
RPT_DIR = os.path.join(DATA_ROOT, "ecgen-radiology")
def parse_report(xml_path):
"""解析一份 XML 报告 → dict"""
tree = ET.parse(xml_path)
root = tree.getroot()
uid = int(os.path.splitext(os.path.basename(xml_path))[0])
sections = {}
for node in root.iter("AbstractText"):
label = node.get("Label", "")
sections[label] = (node.text or "").strip()
# 关联影像 id
images = [img.get("id") for img in root.iter("parentImage")]
# 手工 MeSH/RadLex 编码(XML 中 mesh 元素;结构以实际文件为准)
mesh = [m.text.strip() for m in root.iter("mesh") if m.text]
return {
"uid": uid,
"indication": sections.get("INDICATION", ""),
"comparison": sections.get("COMPARISON", ""),
"findings": sections.get("FINDINGS", ""),
"impression": sections.get("IMPRESSION", ""),
"mesh_manual": mesh,
"image_ids": images,
"n_images": len(images),
}
reports = pd.DataFrame([parse_report(p) for p in
sorted(glob.glob(os.path.join(RPT_DIR, "*.xml")),
key=lambda x: int(os.path.splitext(os.path.basename(x))[0]))])
print(reports.shape) # 期望约 (3955, 8)
print(reports["n_images"].describe())
# 过滤:保留有 FINDINGS 且有关联影像的检查(报告生成惯例)
usable = reports[(reports["findings"].str.len() > 0) & (reports["n_images"] > 0)]
print(f"可用图文对: {len(usable)}") # 期望约 3,337
# 拼接影像绝对路径(frontal 视图优先,*_IM-*-1001 形态)
def frontal_path(image_ids):
for iid in image_ids:
p = os.path.join(IMG_DIR, f"{iid}.png")
if os.path.exists(p):
return p
return None
usable = usable.assign(image_path=usable["image_ids"].map(frontal_path))
print(usable[["uid", "image_path", "findings"]].head())
§6.2 数据获取流程
| 获取方式 | 链接/位置 | 大小 | 流程 |
|---|---|---|---|
| PNG 影像(官方直链) | https://openi.nlm.nih.gov/imgs/collections/NLMCXR_png.tgz | ~1.3 GB | 直接 wget/浏览器下载,无需注册 |
| DICOM 影像(官方直链) | https://openi.nlm.nih.gov/imgs/collections/NLMCXR_dcm.tgz | ~75 GB | 同上;注意带宽与磁盘 |
| XML 报告(官方直链) | https://openi.nlm.nih.gov/imgs/collections/NLMCXR_reports.tgz | ~1 MB | 同上;解压目录名 ecgen-radiology |
| 术语映射表 | https://openi.nlm.nih.gov/imgs/collections/radiology_vocabulary_final.xlsx | 小 | MeSH/RadLex 词表 |
| Kaggle 镜像 | kaggle.com/datasets/raddar/chest-xrays-indiana-university | ~2 GB | 需 Kaggle 账号;2048px PNG + frontal/lateral 标注 CSV |
| Open-i API | https://openi.nlm.nih.gov/services | 免下载 | 以 iu filter 程序化检索该集合(检索平台低维护状态) |
官方使用请求(Open-i FAQ 原文):不要将数据集分享到研究组/机构之外,转介感兴趣者至官方;发现数据错误请告知 NLM;发表成果时归属 “National Library of Medicine, National Institutes of Health, Bethesda, MD, USA” 并引用 PMID 26133894。
§6.3 预处理 Pipeline
<details>
<summary><b>点击展开完整的 5 步预处理代码(报告生成方向,R2Gen 惯例)</b></summary>
# 步骤 1:解析全部 XML(复用 §6.1 的 parse_report)
reports = pd.DataFrame([parse_report(p) for p in xml_files])
# 步骤 2:质量过滤
df = reports.copy()
df = df[df["n_images"] > 0] # 剔除无影像孤儿报告(104 份)
df = df[df["findings"].str.strip().str.len() > 0] # 剔除无 FINDINGS(→ 约 3,337)
df = df[~df["findings"].str.contains("XXXX")] # 剔除脱敏损伤样本(坑点 4)
# 步骤 3:文本规范化(R2Gen 惯例)
import re
def clean_text(t):
t = t.lower()
t = re.sub(r"[^a-z ]", " ", t) # 去非字母
t = re.sub(r"\s+", " ", t).strip()
return t
df["findings_clean"] = df["findings"].map(clean_text)
# 步骤 4:重复文本标记(不删除,供分层评估;如需严格去重在此 drop_duplicates)
df["findings_dup"] = df.duplicated(subset=["findings_clean"], keep=False)
print(f"重复 FINDINGS 占比: {df['findings_dup'].mean():.1%}") # 约 20%+
# 步骤 5:检查级 70/10/20 划分(或直接加载 R2Gen 仓库划分文件)
uids = df["uid"].tolist()
train_u, val_u, test_u = exam_level_split(uids, seed=42)
for name, s in [("train", train_u), ("val", val_u), ("test", test_u)]:
sub = df[df["uid"].isin(s)]
sub.to_json(f"{name}.json", orient="records")
print(name, len(sub), "正常占比:",
(sub["mesh_manual"].map(len) == 0).mean().round(3))
</details>
推荐直接使用社区成熟管道替代手写:cuhksz-nlp/R2Gen(报告生成标准预处理 + 划分)、MONAI tutorials 的 TransCheX 示例(多标签分类预处理 + 官方 npy 划分)、nlpaueb/bioCaption(影像描述 train/test 划分:6,698/745 影像级——注意其划分单位是影像而非检查,引用其数值时需注明口径差异)。
§6.4 框架加载
import torch
from torch.utils.data import Dataset, DataLoader
from PIL import Image
class IUXrayDataset(Dataset):
"""检查级图文对 Dataset:一次检查 = 正位图 + FINDINGS"""
def __init__(self, df, transform=None, max_len=60):
self.df = df.reset_index(drop=True)
self.transform = transform
def __len__(self):
return len(self.df)
def __getitem__(self, i):
row = self.df.iloc[i]
img = Image.open(row["image_path"]).convert("L")
if self.transform:
img = self.transform(img)
return img, row["findings_clean"], row["uid"]
from torchvision import transforms
tf = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize([0.5], [0.5]),
])
loader = DataLoader(IUXrayDataset(train_df, tf), batch_size=16,
shuffle=True, num_workers=4)
# TensorFlow / Keras 等价写法
import tensorflow as tf
def gen():
for _, row in train_df.iterrows():
img = tf.image.decode_png(open(row["image_path"], "rb").read(), channels=1)
img = tf.image.resize(img, [224, 224]) / 255.0
yield img, row["findings_clean"]
ds = (tf.data.Dataset.from_generator(
gen, output_signature=(
tf.TensorSpec((224, 224, 1), tf.float32),
tf.TensorSpec((), tf.string)))
.shuffle(1024).batch(16).prefetch(tf.data.AUTOTUNE))
§6.5 常见坑点
⚠️ 坑点 1:把一次检查的多张影像当独立样本——检查级标签错配与数据泄漏(分类:数据泄漏)
问题:一份报告对应 1-4 张影像(正位 + 侧位),标签与文本是检查级的。把每张影像当独立带标签样本(image-based),会同时犯两个错误:侧位片背上了正位片才有的发现标签;同一检查的正/侧位分居 train/test 造成同病变泄漏。
症状:多标签分类 AUROC 虚高 3-10%;侧位输入时模型输出与正位几乎相同的"正位风格"报告。
解决:以 uid(检查)为最小划分与采样单位;训练输入要么只用正位,要么把同检查多视图一起编码(如 Li et al. 2018 的多图 embedding 平均/拼接);评估时声明口径(exam-level vs image-level)。bioCaption 的 6,698/745 划分是影像级口径,与 R2Gen 的检查级口径不可直接比较。
参考:Kougia 2019 硕士论文 §2(image-based vs case-based 专章);Shin et al. 2016 CVPR。
⚠️ 坑点 2:无官方划分——你的 SOTA 可能只是换了个随机种子(分类:评估误用)
问题:官方不提供划分。不同论文各自随机 70/10/20,测试集仅约 670 份报告,BLEU-1 波动 ±0.01-0.02;跨论文比较排行榜数值时,差异可能在划分噪声之内。
症状:同一模型在你手里的复现数值与论文差 1-3 个 BLEU 点;两篇论文的"提升"互相矛盾。
解决:复现文献时必须使用该文献公开的划分文件与预处理(R2Gen 仓库的
data/iu_xray);新方法论文应公开划分 uid 列表;报告均值 ± 标准差(5 次运行或 5 折)。参考:R2Gen GitHub README;Kougia et al. 2021 “Diagnostic Captioning: A Survey”(划分与口径不一致的系统梳理)。
⚠️ 坑点 3:FINDINGS 缺失与重复——检索式方法的隐形加分器(分类:标签理解)
问题:13.3% 报告无 FINDINGS;在有 FINDINGS 的报告中 23.5% 的文本与他报告完全重复(绝大多数是正常模板句),Top-10 模板句覆盖 10.3% 的报告。
症状:检索式/模板式生成方法 BLEU 异常高,甚至逼近生成式 SOTA;模型对正常例输出完美、对异常例输出也是正常句。
解决:训练前明确过滤口径(是否剔除无 FINDINGS);评估时分层报告正常/异常子集指标;论文中声明是否对 FINDINGS 去重。读排行榜时牢记:IU X-ray 的高 BLEU 部分反映的是"背模板"能力。
参考:Kougia et al. 2021 §2.1(重复统计:3,337 中仅 2,553 唯一);Liu et al. 2019 ML4H(检索基线之强)。
⚠️ 坑点 4:“XXXX” 脱敏占位符与文本噪声(分类:预处理陷阱)
问题:激进的自动去标识将少数医学词汇误判为 PHI 并替换为 “XXXX”(如 “Cardiomediastinal silhouette is XXXX”),损伤不可恢复;原始 XML 还含零星编码问题字符。
症状:生成模型输出中混入 “xxxx”;词表统计出现高频无意义 token;clean 后句子语义断裂。
解决:预处理时剔除 findings/impression 含 “XXXX” 的样本(占比小,直接丢弃最干净),或将 “XXXX” 统一替换为
[UNK];声明处理口径。Shin 2016 论文图 1 即为此类噪声的真实案例。参考:Demner-Fushman 2016(“rendering a few findings uninterpretable”);Shin et al. 2016 CVPR。
⚠️ 坑点 5:MTI 自动标签的否定陷阱(分类:标签理解)
问题:MTI 不处理否定(“no evidence of pneumonia” 也会打上 Pneumonia 标签);官方做法是用 MetaMap 检出否定标签后整批剔除——因此 MTI 标签"有"可信,"无"不可信。把 MTI 阴性当硬负样本训练多标签分类器会系统性污染标签。
症状:以 MTI 标签训练的分类器对正常例召回虚高、对"明确否定"病例误判;标签噪声率在否定密集病种上显著升高。
解决:多标签分类优先用手工 MeSH/RadLex 编码(金标准,但仅覆盖非正常报告);用 MTI 标签时只做正样本挖掘,不构造负样本;需要否定信息时改用 CheXpert labeler / NegBio 对 FINDINGS 重新打标。
参考:Kougia 2019 论文(MTI 否定处理流程);Demner-Fushman 2015 标注方法学论文。
⚠️ 坑点 6:正位/侧位混淆——官方未提供视图标签(分类:工程陷阱)
问题:发布包不含官方视图标注;文件名尾号(-1001/-2001 等)只能粗略推断视图,Kaggle 社区的
indiana_projections.csv(7,466 张人工标注,frontal 51% / lateral 49%)是事实标准但非官方。症状:训练"正位模型"时混入约一半侧位;AuROC/BLEU 莫名偏低;可视化注意力图落在胸腔外。
解决:使用 Kaggle projections CSV 或自行训练视图分类器(正/侧位是很容易的二分类,数千样本即可 99%+);推理路径与训练视图保持一致;引用视图过滤口径时注明来源。
参考:Kaggle raddar 镜像 indiana_projections.csv;MONAI TransCheX 预处理脚本。
⚠️ 坑点 7:长尾与类别不平衡——Top-50 之外几乎无监督信号(分类:偏倚陷阱)
问题:Top-50 编码覆盖 68.1% 发现,尾部 127 个编码样本量个位数;肺炎仅约 40 例;“normal” 独占 38%。直接多标签训练会使尾部类 AP≈0。
症状:宏平均 AP 被尾部类拖垮;模型只预测 Top-10 标签;罕见病召回为零。
解决:(1) 仅评估样本量充足的头部类别(社区惯例取 Top-10 或映射到 14 类 CheXpert 标签);(2) 尾部类用 few-shot 或文本描述匹配(zero-shot CLIP 类方法);(3) 报告宏/微两种平均;(4) 别在该数据集上做肺炎专项研究。
参考:IEEE Access 2021 肺炎综述(40 例统计);Demner-Fushman 2016 Table 1。
⚠️ 坑点 8:CC BY-NC-ND 4.0 的"ND"比你想的更严格(分类:合规风险)
问题:许可为署名-非商业-禁止演绎 4.0:商业用途禁止;"禁止演绎"条款使修改后的再分发(如重采样 PNG、合并进新数据集、上传预处理版本到 HuggingFace)处于违规边缘;官方另请求不向研究组外转发。Kaggle/HF 上的各类镜像严格说都在灰色地带。
症状:公司法务驳回数据集使用申请;上传派生数据集被下架;商用产品审计失败。
解决:研究使用时从官方直链下载、不转发、不公开派生版本;需要商业或大尺寸改造的场景改用 MIMIC-CXR(PhysioNet 凭证制)或自行联系 NLM 获取授权;发表时严格按官方要求归属 NLM/NIH 并引用 PMID 26133894。
参考:Open-i FAQ 许可与归属条款原文;CC BY-NC-ND 4.0 法律文本。
版本提示:数据集自 2015-07 发布后无任何版本更新,不存在版本对齐问题;但社区派生物(Kaggle 镜像、R2Gen 预处理包、MONAI 划分文件)各自独立演化,引用时务必注明所用派生物及其 commit/日期。
§6.6 数据增强
| ✅ 安全增强 | ❌ 危险增强(禁止) |
|---|---|
| 小幅旋转(±5-10°)、平移、缩放 | 水平翻转(改变左右解剖方位,报告文本含 left/right 时直接制造错误监督) |
| 亮度/对比度/伽马扰动 | 弹性形变过大(扭曲心脏轮廓,破坏 Cardiomegaly 等尺寸相关标签) |
| 随机裁剪 + resize(保持纵横比) | 混图类增强(Mixup/CutMix 用在报告生成任务上语义不兼容) |
| 文本侧:同义句检索增强(重复 FINDINGS 天然存在) | 对 XXXX 样本做"填空"修复(把脱敏损伤当可恢复信息) |
| CLAHE 直方图均衡(X 光常规) | 把侧位图当正位图增强进正位训练集 |
§6.7 模型推荐
| 任务 | 推荐方案 | 说明 | 预期性能(IU X-ray 测试集) |
|---|---|---|---|
| 报告生成基线 | R2Gen(memory-driven Transformer) | 开源、划分与预处理现成 | BLEU-1 0.470 / ROUGE-L 0.371 |
| 报告生成进阶 | CMN / M2Tr Progressive / TIMER | 记忆/渐进/token 平衡改进 | BLEU-1 0.48-0.49 |
| 多标签分类 | DenseNet-121 + CheXpert 14 标签映射 | MONAI TransCheX 教程路线 | 头部类 AUROC 0.85+ |
| 检索式生成 | kNN 检索最近邻报告 | 利用 FINDINGS 重复性,正常例极强 | 正常子集 BLEU 接近 SOTA |
| 大模型零样本 | LLaVA-Rad / CheXagent 类医学 VLM | 无需训练,直接评估 R2Gen 测试集 | CE F1 优于传统方法,BLEU 偏低 |
| 教学演示 | CNN-RNN(Shin 2016 复现) | 代码量最小 | BLEU-1 约 0.4 |
§6.8 计算资源需求
| 硬件 | 最小配置 | 推荐配置 |
|---|---|---|
| 磁盘 | 5 GB(PNG 方案) | 120 GB(DICOM 方案 + 中间产物) |
| 内存 | 8 GB | 16 GB |
| GPU | 单卡 8 GB(DenseNet-121 分类 / R2Gen 训练) | 单卡 16-24 GB(大 batch 生成模型) |
| 训练时间 | 分类基线 1-2 小时 | R2Gen 完整训练约 6-12 小时(单卡) |
| 云端替代 | Colab 免费 GPU 即可跑通全流程 | — |
§6.9 评估指标
报告生成任务社区共识指标:NLG 指标(BLEU-1~4、METEOR、ROUGE-L、CIDEr)+ 临床有效性指标(Clinical Efficacy,用 CheXpert labeler 对生成报告打 14 类标签后与参考标签算 P/R/F1)。
# NLG 指标(pycocoevalcap,R2Gen 仓库内置)
from pycocoevalcap.bleu.bleu import Bleu
from pycocoevalcap.rouge.rouge import Rouge
from pycocoevalcap.meteor.meteor import Meteor
# gts/res: {uid: [句子]}
print(Bleu(4).compute_score(gts, res))
print(Rouge().compute_score(gts, res))
print(Meteor().compute_score(gts, res))
# 临床有效性(CE)指标:对生成与参考报告分别跑 CheXpert labeler
from sklearn.metrics import precision_recall_fscore_support
p, r, f1, _ = precision_recall_fscore_support(
y_true_chexpert14, y_pred_chexpert14, average="macro")
print(f"CE macro-F1: {f1:.3f}")
多标签分类任务:宏/微 AUROC + 各类 AP(注意坑点 7 的尾部类问题)。检索任务:P@K / R@K / MAP(数据集论文原始评测口径)。
§6.10 MLOps 笔记
- 引用规范:发表时必须归属 NLM/NIH 并引用数据集论文(PMID 26133894 / DOI 10.1093/jamia/ocv080);使用 R2Gen 划分需同时引用 Chen et al. 2020。
- 预处理版本锁定:记录所用派生物(镜像、划分文件、预处理脚本)的 commit 哈希;IU X-ray 的"版本"问题全在派生物层面。
- 数据漂移:2015 年冻结快照,影像设备与报告风格停留在 2010 年代初美国中西部综合医院;部署到当代设备前必须做外部验证(§7.3)。
- 合规审计:团队准入时登记 CC BY-NC-ND 条款知悉情况;禁止将预处理产物推送到公开仓库(ND 条款)。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 单区域偏倚 | 印第安纳州两家医院,美国中西部综合医院人群 | 高 | MIMIC-CXR / PadChest 外部验证 |
| 时代偏倚 | 2010 年代初数据,2015 年冻结 | 中高 | 声明时代局限;当代部署前重验证 |
| 选择偏倚 | 入组要求报告段落结构完整(剔除 41 份);双视图配对偏好 | 中 | 说明队列构成 |
| 正常例偏高 | 38% normal,贴近门诊但偏离"全阳性"教学库假设 | 中 | 分层评估正常/异常 |
| 标注覆盖偏倚 | 手工编码仅覆盖非正常报告;MTI 否定标签剔除 | 中 | §6.5 坑点 5 的负样本策略 |
| 人口学不可见 | 无结构化年龄/性别/族裔字段 | 高(公平性研究) | 换用含人口学的 MIMIC-CXR / CheXpert Plus |
| 文本模板化 | 正常 FINDINGS 高度重复 | 中 | 去重后报告指标 |
§7.2 标注质量评估
| 标注类型 | 可靠性 | 一致性 | 局限性 |
|---|---|---|---|
| 手工 MeSH/RadLex 编码 | 高(专业编码员 + 检索实验验证提升精度) | 检索相关性 κ=0.85/0.90 | 仅非正常报告;后组式编码需词表解读;编码间不一致未直接报告 |
| MTI 自动 MeSH | 中(精度经否定剔除保障,召回有限) | — | 否定不可恢复;无不确定性建模 |
| 报告文本 | 高(执业放射科医师签发) | 未做阅片者间检验 | 个体风格差异;XXXX 损伤 |
| 视图标签(社区) | 高(人工标注) | — | 非官方,7,466/7,470 覆盖 |
§7.3 泛化性讨论
| 场景 | 失效风险 | 证据 |
|---|---|---|
| 跨机构(美国其他医院) | 中 | 报告风格与设备差异;报告生成论文普遍观察到 IU→MIMIC 迁移时 BLEU/CE 显著下降 |
| 跨地域/语言(欧美→亚洲、西语) | 高 | PadChest 为西语报告,语言与书写规范完全不同 |
| 跨任务(报告生成→检测/分割) | 极高 | 无像素级标注,无法用于病灶定位类任务 |
| 跨时间(2010s→当代) | 中高 | 设备与报告模板演进;冻结快照无更新机制 |
| 跨人群(儿科/ICU/急诊便携片) | 高 | 综合医院常规检查流,不含 ICU 便携 AP 片谱系(那是 MIMIC-CXR 的领域) |
§7.4 伦理考量
- 数据来自真实患者检查,虽经严格脱敏(文本 100% precision、影像人工复核),仍应遵守不尝试重识别的底线。
- CC BY-NC-ND 4.0 的非商业与禁止演绎条款是法律硬约束,商业产品与公开派生数据集均需另寻授权。
- 官方"不转发"请求虽非法律条款,但属数据托管方的明确意愿,镜像与二手分发的伦理地位存疑。
- 数据集无人口学字段,基于其训练的模型无法完成公平性自查——这一盲区应在任何下游应用的模型卡中声明。
§7.5 公平性评估
因无结构化人口学字段,严格公平性审计不可行;仅有的代理信号是 INDICATION 文本中的年龄/性别提及(部分已被脱敏为 XXXX)。可行做法:
import re
def parse_demo(indication):
m = re.search(r"(\d{1,3})[- ]year[- ]old (male|female)", indication.lower())
if not m:
return None, None
return int(m.group(1)), m.group(2)
demo = df["indication"].map(parse_demo)
df["age"], df["sex"] = zip(*demo)
print(df["sex"].value_counts(dropna=False))
# 注意:覆盖率受 XXXX 脱敏与书写习惯限制,仅可作粗略分层
已知差异:无可引用的同行评审公平性差异研究(这本身就是局限);如需年龄/性别/族裔维度的公平性分析,请使用 MIMIC-CXR 或 CheXpert Plus。
§7.6 数据漂移提示
- 训练分布冻结于 2010 年代初:DR 设备迭代、报告模板化程度上升、COVID-19 后胸片病谱变化,均使当代部署分布与该数据集存在系统性差距。
- 监控信号:影像灰度直方图 PSI、报告句长与词表分布漂移、正常例占比变化。
- 该数据集无更新机制,任何"再校准"只能由使用者自行用新数据完成。
§7.7 DAIMS 24 项数据就绪度评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 数据为宽格式(每行一个样本/事件) | ✅ | 每 XML = 一次检查;每 PNG = 一张影像,结构规整 |
| 2 | 有唯一标识符列 | ✅ | uid / parentImage id / 文件名前缀三级关联键 |
| 3 | 无 Unicode 或特殊字符 | ⚠️ | XML 基本为 UTF-8;含 “XXXX” 占位与零星编码噪声 |
| 4 | 无重复行 | ⚠️ | 23.5% 的 FINDINGS 文本跨报告重复(未去重发布) |
| 5 | 缺失值已识别并编码 | ⚠️ | 段落缺失可检测但无显式编码方案(§4.5) |
| 6 | 标签列被明确标识 | ✅ | 手工 MeSH/RadLex + MTI 标签层次清晰 |
| 7 | 已对罕见类别(<3%)进行分组 | ❌ | 127 个尾部编码未分组,需使用者自行归并 |
| 8 | 偏倚评估已完成 | ⚠️ | 原论文未系统评估;本页 §7.1 补充 |
| 9 | 有完整的数据字典 | ⚠️ | XML 结构自明 + vocabulary xlsx;无正式字段级字典 |
| 10 | 对"信息性缺失"有明确编码解释 | ❌ | 正常报告无编码 = normal 的规则未官方文档化 |
| 11 | 数据采集设备和设置已记录 | ⚠️ | PACS 来源与 CTP 脱敏已记录;设备型号仅散见于 DICOM 头 |
| 12 | 已移除完全共线性变量 | ⚠️ | 未执行;FINDINGS 重复文本即一种跨样本共线 |
| 13 | 对编码的映射标准已说明 | ✅ | MeSH/RadLex 后组式体系 + 官方 xlsx 映射表 |
| 14 | 对时间戳的处理已明确说明 | ⚠️ | 日期已移除;采集年份区间未公开披露 |
| 15 | 训练/验证/测试划分建议已给出 | ❌ | 官方无划分;社区 R2Gen/MONAI 两套惯例补位 |
| 16 | 数据泄漏风险已被讨论 | ⚠️ | 检查级划分与 FINDINGS 重复问题见于社区文献,非官方文档 |
| 17 | 标签分布已被分析 | ✅ | 原论文 Table 1 + §4.2 完整分布 |
| 18 | 选择性测量偏倚已被讨论 | ⚠️ | 段落完整性入组偏倚可见于论文方法,讨论有限 |
| 19 | 外部验证建议已给出 | ⚠️ | 非官方内容;社区双基准惯例(IU + MIMIC-CXR) |
| 20 | 数据更新和版本信息已记录 | ⚠️ | 单次发布、无版本体系的事实明确,但无更新计划说明 |
| 21 | 最小必要预处理脚本已提供 | ⚠️ | 官方无;R2Gen/MONAI 社区脚本成熟 |
| 22 | 合规使用要求已明确 | ✅ | CC BY-NC-ND 4.0 + 归属要求 + 不转发请求,FAQ 明示 |
| 23 | 多模态对齐方法已说明 | ✅ | parentImage id 关联机制文档化,多图一报告语义清晰 |
| 24 | 去标识化方法已被记录 | ✅ | CTP + 人工复核 + 激进文本去标识(100% precision)完整披露,含 0.05% 残余 PHI 发现 |
DAIMS 评分:14.0 / 24(8 项 ✅、12 项 ⚠️、4 项 ❌)
评分解读:中等——开放性与脱敏文档化是强项,但无官方划分、无人口学、无更新机制构成结构性短板。
对你意味着什么:这份 2015 年的数据集在"获取合规透明(#22)、脱敏文档化(#24)、多模态对齐(#23)、编码标准说明(#13)“上做到了同时代的最佳实践;扣分几乎全部来自"时代性"与"规模性”:无官方划分(直接用 R2Gen 仓库的划分文件)、无信息性缺失编码(记住"无编码 = normal")、无罕见类分组(自行归并尾部编码)、FINDINGS 重复未处理(训练前决定去重策略)。建议训练前执行:(1) 用 R2Gen 预处理 + 划分锁定可比性;(2) 剔除 XXXX 样本与无 FINDINGS 样本;(3) 只评估头部 10-14 个类别;(4) 商业或大改用途直接放弃本数据集。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部测试集变化 | 关键发现 |
|---|---|---|---|---|---|
| MIMIC-CXR | BIDMC(美国波士顿) | 报告生成(同一模型双基准) | BLEU-1 约 0.35(R2Gen) | 相比 IU X-ray 的 0.470 显著下降 | MIMIC-CXR 报告更长更异质;双基准结果不可互相替代,必须分别报告 |
| MIMIC-CXR(检索式生成) | BIDMC | 检索最近邻报告 | 相对提升小于 IU X-ray | 下降 | IU X-ray 的高 FINDINGS 重复率放大检索优势;外部集上检索式优势缩水(Kougia 2021) |
| NIH ChestX-ray14 / CheXpert | NIH / Stanford | 多标签分类迁移 | AUROC 随病种下降 3-10% | 负迁移 | 标签体系(MeSH/RadLex vs 14 类)与人群差异是主因 |
| 大模型零样本评估 | 多来源 | 医学 VLM 报告生成 | CE F1 优于传统模型,BLEU 偏低 | 指标解耦 | LLaVA-Rad 等工作确认 IU X-ray 仍是 VLM 时代有效试金石,但需 CE 指标补足 BLEU 盲区 |
IU X-ray 在 2026 年还值得用吗? 值得——但角色已转变。作为主训练集它已被 MIMIC-CXR 全面超越(规模差 50 倍);作为小数据对照基准、教学教具与方法学试金石,它的地位无可替代:免申请、1.3 GB、双编码员手工标注、十五年积累的社区惯例。任何报告生成新方法若不在 IU X-ray 上对照一次,审稿人大概率会提出疑问。
§8 基准性能与生态
§8.1 排行榜(报告生成,Chen 2020 划分口径)
IU X-ray 的权威排行榜场景为放射报告生成(输入影像 → 生成 FINDINGS 风格文本)。下表数值均为各论文在 R2Gen 预处理惯例(剔除无 FINDINGS、70/10/20 检查级划分)下报告的 BLEU-1;不同论文的预处理与划分细节仍存在微小差异,绝对数值不可严格互比(见 §6.5 坑点 2/3)。
| 排名 | 模型 | BLEU-1 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | TIMER | 0.493 | 2023 | Token 不平衡自适应,生成-检索混合 | Liu et al. “Token Imbalance Adaptation for Radiology Report Generation.” arXiv:2304.09185 (2023) | — |
| 2 | M²Tr Progressive | 0.486 | 2021 | Meshed-Memory Transformer + 渐进式生成(先正常句后异常句) | Nooralahzadeh et al. “Progressive Transformer-Based Generation of Radiology Reports.” Findings of EMNLP 2021. arXiv:2102.09777 | https://github.com/nyuad-spaceai/M2Tr-Progressive |
| 3 | PPKED | 0.483 | 2021 | 后验知识探索与蒸馏 | Liu et al. “Exploring and Distilling Posterior and Prior Knowledge for Radiology Report Generation.” CVPR 2021. arXiv:2106.06963 | — |
| 4 | R2Gen | 0.470 | 2020 | Relational Memory + memory-driven conditional LN(划分与预处理事实标准) | Chen Z, Song Y, Chang TH, Wan X. “Generating Radiology Reports via Memory-driven Transformer.” EMNLP 2020:1439-1449. DOI: 10.18653/v1/2020.emnlp-main.112 | https://github.com/cuhksz-nlp/R2Gen |
| 5 | CMAS-RL | 0.464 | 2019 | 跨模态记忆 + 强化学习 | Jing et al. “Show, Describe and Conclude: On Exploiting the Structure Information of Chest X-Ray Reports.” ACL 2019 | — |
| 6 | CoAtt | 0.455 | 2018 | 语义标签 + 视觉特征协同注意力 | Jing B, Xie P, Xing E. “On the Automatic Generation of Medical Imaging Reports.” ACL 2018:2577-2586 | — |
| 7 | HRGR-Agent | 0.438 | 2018 | 检索-生成混合的分层强化学习 | Li Y et al. “Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation.” NeurIPS 2018 | — |
| 8 | Vanilla Transformer | 0.396 | 2020 | 标准 Transformer 基线 | Chen et al. 2020(同上) | 同 R2Gen |
参考锚点:R2Gen 在 IU X-ray 的完整指标为 BLEU-1 0.470 / BLEU-4 0.165 / METEOR 0.187 / ROUGE-L 0.371;同一模型在 MIMIC-CXR 上为 BLEU-1 0.353——双基准差距是阅读所有排行榜时的校准器。
早期奠基工作(口径更早,数值不入上表):Shin et al. 2016(CNN-RNN + MeSH 多标签,CVPR,被引 540+);HRNN(2017)BLEU-1 0.439;SentSAT+KG(2020)0.441。
§8.2 SOTA 总结与选型建议
| 如果你… | 推荐方案 | 为什么 |
|---|---|---|
| 复现文献/公平比较 | R2Gen 代码 + 其划分文件 | 2020 年后论文的共同口径 |
| 快速出报告生成基线 | R2Gen 或 M²Tr(开源完整) | 单卡 6-12 小时可复现 |
| 研究检索 vs 生成之争 | 实现 kNN 检索基线 + 分层评估 | IU X-ray 是展示该问题的最佳样本 |
| 多标签分类 | MONAI TransCheX 教程 | 官方划分 + 14 类标签现成 |
| 大模型评测 | R2Gen 测试集 + CE 指标 | 社区约定俗成的零样本试炼场 |
§8.3 官方评测协议
无官方协议。社区事实标准(Chen 2020 体系):剔除无 FINDINGS 样本;检查级 70/10/20;文本小写化去非字母;NLG 指标(BLEU/METEOR/ROUGE-L/CIDEr)+ CheXpert labeler 临床有效性(CE)P/R/F1;评估目标为 FINDINGS 段(部分工作评估 FINDINGS+IMPRESSION 拼接,需注明)。
§8.4 相关数据集
| 数据集 | 关系 | 说明 |
|---|---|---|
| MIMIC-CXR | 后继/主对照 | 37 万影像 + 22.7 万报告,报告生成大基准 |
| NIH ChestX-ray14 | 同期互补 | 11 万影像纯分类(NLP 弱标签),无报告文本 |
| PadChest | 跨语言互补 | 16 万影像 + 11 万西班牙语报告 |
| PEIR Gross | 教学姊妹集 | 7,443 张教学图 + 单句描述,早期 caption 工作常用 |
| NLM 结核胸片集(Montgomery/Shenzhen) | 同机构姊妹集 | LHNCBC 发布的 TB 胸片小集,分割掩码齐全 |
| Open-i PMC 图像集 | 同平台母集 | 370 万 PMC 文献图像检索库(IU X-ray 为其子集) |
§8.5 关键论文 Top 10
- Demner-Fushman D et al. (2016), JAMIA 23(2):304-310. “Preparing a collection of radiology examinations for distribution and retrieval.” — 数据集本体,权威引用入口。DOI: 10.1093/jamia/ocv080. PMID: 26133894. PMCID: PMC5009925.
- Shin HC et al. (2016), CVPR. “Learning to Read Chest X-Rays: Recurrent Neural Cascade Model for Automated Image Annotation.” — 基于 IU X-ray 的开山深度学习工作,被引 540+(截至 2026-09 估算)。
- Jing B, Xie P, Xing E (2018), ACL. “On the Automatic Generation of Medical Imaging Reports.” — CoAtt,报告生成任务定义之作。
- Li Y et al. (2018), NeurIPS. “Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation.” — HRGR-Agent,检索-生成混合范式。
- Chen Z et al. (2020), EMNLP. “Generating Radiology Reports via Memory-driven Transformer.” — R2Gen,划分与预处理事实标准的制定者。DOI: 10.18653/v1/2020.emnlp-main.112.
- Chen Z et al. (2021), ACL-IJCNLP. “Cross-modal Memory Networks for Radiology Report Generation.” — CMN,跨模态记忆网络。
- Kougia V, Pavlopoulos J, Androutsopoulos I (2021). “A Survey on Biomedical Image Captioning” / “Diagnostic Captioning: A Survey” — IU X-ray 缺失与重复统计、口径批评的权威来源。arXiv:2101.07299.
- Demner-Fushman D et al. (2015), MIE. “Annotation of Chest Radiology Reports for Indexing and Retrieval.” — MeSH/RadLex 标注体系方法学姊妹论文。
- Liu G et al. (2019), ML4H. “Clinically Accurate Chest X-Ray Report Generation.” — 证明检索式方法在 IU X-ray 上惊人地强,引出模板化批评。
- Wang X et al. (2018), CVPR. “TieNet: Text-Image Embedding Network for Common Thorax Disease Classification and Reporting in Chest X-rays.” — 以 IU X-ray 手工编码为金标准评测图文 embedding。
§8.6 社区活跃度
| 维度 | 数据 |
|---|---|
| Google Scholar 引用(数据集论文) | 1,500+(截至 2026-09;作者主页快照 1,522) |
| Semantic Scholar 引用 | 约 1,316(截至 2026-09 快照) |
| Dimensions 引用 | 1,092(截至 2026-09 快照) |
| 引用增长 | 2019 年后年均 150-260 次,仍在增长(Dimensions:58% 引用来自近两年) |
| R2Gen 仓库 | 170+ stars / 50+ forks(GitHub,截至 2026-09) |
| Kaggle 镜像 | 150+ 下载票选(raddar/chest-xrays-indiana-university) |
| 教学采用 | MONAI 官方教程、多所高校医学 AI 课程的标准示例数据集 |
| 期刊地位 | JAMIA 高被引论文;放射报告生成领域被引最多的数据集论文之一 |
§8.7 生态快照
| 资源 | 类型 | 链接 | Star/Fork(截至 2026-09,约) | 为什么值得关注 |
|---|---|---|---|---|
| cuhksz-nlp/R2Gen | 基准代码 | https://github.com/cuhksz-nlp/R2Gen | 170+ / 50+ | 报告生成事实标准:预处理、划分、模型、评测四件套 |
| MONAI tutorials(TransCheX OpenI) | 官方教程 | https://github.com/johnson111788/tutorials/tree/main/multimodal/openi_multilabel_classification_transchex | 随 MONAI 主库 | 多标签分类端到端示例,含官方 npy 划分 |
| nlpaueb/bioCaption | 工具库 | https://github.com/nlpaueb/bioCaption | 活跃 | 医学影像描述工具包,内置 IU X-ray 加载与划分(注意影像级口径) |
| Kaggle raddar 镜像 | 数据镜像 | https://www.kaggle.com/datasets/raddar/chest-xrays-indiana-university | 150+ 票 | 2048px PNG + frontal/lateral 人工标注 CSV |
| Open-i 检索平台 | 检索引擎 | https://openi.nlm.nih.gov/ | 低维护 | 原始托管平台,IU X-ray 为其子集,支持以图搜图 |
| radiology_vocabulary_final.xlsx | 术语表 | https://openi.nlm.nih.gov/imgs/collections/radiology_vocabulary_final.xlsx | — | 解读手工编码的必备词表 |
§9 相关资源与引用
官方资源
- 数据集 FAQ 与下载入口:https://openi.nlm.nih.gov/faq
- PNG 影像:https://openi.nlm.nih.gov/imgs/collections/NLMCXR_png.tgz
- DICOM 影像:https://openi.nlm.nih.gov/imgs/collections/NLMCXR_dcm.tgz
- XML 报告:https://openi.nlm.nih.gov/imgs/collections/NLMCXR_reports.tgz
- 术语映射表:https://openi.nlm.nih.gov/imgs/collections/radiology_vocabulary_final.xlsx
- Open-i API 文档:https://openi.nlm.nih.gov/services
- 数据集论文(PMC 全文):https://pmc.ncbi.nlm.nih.gov/articles/PMC5009925/
- 许可证:CC BY-NC-ND 4.0(http://creativecommons.org/licenses/by-nc-nd/4.0/)
BibTeX 引用
% 1) 数据集论文(官方指定引用,PMID 26133894)
@article{demner2016preparing,
title={Preparing a collection of radiology examinations for distribution and retrieval},
author={Demner-Fushman, Dina and Kohli, Marc D and Rosenman, Marc B
and Shooshan, Sonya E and Rodriguez, Laritza and Antani, Sameer
and Thoma, George R and McDonald, Clement J},
journal={Journal of the American Medical Informatics Association},
volume={23}, number={2}, pages={304--310},
year={2016},
doi={10.1093/jamia/ocv080}
}
% 2) 使用 R2Gen 划分/预处理时
@inproceedings{chen2020generating,
title={Generating Radiology Reports via Memory-driven Transformer},
author={Chen, Zhihong and Song, Yan and Chang, Tsung-Hui and Wan, Xiang},
booktitle={Proceedings of EMNLP},
pages={1439--1449},
year={2020},
doi={10.18653/v1/2020.emnlp-main.112}
}
% 3) 使用 CoAtt 任务定义时
@inproceedings{jing2018automatic,
title={On the Automatic Generation of Medical Imaging Reports},
author={Jing, Baoyu and Xie, Pengtao and Xing, Eric},
booktitle={Proceedings of ACL},
pages={2577--2586},
year={2018}
}
% 4) 标注体系方法学(可选)
@inproceedings{demner2015annotation,
title={Annotation of Chest Radiology Reports for Indexing and Retrieval},
author={Demner-Fushman, Dina and Shooshan, Sonya E and Rodriguez, Laritza
and Antani, Sameer and Thoma, George R},
booktitle={MIE / Studies in Health Technology and Informatics},
year={2015}
}
发表时另需在致谢/数据归属处注明:“National Library of Medicine, National Institutes of Health, Bethesda, MD, USA”(官方 FAQ 明确要求)。
教程与学习资源
- MONAI TransCheX OpenI 多标签分类教程(含预处理脚本与划分):https://github.com/johnson111788/tutorials/tree/main/multimodal/openi_multilabel_classification_transchex
- R2Gen 训练脚本(run_iu_xray.sh):https://github.com/cuhksz-nlp/R2Gen
- bioCaption 文档:https://github.com/nlpaueb/bioCaption
- Kougia 硕士论文(IU X-ray 结构与方法的优秀系统梳理):https://nlp.cs.aueb.gr/theses/kougia_msc_thesis.pdf
原始论文
- Demner-Fushman D et al. (2016). “Preparing a collection of radiology examinations for distribution and retrieval.” JAMIA 23(2):304-310. DOI: 10.1093/jamia/ocv080. PMID: 26133894. PMCID: PMC5009925.
- Shin HC et al. (2016). “Learning to Read Chest X-Rays: Recurrent Neural Cascade Model for Automated Image Annotation.” CVPR 2016.
- Demner-Fushman D et al. (2015). “Annotation of Chest Radiology Reports for Indexing and Retrieval.” MIE 2015.
- Aronson AR, Lang FM (2010). “An overview of MetaMap: historical perspective and recent advances.” JAMIA 17(3):229-236(MTI/MetaMap 技术背景).
§10 AI 使用声明卡
§10.1 AI 模型使用
| AI 模型 | 版本 | 用途 |
|---|---|---|
| deep-model(WorkBuddy) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09-05 | 7 组检索:官方 FAQ 与许可条款、规模与段落缺失统计、引用量快照、SOTA 数值复核、文件大小与镜像核实 |
§10.2 AI 参与范围
AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。
AI 在本页面的工作中负责:(1) 从 Open-i 官方 FAQ、Demner-Fushman 2016 原始论文(PMC5009925)、Kougia et al. 2021 综述与社区资源中整理结构化信息;(2) 生成 §6 的 Python 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。
§10.3 输入来源
- Demner-Fushman et al. (2016), JAMIA 23(2):304-310(PMC5009925 全文,DOI: 10.1093/jamia/ocv080)
- Open-i 官方 FAQ(openi.nlm.nih.gov/faq):许可条款、下载直链、归属要求
- Kougia V (2019) 硕士论文 “Medical Image Labeling and Report Generation”(AUEB):MTI 否定处理、case-based vs image-based 讨论
- Kougia et al. (2021) “Diagnostic Captioning: A Survey”(arXiv:2101.07299):段落缺失与 FINDINGS 重复统计
- Shin et al. (2016) CVPR “Learning to Read Chest X-Rays”:PNG 尺寸、MeSH 共现统计、XXXX 噪声案例
- Demner-Fushman et al. (2015) “Annotation of Chest Radiology Reports for Indexing and Retrieval”(LHNCBC pub9218)
- Chen et al. (2020) EMNLP R2Gen 论文与 GitHub 仓库(预处理惯例、170 stars)
- Nooralahzadeh et al. (2021) M²Tr Progressive(arXiv:2102.09777):排行榜数值复核
- Liu et al. (2021) PPKED(arXiv:2106.06963):R2Gen 预处理口径(6,471 影像 / 3,336 报告)
- Liu et al. (2023) TIMER(arXiv:2304.09185):BLEU 数值复核
- IEEE Access 2021 肺炎识别综述(DOI: 10.1109/ACCESS.2021.3069937):40 例肺炎统计、512×512 说明
- Kaggle raddar/chest-xrays-indiana-university:frontal/lateral 标注(7,466 张,51%/49%)
- MONAI tutorials TransCheX 预处理文档:ecgen-radiology 目录名、14 类标签派生
- shujujishi.com 数据集镜像页:NLMCXR_dcm.tgz 75.2 GB / NLMCXR_png.tgz 1.3 GB / reports 1 MB 文件大小
- Google Scholar 作者主页 / Semantic Scholar / Dimensions 引用快照(截至 2026-09-05)
- Amanda (arXiv:2510.02328) 与 Dragonfly (arXiv:2406.00977):VQA 基准中 IU X-ray 的当代角色、VQA-RAD 来源排查
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED 映射、编码占比、金标准) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §3 数据集规格(规模、文件大小、版本矩阵) | 千方病案医学编辑部 | 与官方 FAQ 及镜像来源交叉比对 | ✅ 已验证 |
| §4 数据结构(XML 结构、DAIMS 字段字典) | 千方病案医学编辑部 | 与 PMC5009925 原文及社区解析代码交叉比对 | ✅ 已验证 |
| §5 数据划分策略 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §6 代码示例与坑点 | 千方病案医学编辑部 | 逻辑审查 + 与 R2Gen/MONAI 仓库比对 | ✅ 已通过 |
| §7 质量评估与 DAIMS 评分 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 排行榜与引用数表述 | 千方病案医学编辑部 | 与原文及 Scholar 快照交叉比对 | ✅ 已验证 |
| §C JSON-LD @graph | 千方病案医学编辑部 | Schema v3.9 字段逐项校验 | ✅ 已通过 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§3.0 版本抉择矩阵、§6.0-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.5 公平性评估代码、§7.7 DAIMS 评估表与评分、§8.7 生态快照、§C JSON-LD。
§10.6 最后审核
最后一次人工审核日期:2026-09-05
页面状态:published(全部内容已完成审核并发布)
