信息速览

COVID-CT — 新冠 CT 论文配图数据集 AI-Ready Wikipedia
INFOBOX
| 字段 | 内容 |
|---|---|
| 数据集名称 | COVID-CT |
| 英文全称 | COVID-CT-Dataset: A CT Scan Dataset about COVID-19 |
| 别名/简称 | COVID-CT-Dataset |
| 疾病分类(ICD-11) | RA01(COVID-19,新型冠状病毒肺炎) |
| SNOMED CT | 840539006(COVID-19,Disease caused by SARS-CoV-2) |
| 数据模态 | 胸部 CT 轴位 2D 切片图像(非 DICOM) |
| AI 任务类型 | 二分类(COVID 阳性 / 非COVID 阴性) |
| 样本总数 | 约 746 张切片(349 阳性 + 397 阴性,仓库终版口径;论文初版 349 + 463) |
| 数据格式 | PNG/JPEG 图像(zip 压缩)+ XLSX/CSV 元数据 |
| 许可证 | 无标准开源许可证;图像版权归原论文作者与出版社 |
| 访问级别 | 开放下载(GitHub;官方仓库 2026-09 已返回 404,需经镜像获取) |
| 语言 | 英文(图注与影像报告元数据) |
| 首发日期 | 2020-03-30(arXiv:2003.13865) |
| 最后更新 | 2021-01-26(官方仓库最后一次 README 更新) |
| 发布机构 | UCSD(加州大学圣地亚哥分校)AI4H 组 |
| 官方主页 | github.com/UCSD-AI4H/COVID-CT(截至 2026-09 已下线,见 §6.2 镜像方案) |
| 下载地址 | 官方仓库 Images-processed 目录(CT_COVID.zip / CT_NonCOVID.zip),现需经社区 fork 获取 |
| DOI | 10.48550/arXiv.2003.13865 |
| 引用次数 | 1,275+(Google Scholar,截至 2026-09) |
| AI 就绪度评分 | ⭐⭐⭐(3/5)— 有官方划分与可运行 DenseNet-169 基线,但图像无 HU 值、尺寸 124×153 至 1485×1853 不等、弱标签需复核,扣 2 分 |
| 页面状态 | published |
§0 E-E-A-T 审核声明
- 医学审核者:[千方病案医学编辑部] 交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、COVID-19 影像学特征与流行病学表述)、§7 偏倚分析。
- 数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
- 审核日期:2026-09-05
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。COVID-CT 无标准开源许可证,官方 README 声明所有图像版权归属原论文作者与出版社,官方 GitHub 仓库截至 2026-09 已无法访问。再分发与商业使用前请自行评估版权风险并咨询法务。具体使用限制以数据集官方声明为准。
§1 数据集概览
§1.0 📌 30 秒速览
这是什么? COVID-CT 是 2020 年 3 月由加州大学圣地亚哥分校(UCSD)团队发布的开源新冠胸部 CT 二分类数据集。疫情初期患者隐私限制让公开的阳性 CT 影像极度稀缺,该团队用了一个开创性办法:用 PyMuPDF 从 760 篇 medRxiv/bioRxiv 预印本和 NEJM、JAMA、Lancet 等期刊的论文配图中提取 CT 切片,最终得到 349 张 COVID 阳性切片(来自 216 名患者)和 397 张非 COVID 阴性切片(论文初版口径为 463 张)。
为什么重要? 它是疫情早期最早公开、被引用最多(1,275+ 次,Google Scholar,截至 2026-09)的 COVID-CT 数据集之一,证明"论文配图挖掘"能在隐私壁垒下快速聚合影像资源:在提取图像上训练的 DenseNet-169 在真实医院原始 CT 上达到 79.5% 准确率,超过用 118 张原始高质量 CT 训练的模型(69.8%)。
我能用它做什么? 适合做:新冠 CT 二分类原型验证、小样本学习与自监督预训练研究、医学影像数据质量方法论教学。不适合做:临床级诊断、3D 体积分析、肺野定量分割——因为图像是从 PDF 配图提取的,HU 值丢失、分辨率不一,且标签来自图注而非像素级标注(详见 §6.5 坑点)。
§1.1 技术摘要
COVID-CT 的构建是一条"文献→图像"流水线:团队以 PyMuPDF 从 760 篇发表于 2020-01-19 至 2020-03-25 的 COVID-19 预印本中自动抓取嵌入图像与图注,通过阅读图注筛选含 COVID 异常的 CT 切片,将多面板图拆分为单图并人工核验;阴性对照则从 Radiopaedia、LUNA、MedPix 与 PubMed Central 文章收集。阳性图像附 XLSX 元数据(患者 ID、性别、年龄、病史、扫描时间、地点、严重程度、影像报告),阴性图像附 CSV 元数据。数据集由武汉同济医院一位资深放射科医生确认临床实用性。官方基线使用 DenseNet-169;原论文进一步用多任务学习(分割掩码辅助损失)与 MoCo 对比自监督(CSSL)将外部测试准确率从 79.5% 提升至 89.1%、AUC 达 0.98(Yang et al., 2020, arXiv:2003.13865)。仓库按图像(而非患者)提供 train/val/test 三个 txt 划分文件,官方仓库最后更新于 2021-01-26,截至 2026-09 已下线(404),获取需经社区镜像(见 §6.2)。
§1.2 战略价值
维度一:疫情应急数据工程的历史样本。 在 2020 年初 RT-PCR 试剂盒短缺、医院数据因隐私法无法共享的背景下,COVID-CT 用零医院合作的方式聚合了当时最大规模的公开新冠 CT 集,直接支撑了随后数十篇诊断模型论文。它展示了"灰色管道"(从已发表文献中回收影像)在公共卫生危机中的时效价值——这条管道绕过了 IRB 与 DUA 的长周期,代价是图像物理质量与标签语义的系统性妥协。对数据集工程而言,它是一份值得反复研读的"收益-风险"双向教材:官方 README 甚至专设一节收录质疑与放射科医生回应,这种透明度本身也是数据集治理的示范。
维度二:AI-Ready 视角下的反面基准。 COVID-CT 的流行让"论文配图数据集"的固有缺陷(HU 丢失、分辨率异构、注释元素污染、图注级弱标签、患者级泄漏)成为社区公认的方法论警戒线。其官方 README 甚至主动收录了放射学界的质量质疑并附上回应。今天任何人在构建"从文献挖掘数据集"(figure-mining dataset)时,COVID-CT 都是不可绕过的先例:它证明了数据量与多样性可以部分补偿保真度损失(79.5% vs 69.8% 的对照实验),也证明了这类数据集的基准数字必须放在正确的测试协议下解读(见 §8.3)。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态 | 标注 | 差异化 |
|---|---|---|---|---|
| COVID-CT(本页) | 349 阳性(216 患者)+ 397 阴性切片 | 胸部 CT 2D 切片(论文配图提取) | 图注级二分类 | 唯一以"论文配图挖掘"为主来源的早期大型 CT 集;含患者级元数据 |
| SARS-CoV-2 CT-scan(São Paulo) | 1,252 阳性 + 1,230 阴性切片 | 胸部 CT 2D 切片 | 医院 PACS 提取二分类 | 来自巴西圣保罗真实医院患者,质量高于配图提取 |
| COVID-CTset(Iran) | 15,589 阳性 + 48,260 阴性切片(377 人全扫描) | 胸部 CT 全体积切片 | 原始 DICOM 衍生 | 提供完整体积而非关键切片,适合 3D 研究 |
| MosMedData+ | 1,110 名患者(CT1-CT4 严重度分级) | 胸部 CT 体积 | 严重度五级标注 | 莫斯科医院数据,提供进展分级而非仅二分类 |
来源:数据集汇总见 Sensors 2021 综述表 1 与 Springer AIC 2021。
读表要点:四者在"规模-质量-粒度"三角中各占一端——COVID-CT 胜在患者多样性与可获得性,SARS-CoV-2 CT-scan 胜在真实域质量,COVID-CTset 与 MosMedData+ 胜在体积与分级粒度;选型时应按研究问题在三角中定位,而非单独比大小。
§1.4 版本时间轴
| 时间 | 版本/事件 | 说明 |
|---|---|---|
| 2020-03-30 | arXiv:2003.13865 首发摘要 | 官方口径:349 阳性(216 患者)+ 463 阴性 |
| 2020-04 | 仓库快速迭代 | MetaInfo 表更新、NonCOVID 元数据转为 CSV、Data-split 更新 |
| 2020-04 至 2020-05 | 社区反馈期 | Gao et al. 指出早期版本有 4 张阴性图像被误赋阳性标签;多篇论文引用 349/397 口径 |
| 2021-01-26 | 官方仓库最后 README 更新 | 收录质量关切声明与基线说明 |
| 2026-09(验证时点) | 官方仓库返回 404 | 获取依赖社区镜像,见 §6.2 |
§1.5 典型应用场景
- 新冠 CT 诊断模型原型:以官方 DenseNet-169 划分复现基线,再替换为 EfficientNet/ViT 做结构搜索(注意 §6.5 坑点 3 的患者级泄漏)。
- 小样本/自监督研究:原论文的 MoCo CSSL 实验表明自监督预训练可将外部准确率从 79.5% 提升至 89.1%,是该方向的标准试验床。
- 数据质量与泛化性教学:配图提取数据集的 HU 丢失、注释污染、标签噪声在此集中全部真实存在,是"data-centric AI"课程的高质量反面案例。
- 元数据驱动的公平性分析:借助 COVID-CT-MetaInfo.xlsx 中的年龄、性别、严重程度字段,可研究模型在不同人口学子群上的表现差异(需先处理大量缺失,见 §4.5)。
- 文献挖掘管道复现:以本集为金参照,复现"PyMuPDF 抓取 + 图注筛选"管道并扩展到其他疾病影像。
§2 医学背景
§2.1 ICD-11 编码映射
| 标签/概念 | ICD-11 编码 | ICD-11 中文名 | 说明 |
|---|---|---|---|
| COVID-19(阳性类) | RA01 | COVID-19(新型冠状病毒感染) | 数据集阳性标签对应的主要疾病实体 |
| COVID-19, virus identified | RA01.0 | COVID-19,病毒确认 | 多数论文来源病例经 RT-PCR 确认 |
| 肺炎(相关表型) | CA40 | 肺炎 | COVID 阳性切片的主要影像学表现基础 |
| 非 COVID 对照(阴性类) | — | — | 阴性图像包含正常与其他肺部疾病,无单一 ICD-11 编码,见 §6.5 坑点 5 |
§2.1b SNOMED CT 映射
| 标签/概念 | SNOMED CT 码 | 术语 | 备注 |
|---|---|---|---|
| COVID-19 | 840539006 | Disease caused by SARS-CoV-2(SARS-CoV-2 所致疾病) | 国际广泛引用的概念码 |
| 肺炎 | 233604007 | Pneumonia(肺炎) | 阳性切片的病变大类 |
| 胸部 CT 检查 | 241544004 | CT of chest(胸部计算机断层扫描) | 数据集影像模态对应的操作概念 |
§2.2 疾病简介与流行病学
COVID-19 由 SARS-CoV-2 引起,2020 年初暴发时 RT-PCR 核酸检测产能不足,胸部 CT 因敏感性高、可及性强成为重要的辅助筛查手段;原论文摘要明确指出"CT 是诊断 COVID-19 患者的有用手段",并引用武汉一线经验说明影像在疫情高峰的价值(Yang et al., 2020)。就流行病学而言,SARS-CoV-2 在 2020-2022 年造成全球大流行,WHO 终止"国际关注的突发公共卫生事件"后疫情进入地方性流行阶段;本数据集捕获的是 2020-01-19 至 2020-03-25 之间的早期武汉及其相关病例谱,病毒株、救治水平与影像表现均与后续变异株时代存在显著漂移(见 §7.6)。
典型 CT 征象速查(阳性类图像的主要影像学基础,均为放射学界公认的 COVID-19 表现谱):
| 征象 | 影像表现 | 与本数据集的关系 |
|---|---|---|
| 磨玻璃影(GGO) | 肺密度轻度增高但血管纹理仍可见 | 最常见的阳性图注描述词,教学价值高故论文配图偏爱 |
| 铺路石征(crazy-paving) | GGO 上叠加小叶间隔增厚 | 进展期典型表现,图注常见 |
| 实变(consolidation) | 肺密度显著增高、血管纹理被掩盖 | 病程中后期出现 |
| 胸膜下分布 | 病变贴近胸膜、双肺外周为主 | 阳性病例的空间分布特征 |
| 双肺多灶 | 双侧、多叶受累 | 区别于单侧局灶的普通细菌性肺炎 |
| 正常/非特异表现 | 部分确诊早期 CT 可正常 | 提示"阴性 ≠ 未感染"的标签语义边界(坑点 5) |
COVID-19 典型胸部 CT 表现包括双肺外周胸膜下分布的磨玻璃影(GGO)、伴或不伴实变的铺路石征与血管增粗征,进展期可出现双肺弥漫实变;这些"教学级"典型病例正是论文配图偏爱的素材,也因此放大了本数据集的严重病例偏倚(见 §7.1)。
§2.3 临床任务定义
本数据集对应的临床任务是辅助鉴别诊断(COVID vs 非 COVID 肺部异常),属于筛查/分类任务而非病变检测或严重度分级:输入为单张胸部 CT 轴位切片,输出为二值标签。任务定义的四个层次:
- 切片级二分类(本数据集直接支持):单切片 → {COVID, 非 COVID};
- 患者级诊断(需自行聚合):按 patient_id 聚合切片级得分,取 max 或 top-k 平均——受限于每人仅少数关键切片,聚合策略本身是研究变量;
- 三分类/多类鉴别(需外部数据):COVID vs 其他肺炎 vs 正常,本集阴性类是"其他异常+正常"的混合,不能直接支持;
- 严重度分级/病变定量(不支持):需要 HU 值与体积数据,本集结构性缺失(见 §3.9)。
临床真实工作流中,该任务的定位是在 RT-PCR 短缺或结果延迟时,为放射科医生提供优先级提示;原论文作者引用同济医院放射科医生意见认为 0.98 AUC 的模型性能"已达到临床可用门槛",但该结论的测试协议需谨慎解读(见 §8.3)。需强调:单切片二分类不等于患者级诊断——同一患者不同切片表现差异极大,真正的临床决策需要体积级阅读与核酸对照。
§2.4 患者人群画像
| 维度 | 阳性(COVID) | 阴性(非 COVID) |
|---|---|---|
| 来源 | 216 名患者,349 张切片(来自 760 篇预印本及期刊配图) | 55 名来源患者,397 张切片(论文初版 463 张;来源为 Radiopaedia、LUNA、MedPix、PubMed Central) |
| 时间 | 预印本发布于 2020-01-19 至 2020-03-25 | 文献时间跨度未系统披露 |
| 年龄 | 169/216 有年龄记录,多数 > 30 岁 | 未系统披露 |
| 性别 | 137/216 有性别记录:男 86 / 女 51 | 未系统披露 |
| 病程 | 发病第 1-30 天,多数第 5-10 天 | — |
| 种族/地域 | 以中国(武汉疫情早期)为主,含多国病例报告 | 以欧美教学影像库(Radiopaedia/MedPix)为主 |
| 就医类型 | 确诊住院病例(多为教学价值高的中重症) | 混合:正常对照与其他肺部疾病 |
数据来源:MDPI Healthcare 2022 对数据集元数据的统计、官方 README。
§2.5 临床价值定位
在 2020 年的应急语境下,本数据集支撑的模型为"影像先行、核酸确认"的分诊策略提供了证据:外部医院原始 CT 上 79.5% 的单切片准确率虽不及放射科医生,但显著优于当时仅有 118 张原始 CT 的直接训练方案(69.8%),证明多样性可以部分补偿保真度。对临床工作流的三个具体价值点:
- 优先级分诊:阳性概率高的检查提前安排核酸复核,缩短确诊等待;
- 假阴性兜底:RT-PCR 假阴性(疫情早期常见)病例可经影像提示复检;
- 教学与质控:图注-影像配对天然构成教学素材库。
在 2026 年的今天,其临床价值已让位于方法学价值:它标记了"数据饥渴驱动的非常规采集"所能到达的边界——并在 HU 丢失、弱标签与患者泄漏三条边界上留下了可量化的教训。
§2.6 金标准参照
| 维度 | 内容 |
|---|---|
| 诊断金标准 | RT-PCR 核酸确认 + 临床诊断(论文来源病例的确诊结论继承自原文献) |
| 影像参照标准 | 论文图注中放射科医生对 CT 表现的文字描述(如"双肺磨玻璃影") |
| 标注方式 | 阅读图注筛选 + 多面板拆分 + 人工核验(非像素级标注) |
| 标注者 | UCSD 研究团队;实用性由武汉同济医院资深放射科医生确认 |
| 金标准性质 | 弱监督/文献继承式标签:阳性 = 图注声明含 COVID 异常,阴性 = 来源声明为非 COVID |
| 局限 | 无独立盲法复核;4 张早期标签错误有据可查(见 §6.5 坑点 4) |
与直接临床采集的数据集相比,本表的每一行都带"文献继承"前缀:诊断结论继承自源论文、影像描述继承自图注、标注者角色为数据集级确认。这种继承式金标准在应急数据工程中合法且高效,但其证据等级低于前瞻性标注,写论文时应在方法节显式声明。
§3 数据集规格
§3.0 版本抉择矩阵
| 你的需求 | 推荐版本 | 大小 | 理由 |
|---|---|---|---|
| 复现论文基准(349 + 463 口径) | 2020-03 至 2020-04 的早期 fork | 较小 | 与 arXiv 摘要数字一致,适合对照论文表格 |
| 社区通行口径(349 + 397) | 2020-04-28 之后至 2021-01 的 fork | 较小 | 后期阴性清洗后的口径,与 Sensors 2021、Springer 2021 等论文可比 |
| 只要快速跑通 Pipeline | 任意镜像 + 官方 Data-split | — | 图像内容差异集中在阴性侧,二分类流程不受影响 |
| 患者级严格研究 | 不推荐本数据集 | — | 切片仅来自少数关键层面,患者级结论需外部体积数据集(见 §1.3) |
§3.1 模态详情
- 影像类型:胸部 CT 轴位单切片(2D),非体积序列;同一患者的多张切片之间无层面索引,无法重建体积。
- 像素语义:从论文 PDF 配图提取,已丢失 Hounsfield Unit(HU)值与原始位深,仅保留灰度显示值;官方 README 明确承认"HU 值丢失、每像素位深降低、分辨率降低"三类退化。
- 色彩:灰度图为主,个别图可能因论文排版带彩色注释。
- 窗口技术:原扫描的窗宽窗位已在出版环节固化,使用者无法重新开窗——这是与 DICOM 数据集的本质差异。
- 尺寸异构:124×153 至 1485×1853 像素;宽度最小/平均/最大 = 124/383/1485,高度最小/平均/最大 = 153/491/1853(MDPI Healthcare 2022)。
与原始 DICOM 数据集的逐项对照(理解本集的模态本质):
| 属性 | 原始 CT DICOM | COVID-CT 配图提取 |
|---|---|---|
| HU 值 | 有(-1000 至 +3000 线性标度) | 丢失,仅剩印刷灰度 |
| 位深 | 12-16 bit | 降低(出版压缩后通常 8 bit 显示值) |
| 窗宽窗位 | 可任意重开窗 | 出版时已固化 |
| 层厚/层间距 | 记录在头文件 | 丢失 |
| 体积重建 | 可行 | 不可能(仅关键切片) |
| 设备/剂量信息 | 头文件完整 | 丢失 |
| 分辨率 | 各向同性毫米级 | 像素级异构 124×153 至 1485×1853 |
§3.2 子集样本数
| 子集 | 切片数 | 患者数 | 文件 | 备注 |
|---|---|---|---|---|
| CT_COVID(阳性) | 349 | 216 | Images-processed/CT_COVID.zip | 论文口径与仓库口径一致 |
| CT_NonCOVID(阴性) | 397 | 55(来源患者) | Images-processed/CT_NonCOVID.zip | 论文初版为 463 张,后期清洗为 397 张,见 §6.5 坑点 4 |
| 合计 | 746 | 271(含来源) | — | 通行口径;若按初版口径为 812 |
§3.3 数据格式
| 内容 | 格式 | 说明 |
|---|---|---|
| CT 切片 | PNG/JPEG(zip 压缩) | 图像命名不连续,以实际解压文件为准 |
| 阳性元数据 | COVID-CT-MetaInfo.xlsx | 患者伪 ID、DOI、图注、性别、年龄、病史、扫描时间、地点、严重程度、影像报告 |
| 阴性元数据 | NonCOVID-CT-MetaInfo.csv | 注意与阳性侧格式不同(xlsx vs csv) |
| 划分文件 | Data-split/*.txt | 按图像列出的 train/val/test 文件名清单 |
| 基线代码 | Python(baseline methods/) | DenseNet-169 训练与预测脚本 |
§3.4 存储大小
官方未发布权威的大小声明;zip 压缩包合计为数百 MB 量级,以实际获取的镜像文件为准。建议下载后立即记录文件数与哈希(§6.2 提供脚本),因为官方仓库已下线、不同镜像的阴性子集可能存在 397 或 463 两种口径。存储规划按 1 GB 留余即可覆盖解压副本与预处理派生副本(224×224 与 512×512 两版)。
§3.5 标注方式
弱监督的文献继承式标注:阳性标签来自"图注声明该图含 COVID 异常"的文字证据,而非放射科医生对每张图像的独立盲法判读;阴性标签来自来源库(Radiopaedia 等)的疾病声明。多面板图被拆分为单图时共享同一图注,因此同图注衍生的切片标签一致性依赖人工核验质量。
标注流程的四步分解(对应官方 README 与论文描述):
- PyMuPDF 自动抓取预印本嵌入图像与图注;
- 阅读图注筛选含 COVID 异常的 CT 候选;
- 多面板图拆分为单图并人工核验;
- 阳性图像录入患者级元数据(XLSX),阴性图像录入来源信息(CSV)。
§3.6 标注者资质与一致性
标注由 UCSD 研究团队完成;数据集的临床实用性由武汉同济医院一位自疫情暴发以来持续诊治 COVID-19 的资深放射科医生确认。官方未发布标注者间一致性(如 Cohen’s kappa)的定量报告,这是评估标注质量时必须列入的空白项。对一致性缺失的实际后果:无法区分"图注本身模糊"与"标注者理解偏差"两类噪声来源,标签噪声建模只能假设最坏情形。
§3.7 采集周期
| 时间层 | 范围 | 说明 |
|---|---|---|
| 源预印本发布窗口 | 2020-01-19 至 2020-03-25 | 图像提取源的发布时间(MDPI Healthcare 2022) |
| 阳性患者病程 | 发病第 1-30 天,峰值第 5-10 天 | 有记录子集的分布 |
| 数据集构建与更新 | 2020-03 至 2021-01 | 官方仓库持续迭代,2021-01-26 最后更新 |
三层时间坐标在引用与漂移分析中各有用途:引用数据时写"发布于 2020-03";描述病例时写"2020 年初疫情早期病例,预印本发布于 2020-01-19 至 2020-03-25";讨论漂移时以仓库存续期(2020-2021)为参照。
§3.8 地域覆盖
| 类别 | 主要地域 | 载体 |
|---|---|---|
| 阳性 | 中国(武汉疫情早期为主),含多国病例报告 | medRxiv/bioRxiv 预印本与 NEJM/JAMA/Lancet 配图 |
| 阴性 | 欧美为主 | Radiopaedia、MedPix 教学库;LUNA 科研库;PubMed Central 文章 |
阳性病例以中国武汉及周边的疫情早期病例为主(实用性确认者为同济医院放射科医生),并包含多国发表的病例报告;阴性对照以欧美教学影像库与公开科研库为主。两个类别的设备、人群与地域分布不对等,构成天然的采集偏倚(见 §7.1)——模型可以把"图像风格"当作类别线索,这正是域纠缠(domain entanglement)的教科书案例。
§3.9 设备规格
不适用:图像经 PDF 出版环节处理,原始扫描设备型号、层厚、重建核、辐射剂量等 DICOM 头信息均已丢失。任何需要扫描参数的研究(如剂量效应、重建核泛化)都不应基于本数据集下结论。
§3.10 深度溯源链
| 层级 | 内容 | 载体 |
|---|---|---|
| L1 源文献 | medRxiv/bioRxiv 预印本(DOI 形如 10.1101/2020.mm.dd.xxxx)与 NEJM/JAMA/Lancet 等期刊 | COVID-CT-MetaInfo.xlsx 的 DOI 列 |
| L2 源图 | 论文中的多面板图/单图 | 图注(caption)列 |
| L3 数据集图像 | 拆分后的单切片 PNG/JPEG | CT_COVID.zip / CT_NonCOVID.zip |
| L4 患者 | 论文中的匿名化患者伪 ID | patient_id 列(216 名阳性患者) |
完整溯源链使研究者可以回到原始论文核对标签与注释元素;meta 中形如 2020.mm.dd.xxxx 的文件名即对应 DOI 为 10.1101/2020.mm.dd.xxxx 的预印本(官方 README)。
§4 数据结构
§4.0 目录树
COVID-CT/
├── Images-processed/
│ ├── CT_COVID.zip # 349 张 COVID 阳性 CT 切片
│ ├── CT_NonCOVID.zip # 397 张非 COVID 切片(论文初版口径 463)
│ ├── CT_COVID/ # 解压后目录
│ │ ├── 1.png
│ │ ├── 2.png
│ │ └── ...
│ └── CT_NonCOVID/
│ ├── 0.png
│ └── ...
├── Data-split/
│ ├── trainCT_COVID.txt # 训练集阳性图像文件名清单
│ ├── trainCT_NonCOVID.txt # 训练集阴性图像文件名清单
│ ├── valCT_COVID.txt # 验证集阳性清单
│ ├── valCT_NonCOVID.txt # 验证集阴性清单
│ ├── testCT_COVID.txt # 测试集阳性清单
│ └── testCT_NonCOVID.txt # 测试集阴性清单
├── COVID-CT-MetaInfo.xlsx # 阳性元数据:patient_id/DOI/图注/性别/年龄/病史/扫描时间/地点/严重程度/报告
├── NonCOVID-CT-MetaInfo.csv # 阴性元数据(注意是 CSV)
└── baseline methods/ # DenseNet-169 等基线训练与预测脚本
§4.1 DAIMS 字段字典
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| image_id | string | 图像文件名(去扩展名) | 1、2020.01.24.919668-p3-3 |
主键;关联划分文件 | 同名冲突需防(阴性从 0 起) | — | zip 内实际文件 |
| label | int | 类别标签:0=非COVID,1=COVID | 1 |
监督信号 | 4 张早期已知错标(坑点 4) | — | |
| patient_id | string | 源论文患者伪 ID(仅阳性) | patient-12 |
患者级划分防泄漏 | 部分图像患者信息缺失 | 空值=未披露 | MetaInfo 表内唯一 |
| doi | string | 源文献 DOI(仅阳性) | 10.1101/2020.01.24.919668 |
溯源;防止跨集重复 | 预印本可能更新版本 | 空值=期刊图 | xlsx DOI 列 |
| caption | string | 论文图注文本(仅阳性) | "Axial CT showed bilateral GGO..." |
多模态/文本预训练 | 图注非逐图撰写 | 空值=未提供 | 自由文本 |
| sex | string | 患者性别(仅阳性) | M / F |
公平性分析 | 137/216 有值 | 空值=未披露 | |
| age | int | 患者年龄(仅阳性) | 54 |
人群画像 | 169/216 有值 | 空值=未披露 | 报告值 |
| severity | string | 病情严重程度描述(仅阳性) | "severe" |
分层评估 | 依赖原文措辞 | 空值=未披露 | 文本 |
| scan_date | string | 扫描/病程时间描述(仅阳性) | "day 7 after onset" |
病程分析 | 文本非标准日期 | 空值=未披露 | 文本 |
| report | string | 放射报告摘录(仅阳性) | 自由文本 | 弱监督文本对 | 摘录可能不完整 | 空值=未提供 | 文本 |
§4.2 标签分布
| 类别 | 切片数 | 占比(746 口径) | 患者数 |
|---|---|---|---|
| COVID 阳性(label=1) | 349 | 46.8% | 216 |
| 非 COVID 阴性(label=0) | 397 | 53.2% | 55(来源患者) |
类别比接近均衡,但患者数极不均衡(216 vs 55):阴性侧单患者切片更多,任何按切片的统计置信区间都会被阴性侧的重复计数扭曲。建模与统计的三条推论:
- 报告患者级指标时,阴性侧的聚合方式(max/mean)对结果影响远大于阳性侧,需作为超参数声明;
- 做类别加权损失时,应按患者数而非切片数加权,否则会放大阴性侧的重复贡献;
- 抽样划分时按患者分层,类别比与患者比同时保持(§5.3)。
§4.3 关键统计
尺寸统计(MDPI Healthcare 2022):
| 统计量 | 宽度(px) | 高度(px) |
|---|---|---|
| 最小 | 124 | 153 |
| 平均 | 383 | 491 |
| 最大 | 1485 | 1853 |
人口学与病程统计(阳性侧,同上来源):
| 统计量 | 数值 | 覆盖率 |
|---|---|---|
| 有年龄记录的患者 | 169 / 216 | 78.2% |
| 有性别记录的患者 | 137 / 216(男 86 / 女 51) | 63.4% |
| 病程分布 | 发病第 1-30 天,峰值第 5-10 天 | 有记录子集 |
| 图像提取源 | 760 篇预印本 + NEJM/JAMA/Lancet 等期刊 | 全部阳性图像 |
比例派生统计(由上表推导,非独立测量):
- 阴性/阳性患者比:55/216 ≈ 0.25;
- 切片/患者比:阳性 349/216 ≈ 1.6,阴性 397/55 ≈ 7.2;
- 类别切片比:349/397 ≈ 0.88(切片级近均衡),类别患者比 216/55 ≈ 3.9(患者级失衡)。
§4.4 数据层级
患者(216 阳性 / 55 阴性来源)
└── 源论文(DOI,760 篇预印本 + 期刊)
└── 多面板图(同一图注)
└── 单切片 PNG/JPEG(数据集最小单元,无层厚/无层面索引)
关键断点:本数据集在"患者→检查"与"检查→序列"两级之间没有 DICOM 意义上的结构性关联,只有 MetaInfo 中 patient_id 提供患者级归并——这决定了 §5 的划分策略与 §6.5 坑点 3 的泄漏处理。
§4.5 缺失值与信息性缺失
| 字段 | 缺失规模 | 缺失性质 | 处理建议 |
|---|---|---|---|
| 阳性 age | 47/216 缺失 | 未在源论文披露,非随机(轻症报道更少) | 人群分析只用有值子集并声明范围 |
| 阳性 sex | 79/216 缺失 | 同上 | 同上;勿做全群体性别推断 |
| 阳性 severity/scan_date/report | 大量为空 | 文献摘录天然不完整 | 仅作探索性分析 |
| 阴性人口学字段 | 基本缺失 | CSV 元数据不含对应列 | 阴性侧按"来源库"分层而非人口学分层 |
| 设备/层厚/剂量 | 全部缺失 | PDF 提取结构性丢失 | 需要扫描参数的研究放弃本集(§3.9) |
缺失本身不携带疾病信息,但"哪些病例会被写成论文"这一筛选过程是信息性的:缺失更可能出现在非典型、轻症或教学价值低的病例上,建模时应作为选择偏倚处理(见 §7.1)。
下载后体检清单(五分钟体检,建议作为新成员上手第一步):
- 数量断言:阳性 349、阴性落在 397 或 463(§6.2 脚本);
- 尺寸扫描:统计 min/avg/max 是否复现 124/383/1485 与 153/491/1853;
- 注释粗筛:OCR 检出文字的图像列入人工复核(§6.3 脚本);
- 患者映射:阳性侧 patient_id 覆盖率核对(应可归并至 216 人);
- 划分体检:官方 split 的跨集合患者数(§5.1 脚本)。
§5 划分与使用建议
§5.1 官方划分
官方在 Data-split/ 提供按图像(而非患者)划分的 train/val/test 文件名清单(README 指引见 README for DenseNet_predict.md),基线 DenseNet-169 即基于此训练。该划分是社区复现的默认起点,但明确不保证同一患者的切片不跨集合。
import os
from collections import Counter
def check_official_split_leakage(split_dir, meta_xlsx):
"""官方划分的患者级泄漏体检:返回跨集合出现的患者数。"""
import pandas as pd
meta = pd.read_excel(meta_xlsx) # 阳性元数据
id2pat = dict(zip(meta["image_id"].astype(str), meta["patient_id"].astype(str)))
buckets = {}
for split in ("train", "val", "test"):
ids = []
for cls, fname in (("CT_COVID", f"{split}CT_COVID.txt"),
("CT_NonCOVID", f"{split}CT_NonCOVID.txt")):
with open(os.path.join(split_dir, fname)) as f:
ids += [line.strip() for line in f if line.strip()]
buckets[split] = {id2pat.get(i, f"unknown:{i}") for i in ids}
leak = buckets["train"] & (buckets["val"] | buckets["test"])
print("各集合规模(图像):", {k: len(v) for k, v in buckets.items()})
print("跨集合患者数(阳性侧):", len(leak))
return leak
把上述体检结果写进实验报告:若 跨集合患者数 大于 0,说明官方划分下存在患者级泄漏,所有切片级数字需按 §5.3 重划后再报一遍。
§5.2 社区惯例划分
| 划分方案 | 规模 | 使用者 |
|---|---|---|
| 官方 Data-split | 349 + 397 按图像三分 | 官方基线及大量早期论文 |
| 80/20 随机 + 增广 | 746 图 → 425 train / 118 val / 203 test(增强后 1,275) | Springer AIC 2021 |
| 外部测试协议 | 内部(提取图)训练 + 外部医院原始 CT 测试 | 原论文 Study I/II 与 He et al. 2020 |
不同论文划分互不可比——直接横比排行榜数字是最常见的方法学错误(见 §6.5 坑点 6)。选用社区划分时同样要确认其数据口径(746 还是 812)与划分粒度(切片级还是患者级),否则复现偏差无法定位。
§5.3 泄漏风险与患者级划分建议
最高优先级风险是患者级泄漏:349 张阳性切片仅来自 216 名患者,官方按图像划分时同一患者的切片可同时出现在 train 与 test,模型只需记住该患者的成像风格(设备、窗位、标注痕迹)即可"答对"。缓解步骤:
- 读入 COVID-CT-MetaInfo.xlsx,以 patient_id 建立图像→患者映射;
- 以患者为单位分出 train/val/test(如 70/10/20 按患者随机);
- 对阴性侧同样按 source(论文/库)分组,防止同源多图泄漏;
- 报告结果时明确声明"patient-level split",否则数字无法与文献对比。
§5.4 交叉验证建议
样本量小于千级时推荐5 折患者级分层交叉验证(每折内保持类别比与患者独立性),并固定随机种子报告折间均值±标准差;单次 80/20 划分在该规模下方差过大。若做模型选择,嵌套交叉验证更稳妥,但需在论文中明确声明协议。
from sklearn.model_selection import GroupKFold
def patient_level_folds(patient_ids, labels, n_splits=5, seed=42):
"""患者级 5 折生成器:返回 (train_patients, test_patients) 列表。
labels 为与 patient_ids 对齐的患者级标签(每位患者一个)。"""
import numpy as np
gkf = GroupKFold(n_splits=n_splits)
X = np.zeros(len(patient_ids)) # 占位特征
for tr, te in gkf.split(X, np.array(labels), groups=patient_ids):
assert not (set(tr) & set(te)) # 折间患者不相交断言
yield [patient_ids[i] for i in tr], [patient_ids[i] for i in te]
§5.5 外部验证建议
沿用原论文的最佳实践:训练用本集,测试集使用原始质量的外部 CT(如 MosMedData+、LUNA 阴性对照、或自建医院数据),以检验提取图像训练是否可迁移到真实成像域。注意域差距方向相反的实验(外部训练→本集测试)意义有限,因为本集的印刷退化是独特的域。外部报告的三项纪律:外部集不做任何超参选择;按外部协议重新校准阈值而非沿用内部阈值;报告外部性能下降幅度而非仅报绝对值。
§6 AI 就绪指南
§6.0 云端快速启动
数据集体积为数百 MB 量级,在免费云端环境即可完成全部复现:
| 环境 | 适用场景 | 要点 |
|---|---|---|
| Google Colab(免费档) | §6.1 至 §6.4 全流程 | 将镜像 zip 上传至 Google Drive 后挂载;224×224 微调显存需求低 |
| Kaggle Notebook | 同上 + 基线复现 | 可将镜像转为私有 Dataset 固化版本,避免运行时外网拉取 |
| 本地 Jupyter | 数据质检与坑点排查 | 白边/注释检查脚本需要人工目视配合,本地更方便 |
通用建议:先在云端用 §6.2 自检脚本确认口径(397/463),再开始任何训练;把自检输出(文件数 + 哈希)写进实验日志。
§6.1 快速上手
代码前置说明:以下代码假设目录结构为
data_root/CT_COVID/、data_root/CT_NonCOVID/(即两个 zip 解压到data_root下),data_root由环境变量COVIDCT_ROOT指定;Data-split 的 txt 文件每行一个image_id(不含扩展名),与data_root/CT_COVID/{image_id}.png或data_root/CT_NonCOVID/{image_id}.png拼接定位文件。最小可用子集:直接读取两个目录全部图像即可开始训练二分类,无需元数据表。
最小复现路径(十分钟走通):§6.2 下载数据并自检 → §6.1 目录断言 → §6.4 build_loaders 构建加载器 → DenseNet-169 替换分类头微调 10 epoch → §6.9 evaluate 报告 AUC/F1(附 CI)。走通后再回头处理坑点 1-3 的预处理与划分问题,形成第二轮实验。
import os, pathlib
COVIDCT_ROOT = os.environ.get("COVIDCT_ROOT", "./data/COVID-CT")
COVID_DIR = pathlib.Path(COVIDCT_ROOT) / "CT_COVID" # 349 张阳性切片
NONCOVID_DIR = pathlib.Path(COVIDCT_ROOT) / "CT_NonCOVID" # 397 张阴性切片(以实际镜像为准)
for d in (COVID_DIR, NONCOVID_DIR):
assert d.exists(), f"缺少目录 {d},请先解压对应 zip(见 §6.2)"
print("阳性切片:", len(list(COVID_DIR.glob("*.png"))) + len(list(COVID_DIR.glob("*.jpg"))))
print("阴性切片:", len(list(NONCOVID_DIR.glob("*.png"))) + len(list(NONCOVID_DIR.glob("*.jpg"))))
§6.2 数据获取
官方仓库已下线:https://github.com/UCSD-AI4H/COVID-CT 截至 2026-09 返回 404(本页面撰写时验证)。获取途径按优先级:
| 渠道 | 地址 | 状态 | 说明 |
|---|---|---|---|
| GitHub 镜像 fork | 如 shi3z/COVID-CT、lingzi201314/COVID-CT | 可用 | 下载后必须核对 §3.2 数量口径(397 vs 463) |
| 挑战平台页 | covid-ct.grand-challenge.org | 存档可用 | 数据说明与官方一致,数据文件仍指回 GitHub |
| 论文补充材料 | arXiv:2003.13865 | 可用 | 无数据,仅文档 |
# 从镜像获取并自检(以任一可用 fork 为例)
git clone --depth 1 https://github.com/shi3z/COVID-CT.git
cd COVID-CT/Images-processed
unzip -q CT_COVID.zip -d . && unzip -q CT_NonCOVID.zip -d .
python3 - <<'PY'
import pathlib
cov = len(list(pathlib.Path("CT_COVID").glob("*")))
non = len(list(pathlib.Path("CT_NonCOVID").glob("*")))
print(f"阳性 {cov} / 阴性 {non}")
assert cov == 349, "阳性数量与官方口径不符,镜像可疑"
assert non in (397, 463), "阴性数量不在已知口径内,镜像可疑"
PY
镜像完整性提示:优先选择 fork 时间早(2020 年内)、fork 链直连官方仓库、且自检数量落在已知口径内的镜像;将下载文件的哈希记录进项目档案。
§6.3 预处理全流程
import numpy as np
from PIL import Image
def load_slice(path, size=224):
"""加载单切片并标准化。注意:无 HU 值,只做显示值归一化。"""
img = Image.open(path).convert("L") # 灰度化,消除排版彩色残留
img = img.resize((size, size), Image.BILINEAR) # 直接 resize,纵横比失真可接受性见坑点 6
arr = np.asarray(img, dtype=np.float32) / 255.0
return arr
def strip_margins(arr, bg_thresh=0.97, keep=4):
"""裁掉论文页边距白边:对接近纯白的行列做投影裁剪。
bg_thresh: 灰度>该值(归一化)视为白底像素;keep: 每侧保留像素。"""
mask = arr < bg_thresh
rows, cols = np.any(mask, axis=1), np.any(mask, axis=0)
if not rows.any() or not cols.any():
return arr
r0, r1 = np.argmax(rows), len(rows) - np.argmax(rows[::-1])
c0, c1 = np.argmax(cols), len(cols) - np.argmax(cols[::-1])
r0, c0 = max(0, r0 - keep), max(0, c0 - keep)
return arr[r0:r1 + keep, c0:c1 + keep]
流程顺序建议:去白边 → 灰度化 → resize → 归一化;若研究涉及注释元素(箭头/文字),先做注释检测(坑点 2),不要在检测前做几何增强,否则会把箭头"训练进"模型。
批量预处理 + 质检脚本(生成干净的派生副本,不覆盖原始数据):
import os, hashlib, json
import numpy as np
from PIL import Image
from pathlib import Path
def preprocess_dir(src_dir, dst_dir, size=224):
"""批量去白边 + resize + 归一化保存。返回质检摘要。"""
src_dir, dst_dir = Path(src_dir), Path(dst_dir)
dst_dir.mkdir(parents=True, exist_ok=True)
stats = {"total": 0, "tiny": 0, "hashes": {}}
for p in sorted(src_dir.iterdir()):
if p.suffix.lower() not in (".png", ".jpg", ".jpeg"):
continue
img = Image.open(p).convert("L")
if min(img.size) < 200: # 极小图标记,供尺寸分层评估(坑点 6)
stats["tiny"] += 1
arr = np.asarray(img, dtype=np.float32) / 255.0
arr = strip_margins(arr) # §6.3 首个代码块中的白边裁剪
out = Image.fromarray((arr * 255).astype(np.uint8)).resize(
(size, size), Image.BILINEAR)
out.save(dst_dir / f"{p.stem}.png")
digest = hashlib.sha256((dst_dir / f"{p.stem}.png").read_bytes()).hexdigest()
stats["hashes"][p.stem] = digest
stats["total"] += 1
return stats
def audit_annotations(dst_dir):
"""注释元素粗筛:OCR 检出文字或检出细长连通域即列入人工复核清单(坑点 2)。"""
flagged = []
try:
import pytesseract
for p in sorted(Path(dst_dir).glob("*.png")):
text = pytesseract.image_to_string(Image.open(p)).strip()
if text: # 灰度 CT 上不应有可识别文字
flagged.append((p.name, text[:40]))
except ImportError:
flagged.append(("__setup__", "pip install pytesseract 后重跑"))
return flagged
质检三件套:数量断言(§6.2)、尺寸分布(tiny 计数)、注释粗筛(audit_annotations)。三者产出都应归档,作为论文"数据可用性"部分的证据链。
§6.4 PyTorch DataLoader
import os, random
import pandas as pd
import torch
from PIL import Image
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms
class COVIDCTSliceDataset(Dataset):
"""COVID-CT 二分类切片数据集。
目录预期:
root/CT_COVID/*.png|jpg (label=1)
root/CT_NonCOVID/*.png|jpg(label=0)
split_files: 可选,传入官方 Data-split 的 6 个 txt 之一组成的 dict:
{"train": [...], "val": [...], "test": [...]},每项为 (image_id, label) 元组列表;
为 None 时全量加载。
patient_map: 可选,image_id -> patient_id 映射,供患者级采样器使用。
"""
def __init__(self, root, items, train=False):
self.root = root
self.items = items
self.tf = transforms.Compose([
transforms.Grayscale(num_output_channels=1),
transforms.Resize((224, 224)),
transforms.ToTensor(),
])
self.train_tf = transforms.Compose([
transforms.Grayscale(num_output_channels=1),
transforms.Resize((224, 224)),
transforms.RandomHorizontalFlip(), # 轴位切片左右翻转在临床上中性
transforms.RandomAffine(degrees=7, translate=(0.05, 0.05), scale=(0.9, 1.1)),
transforms.ToTensor(),
])
self.train = train
def __len__(self):
return len(self.items)
def _locate(self, image_id):
for sub in ("CT_COVID", "CT_NonCOVID"):
for ext in (".png", ".jpg", ".jpeg"):
p = os.path.join(self.root, sub, f"{image_id}{ext}")
if os.path.exists(p):
return p, 1 if sub == "CT_COVID" else 0
raise FileNotFoundError(image_id)
def __getitem__(self, idx):
image_id, override = self.items[idx]
path, label = self._locate(image_id)
if override is not None:
label = override
img = Image.open(path)
return (self.train_tf if self.train else self.tf)(img), label
def load_official_split(split_dir):
"""读取官方 Data-split 6 个 txt,返回 (image_id, None) 清单(标签由目录推断)。"""
items = {"train": [], "val": [], "test": []}
for split in items:
for cls, fname in (("CT_COVID", f"{split}CT_COVID.txt"),
("CT_NonCOVID", f"{split}CT_NonCOVID.txt")):
with open(os.path.join(split_dir, fname)) as f:
for line in f:
image_id = line.strip()
if image_id:
items[split].append((image_id, None))
return items
def build_loaders(root, split_dir, batch_size=32):
splits = load_official_split(split_dir)
train_ds = COVIDCTSliceDataset(root, splits["train"], train=True)
val_ds = COVIDCTSliceDataset(root, splits["val"], train=False)
train_dl = DataLoader(train_ds, batch_size=batch_size, shuffle=True,
num_workers=4, pin_memory=torch.cuda.is_available())
val_dl = DataLoader(val_ds, batch_size=batch_size, shuffle=False, num_workers=4)
return train_dl, val_dl
§6.5 坑点 8 个
⚠️ 坑点 1:论文配图提取的物理质量退化(分类:预处理陷阱)
问题:所有图像从论文 PDF 配图提取,HU 值丢失、每像素位深降低、分辨率降低,且窗宽窗位在出版环节已固化,官方 README 明确承认这三类退化。
症状:试图套用 DICOM 窗口技术(如肺窗 -600/1500)报错或无效;同一患者不同来源切片灰度分布不一致;模型对出版压缩伪影敏感,训练/验证曲线震荡。
解决:
- 简单方法:按显示值归一化(/255)处理,接受"印刷域"作为数据域;不要实现任何依赖 HU 的预处理(肺分割阈值、体素校准)。
- 进阶方法:训练前做白边裁剪与去注释检测(坑点 2),并在报告写明"paper-domain"数据域;用 CLAHE 等对比度均衡统一灰度分布。
- SOTA 方法:域适应——在原始 CT 域(如 LUNA)与本集之间做对抗域对齐或风格迁移预训练,再微调分类头,可部分弥合印刷退化与真实成像的域差(原论文 Study I 即为该域差的量化证据)。
参考:官方 README 质量关切声明;Yang et al., 2020, arXiv:2003.13865
⚠️ 坑点 2:配图内嵌注释箭头、文字与标尺(分类:预处理陷阱)
问题:论文配图常带 radiologist 的注释箭头、病灶圈画、字母标号(A/B/C 面板)与缩写文字;多面板拆分后仍可能残留。这些注释与"阳性"高度相关(阴性教学图更少被标注),构成捷径特征(shortcut)。
症状:Grad-CAM 高亮区落在箭头/字母上而非肺野;把带注释图变灰或抹掉注释后模型准确率骤降;模型在无注释的外部 CT 上表现显著低于内部验证。
解决:
- 简单方法:人工浏览训练集,将含显著注释的图像列入排除清单(数百张规模可行)。
- 进阶方法:用 OCR(如 Tesseract)检测文字、用连通域检测识别细长箭头结构,自动过滤或用 OpenCV inpainting 抹除后再训练。
- SOTA 方法:训练"注释存在性"辅助分类器并以梯度反转(GRL)抑制该特征;或在数据卡片中报告"含注释图像比例"并做两组消融实验量化影响。
参考:数据集构建细节见 Yang et al., 2020(多面板拆分与图注筛选流程)
⚠️ 坑点 3:患者级数据泄漏——216 名患者 349 张切片(分类:数据泄漏)
问题:官方 Data-split 按图像划分,同一患者(阳性侧平均 1.6 张、阴性来源侧平均 7.2 张切片)的切片可同时进入训练与测试集;模型可记住患者成像风格而非学习病变特征。
症状:按官方划分的内部准确率显著高于患者级划分后的结果(降幅常见数个百分点以上);换用外部测试集时性能大幅回落;折间方差异常小("太好"的稳定是泄漏的典型气味)。
解决:
- 简单方法:读 MetaInfo 的 patient_id 列,按患者重新分层划分(70/10/20),任何复现报告注明 split 粒度。
- 进阶方法:患者级 5 折交叉验证 + 折间患者集合不相交断言(assert len(set(train_patients) & set(test_patients)) == 0)。
- SOTA 方法:按患者分组的学习器(GroupKFold / SubjectWiseSplit),并对阴性侧按 source 分组;同时报告切片级与患者级两套指标以显式量化泄漏贡献。
参考:划分文件结构见 官方 README;对照实验设计见 He et al., 2020, medRxiv
⚠️ 坑点 4:标签错误与 463 vs 397 口径分裂(分类:标签理解)
问题:早期版本存在已知标签错误——后续研究者指出"作者曾误将 4 张阴性图像赋阳性标签";阴性子集在论文摘要中为 463 张,仓库后期与多篇论文引用为 397 张(清洗所致),两个口径的数据文件都在历史 fork 中流通。
症状:复现数字与论文对不上(训练集规模差 66 张);同一模型在两个口径的阴性集上指标不可比;引用 397 的论文与引用 463 的论文排行榜无法直接合并。
解决:
- 简单方法:下载后先跑 §6.2 自检脚本,确认阴性数量落在 397 或 463,并在实验记录中固定口径。
- 进阶方法:对 4 张已知错标敏感的任务,用 MetaInfo 的 doi 列回溯源论文图注人工复核阳性子集;训练日志记录数据集哈希。
- SOTA 方法:标签再评估(label re-review)——对全量阳性做一次独立盲法判读,发布"cleaned COVID-CT"衍生清单;社区已有类似清洗实践(如 Gao et al. 的 349/397 口径)。
参考:Gao et al., 2020, medRxiv:2020.05.11.20097907 脚注;Sensors 2021 综述
⚠️ 坑点 5:弱标签语义——“阳性”≠确认病变,“阴性”≠健康(分类:标签理解)
问题:阳性标签来自图注文字(“该图显示 COVID 异常”),非像素级或切片级独立判读;阴性图像来自 Radiopaedia/MedPix/LUNA 等,包含其他肺部疾病而非健康对照。
症状:模型实际学到"COVID 特征 vs 其他异常/正常混合"的决策面;把本集模型当作"肺炎筛查器"部署时假阳性集中在细菌性肺炎等类 COVID 表现;用健康人 CT 测试时性能虚高。
解决:
- 简单方法:在论文与模型卡片中把任务名写作"COVID vs non-COVID 文献切片分类",禁用"COVID 检测"表述。
- 进阶方法:构建三分类外部测试集(健康 / 非 COVID 肺病 / COVID),分别报告敏感性,量化"非 COVID 异常"混淆。
- SOTA 方法:噪声标签学习(co-teaching、label smoothing、confident learning)建模图注级标签噪声;或用元数据 report 列做弱监督一致性正则。
参考:官方 README 图注筛选流程;MDPI Healthcare 2022 元数据分析
⚠️ 坑点 6:尺寸异构 124×153 至 1485×1853 的 resize 失真(分类:预处理陷阱)
问题:图像空间尺寸横跨一个数量级(宽 124-1485、高 153-1853,均值仅 383×491),直接 resize 到 224×224 时小图过采样模糊、大图下采样丢失细节,纵横比被破坏。
症状:训练损失对不同图像数量级不稳定;小尺寸图(<200px)的 Grad-CAM 噪声化;把 resize 从 224 改为 512 后指标漂移(预处理敏感性过高的信号)。
解决:
- 简单方法:统一 resize 224×224(社区默认),接受纵横比失真;记录预处理版本号。
- 进阶方法:短边对齐 + 中心裁剪(letterbox),或按图像尺寸分桶(bucketing)采样,减少同批内的尺度方差。
- SOTA 方法:多尺度训练(随机 224/320/448)+ Test-Time Augmentation;对 <200px 的极小图单独评估,报告尺寸分层性能。
参考:尺寸统计见 MDPI Healthcare 2022
⚠️ 坑点 7:AUC 0.98 的测试协议陷阱(分类:评估误用)
问题:官方宣称的多任务+CSSL 模型 89.1% 准确率 / 0.98 AUC 是在外部医院原始 CT测试集上的结果;而多数复现者使用内部(提取图像)划分,两个协议的数字天差地别,混用即虚报。
症状:“我复现不到 0.98”(实际用的是内部划分,正常);或反之,把 0.98 写进临床声明却从未在外部数据验证;排行榜数字互相不可比。
解决:
- 简单方法:报告任何数字时强制标注协议三元组(训练集口径 + 划分粒度 + 测试域),如"官方 split / 切片级 / 外部原始 CT"。
- 进阶方法:同时跑内部切片级、患者级、外部原始 CT 三套评估,形成"泄漏校正前-后"对照表。
- SOTA 方法:遵循 §8.3 的统一协议:患者级划分 + 外部原始 CT 测试 + 与 79.5%(Study I 同协议)直接对齐比较。
参考:Yang et al., 2020(Study I/II 协议原文);He et al., 2020, medRxiv
⚠️ 坑点 8:官方仓库下线与镜像完整性(分类:工程陷阱)
问题:官方仓库
UCSD-AI4H/COVID-CT截至 2026-09 返回 404,获取完全依赖社区 fork;镜像可能携带 397 或 463 两种阴性口径、被改动过的划分文件甚至部分缺失的图像。
症状:团队内不同成员下载的镜像规模不一致,实验结果无法对齐;CI 中突然拉取失败;论文投稿后被问"数据哈希/版本"时无法回答。
解决:
§6.6 数据增强
安全增强 ✅(保持诊断语义):
- 水平翻转(轴位切片左右对称在临床上中性)
- 小角度旋转(±7°)、小幅度平移与缩放(±5-10%)
- 亮度/对比度小扰动(模拟印刷灰度差异)
- 弹性形变小位移(慎用、小系数)
危险增强 ❌(破坏语义或放大偏倚):
- 垂直翻转(颠覆解剖学上下关系,肺部血管走行与膈面位置语义反转)
- 大角度旋转(>15°)使注释箭头/文字出现在任意方向,反而强化注释捷径
- 强色彩抖动(本集为灰度印刷域,色彩扰动引入伪域)
- 过度放大(zoom >1.3)会把低分辨率图的压缩块放大成"纹理",模型学到印刷伪影
安全增强参数起点(与 §6.4 train_tf 对应,供网格搜索微调):
SAFE_AUGMENT_GRID = {
"degrees": [3, 7, 10], # 超过 15° 列入危险区
"translate": [0.03, 0.05, 0.10],
"scale": [(0.95, 1.05), (0.90, 1.10)], # 下限 0.90,避免过度缩放
"hflip": [True], # 仅水平翻转
}
§6.7 模型推荐
| 模型 | 适用性 | 理由 |
|---|---|---|
| DenseNet-169 | ⭐⭐⭐⭐⭐ | 官方基线;密集连接适合小数据,参数量适中 |
| ResNet-50 | ⭐⭐⭐⭐ | He et al. 基线之一,社区可比结果多 |
| EfficientNet-B0/B2 | ⭐⭐⭐⭐ | 参数效率高,746 张切片不易过拟合 |
| Vision Transformer(ViT-S) | ⭐⭐⭐ | 需自监督预训练(如 MoCo/DINO)后微调,直接训练欠拟合 |
| 集成树(XGBoost on deep features) | ⭐⭐⭐ | Haidar et al. 达 acc 0.87,适合轻量部署基线 |
选型补充说明:本集的有效训练规模(746 张切片、271 名来源患者)位于"预训练微调"范式的舒适区下沿——所有 ImageNet 预训练 CNN 都可直接微调;从零训练的卷积网络不推荐。冻结主干只训分类头是 15 分钟出基线的路径,适合先验证 Pipeline 再放开微调。
§6.8 硬件需求
| 场景 | GPU 显存 | 说明 |
|---|---|---|
| 224×224 微调 ResNet/DenseNet | ≥ 6 GB | batch 32 单卡可行 |
| 512×512 或多尺度训练 | ≥ 12 GB | 数据增强开销增大 |
| 自监督预训练(MoCo/DINO) | ≥ 16 GB | 需要较大 batch 与动量编码器 |
显存紧张时的三条降级路径:batch 减半 + 梯度累积两步;混合精度(torch.cuda.amp);冻结主干仅训练分类头(显存需求降至 4 GB 内)。CPU-only 环境仅适合跑 §6.2/§6.3 的数据体检,训练不现实。
§6.9 评估指标代码
import numpy as np
from sklearn.metrics import (roc_auc_score, f1_score, accuracy_score,
precision_score, recall_score, confusion_matrix)
def evaluate(y_true, y_score, threshold=0.5):
"""y_true: 0/1 标签;y_score: 阳性概率。返回患者级研究常用的完整指标。"""
y_pred = (np.asarray(y_score) >= threshold).astype(int)
return {
"AUC": roc_auc_score(y_true, y_score),
"Accuracy": accuracy_score(y_true, y_pred),
"F1": f1_score(y_true, y_pred),
"Precision": precision_score(y_true, y_pred),
"Recall(Sensitivity)": recall_score(y_true, y_pred),
"ConfusionMatrix": confusion_matrix(y_true, y_pred).tolist(),
}
报告规范:小样本下必须附 95% 置信区间(bootstrap ≥ 1,000 次)与患者级去重指标;单一 accuracy 在 746 张规模下方差可达 ±3 个百分点以上,不宜单独引用。
bootstrap 置信区间与患者级聚合参考实现:
import numpy as np
import pandas as pd
def bootstrap_auc(df, n_boot=1000, seed=42):
"""df 需含列:y_true, y_score, patient_id。
返回切片级 AUC 与患者级聚合 AUC 的 95% CI。"""
rng = np.random.default_rng(seed)
def patient_level(d):
agg = d.groupby("patient_id")["y_score"].max() # 患者级取 max 聚合
y = d.groupby("patient_id")["y_true"].first()
from sklearn.metrics import roc_auc_score
return roc_auc_score(y, agg)
slice_auc, pat_auc = [], []
for _ in range(n_boot):
idx = rng.integers(0, len(df), len(df))
sample = df.iloc[idx]
if sample["y_true"].nunique() < 2:
continue
from sklearn.metrics import roc_auc_score
slice_auc.append(roc_auc_score(sample["y_true"], sample["y_score"]))
pat_auc.append(patient_level(sample))
ci = lambda a: (round(float(np.percentile(a, 2.5)), 4),
round(float(np.percentile(a, 97.5)), 4))
return {"slice_AUC_CI95": ci(slice_auc), "patient_AUC_CI95": ci(pat_auc)}
patient_level 中的聚合方式(max / mean / top-k)应作为实验变量报告;max 聚合对应"任一切片阳性即判阳性"的临床筛查逻辑。
§6.10 MLOps 笔记
| 环节 | 本数据集的特殊要求 | 落地做法 |
|---|---|---|
| 数据版本化 | 官方仓库已下线,镜像口径不一 | zip 哈希与镜像来源写进 DVC metadata;实验可追溯到"哪个镜像、哪个口径(397/463)" |
| 划分固化 | 患者级划分是自定义产物 | patient 列表落盘为 JSON,训练脚本只读不生成 |
| 训练监控 | 小数据过拟合快 | 逐 epoch 记录 val AUC;引入 early stopping(patience 5-10) |
| 漂移监控 | 印刷域→真实域的已知退化 | 部署后监控输入灰度分布与注释占比,设阈值告警(坑点 7) |
| 模型卡片 | 三大先天限制必须披露 | "论文配图提取 + 弱标签 + 无 HU"写入卡片首行 |
| 合规审计 | 版权属原论文作者与出版社 | 再分发衍生集前做法务评估;保留 MetaInfo doi 溯源表(坑点 8) |
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解 |
|---|---|---|---|
| 采集偏倚 | 阳性来自"值得写成论文"的病例,多为教学价值高的中重症 | 高 | 与轻症队列(如 MosMedData+)联用 |
| 设备/域偏倚 | 阳性以武汉早期医院为主,阴性以欧美教学库为主,类别与域完全纠缠 | 高 | 域对抗训练;至少报告按来源分层的性能 |
| 注释偏倚 | 阳性图更常带箭头/文字注释,构成捷径特征 | 高 | 坑点 2 的检测与消融 |
| 选择偏倚(元数据) | 年龄/性别缺失非随机(47/216 与 79/216),轻症报道更少 | 中 | 仅在有值子集内做亚组分析并声明 |
| 病程偏倚 | 病程集中在第 5-10 天,极早期/极晚期表现欠代表 | 中 | 病程分层评估 |
| 数量级偏倚 | 55 名阴性来源患者贡献 397 张切片,切片级统计被重复计数扭曲 | 中 | 患者级聚合后再统计 |
六类偏倚中,前三类(采集、域、注释)共同指向同一个机制:类别标签与图像来源过程纠缠。缓解的共同原则是在"来源维度"上做分层或对抗,而不是单纯调类别权重——权重再平衡无法消除域纠缠带来的捷径特征。
§7.2 标注质量
标注链为"图注阅读→人工核验",无盲法、无标注者间一致性定量报告;已知 4 张错标(坑点 4)与 463→397 的清洗事件说明标签过程经历过多轮修正。实用性确认由同济医院资深放射科医生完成,但其角色是"数据集级评估"而非"逐图判读"。
| 标注维度 | 现状 | 对建模的影响 |
|---|---|---|
| 逐图独立判读 | 无(标签继承自图注) | 同图注衍生切片共享噪声 |
| 标注者间一致性 | 未报告 | 无法估计标签噪声上界 |
| 已知错标 | 4 张(阴性误标阳性,后勘误口径 397) | 小但成对的噪声;双向误差评估需先修正 |
| 版本清洗记录 | 无正式变更日志 | 复现者需自行锁定口径(坑点 4) |
| 实用性确认 | 同济医院资深放射科医生(数据集级) | 支撑"可用于研究",不构成逐图金标准 |
使用者的务实策略:把标签当作"弱先验",任何结论用独立复核子集(如 10% 抽样)校准。
§7.3 泛化性失效风险
| 部署场景 | 失效风险 | 证据 |
|---|---|---|
| 真实医院 DICOM(HU 域) | 高:印刷域模型面对真实灰度分布漂移 | Study I:提取图训练模型在外部原始 CT 仅 79.5%,低于内部常见报告 |
| 无注释图像 | 高:依赖注释捷径的模型失效 | 坑点 2 的 Grad-CAM 证据模式 |
| 变异株时代(2021 后) | 中高:病毒株与影像谱漂移 | 数据仅覆盖 2020-01-19 至 2020-03-25 |
| 儿科/免疫低下人群 | 高:病例谱几乎缺失 | 患者画像(§2.4)中无儿科专项披露 |
| 其他肺炎流行季 | 高:非 COVID 肺炎是本集阴性类的天然混淆源 | 坑点 5 的标签语义 |
§7.4 伦理考量
图像全部来自已公开发表的论文配图,属于二次利用已公开材料;官方未披露对源论文患者知情同意的额外核查。患者以伪 ID 呈现且元数据经论文出版环节的匿名化,直接再识别风险低,但"罕见病 + 影像 + 日期"组合的链接攻击在理论上仍可能。使用者应遵守源文献版权(坑点 8)并在衍生研究伦理审查中说明二次来源。
| 伦理维度 | 现状 | 使用者义务 |
|---|---|---|
| 知情同意 | 未额外核查(依赖源论文出版流程) | 伦理审查中声明二次来源性质 |
| 再识别风险 | 低(伪 ID + 已发表匿名化) | 不尝试对齐源论文原始数据 |
| 版权 | 归原论文作者与出版社 | 商用/再分发前法务评估 |
| 双重用途 | 无(非组学/非个体可识别数据) | 常规学术诚信要求 |
| 临床误用 | 高风险面(弱标签被误读为诊断级) | 模型卡片强制披露限制(§7.7) |
§7.5 公平性
已知人口学覆盖不完整:137/216 有性别(男 86/女 51)、169/216 有年龄,阴性侧基本无人口学记录。这意味着:无法可靠评估模型跨性别/年龄的公平性;任何亚组指标都受缺失非随机性污染。建议将公平性评估放在外部数据集上进行,而非在本集内下结论。
| 分析 | 在本集内可行吗 | 原因 | 替代方案 |
|---|---|---|---|
| 性别亚组性能 | 勉强(仅 137/216) | 缺失非随机,62% 覆盖率下亚组方差大 | 外部集评估 + 本集仅作探索性核对 |
| 年龄亚组性能 | 勉强(仅 169/216) | 同上 | 同上 |
| 种族/地域公平性 | 不可行 | 无受控种族字段;地域标签仅到国家级 | 使用含人口学完整记录的队列 |
| 儿科公平性 | 不可行 | 儿科病例几乎缺失(§2.4) | 外部儿科队列 |
§7.6 数据漂移
| 漂移源 | 方向 | 影响与对策 |
|---|---|---|
| 病毒株演化 | 野生型(2020 初)→ 后续变异株 | 影像谱与人群免疫背景变化,跨期验证必做 |
| 救治与疫苗 | 疫情早期无疫苗无特效药 | 病程分布与严重度构成已不可复现 |
| 阅片与报告规范 | 2020 应急报告 → 后续结构化报告 | 图注级标签的措辞分布随之漂移 |
| 设备与重建 | 多国多代扫描仪混排 | 印刷域内已有的域异构在真实域进一步放大 |
数据集冻结在 2020 年初的武汉疫情早期:野生型病毒株、早期救治方案、早期 CT 阅片习惯。此后病毒变异(Delta/Omicron 时代疫苗接种普及、影像表现谱变化)与阅片标准化演进都构成时间漂移。模型在"当下"人群上的表现不能由本集数字外推,跨期验证(本集训练 → 后续队列测试)应作为部署前必做项。
§7.7 DAIMS 数据集评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | 每行一张切片,元数据表为标准宽表 |
| 2 | 唯一标识 | ⚠️ | 图像文件名为主键,但无全局唯一图像 UID;阴性从 0 计数易与阳性混淆 |
| 3 | 特殊字符处理 | ⚠️ | 图注/报告含英文标点与换行,需清洗后再入库 |
| 4 | 重复行 | ✅ | 未发现系统性重复切片;跨论文重复需以 doi 自查 |
| 5 | 缺失编码 | ⚠️ | 元数据缺失以空白表示,未定义显式缺失码 |
| 6 | 标签标识 | ✅ | label 0/1 语义明确(0=非COVID,1=COVID) |
| 7 | 罕见类分组 | ❌ | 无亚型/严重度受控词表;severity 为自由文本 |
| 8 | 偏倚评估 | ✅ | 官方 README 主动收录质量关切;本页 §7.1 系统列出 |
| 9 | 数据字典 | ⚠️ | 官方未发布字段级字典;本页 §4.1 为社区重建版 |
| 10 | 信息性缺失解释 | ⚠️ | 缺失模式可推断(轻症少报道)但官方未声明 |
| 11 | 设备记录 | ❌ | PDF 提取致设备信息结构性丢失 |
| 12 | 共线性 | ✅ | 影像数据不适用传统共线性检查;元数据列间无冗余编码 |
| 13 | 编码映射 | ⚠️ | 无 ICD/SNOMED 官方映射;本页 §2.1 提供社区映射 |
| 14 | 时间戳处理 | ❌ | scan_date 为自由文本(“day 7 after onset”),非 ISO 时间戳 |
| 15 | 划分建议 | ✅ | 官方提供 Data-split;本页 §5.3 给出患者级修正 |
| 16 | 泄漏讨论 | ✅ | 官方未讨论,但患者数/切片数结构使风险可推断;本页坑点 3 完整覆盖 |
| 17 | 标签分布 | ✅ | 349/397 类别均衡;患者级不均衡已披露(§4.2) |
| 18 | 测量偏倚 | ❌ | 阳性/阴性来源流程不同(配图 vs 影像库),无对照设计 |
| 19 | 外部验证建议 | ✅ | 原论文自带外部原始 CT 测试协议,社区可复用 |
| 20 | 版本记录 | ⚠️ | 无正式版本号/变更日志;仅 Git 提交历史可考 |
| 21 | 预处理脚本 | ✅ | 仓库提供基线训练/预测代码与 requirements |
| 22 | 合规要求 | ❌ | 无标准许可证,版权归属原论文作者与出版社 |
| 23 | 多模态对齐 | ⚠️ | 图像-图注-报告同源但非逐图对齐,需以 MetaInfo 手工确认 |
| 24 | 去标识化 | ✅ | 伪 ID + 已出版匿名化,无直接标识符 |
DAIMS 评分:13.5 / 24
评分解读:数据集在"结构层"(宽格式、标签、划分、脚本)达到可用标准,但在"语义层"(受控词表、时间戳、设备记录、编码映射)与"治理层"(许可证、版本管理、测量偏倚对照)存在结构性缺口——这些缺口多数源于论文配图提取这一来源方式的先天限制,而非维护者的疏忽。作为 2020 年应急产物的 fast-release 数据集,13.5/24 属于"研究可用、部署不宜"的典型区间。
对你意味着什么:
- 可以直接用它做模型原型与教学,但不能把任何数字外推为临床性能声明;
- 立刻补三件事:患者级划分清单、数据哈希归档、镜像口径(397/463)记录;
- 凡是需要 HU 值、层厚、设备信息的分析,换用 DICOM 来源数据集(§1.3 对比表);
- 引用本集的论文务必声明划分粒度与测试域,否则审稿人可依坑点 7 直接质疑。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| 原始医院 CT(外部测试集,含 COVID-Seg、LUNA 对照) | 多中心 | 二分类 | acc 79.5% / F1 76.0% / AUC 90.1%(DenseNet-169) | 显著低于多任务+自监督后数字 | 提取图训练可迁移到原始域;对照:118 张原始 CT 训练仅 69.8%(Yang et al., 2020) |
| 同上 + 多任务/CSSL 增强 | UCSD | 二分类 | acc 89.1% / F1 0.90 / AUC 0.98 | 相对基线 +9.6 acc | 多任务与 MoCo 自监督是本集上限技术(同上) |
| 内部划分多方法对比 | He et al. | 二分类 | DenseNet-169 self-trans acc 0.86 / F1 0.85 / AUC 0.94 | 与外部协议不可直接比较 | method 2 与 self-trans 为社区常用参照(Haidar et al. 汇总表) |
矩阵解读:三行结果分别对应三种协议,合起来构成"提取图直接训练 → 上限技术加持 → 内部协议参照"的完整证据链;引用任何一行都必须同时引用其协议描述,单引数字在方法学上不成立。
§8 基准性能与生态
§8.1 排行榜
⚠️ 下表数字来自不同划分与测试协议(官方 split / 自定 80-20 / 外部原始 CT),不可直接横向比较;仅可作为"协议内"参照。
| 排名 | 模型 | 性能(acc / F1 / AUC) | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | DenseNet-169 + 多任务 + CSSL | 0.891 / 0.90 / 0.98(外部原始 CT) | 2020 | MoCo 自监督 + 分割掩码辅助 | Yang et al., 2020, arXiv:2003.13865. DOI 10.48550/arXiv.2003.13865 | 官方仓库镜像 |
| 2 | DenseNet169-XGBoost / RF / DART | 0.87 / 0.87 / 0.90 | 2021 | 深度特征 + 集成树 | Haidar et al., 2021, arXiv(Integr. Deep Ensemble). Europe PMC ppr238581 | GitHub |
| 3 | DenseNet-169(self-trans) | 0.86 / 0.85 / 0.94 | 2020 | 自迁移学习 | He et al., 2020, medRxiv. DOI 10.1101/2020.04.24.20078613 | 官方仓库镜像 |
| 4 | ResNet-50(method 2) | 0.83 / 0.83 / 0.91 | 2020 | 多方法训练对比 | He et al., 2020, medRxiv. DOI 10.1101/2020.04.24.20078613 | 同上 |
| 5 | DenseNet-169(Study I 基线) | 0.795 / 0.76 / 0.901(外部原始 CT) | 2020 | 提取图直接训练 | Yang et al., 2020, arXiv:2003.13865. DOI 10.48550/arXiv.2003.13865 | 同上 |
§8.2 SOTA 总结与选型建议
该数据集上的"上限"由原论文划定:多任务学习(利用分割掩码的辅助损失)+ 对比自监督(MoCo)把外部原始 CT 准确率推到 89.1%。对多数使用者,性价比最高的路线是 DenseNet-169/EfficientNet-B0 + 患者级划分 + 强预处理(坑点 1/2/6)+ 外部测试;ViT 系列仅在自监督预训练后有竞争力。任何声称显著超过 0.98 AUC 协议内数字的结果,应优先怀疑协议差异或泄漏(坑点 3/7)。
选型决策路径:
- 目标是复现文献数字 → 官方 Data-split + DenseNet-169,报告协议三元组(口径/粒度/测试域);
- 目标是方法创新(自监督/多任务)→ 患者级 5 折划分 + MoCo 预训练,与 79.5%/89.1% 两个锚点对齐比较;
- 目标是部署原型 → 放弃内部指标,直接接外部原始 CT 测试集;把坑点 1/2/6 的预处理写成版本化 Pipeline;
- 目标是数据方法论研究 → 本集即研究对象:量化注释捷径、域纠缠与泄漏的贡献是现成课题。
§8.3 评测协议
| 协议要素 | 要求 |
|---|---|
| 数据口径 | 固定 349 + 397 或 349 + 463,声明其一并附数据哈希 |
| 划分粒度 | 声明切片级 or 患者级;推荐患者级 5 折交叉验证 |
| 测试域 | 声明内部提取图 or 外部原始 CT |
| 主指标 | AUC 为主,F1/acc 附 95% CI(bootstrap ≥ 1,000 次) |
| 预处理版本 | resize 尺寸、去注释策略、增强网格一并披露 |
| 阈值策略 | 内部阈值不得直接迁移到外部测试,需重新校准并声明 |
任何论文级报告建议把上述六行做成结果表头,审稿人可据此立即判断可比性。
§8.4 相关数据集
| 数据集 | 规模 | 与本集关系 |
|---|---|---|
| SARS-CoV-2 CT-scan(São Paulo) | 1,252 + 1,230 切片 | 医院真实域替代/外部测试源 |
| COVID-CTset(Iran) | 377 人全扫描 15,589 + 48,260 切片 | 体积级补充,可做 3D 对照 |
| MosMedData+ | 1,110 患者分级体积 | 严重度分级扩展任务 |
| LUNA16 | 肺结节 DICOM 库 | 阴性对照源(本集阴性即部分来自 LUNA) |
组合使用建议:本集(多样性大、质量低)+ São Paulo 集(质量高、域单一)构成理想的"预训练→域内微调"组合;MosMedData+ 用于把二分类结论延伸到严重度维度;任何组合都以患者不相交为前提,防止同一患者经不同数据集间接泄漏。
§8.5 关键论文
- Zhao, Jinyu; Zhang, Yichen; He, Xuehai; Xie, Pengtao. “COVID-CT-Dataset: a CT scan dataset about COVID-19.” arXiv preprint arXiv:2003.13865, 2020. DOI 10.48550/arXiv.2003.13865 — 数据集原始论文,提出配图提取方法与多任务/自监督基线(arXiv 检索页作者顺序另列 Yang, Xingyi 等,以官方 README BibTeX 为准)。
- He, Xuehai; Yang, Xingyi; Zhang, Shanghang; Zhao, Jinyu; Zhang, Yichen; Xing, Eric; Xie, Pengtao. “Sample-Efficient Deep Learning for COVID-19 Diagnosis Based on CT Scans.” medRxiv, 2020. DOI 10.1101/2020.04.24.20078613 — 官方基线方法论文,多任务学习与自迁移的四方法对照。
- Haidar, Ali et al. “Integration of Deep and Ensemble Learning for Detecting COVID-19 in Computed Tomography Images.” arXiv, 2021. — 深度特征+集成树系统对比,含 He et al. 各方法汇总表。
- Gao, Xiao et al. “Online COVID-19 diagnosis with chest CT images: Lesion-attention deep neural networks.” medRxiv, 2020. DOI 10.1101/2020.05.11.20097907 — 披露 4 张错标细节,提出病灶注意力模型。
- “Role of Artificial Intelligence in COVID-19 Detection.” Sensors, 21(23):8045, 2021. — 综述性定位本集在 COVID 影像数据生态中的角色(349/397 口径引用)。
- “Deep Ensemble Learning-Based Models for Diagnosis of COVID-19 from Chest CT Images.” Healthcare, 10(1):166, 2022. — 对数据集元数据(年龄/性别/尺寸分布)最完整的二次统计分析。
§8.6 社区活跃度
官方仓库在 2020-2021 年高度活跃(200+ 提交、数百 fork),2021-01-26 后停止维护,2026-09 官方地址下线;学术热度持续:论文被引 1,275+(Google Scholar,截至 2026-09),衍生研究横跨诊断模型、自监督预训练与数据集方法论。社区维护以 fork 镜像与 grand-challenge 存档页为主。
| 阶段 | 时间 | 活跃特征 |
|---|---|---|
| 密集建设期 | 2020-03 至 2020-05 | 元数据更新、划分修正、基线发布、社区反馈集中涌入 |
| 稳定维护期 | 2020-05 至 2021-01 | 偶发 README 修订,最后一次更新 2021-01-26 |
| 存档期 | 2021-01 之后 | 官方停更;引用与二次分析持续增长 |
| 下线 | 截至 2026-09(验证) | 官方仓库 404,获取转为镜像依赖 |
§8.7 生态快照
| 资源 | 类型 | 链接 | Star 截至 2026-09 | 推荐理由 |
|---|---|---|---|---|
| 官方仓库(下线) | 数据+代码 | UCSD-AI4H/COVID-CT | 无法访问(历史 400+ fork) | 唯一权威来源,fork 链的根 |
| shi3z 镜像 | 数据+代码 | shi3z/COVID-CT | — | 早 fork(2020-04),含 DenseNet 训练修复 |
| grand-challenge 页 | 挑战/文档 | covid-ct.grand-challenge.org | — | 官方质量关切声明的存档 |
| arXiv 论文页 | 文档 | arXiv:2003.13865 | — | 方法与协议的第一手描述 |
§9 相关资源与引用
§9.1 官方资源列表
- 数据与基线代码:官方 GitHub 仓库(截至 2026-09 下线,经 shi3z 镜像等获取)
- 论文全文:arXiv:2003.13865
- 挑战与说明页:covid-ct.grand-challenge.org
- 基线方法论文:Sample-Efficient Deep Learning for COVID-19 Diagnosis Based on CT Scans
- 二次统计分析(元数据):Healthcare 2022;10(1):166
社区与延伸资源:
| 资源 | 链接 | 用途 |
|---|---|---|
| shi3z 镜像(含训练脚本修复) | github.com/shi3z/COVID-CT | 数据下载 + DenseNet 训练入口 |
| lingzi201314 镜像 | github.com/lingzi201314/COVID-CT | 备用镜像,含完整提交历史 |
| 集成树基线代码 | github.com/ayhaidar/covid_ensembles | Haidar et al. 深度特征+集成树复现 |
| 病灶注意力模型 | github.com/xiaoxuegao499/LA-DNN-for-COVID-19-diagnosis | Gao et al. LA-DNN(含错标勘误上下文) |
| COVID-19 数据集综述 | medRxiv 2020.05.19.20107532 | COVID 影像数据集全景与选取建议 |
§9.2 BibTeX 引用
@article{zhao2020COVID-CT-Dataset,
title = {COVID-CT-Dataset: a CT scan dataset about COVID-19},
author = {Zhao, Jinyu and Zhang, Yichen and He, Xuehai and Xie, Pengtao},
journal = {arXiv preprint arXiv:2003.13865},
year = {2020},
doi = {10.48550/arXiv.2003.13865}
}
@article{he2020sample,
title = {Sample-Efficient Deep Learning for COVID-19 Diagnosis Based on CT Scans},
author = {He, Xuehai and Yang, Xingyi and Zhang, Shanghang and Zhao, Jinyu and Zhang, Yichen and Xing, Eric and Xie, Pengtao},
journal = {medRxiv},
year = {2020},
doi = {10.1101/2020.04.24.20078613}
}
§9.3 引用指南
- 引用数据集本体用
zhao2020COVID-CT-Dataset;引用基线方法与训练细节用he2020sample; - 论文作者署名存在两种流传版本(官方 README BibTeX 四人版与 arXiv 检索页六人版),引用时注明所据来源;
- 使用镜像获取数据时,在数据可用性声明中同时写明官方仓库地址与实际镜像地址;
- 报告性能数字时必须连同 §8.3 的协议三元组一起声明,避免与不同协议结果混淆;
- 引用元数据统计(年龄/性别/尺寸分布)时指向 Healthcare 2022;10(1):166 的二次统计而非本页转述。
数据可用性声明模板(可整段复制进论文):
本研究所用 COVID-CT 数据集(Zhao et al., 2020, arXiv:2003.13865)于 2020 年由 UCSD AI4H 组发布,含 349 张 COVID 阳性切片(216 名患者)与 397 张非 COVID 切片(仓库终版口径)。官方仓库截至 2026-09 已无法访问,本研究自 [镜像地址] 获取数据并通过数量与哈希自检;数据处理脚本与患者级划分清单见补充材料。
§10 AI 使用声明卡
§10.1 本页面使用的 AI 模型
| 模型 | 用途 | 范围 |
|---|---|---|
| 大语言模型(CodeBuddy 内置模型) | 初稿撰写、结构组织、代码示例生成 | 全文初稿与代码框架 |
§10.2 AI 参与范围
AI 参与了章节起草、事实整理辅助、代码示例与表格生成;所有规模数字、基准性能、引文与坑点事实均来自 §FACTS 清单所载的公开来源并经人工核对;医学表述与数据工程结论经编辑部落稿审核。
AI 未参与的环节:事实来源的选定与交叉验证(人工检索与核对)、坑点真实性的溯源确认(每条坑点均有原始 URL 佐证)、DAIMS 各项状态的最终判定、INFOBOX 与 frontmatter 中全部数字的复核。
§10.3 输入来源列表
- Zhao, Jinyu; Zhang, Yichen; He, Xuehai; Xie, Pengtao. COVID-CT-Dataset: a CT scan dataset about COVID-19. arXiv preprint arXiv:2003.13865, 2020. DOI 10.48550/arXiv.2003.13865
- He, Xuehai; Yang, Xingyi; Zhang, Shanghang; Zhao, Jinyu; Zhang, Yichen; Xing, Eric; Xie, Pengtao. Sample-Efficient Deep Learning for COVID-19 Diagnosis Based on CT Scans. medRxiv, 2020. DOI 10.1101/2020.04.24.20078613
- UCSD-AI4H/COVID-CT 官方 GitHub 仓库 README(经 shi3z/COVID-CT 等镜像验证)
- covid-ct.grand-challenge.org 数据说明页(质量关切声明存档)
- Gao, Xiao et al. Online COVID-19 diagnosis with chest CT images: Lesion-attention deep neural networks. medRxiv 2020.05.11.20097907(4 张错标脚注)
- Role of Artificial Intelligence in COVID-19 Detection. Sensors 2021, 21(23), 8045(数据集汇总表 1)
- Automatic detection of COVID-19 from chest CT scan and chest X-Rays images using deep learning, transfer learning and stacking. Applied Intelligence (Springer), 2022(746 口径与划分)
- Deep Ensemble Learning-Based Models for Diagnosis of COVID-19 from Chest CT Images. Healthcare 2022, 10(1), 166(元数据统计:年龄 169/216、性别 137/216、尺寸分布)
- Integration of Deep and Ensemble Learning for Detecting COVID-19 in CT Images. Europe PMC ppr238581(基线方法对比表)
- Haidar, Ali et al. covid_ensembles 代码仓库(GitHub ayhaidar/covid_ensembles)
- Google Scholar 引用计数页(1,275 次,截至 2026-09)
- WHO COVID-19 疫情数据页(流行病学背景表述)
- Lacuna 论文摘要页(Study I/II 数字与外部测试协议细节)
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景与编码映射 | 千方病案医学编辑部 | 交叉审核(ICD-11/SNOMED 码与公开术语库比对) | ✅ 已通过 |
| §3-§5 数据规格、结构与划分 | 千方病案医学编辑部 | 数字逐项对照 FACTS 清单与来源 URL | ✅ 已通过 |
| §6 AI 就绪指南与 8 坑点 | 千方病案医学编辑部(数据工程) | 代码可运行性走查 + 坑点事实溯源 | ✅ 已通过 |
| §7-§8 质量、基准与生态 | 千方病案医学编辑部 | 基准数字与原文协议一致性核对 | ✅ 已通过 |
§10.5 AI 生成章节标注
全文初稿由 AI 生成;§1.0 速览、§6.5 坑点、§7.7 DAIMS 解读与 §8.2 选型建议为 AI 依据来源材料整理后由人工审定的事实归纳,无 AI 自由发挥的数字。
风格与合规约束:全文遵循千方病案医数集写作宪法(结构模板、G1-G3 全局规范、DAIMS 24 项清单);中英混排空格、千分位与"截至 YYYY-MM"动态数据标注在落稿审定环节统一校正。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核日期一致)
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- sar-covid — 共享标签:医学影像 / CT / 图像分类 / COVID-19
- bimcv-covid — 共享标签:医学影像 / CT / COVID-19
- stoic — 共享标签:医学影像 / CT / COVID-19
- mosmeddata — 共享标签:医学影像 / CT / COVID-19
- radimagenet — 共享标签:医学影像 / CT / 图像分类
- ct-rate — 共享标签:医学影像 / CT / 图像分类
- brax — 共享标签:医学影像 / CT / 图像分类
- covid-19-radiography — 共享标签:医学影像 / 图像分类 / COVID-19
- cardiac-implantable-device-cxr — 共享标签:医学影像 / 图像分类
- chest-x-ray-segmentation — 共享标签:医学影像 / 图像分类
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。
