MosMedData — 莫斯科新冠 CT 五级严重度数据集 AI-Ready Wikipedia

1,110 例新冠胸部 CT,五级严重度分级 + 50 例病灶像素掩码

来源 莫斯科市卫生局诊断与远程医疗技术科研实践临床中心(RPC CDT) url: https://mosmed.ai/datasets/covid19_1110发布时间: 2026-09-12最后更新: 2026-09-25 阅读 33
MosMedData — 莫斯科新冠 CT 五级严重度数据集 AI-Ready Wikipedia

信息速览

数据集名称MosMedData — 莫斯科新冠 CT 五级严重度数据集 AI-Ready Wikipedia
数据类型1,110 例胸部 CT,50 例像素掩码,5 级严重度标签,约 25.41 GB NIfTI,免费开放下载
规模1,110 名患者(每例唯一 CT 研究)
接入方式莫斯科市卫生局诊断与远程医疗技术科研实践临床中心(RPC CDT) url: https://mosmed.ai/datasets/covid19_1110
AI 就绪度

数据集封面

MosMedData — 莫斯科新冠 CT 五级严重度数据集 AI-Ready Wikipedia

INFOBOX

字段 内容
数据集名称 MosMedData(官方代号 COVID19_1110 1.0)
英文全称 MosMedData: Chest CT Scans with COVID-19 Related Findings
别名/简称 COVID19_1110、MosMedData+(社区镜像与派生版本命名)
疾病分类 ICD-11 1D32(COVID-19,病毒已识别);CA40.1(病毒性肺炎)
SNOMED CT 840539006(COVID-19);33869002(Viral pneumonia,病毒性肺炎)
数据模态 胸部 CT(三维体数据,纵隔软组织窗重建)
AI 任务类型 五级严重度分类、新冠感染灶分割、COVID 二分类、分诊辅助
样本总数 1,110 例 CT 研究(每例唯一患者),其中 50 例附像素级掩码
数据大小 约 25.41 GB(完整官方镜像)
数据格式 NIfTI(.nii.gz)+ XLSX 数据注册表
许可证 CC BY-NC-ND 3.0(署名-非商业-禁止演绎)
访问级别 开放下载(官方站点直链 + Kaggle 镜像)
DUO 标签 NPUNCU、NCU(非商业、非营利使用)
语言 英语(README 与文档,中英双语版本)
首发日期 2020-05(medRxiv/arXiv 预印本同步发布)
最后更新 2020-12-21(Digital Diagnostics 正式发表;数据集 V1.0)
发布机构 莫斯科市卫生局诊断与远程医疗技术科研实践临床中心(RPC CDT)
官方主页 mosmed.ai/datasets/covid19_1110
下载地址 Kaggle 完整镜像(25.41 GB)
DOI 10.17816/DD46826
引用次数 182+(Scilit 索引 medRxiv 版被引,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐(3/5)— 有官方类别目录与注册表,但无官方预处理脚本,8 mm 有效层距与极端类别不平衡需自行处理
页面状态 published

§0 E-E-A-T 审核声明

  • 医学审核:[千方病案医学编辑部] 交叉审核:§2 医学背景(COVID-19 的 CT 征象体系与俄罗斯半定量分级标准)、§7 偏倚分析(影像学标签 vs PCR 验证、病例构成偏倚)。
  • 数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
  • 审核日期:2026-09-05

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。MosMedData 采用 CC BY-NC-ND 3.0 许可,允许自由分享与非商业使用,但禁止商业用途与演绎分发(不得分发修改后的数据)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? MosMedData 是俄罗斯莫斯科在新冠第一波疫情期间(2020 年 3 月至 4 月)整理发布的匿名化胸部 CT 数据集,包含 1,110 例 CT 研究,每一例都由莫斯科市卫生局的诊断与远程医疗技术科研实践临床中心(RPC CDT)按 CT-0 到 CT-4 五个严重度等级标注——从"无病毒性肺炎 CT 征象"到"肺实质受累超过 75% 的弥漫性病变"。其中 50 例还附带磨玻璃影和实变区域的二值像素掩码,可以直接用于训练分割模型。

为什么重要? 疫情高峰期莫斯科的门诊 CT 中心每天每台扫描仪要完成约 90 次检查,放射科医生严重超负荷,AI 自动分诊成为刚需。MosMedData 是最早一批由政府卫生系统主导、规模上千例、带统一分级标准的公开新冠 CT 数据集,它的分级标准直接对应莫斯科医院的真实分诊决策(居家随访、社区随访还是住院),标签具有明确的临床行动含义,而不只是学术分类。

我能用它做什么? 训练严重度分级模型(社区惯例合并为 CT-0/CT-1/CT-2/CT-3+4 四类)、用 50 例掩码做感染灶分割或半监督分割、做跨数据集泛化与域自适应研究。注意它不提供 PCR 确诊信息,CT-0 不等于健康对照,且公开版本每层序列只保留了十分之一的切片。

§1.1 摘要

MosMedData(官方代号 COVID19_1110 1.0)由莫斯科市卫生局下属的诊断与远程医疗技术科研实践临床中心(Research and Practical Clinical Center for Diagnostics and Telemedicine Technologies, RPC CDT)构建,数据来自莫斯科市立医院与门诊 CT 中心,采集时间为 2020-03-01 至 2020-04-25。原始 DICOM 序列经软组织纵隔窗重建后转换为 NIfTI 格式,转换过程中每个序列仅保留每第 10 张实例(InstanceNumber % 10 = 0),得到 512×512 矩阵、每卷 36–41 层、有效层距 8 mm 的体数据。全部 1,110 例(每例唯一患者)按俄罗斯联邦采用的视觉半定量分级标注五级严重度:CT-0 共 254 例(22.8%)、CT-1 共 684 例(61.6%)、CT-2 共 125 例(11.3%)、CT-3 共 45 例(4.1%)、CT-4 共 2 例(0.2%)。另有 50 例由 RPC CDT 专家使用 MedSeg 软件标注磨玻璃影与实变的二值像素掩码(Class A 标注)。数据以 CC BY-NC-ND 3.0 许可开放发布,目录按严重度类别组织,并附带 XLSX 注册表记录文件、标签与掩码的对应关系。数据集论文发表于 medRxiv(2020-05)与 Digital Diagnostics(2020-12-21,DOI 10.17816/DD46826),已成为新冠 CT 分级与分割研究的标准参考数据集之一。

§1.2 战略价值

维度一:政府卫生系统背书的分级标签体系。 多数早期新冠影像数据集(如 COVID-19 Image Data Collection)依靠网络爬取与志愿者标注,标签来源分散、标准不一。MosMedData 则由莫斯科市卫生系统在临床一线使用中形成分级:影像科医师初读 + RPC CDT 会诊专家二读,分级结果直接驱动分诊决策(CT-1 居家远程监测、CT-2 社区医生随访、CT-3 及以上住院评估)。这使它的标签天然带有临床行动语义,是研究"影像分级 → 分诊决策"因果链的少数公开数据集。对 AI 团队而言,这意味着模型输出可以映射到真实的临床路径,而非仅仅追求分类准确率。

维度二:极端真实世界的类别分布。 公开版 CT-1 占 61.6% 而 CT-4 仅 2 例,这一分布恰好反映了莫斯科第一波疫情的门诊化分诊策略(重症被留在住院体系内)。对于研究类别不平衡、长尾分布、标签噪声建模的团队,这是接近真实部署场景的样本构成;对于追求平衡基准的团队,则需要主动合并类别或使用加权策略(详见 §6.5 坑点 3)。这种"不完美但真实"的构成,比人工平衡的数据集更能暴露模型在部署环境中的失效模式。

维度三:长生命周期的方法学试验场。 数据集发布于 2020 年 5 月,但研究谱系持续演进:2020–2021 年以二分类与 U-Net 分割为主;2022 年出现半监督分割(DM²T-Net)与重建核域自适应专文;2023 年 LViT 将其派生为语言-影像多模态分割基准;2025–2026 年指代分割与掩码 token 生成类方法仍以其为标准评测集。对方法学研究者而言,这意味着多年沉淀的可比基线与可对话的文献谱系;对工程团队而言,这意味着踩过的坑都有文献记载(见 §6.5)。

维度四:许可宽松与获取零门槛的组合。 CC BY-NC-ND 3.0 允许自由分享与全量再分发(只要署名且不改内容),加上官方直链与 Kaggle 双镜像,不存在注册、审批、签署协议的等待期——这在医疗影像数据集中相当少见(对比 PhysioNet 凭证化申请或 TCIA 部分受限集合)。代价是非商业与禁止演绎两条硬约束:模型可以商用,但处理后数据的再分发与商业数据产品构建受到限制,工程团队应在数据治理阶段就把"发布代码而非发布数据"写进规范。

§1.3 同类数据集横向对比

数据集 规模 模态 标注类型 差异化特点
MosMedData(本条目) 1,110 例(50 例掩码) 胸部 CT(NIfTI) 5 级严重度(全量)+ 病灶掩码(50 例) 政府卫生系统分级、临床分诊语义、单机构一致性
BIMCV-COVID19+ 数千例 CXR + CT 影像学报告 + 病灶标注 西班牙瓦伦西亚,多模态含文本报告
MIDRC-RICORD-1a 120 例 胸部 CT(DICOM) PCR 确诊 + 病灶掩码 RSNA/ACR 主导,PCR 阳性验证严格
COVID-19 CT segmentation(MedSeg/Radiopaedia) 9 卷(829 切片) 胸部 CT 肺/磨玻璃/实变掩码 规模小但掩码细粒度高,常与 MosMedData 联用
SARS-CoV-2 CT-scan(Soares et al.) 2,482 张 2D 切片 胸部 CT(切片) 阳性/阴性二分类 仅切片级、无体数据结构
COVIDx CT / COVID-CTset 万级切片 胸部 CT 多级来源混合 规模大但来源异质,域差异显著
QaTa-COV19 9,258 张 X 线 胸部 X-ray 病灶掩码 + 文本标注 LViT 基准姊妹集,跨模态对照

§1.4 版本时间轴

时间 版本/事件 说明
2020-05-13 arXiv 预印本(2005.06465) 数据集首次公开描述,COVID19_1110 1.0
2020-05-22 medRxiv 预印本(10.1101/2020.05.20.20100362) 面向临床社区发布,含分级表与人口学统计
2020-05 至 2020-12 Kaggle 社区镜像陆续上线 andrewmvd 镜像(1,000 例 + 50 掩码)、mathurinache 完整镜像(1,110 例,25.41 GB)
2020-12-21 Digital Diagnostics 正式发表 DOI 10.17816/DD46826,数据集正式定版 V1.0
2020-12 至今 派生基准演化 LViT 派生 MosMedData+ 切片级语言引导分割基准(2,729 切片);IEEE COVID-19 Imaging Informatics Challenge 采用为本数据集的官方竞赛协议
2022–2026 方法谱系扩展 半监督分割(DM²T-Net)、重建核域自适应(J Imaging)、指代分割与掩码 token 生成(NTP-MRISeg 2025)持续以本数据集为评测集

§1.5 典型应用场景

  1. 新冠 CT 严重度自动分级:以 1,110 例五级标签训练 3D 卷积或多实例学习模型,输出 CT-0 至 CT-4(或合并后四类)分级,用于分诊辅助与随访监测。
  2. 感染灶分割与病灶定量:用 50 例像素掩码训练 U-Net 系模型,量化磨玻璃影与实变体积,支撑"肺实质受累百分比"自动计算。
  3. 半监督/弱监督分割研究:1,060 例无掩码体数据 + 50 例强标注的组合是半监督医学分割(如 DM²T-Net、UA-MT 类方法)的标准实验设置。
  4. 跨域泛化与域自适应:MosMedData 的平滑核/纵隔窗重建与锐利核公开数据(如 MedSeg-9)构成天然源域-目标域对,已被重建核域自适应研究采用。
  5. 语言引导医学分割(VLM 时代任务):LViT 派生版本为 2,729 张切片补充了病灶文本描述,支持文本-影像多模态分割基准评测。

§2 医学背景

§2.1 ICD-11 编码映射

标签概念 ICD-11 编码 ICD-11 中文名
COVID-19(病毒已识别) 1D32 2019 冠状病毒病
病毒性肺炎(CT 表现对应实体) CA40.1 病毒性肺炎
影像学正常(CT-0 参照) CA40.1 排除性判读 无肺炎证据(需临床排除)

§2.1b SNOMED CT 映射

标签/概念 ICD-11 SNOMED CT 码 SNOMED 术语
COVID-19 1D32 840539006 COVID-19(Disease caused by SARS-CoV-2)
病毒性肺炎 CA40.1 33869002 Viral pneumonia
胸部 CT 检查 — 241560008 Chest computed tomography

注:MosMedData 的 CT-0 至 CT-4 分级是俄罗斯联邦临时性影像分级框架,不属于 ICD-11/SNOMED 原生编码;上表映射用于跨系统语义对齐,不能替代原始分级。

§2.2 疾病简介与流行病学

COVID-19 由 SARS-CoV-2 引起,2020 年 3 月 11 日 WHO 宣布其为全球大流行。在疫情期间的莫斯科,CT 是诊断与评估疾病进展的关键工具:门诊体系面向急性呼吸道症状者、已确诊且病情轻微可居家恢复的患者实施 CT 检查(配合远程医疗监护),住院体系则用 CT 进行初始与鉴别诊断评估、进展评估以及决定是否收入 ICU 或出院。莫斯科的门诊 CT 体系高峰期每台扫描仪每天完成约 90 次检查,单台单日最高纪录为 163 次。影像学上,新冠肺部受累的典型 CT 征象按病程演进包括磨玻璃影(ground-glass opacification)、实变(consolidation)与网状改变(reticular changes);莫斯科专家据此将肺部异常严重度与呼吸症状、生命体征结合,制定了五级分诊框架(见 §2.6 金标准表)。

从流行病学时间线看,本数据集采集窗口(2020-03-01 至 2020-04-25)恰覆盖莫斯科第一波疫情的快速上升期:核酸检测产能不足、结果延迟数日,CT 因此承担了"即时分诊"角色。这一背景决定了两个对 AI 建模影响深远的属性:其一,入组人群以门诊轻症为主(分诊政策将重症引导至住院体系),构成 CT-1 占绝对多数的长尾分布;其二,分级是在"核酸检测不可依赖"的应急语境下建立的影像学代理标准,其语义是"CT 可见异常的范围与类型",而非"感染状态的实验室确认"。

从影像病理生理看,五级分级对应的实质是病灶负荷的连续谱:早期为胸膜下分布的磨玻璃影(CT-1),进展期 GGO 范围扩大并出现实变(CT-2 至 CT-3),危重期呈弥漫性 GGO、实变伴网格样纤维化改变(CT-4)。这一连续谱也解释了为什么社区普遍将分级视为序数标签(ordinal label)而非独立类别——损失函数设计与指标选择都应考虑序数关系(相邻级别误判代价低于跨级误判)。

§2.3 临床任务定义

任务 定义 数据集支撑
筛查/检出 判断胸部 CT 是否存在病毒性肺炎征象(COVID vs 非 COVID 二分类) 全部 1,110 例五级标签可退化为二分类
分级 按肺实质受累范围与征象类型划分 CT-0 至 CT-4 五级 五级全量标注
病灶分割 像素级勾画磨玻璃影与实变区域 50 例二值掩码
分诊辅助 将分级映射至居家监测/社区随访/住院评估的临床路径 分级标准的分诊规则内嵌于官方文档

§2.4 患者人群

维度 描述
来源机构 莫斯科市立医院与门诊 CT 中心(莫斯科市卫生局体系)
采集时间 2020-03-01 至 2020-04-25(第一波疫情高峰)
样本量 1,110 例研究 / 1,110 名患者(1 study = 1 patient,无重复)
年龄 18–97 岁,中位 47 岁
性别 男性 42%、女性 56%、其他/未知 2%
种族 未记录(官方文档未提供)
就医类型 门诊为主(急性呼吸道症状、轻症居家恢复者),含住院分诊评估病例
采集设备 Canon (Toshiba) Aquilion 64,标准协议

§2.5 临床价值

在核酸检测产能受限、结果延迟的疫情背景下,CT 提供了即时的肺部受累评估。MosMedData 的分级框架与莫斯科真实的分诊决策绑定:CT-1 患者居家远程监测、CT-2 由社区医生随访、CT-3 及以上进入住院评估通道。对 AI 团队而言,这一数据集可以支撑三类临床价值的验证:一是替代或辅助人工初读,缓解放射科超负荷;二是为"影像严重度 → 资源分配"提供可量化输入;三是通过 50 例掩码实现病灶体积自动量化,把主观视觉分级转化为客观测量。但必须强调:官方文档明确分级仅基于影像学表现,未经 PCR 或临床结果验证,因此该数据集研究的是"影像分级任务",不能直接等同于"新冠感染确诊任务"。

从工程落地视角看,该分级体系的价值还在于其"可解释的分诊接口":模型输出的每个等级都绑定官方路由规则(如 CT-2 合并发热 >38.5℃、呼吸 20–30 次/分、SpO₂ 95–93% 等临床条件),这使得 AI 辅助产品无需自造分级语义,只需与现有临床决策链对齐即可进入真实工作流——这也是该数据集区别于纯学术标注集合的核心工程优势。

§2.6 金标准表

划分 标注方式 标注者 性质
Class C(CT-0…CT-4 五级) 视觉半定量分级(俄罗斯联邦采用的分级框架,含分诊路由规则) 临床初读医师 + RPC CDT 会诊专家二读 全量 1,110 例;在 DICOM→NIfTI 转换前定级
Class A(二值像素掩码) MedSeg 软件逐层勾画磨玻璃影与实变为正像素 RPC CDT 专家 50 例;NIfTI 格式 gzip 压缩
无 PCR/临床结果标签 — — 官方明确声明标签非 PCR 验证

§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
完整复现官方 1,110 例规模、全量五级标签 官方 COVID19_1110 1.0(mosmed.ai 或 Kaggle mathurinache 完整镜像) 约 25.41 GB 与论文一致的完整版本,含 50 例掩码与注册表
快速原型验证、带宽受限 Kaggle andrewmvd 镜像 3.72 GB 仅 1,000 例 + 50 掩码,下载快,但规模与官方不一致(见坑点 5)
语言引导分割 / 多模态基准 LViT 派生 MosMedData+(切片级) 较小(切片级) 2,729 张切片 + 文本标注,划分 2,183/273/273,直接对齐 LViT 基准
训练分割模型(强监督) 官方版本 + 仅用 50 例掩码子集 约 25.41 GB(可只下载 masks 目录) 强标注仅存在于 50 例;官方支持按需获取
需要原始 DICOM 与完整层距 无公开渠道 — 官方仅发布抽层后的 NIfTI;8 mm 层距是公开版固有属性

§3.1 模态详情

  • 成像方式:胸部多层螺旋 CT,Canon (Toshiba) Aquilion 64。
  • 采集协议:面内分辨率 0.8×0.8 mm²,原始层距 0.8 mm;每名患者取一个序列。
  • 重建设置:软组织纵隔窗重建(SeriesDescription LIKE ‘%BODY%’),平滑重建核。
  • 公开版处理:DICOM→NIfTI 转换时仅保留每第 10 张实例(InstanceNumber % 10 = 0),有效层距变为 8 mm;矩阵 512×512,每卷 36–41 层。
  • 文件格式:NIfTI,gzip 压缩(.nii.gz)。
  • HU 值:体数据保留 CT 值,可自行施加肺窗/纵隔窗显示(注意重建目标窗为纵隔窗,肺结构对比度弱于肺窗重建数据,见坑点 6)。
  • 像素间距元信息:面内 0.8 mm;z 向有效层距 8 mm 是抽层的产物,header 中记录的 spacing 需按坑点 1 的方式校验,不应盲信。
  • 与 DICOM 原始数据的关系:官方仅发布抽层后 NIfTI,无 DICOM 原文件;需要完整 0.8 mm 层距的应用(如细小病灶检出)在本数据集上无法实现。

§3.2 子集样本数

子集 样本数 占比 说明
CT-0(无病毒性肺炎征象) 254 22.8% 含非新冠其他状态,不等于健康对照
CT-1(轻度:<25% 受累) 684 61.6% 多发磨玻璃影
CT-2(中度:25–50% 受累) 125 11.3% 磨玻璃影为主
CT-3(重度:50–75% 受累) 45 4.1% 磨玻璃影 + 实变
CT-4(危重:>75% 受累) 2 0.2% 弥漫病变伴网状改变
像素掩码子集(Class A) 50 4.5% 磨玻璃影 + 实变二值掩码
合计 1,110 100% 每例唯一患者

§3.3 数据格式

内容 格式 说明
CT 体数据 NIfTI(.nii.gz) studies/CT-{0…4}/study_XXXX.nii.gz
像素掩码 NIfTI(.nii.gz) masks/study_XXXX_mask.nii.gz,二值(0/1)
注册表 XLSX dataset_registry.xlsx:全部研究的文件路径、类别、掩码对应关系
文档 PDF/Markdown README_EN / README_RU(中英俄三语,含 LICENSE 全文)

§3.4 存储大小

  • 完整官方镜像(Kaggle mathurinache 版):约 25.41 GB,1,166 个文件。
  • Kaggle andrewmvd 镜像:约 3.72 GB(1,000 例,v5)。
  • 单卷典型大小:约 17–28 MB(512×512×36–41,gzip 压缩 NIfTI)。

§3.5 标注方式

  • Class C(严重度分级):人工视觉半定量分级。分级依据肺部异常范围(<25%、25–50%、50–75%、>75%)与征象类型(磨玻璃影、实变、网状改变),采用俄罗斯联邦疫情期间官方分级框架;先临床初读、再由 RPC CDT 会诊专家二读确定最终分级。
  • Class A(像素掩码):人工逐层勾画。专家使用 MedSeg 软件(© 2020 Artificial Intelligence AS)将磨玻璃影与实变区域标为正像素,形成二值掩码,NIfTI 格式保存。
  • 无自动标注:官方文档未提及任何自动/半自动标注流程。

§3.6 标注者资质与一致性

  • 分级标注由莫斯科市卫生系统的放射科医师(初读)与 RPC CDT 会诊专家(二读)共同完成,两级读片是疫情期间莫斯科的标准化质控流程。
  • 像素掩码由 RPC CDT 专家标注;官方文档未公布标注者人数、年资与一致性指标(如 Kappa 或 Dice 重复性),研究报告时应如实说明这一信息缺口。

§3.7 采集周期

  • 采集窗口:2020-03-01 至 2020-04-25,共约 8 周,覆盖莫斯科第一波疫情的上升与高峰阶段。
  • 时间跨度单一:无纵向随访数据,每名患者仅一次检查。
  • 分级完成时点:五级标签在 DICOM→NIfTI 转换前定级(即与原始采集几乎同期完成),掩码标注则由 CDT 专家在数据集构建阶段集中完成。

§3.8 地域覆盖

  • 全部数据来自俄罗斯莫斯科市的市立医院与门诊 CT 中心,为单城市、单卫生体系数据;无其他地区数据混合。

§3.9 设备规格

项目 规格
扫描仪 Canon (Toshiba) Aquilion 64
面内分辨率 0.8×0.8 mm²
原始层距 0.8 mm(公开版抽层后为 8 mm)
矩阵 512×512
每卷层数 36–41 层(公开版)
重建核 平滑核(smooth)
重建窗 纵隔软组织窗

§3.10 深度溯源链

患者(莫斯科市立医院/门诊 CT 中心)
  └─ Canon Aquilion 64 扫描(DICOM,0.8 mm 层距,平滑核)
      └─ 纵隔软组织窗重建(SeriesDescription LIKE '%BODY%')
          └─ 临床初读 + RPC CDT 专家二读 → Class C 五级分级(转换前定级)
          └─ RPC CDT 专家 MedSeg 勾画(50 例)→ Class A 二值掩码
              └─ DICOM→NIfTI 转换,保留每第 10 张实例(InstanceNumber % 10 == 0)
                  └─ gzip 压缩,按 CT-0…CT-4 目录组织 + dataset_registry.xlsx
                      └─ mosmed.ai 官方发布(CC BY-NC-ND 3.0)

§4 数据结构

§4.0 目录树

数据解压后的官方目录结构(依官方 README):

mosmeddata/
|-- dataset_registry.xlsx          # 研究清单:路径、类别、掩码对应
|-- LICENSE                        # CC BY-NC-ND 3.0 全文
|-- README_EN.md / README_RU.md
|-- README_EN.pdf / README_RU.pdf
|-- masks/                         # 50 例二值像素掩码
|   |-- study_0713_mask.nii.gz
|   |-- study_0740_mask.nii.gz
|   `-- ...(共 50 个文件)
`-- studies/                       # 1,110 例体数据,按类别组织
    |-- CT-0/                      # 254 例
    |   |-- study_0001.nii.gz
    |   `-- ...
    |-- CT-1/                      # 684 例
    |   |-- study_XXXX.nii.gz
    |   `-- ...
    |-- CT-2/                      # 125 例
    |   `-- ...
    |-- CT-3/                      # 45 例
    |   `-- ...
    `-- CT-4/                      # 2 例
        `-- ...

文件命名规则:体数据 study_BBBB.nii.gz(BBBB 为全数据集内的顺序编号),掩码 study_BBBB_mask.nii.gz(BBBB 与对应体数据编号一致)。

§4.1 DAIMS 字段字典

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
study_id Text 研究唯一编号,即文件名主干 study_0713 样本主键、划分依据 无(官方顺序编号) 无 0001–1110
category Integer 严重度类别(目录名推导) CT-2 分级任务标签 影像学判定,无 PCR 验证 无 0–4
severity_text Text 分级语义描述 Moderate 标签可解释性、报告生成 同上 无 CT-0…CT-4
nifti_path Text 相对路径 studies/CT-2/study_0713.nii.gz 数据加载 路径大小写敏感 无 —
mask_path Text 掩码相对路径(仅 50 例) masks/study_0713_mask.nii.gz 分割任务标签 掩码与体数据须同形 空值 = 无掩码 50 例非空
matrix_size Integer×3 体数据维度 512×512×38 网络输入尺寸规划 卷间差异 无 512×512×(36–41)
slice_spacing_eff Float 公开版有效层距(mm) 8.0 重采样参数(关键) header 记录需校验(坑点 1) 无 8.0
inplane_spacing Float×2 面内分辨率(mm) 0.8×0.8 各向异性处理 设备统一(Aquilion 64) 无 0.8
voxel_value Float CT 值(HU) −860.0 窗宽窗位/归一化 重建核影响 HU 分布 无 CT 动态范围

§4.2 标签分布

  • 五级分布:CT-0 254(22.8%)/ CT-1 684(61.6%)/ CT-2 125(11.3%)/ CT-3 45(4.1%)/ CT-4 2(0.2%)。
  • 不平衡比:CT-1 : CT-4 = 684 : 2 = 342 : 1。
  • 社区常用两种处理:(a) IEEE 竞赛建议剔除 CT-4、按 CT-0/CT-1/CT-2/CT-3 做四分类;(b) 学术论文常合并 CT-3+CT-4 为"重度"(受累 >50%),形成 CT-0/CT-1/CT-2/CT-3–4 四类(CT-3–4 共 47 例)。
  • 二分类视角:COVID 相关征象组(CT-1…CT-4)856 例 vs 无征象组(CT-0)254 例。
  • 掩码子集与全量分布的关系:50 例掩码例的类别构成以官方 dataset_registry.xlsx 为准;无论其构成如何,用掩码子集估计的任何分类指标都不能外推到全量 1,110 例。
  • 序数结构提醒:五级反映病灶负荷连续谱(<25% / 25–50% / 50–75% / >75% 受累),建模时可利用序数关系(相邻级合并、序数回归、有序代价敏感损失)。

§4.3 关键统计

统计项 数值
研究数 / 患者数 1,110 / 1,110
像素掩码例数 50
年龄中位 / 范围 47 岁 / 18–97 岁
性别构成(男/女/其他) 42% / 56% / 2%
矩阵尺寸 512×512×(36–41)
有效层距 8 mm(面内 0.8 mm)
采集窗口 2020-03-01 至 2020-04-25
单卷压缩大小 约 17–28 MB
完整镜像文件数 1,166 个文件(Kaggle mathurinache 版)
最大类别不平衡比 342:1(CT-1 684 例 vs CT-4 2 例)
分割强标注密度 4.5%(50/1,110)
每卷切片数(公开版) 36–41 层(原始序列的 1/10)

§4.4 数据层级

数据集(1,110 例)
  └─ 患者(1,110 名,1:1 对应研究,无多时间点)
      └─ CT 研究(单序列,NIfTI 体数据)
          └─ 切片(每卷 36–41 层,公开版为原始序列的 1/10)
              └─ 体素(512×512 矩阵,HU 值)
                  └─ 掩码体素(仅 50 例,二值:病灶/非病灶)

§4.5 缺失值与信息性缺失

字段 缺失情况 处理建议
mask_path 1,060 例为空(无掩码) 分类任务忽略;分割任务仅用 50 例,或将空掩码视为全负样本用于弱监督
种族/民族 官方未记录 公平性分析受限,报告中注明
PCR 结果 未提供 CT-0 不能视作确诊阴性(坑点 2)
随访/纵向数据 无(单时间点) 不支持疾病进展建模
掩码空层 掩码卷中无病灶的切片可能全为 0 分割损失计算需注意空标签层的处理策略

§5 划分与使用建议

§5.1 官方划分

  • 官方未提供训练/测试划分。数据集按类别目录组织(CT-0…CT-4),发布时即为一个整体研究池。
  • 官方支持的唯一"官方协议"来自 IEEE COVID-19 Imaging Informatics Challenge:建议剔除 CT-4,做 CT-0/CT-1/CT-2/CT-3 四分类,以分类错误数评优。
  • 该竞赛同时给出建模建议:切片/ROI 级模型 + 投票系统即可胜任;显存充足时可将整卷(512×512×38)输入内存高效网络;参赛结果与程序须发布到 GitHub。
  • 分割任务的可比协议同样有据可依:官方未组织分割竞赛,但 50 例掩码 + 5 折已是文献事实标准(DM²T-Net、UA-MT 系列沿用)。

§5.2 社区惯例划分

社区 划分方式 用途
半监督分割文献(DM²T-Net 等) 50 例掩码内 5 折交叉验证,其余 1,060 例作无标注池 感染灶分割
LViT 系(MosMedData+ 派生) 2,729 切片按 2,183/273/273 划分(train/val/test) 语言引导分割
学术分级论文 90%/10% 随机划分 + 分层抽样;或 CT-3+CT-4 合并后四分类 严重度分级
域自适应研究(J Imaging 2022) 50 例掩码为源域训练,MedSeg-9 为目标域测试 重建核域迁移

§5.3 划分策略与泄漏风险(重点)

  1. 必须按研究(volume/patient)级划分:每例研究对应唯一患者,volume 级划分天然无患者级泄漏;但任何 slice 级随机划分(如 LViT 派生版本的 2,729 切片划分)会把同一 volume 的相邻切片同时送入训练与测试集——相邻 8 mm 层距的切片高度相似,会造成性能虚高(见坑点 4)。若要在 slice 级基准上报告结果,务必同时报告 volume 级划分的结果作对照。
  2. 分层抽样:CT-3(45 例)与 CT-4(2 例)过少,随机划分可能使测试集类别缺失;建议按类别分层,且对 CT-4 明确采取剔除或合并策略后再划分。
  3. 标签在转换前定级:目录名即标签,且官方声明分级在 DICOM→NIfTI 转换前完成;重命名/移动文件会破坏标签对齐,务必通过 dataset_registry.xlsx 而非目录名做标签源。
  4. 掩码-体数据配对:掩码与体数据通过编号(study_XXXX)配对,掩码矩阵尺寸应与体数据一致;加载后应断言 shape 相等。
  5. 多次划分固定种子:类别极度不平衡下,单次随机划分的测试集可能恰好缺重度样本;固定 seed 并报告多种子均值±标准差是最低要求。

分层划分参考实现(分级任务):

import pandas as pd
from sklearn.model_selection import StratifiedKFold

# 以注册表为标签源(坑点 8),目录名仅作交叉校验
df = pd.read_excel("/data/mosmeddata/dataset_registry.xlsx")
df = df[df["category"] != "CT-4"].reset_index(drop=True)   # 四分类协议
skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
for tr_idx, te_idx in skf.split(df, df["category"]):
    train_df, test_df = df.iloc[tr_idx], df.iloc[te_idx]
    # 每折类别比例与总体一致,CT-3 折均有约 9 例
    print(test_df["category"].value_counts().to_dict())

§5.4 交叉验证建议

  • 分割研究:对 50 例掩码做 5 折交叉验证(每折 10 例测试),这是 DM²T-Net 等文献的标准协议,结果可与文献直接对话。
  • 分级研究:分层 5 折(按类别比例分层);若合并为四类(CT-0/1/2/3–4),每折约含 9–10 例重度样本,方差仍大,建议报告均值±标准差并多次随机种子重复。
  • 训练内部再切分:从训练折中再划 10% 做早停与超参选择,测试折绝不参与任何模型选择;50 例小样本协议下这一点尤其容易被忽视。
  • 类别感知度量:每折报告按类召回率,单看宏平均会掩盖"重度类在某折全错"的问题;若某折重度召回为 0,应在论文中显式讨论而非静默平均。
  • 半监督设置:无掩码的 1,060 例只进训练侧的一致性正则,验证/测试折保持纯监督评估,避免把无标注数据的分布信息当作测试增益来源。

§5.5 外部验证建议

  • 同为新冠 CT 分割:MIDRC-RICORD-1a(PCR 阳性、DICOM 完整层距)与 MedSeg/Radiopaedia 9 卷(锐利核)是互补的外部测试集。
  • 同为分级任务:无直接同标准外部数据集;可退而验证二分类任务(COVID vs 非 COVID)在 COVIDx CT 等混合来源数据上的泛化。
  • 跨域注意:MosMedData 为平滑核/纵隔窗、8 mm 层距,迁移到 1–5 mm 层距、锐利核或肺窗数据时务必统一重采样与窗设置(坑点 1、坑点 6)。

§6 AI 就绪指南 ⭐

§6.0 云端快速启动

Kaggle Notebook 内置 andrewmvd 镜像路径时可直接挂载;完整版推荐在 Kaggle Dataset(mathurinache 镜像,25.41 GB)上创建 Notebook,零下载启动:

# Kaggle Notebook 环境:右侧 Add Input → Datasets
# 搜索 "MosMedData Chest CT Scans with COVID-19"(mathurinache 版)
DATA_ROOT = "/kaggle/input/mosmeddata-chest-ct-scans-with-covid19"
import os
for root, dirs, files in os.walk(DATA_ROOT):
    print(root, len(files), "files")
    if root.count(os.sep) - DATA_ROOT.count(os.sep) >= 2:
        break

§6.1 快速上手

# ============================================================
# 目录结构预期(DATA_ROOT 解压后):
#   DATA_ROOT/
#   ├── studies/CT-0/ ... CT-4/   # study_XXXX.nii.gz 体数据
#   ├── masks/                    # study_XXXX_mask.nii.gz 掩码(50 例)
#   └── dataset_registry.xlsx     # 官方注册表(标签与掩码对应)
#
# data_root 拼接关系:完整文件路径 = DATA_ROOT + 注册表中的相对路径。
# 最小可用子集:masks/ 目录 + 对应 50 例体数据,即可跑通分割管线。
# 依赖:pip install nibabel numpy pandas openpyxl torch monai
# ============================================================
import nibabel as nib
import numpy as np
import pandas as pd
from pathlib import Path

DATA_ROOT = Path("/data/mosmeddata")

# 1) 用官方注册表建立索引(不要依赖目录名做标签,见坑点 8)
registry = pd.read_excel(DATA_ROOT / "dataset_registry.xlsx")
print(registry.columns.tolist())   # 先查看列名再映射:study_file / category / mask

# 2) 加载一例体数据并检查元信息
vol_path = DATA_ROOT / "studies/CT-1" / "study_0713.nii.gz"   # 示例编号,以注册表为准
img = nib.load(str(vol_path))
vol = img.get_fdata(dtype=np.float32)
print("shape:", vol.shape)            # 预期 (512, 512, 36~41)
print("HU range:", vol.min(), vol.max())

# 3) 加载对应掩码并断言形状一致
mask_path = DATA_ROOT / "masks" / "study_0713_mask.nii.gz"
mask = nib.load(str(mask_path)).get_fdata(dtype=np.uint8)
assert mask.shape == vol.shape, "掩码与体数据形状不一致,检查抽层对齐"
print("病灶体素占比:", mask.mean())

§6.2 数据获取

渠道 链接 大小 说明
官方站点(推荐) mosmed.ai/datasets/covid19_1110 约 25 GB 级 直链下载;域名如不可达可走镜像
Kaggle 完整镜像 mathurinache/mosmeddata-chest-ct-scans-with-covid19 25.41 GB 与官方一致(1,110 例)
Kaggle 轻量镜像 andrewmvd/mosmed-covid19-ct-scans 3.72 GB 1,000 例 + 50 掩码(规模与官方不同,见坑点 5)
GitHub 镜像 michaelwfry/MosMedData-… — 含 README 与注册表 CSV,可作文档参考
# 方式一:Kaggle CLI 下载完整镜像(约 25.41 GB)
kaggle datasets download -d mathurinache/mosmeddata-chest-ct-scans-with-covid19
unzip -q mosmeddata-chest-ct-scans-with-covid19.zip -d /data/mosmeddata

# 方式二:轻量镜像快速实验(注意 1,000 例 vs 1,110 例差异)
kaggle datasets download -d andrewmvd/mosmed-covid19-ct-scans
unzip -q mosmed-covid19-ct-scans.zip -d /data/mosmeddata_1000

无需申请流程:数据集为开放下载,接受 CC BY-NC-ND 3.0 条款即用。

§6.3 预处理全流程

# 预处理流水线:HU 校验 -> z 向重采样(8mm -> 目标层距) -> 窗宽窗位 -> 归一化 -> 尺寸统一
import numpy as np
import nibabel as nib
from scipy.ndimage import zoom

EFFECTIVE_SPACING_Z = 8.0   # 公开版有效层距(原始 0.8mm,抽层后 8mm,见坑点 1)
TARGET_SPACING = (0.8, 0.8, 8.0)   # 保持原始几何;如需各向同性可改为 (1.0, 1.0, 1.0) 并知悉插值不增加信息

def load_volume(path: str) -> np.ndarray:
    img = nib.load(path)
    vol = img.get_fdata(dtype=np.float32)
    return vol

def resample_z(vol: np.ndarray, src_spacing: float = EFFECTIVE_SPACING_Z,
               dst_spacing: float = 8.0) -> np.ndarray:
    """z 向重采样。注意:8mm -> 1mm 的上采样只做几何插值,不会恢复真实细节。"""
    if src_spacing == dst_spacing:
        return vol
    factor = src_spacing / dst_spacing
    new_z = max(1, int(round(vol.shape[2] * factor)))
    return zoom(vol, (1.0, 1.0, new_z / vol.shape[2]), order=1, mode="nearest")

def apply_window(vol: np.ndarray, center: float, width: float) -> np.ndarray:
    lo, hi = center - width / 2.0, center + width / 2.0
    w = np.clip(vol, lo, hi)
    return ((w - lo) / (hi - lo)).astype(np.float32)

LUNG_WINDOW   = (-600.0, 1500.0)   # 肺窗:可显示 GGO,但本数据为纵隔窗重建,肺对比度弱
MEDIAST_WINDOW = (50.0, 350.0)     # 纵隔窗:与重建目标一致

def preprocess(vol: np.ndarray) -> np.ndarray:
    vol = resample_z(vol)                       # 默认保持 8mm,可按需改 dst_spacing
    vol = apply_window(vol, *MEDIAST_WINDOW)    # 亦可双窗拼接作为多通道输入
    return vol  # 输出 [0,1] float32, shape (512,512,nz)

def resize_to(vol: np.ndarray, target=(256, 256, 32)) -> np.ndarray:
    factors = (target[0]/vol.shape[0], target[1]/vol.shape[1], target[2]/vol.shape[2])
    return zoom(vol, factors, order=1, mode="nearest")

# 用法
vol = preprocess(load_volume("/data/mosmeddata/studies/CT-2/study_0939.nii.gz"))
vol_small = resize_to(vol)   # 供 3D CNN 使用的轻量尺寸

数据增强建议见 §6.6;分割任务的掩码须与体数据执行完全相同的几何变换(zoom 参数一致、最近邻插值)。

§6.4 PyTorch DataLoader

# 完整可运行:MosMedData 分级任务 Dataset + DataLoader
# 数据布局:DATA_ROOT/{studies/CT-{0..4}, masks, dataset_registry.xlsx}
import glob
import nibabel as nib
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from scipy.ndimage import zoom

TARGET_HW, TARGET_D = 256, 32

class MosMedClassificationDataset(Dataset):
    """CT 严重度分级(volume 级)。CT-4 仅 2 例,默认剔除(label 0-3 对应 CT-0..CT-3),
    如需五分类,将 drop_ct4 置 False 并自行处理极端不平衡(见坑点 3)。"""
    def __init__(self, data_root: str, drop_ct4: bool = True, transform=None):
        self.samples = []
        for ct_dir in sorted(glob.glob(f"{data_root}/studies/CT-*")):
            label = int(ct_dir.split("CT-")[-1])
            if drop_ct4 and label == 4:
                continue
            for f in glob.glob(f"{ct_dir}/*.nii.gz"):
                self.samples.append((f, label))
        self.transform = transform

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

    def __getitem__(self, idx):
        path, label = self.samples[idx]
        vol = nib.load(path).get_fdata(dtype=np.float32)
        vol = np.clip(vol, -1000.0, 1000.0)
        vol = (vol + 1000.0) / 2000.0                       # 粗归一化到 [0,1]
        factors = (TARGET_HW/vol.shape[0], TARGET_HW/vol.shape[1], TARGET_D/vol.shape[2])
        vol = zoom(vol, factors, order=1, mode="nearest")   # (256,256,32)
        vol = torch.from_numpy(vol.copy()).unsqueeze(0)     # (1,256,256,32)
        if self.transform:
            vol = self.transform(vol)
        return vol, torch.tensor(label, dtype=torch.long)

def collate(batch):
    vols, labels = zip(*batch)
    return torch.stack(vols), torch.stack(labels)

if __name__ == "__main__":
    ds = MosMedClassificationDataset("/data/mosmeddata")
    print(f"样本数: {len(ds)}")   # drop_ct4=True 时为 1,108
    loader = DataLoader(ds, batch_size=4, shuffle=True, num_workers=4,
                        collate_fn=collate, pin_memory=True)
    vols, labels = next(iter(loader))
    print(vols.shape, labels)     # torch.Size([4,1,256,256,32])

分割任务 Dataset 的关键差异:仅索引 masks/ 目录存在的 50 例;掩码加载后与体数据同参数 zoom(order=0 最近邻)。以下给出完整可运行的分割 Dataset 与划分代码:

# MosMedData 感染灶分割 Dataset(volume 级 5 折,对齐 DM²T-Net 协议)
# 数据布局:DATA_ROOT/{studies/CT-{0..4}, masks/, dataset_registry.xlsx}
# 最小可用子集:masks/ 目录的 50 例 + 其对应体数据
import glob
import os
import nibabel as nib
import numpy as np
import torch
from torch.utils.data import Dataset
from scipy.ndimage import zoom

class MosMedSegmentationDataset(Dataset):
    """仅加载带像素掩码的 50 例。train=True 时做体数据增强(见 §6.6)。"""
    def __init__(self, data_root: str, study_ids=None, patch=(256, 256, 32)):
        self.items = []
        for mask_path in sorted(glob.glob(f"{data_root}/masks/*_mask.nii.gz")):
            stem = os.path.basename(mask_path).replace("_mask.nii.gz", "")
            # 掩码文件名编号与体数据编号精确配对(坑点 8)
            matches = glob.glob(f"{data_root}/studies/CT-*/{stem}.nii.gz")
            if not matches:
                raise FileNotFoundError(f"掩码 {stem} 无对应体数据")
            if study_ids is not None and stem not in study_ids:
                continue
            self.items.append((matches[0], mask_path))
        self.patch = patch

    @staticmethod
    def _zoom(arr, factors, order):
        return zoom(arr, factors, order=order, mode="nearest")

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

    def __getitem__(self, idx):
        vol_path, mask_path = self.items[idx]
        stem = os.path.basename(vol_path).replace(".nii.gz", "")
        vol = nib.load(vol_path).get_fdata(dtype=np.float32)
        mask = nib.load(mask_path).get_fdata(dtype=np.float32)
        assert mask.shape == vol.shape, f"形状不一致: {stem}"  # 配对校验
        vol = np.clip(vol, -1000.0, 1000.0)
        vol = (vol + 1000.0) / 2000.0
        px, py, pz = self.patch
        factors = (px / vol.shape[0], py / vol.shape[1], pz / vol.shape[2])
        vol = self._zoom(vol, factors, order=1)    # 体数据线性插值
        mask = self._zoom(mask, factors, order=0)  # 掩码最近邻插值
        vol = torch.from_numpy(vol.copy()).unsqueeze(0)          # (1,256,256,32)
        mask = torch.from_numpy((mask > 0.5).astype(np.float32)).unsqueeze(0)
        return vol, mask

def make_5fold_splits(data_root: str, seed: int = 42):
    """50 例掩码的 volume 级 5 折划分(与文献可比的关键是 volume 级,见坑点 4)。"""
    import random
    ids = sorted(os.path.basename(p).replace("_mask.nii.gz", "")
                 for p in glob.glob(f"{data_root}/masks/*_mask.nii.gz"))
    random.Random(seed).shuffle(ids)
    return [set(ids[i::5]) for i in range(5)]   # 每折 10 例测试

# 训练循环骨架:
# folds = make_5fold_splits("/data/mosmeddata")
# for k, test_ids in enumerate(folds):
#     train_ds = MosMedSegmentationDataset(root, study_ids=set().union(*folds) - test_ids)
#     test_ds  = MosMedSegmentationDataset(root, study_ids=test_ids)
#     # Dice+BCE 复合损失,Adam lr=1e-4,模型输出 logits -> torch.sigmoid

§6.5 坑点 8 个

⚠️ 坑点 1:8 mm 有效层距与 header 几何信息陷阱(分类:预处理陷阱)

问题:公开版每卷仅保留原始序列的每第 10 张切片,有效层距为 8 mm;若直接信任 NIfTI header 的 spacing 或沿用原始 0.8 mm 协议做重采样/建模,z 向几何将被系统性扭曲约 10 倍。
症状:3D 模型输入的肺形态被 z 向拉伸/压缩;跨数据集联训时(对方层距 1–5 mm)模型学到错误的层间连续性;用 header spacing 计算物理尺寸与论文报告的 36–41 层、8 mm 不符。
解决:

  1. 简单方法:硬编码 z 向 spacing 为 8.0 mm,加载后立即按目标 spacing 重采样,不要读 header 的 pixdim 作为层距依据。
  2. 进阶方法:重采样到统一 spacing(如 z = 1 mm)时用 scipy.ndimage.zoom 或 SimpleITK 的 ResampleImageFilter,并同时变换掩码(order=0):
factor = 8.0 / 1.0
vol_r = zoom(vol, (1, 1, factor), order=1, mode="nearest")
msk_r = zoom(msk, (1, 1, factor), order=0, mode="nearest")
  1. SOTA 方法:3D 模型输入保持 8 mm 原生层距(接受 z 向低分辨率),用各向异性卷积或 2.5D 切片策略;跨域实验中把 spacing 作为元信息显式对齐,而不是隐式插值。
    参考:官方 README(DICOM→NIfTI 仅保留 InstanceNumber % 10 == 0);Shkolyar et al., J Imaging 2022(明确指出 public 版层距为 8.0 mm);IEEE COVID-19 Imaging Informatics Challenge 数据说明。

⚠️ 坑点 2:CT-0 ≠ 健康对照,标签未经 PCR 验证(分类:标签理解)

问题:CT-0 定义为"无病毒性肺炎 CT 征象",官方明确声明分级仅基于影像学表现、未做 PCR 或临床验证;COVID 患者早期可呈 CT 阴性,其他肺炎也可模拟新冠征象。
症状:把 CT-0 当"健康对照"训练二分类器后,在 PCR 验证的外部队列上假阴性率异常高;将"CT-0"报告为"非新冠"的论文被审稿人质疑。
解决:

  1. 简单方法:术语上永远写"无病毒性肺炎 CT 征象"而非"正常/未感染";二分类标签命名为"COVID 相关 CT 征象有/无"。
  2. 进阶方法:需要感染金标准时,用 MIDRC-RICORD-1a(PCR 阳性验证)做外部测试;MosMedData 仅作影像分级任务的内部基准。
  3. SOTA 方法:把分级视为带标签噪声的学习问题——在损失函数中引入噪声鲁棒项(如 symmetric cross-entropy),并在论文 limitations 中显式声明影像学标签的特异性上限。
    参考:官方 README(Class C Annotation Principles 声明非 PCR 验证);medRxiv 2020.05.20.20100362。

⚠️ 坑点 3:极端类别不平衡——CT-4 仅 2 例、CT-1 占 61.6%(分类:偏倚陷阱)

问题:五分类下 CT-4 只有 2 例,任何随机划分都无法保证测试集含 CT-4;CT-1 独占 61.6% 使多数类基线(永远预测 CT-1)即可获得约 62% 准确率。
症状:五分类宏平均 F1 波动巨大(CT-4 有时整折缺失);准确率虚高但重度样本几乎全错;不同论文的五分类结果完全不可比(有的剔除 CT-4、有的合并)。
解决:

  1. 简单方法:遵循 IEEE 竞赛建议剔除 CT-4,做 CT-0/1/2/3 四分类;或按学术界惯例合并 CT-3+CT-4 为"重度"四分类(CT-3–4 共 47 例)。
  2. 进阶方法:分层划分 + 加权交叉熵(权重取类别频率倒数):
counts = np.array([254, 684, 125, 47])       # CT-0/1/2/(3+4)
weights = torch.tensor(counts.sum() / counts, dtype=torch.float32)
loss = torch.nn.CrossEntropyLoss(weight=weights)
  1. SOTA 方法:对重度类做 focal loss + 过采样,或两阶段方案(先二分类检出异常,再在异常子集中分级),并报告宏平均指标与按类召回率,而非整体准确率。
    参考:IEEE COVID-19 Imaging Informatics Challenge 官方建议;Sohaeyah et al., J, 2021(CT-3+CT-4 合并协议)。

⚠️ 坑点 4:slice 级划分导致同卷切片跨集合泄漏(分类:数据泄漏)

问题:LViT 派生的 MosMedData+ 基准把 2,729 张切片按 2,183/273/273 随机划分,同一 3D volume 的相邻切片会同时出现在训练与测试集;8 mm 层距下相邻切片病灶边界几乎相同。
症状:slice 级 Dice/mIoU 报到 75–80,同一模型换到 volume 级划分或外部数据上骤降 10–20 个点;不同方法在"test 集"上差异微小,实际是记忆了同卷上下文。
解决:

  1. 简单方法:任何自定义实验坚持 volume(patient)级划分——本数据集 1 study = 1 patient,volume 级划分即无患者级泄漏。
  2. 进阶方法:若必须对齐 LViT 基准数字,同时报告 volume 级划分结果作为诚实估计,并注明两种协议差异。
  3. SOTA 方法:采用半监督协议(50 例带掩码 5 折 + 其余作无标注池),这是该数据集分割文献的主流可比协议(如 DM²T-Net、UA-MT 系列)。
    参考:Li et al., LViT, IEEE TMI 2023(派生划分来源);Diao et al., DM²T-Net, arXiv 2211.05548(5 折 volume 级协议)。

⚠️ 坑点 5:镜像版本混乱——1,000 例 vs 1,110 例(分类:工程陷阱)

问题:Kaggle andrewmvd 镜像(MosMedData+ 命名,3.72 GB)仅含 1,000 例 + 50 掩码,官方 COVID19_1110 1.0 为 1,110 例 + 50 掩码(约 25.41 GB);mosmed.ai 原站偶有不可达时期。
症状:复现论文时样本数对不上(1,000 vs 1,110);两组实验分别在不同镜像上做,结果差异被误判为方法差异;引用规模数字与所用镜像不一致。
解决:

  1. 简单方法:主实验统一用完整镜像(mathurinache 版),下载后断言 len(glob("studies/*/*.nii.gz")) == 1110。
  2. 进阶方法:在实验配置中记录数据集指纹(文件数 + 总大小 + 版本号),写入训练日志与论文表格。
  3. SOTA 方法:构建数据清单 manifest(study_id、类别、MD5),每次运行前校验;注册表缺失时从目录结构重建并与 dataset_registry.xlsx 交叉核对。
    参考:Kaggle andrewmvd 页面(“In total, there are 1000 CT scans”);官方 README(Number of studies: 1110)。

⚠️ 坑点 6:纵隔窗重建 + 平滑核的跨域偏移(分类:预处理陷阱)

问题:MosMedData 全部为纵隔软组织窗目标重建、平滑核(Aquilion 64);与其他公开集(锐利核、肺窗、不同厂商)混合训练时存在显著域偏移;且官方不提供肺实质掩码。
症状:在 MosMedData 上训练的分割/分类模型迁移到肺窗数据时性能骤降;磨玻璃影在纵隔窗下对比度低于肺窗,直接套用肺窗窗宽窗位显示灰暗;用外部肺分割模型(在肺窗数据上训练)处理本数据时肺边界分割不完整。
解决:

  1. 简单方法:单数据集实验统一使用纵隔窗(center 50 / width 350);跨数据集时对每个来源分别定窗后归一化。
  2. 进阶方法:多窗输入(肺窗 + 纵隔窗双通道)缓解重建目标差异;肺掩码用预训练模型(如 TotalSegmentator 或 LUNA16 训练的 U-Net)生成后人工抽检。
  3. SOTA 方法:显式域自适应——Shkolyar et al.(J Imaging 2022)正是以 MosMedData(平滑核)为源域、Medseg-9(锐利核)为目标域做重建核自适应;可采用类似的特征一致性或风格迁移策略。
    参考:Shkolyar et al., “Adaptation to CT Reconstruction Kernels by Enforcing Cross-Domain Feature Maps Consistency”, J Imaging 2022, 8(9):234。

⚠️ 坑点 7:基准数字混排——50 例分割 vs 1,110 例分级 vs slice 级基准(分类:评估误用)

问题:围绕该数据集存在三种互不可比的评测协议:① 50 例掩码的 volume 级 5 折分割(Dice 约 48–61);② 1,110 例分级(准确率/F1);③ LViT 派生 slice 级基准(Dice 约 74–81)。跨协议比较会产生系统性误判。
症状:文献综述中出现"Dice 从 60 提升到 79"的伪进步;复现 Dice 79 的模型在自己 5 折分割协议上只有 60 左右而怀疑实现错误。
解决:

  1. 简单方法:对比前先核对协议三元组(样本子集 / 划分方式 / 指标计算层级:体级 or 切片级)。
  2. 进阶方法:复现时优先选择与自己任务一致协议的数字:分割对齐 DM²T-Net 协议(volume 级 5 折),多模态分割对齐 LViT 划分并声明 slice 级属性。
  3. SOTA 方法:在论文中自建一个小型跨协议校准表(同一模型在三种协议下的成绩),帮助社区建立数字换算预期。
    参考:arXiv 2211.05548 Table II(nnU-Net Dice 56.30 等);sota2.com MosMedData+ 榜单(TMCA Dice 79.56 等 slice 级数字)。

⚠️ 坑点 8:目录即标签 + 注册表对齐陷阱(分类:标签理解)

问题:类别标签隐含在目录名(CT-0…CT-4)中,且官方声明分级在 DICOM→NIfTI 转换之前完成;掩码文件与体数据靠编号配对。任何重命名、重排目录或按 glob 排序假设文件连续,都会造成标签/掩码错位。
症状:自己"整理"目录后分类准确率掉到随机水平(标签错位);分割训练中报 shape mismatch(掩码与体数据抽层未对齐);study 编号跳号导致按索引配对掩码时张冠李戴。
解决:

  1. 简单方法:以 dataset_registry.xlsx 为唯一标签源,代码里将目录名解析为 label 后与注册表交叉断言一致。
  2. 进阶方法:掩码按 study_XXXX_mask.nii.gz 的 XXXX 精确匹配体数据编号,加载时断言 mask.shape == vol.shape;不匹配样本列入报告而非静默跳过。
  3. SOTA 方法:一次性生成带标签的 manifest(JSON/CSV:study_id、label、mask_path、MD5),后续所有实验只读 manifest,从根上消灭目录假设。
    参考:官方 README(Data Structure 与 Class C Annotation Principles 小节)。

§6.6 数据增强

增强 安全✅/危险❌ 说明
随机水平翻转(左右镜像) ✅ 胸部近似左右对称结构,但重度不对称病灶数据中应配合标签观察
随机 90° 旋转/轴交换 ❌ 破坏解剖方向性(z 轴层距 8 mm 与面内 0.8 mm 各向异性)
小角度随机旋转(±10°) ✅ 模拟摆位差异
随机 z 向平移(±2 层) ✅ 病灶跨层连续,小幅平移安全
HU 窗随机抖动(center ±20, width ±10%) ✅ 模拟重建差异,注意保持窗在合理组织范围
全局亮度/对比度随机拉伸 ❌ 破坏 HU 语义;CT 绝对值有诊断含义
弹性形变(大幅) ❌ 病灶形态(GGO/实变比例)是分级依据,形变会伪造分级特征
MixUp/CutMix ⚠️ 分级任务慎用(标签为序数语义);分割任务中 CutMix 有文献支持可提升罕见病灶鲁棒性
z 向随机抽层/降采样 ❌ 有效层距已是 8 mm,进一步抽层会破坏病灶连续性

§6.7 模型推荐

任务 推荐模型 理由
严重度分级 ResNet 系 3D(ResNet-18/50 3D)、DenseNet-121 3D、多实例学习(MIL + 2D 骨干) 每卷仅 36–41 层,3D 网络可行;MIL 规避统一层数对齐
感染灶分割 U-Net / U-Net++ / nnU-Net / Attention U-Net 文献基线完整(nnU-Net Dice 56.30 可直接对话)
半监督分割 UA-MT、DM²T-Net 数据集 50 例标注 + 1,060 例无标注结构天然适配
语言引导分割 LViT 及其后续(RecLMIS、LAVT 系) 派生 MosMedData+ 是该族方法的标准基准之一
跨域分割 域自适应 U-Net(特征一致性) 重建核迁移有现成协议(J Imaging 2022)
轻量部署/边缘推理 2.5D 切片级 MobileNet/EfficientNet + 聚合投票 IEEE 竞赛官方建议的 patch/切片 + 投票路线,算力友好
序数回归分级 序数损失(CORAL/CORN)或有序回归头 五级为病灶负荷连续谱(§4.2),序数结构可降低跨级误判

§6.8 硬件需求

场景 显存 建议
2D 切片级分类/分割 ≥ 8 GB RTX 3060 级即可,切片级批训练
3D 体数据分类(256×256×32 重采样后) 11–16 GB batch 2–4,梯度累积
3D 分割(原生 512×512×36+) ≥ 24 GB 或 patch 训练 建议 patch 128×128×32 或降采样
nnU-Net 全自动流程 16–24 GB 依赖其内置重采样与 patch 采样
半监督分割(一致性正则) 11–16 GB 与监督分割相当,额外开销主要是两次前向
Kaggle/P100 免费档 16 GB 建议切片级 2.5D 或降采样体数据(§6.3)

显存不足时的优先级建议:先减 batch 与 patch 尺寸,再做 z 向重采样(8 mm 原生层距本身已限制 z 向信息量),最后考虑混合精度训练。

§6.9 评估指标代码

import numpy as np
import torch

def dice_score(pred: torch.Tensor, target: torch.Tensor, eps: float = 1e-7) -> float:
    """体级/切片级通用 Dice。pred, target: 二值张量。"""
    pred, target = pred.bool(), target.bool()
    inter = (pred & target).sum().float()
    denom = pred.sum().float() + target.sum().float()
    return ((2 * inter + eps) / (denom + eps)).item()

def volume_level_dice(pred_vol, gt_vol):
    """先合并全卷体素再算 Dice(体级协议,与 DM²T-Net 等文献可比)。"""
    p = torch.from_numpy(pred_vol)
    g = torch.from_numpy(gt_vol)
    return dice_score(p, g)

def macro_f1(y_true, y_pred, n_classes: int = 4) -> float:
    """分级任务宏平均 F1(类别不平衡时必报)。"""
    f1s = []
    for c in range(n_classes):
        tp = np.sum((y_pred == c) & (y_true == c))
        fp = np.sum((y_pred == c) & (y_true != c))
        fn = np.sum((y_pred != c) & (y_true == c))
        prec = tp / (tp + fp + 1e-9)
        rec = tp / (tp + fn + 1e-9)
        f1s.append(2 * prec * rec / (prec + rec + 1e-9))
    return float(np.mean(f1s))

# 分级任务评估惯例:宏 F1 + 混淆矩阵 + 按类召回率;
# 分割任务评估惯例:体级 Dice/Jaccard(5 折均值±标准差),可加 NSD/HD95。

def confusion_matrix(y_true, y_pred, n_classes: int = 4) -> np.ndarray:
    """行=真实类,列=预测类;CT-0..CT-3 四分类协议。"""
    cm = np.zeros((n_classes, n_classes), dtype=np.int64)
    for t, p in zip(y_true, y_pred):
        cm[t, p] += 1
    return cm

def ordinal_mae(y_true, y_pred) -> float:
    """序数平均绝对误差:CT-1 误判为 CT-2(相邻级)代价 1,
    误判为 CT-3(跨两级)代价 2。分级任务的标签含序数语义(§2.2)。"""
    return float(np.mean(np.abs(np.asarray(y_true) - np.asarray(y_pred))))

def per_class_recall(y_true, y_pred, n_classes: int = 4):
    """按类召回率:类别不平衡下比整体准确率更诚实的指标。"""
    return {c: float(np.sum((np.asarray(y_pred) == c) & (np.asarray(y_true) == c)) /
                     max(1, np.sum(np.asarray(y_true) == c)))
            for c in range(n_classes)}

# 推荐的分级任务报告组合:
#   macro_f1(主指标)+ ordinal_mae(序数语义)+ 混淆矩阵(论文附图)+ per_class_recall(重度类召回)
# 推荐的分割任务报告组合:
#   volume 级 Dice/Jaccard 均值±标准差(5 折)+ 空标签层的显式统计(多少测试卷无正体素)

§6.10 MLOps 笔记

  • 版本固定:记录数据来源镜像(官方/mathurinache/andrewmvd)、文件数(1,110 或 1,000)、总大小;CC BY-NC-ND 禁止分发修改版,因此应发布预处理代码而非处理后数据。
  • 数据指纹校验:训练入口第一件事是断言样本数与类别分布,防止镜像混用与文件缺失(坑点 5 的自动化落地):
# 每次训练前的数据完整性门禁(写入训练脚本开头)
import glob, collections
studies = glob.glob("/data/mosmeddata/studies/CT-*/*.nii.gz")
masks = glob.glob("/data/mosmeddata/masks/*_mask.nii.gz")
dist = collections.Counter(p.split("/")[-2] for p in studies)
assert len(studies) in (1110, 1000), f"研究数异常: {len(studies)}"
assert len(masks) == 50, f"掩码数异常: {len(masks)}"
assert dist["CT-4"] in (0, 2), f"CT-4 计数异常: {dist['CT-4']}"
print("数据门禁通过:", dict(sorted(dist.items())), "masks:", len(masks))
  • 数据卡片:在模型卡中声明影像学标签非 PCR 验证、单城市单设备、类别分布(254/684/125/45/2)。
  • 监控:线上部署时监控输入层距与重建核元信息,偏离 8 mm/平滑核时应触发域偏移告警。
  • 可复现:固定随机种子 + manifest 校验(坑点 5、坑点 8 的自动化落地)。
  • 实验追踪:以 study_id 集合哈希作为划分指纹写入日志,保证"同一模型 + 同一划分"可复现、跨论文可对齐。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
病例构成偏倚 门诊化分诊策略使 CT-1 占 61.6%、CT-4 仅 2 例,重症谱系缺失 高 合并/剔除类别;补充外部重症数据
标签定义偏倚 CT-0 为影像学排除,非 PCR 阴性;分级未经临床结果验证 高 明确任务语义;用 MIDRC-RICORD 做 PCR 阳性外部测试
地域与设备单一 全部来自莫斯科市立体系、单一机型(Aquilion 64) 中 跨设备/地域外部验证;域自适应
层距信息损失 抽层导致 8 mm 层距,z 向细节丢失 中 2.5D 策略;不要用插值"恢复"细节
重建窗偏倚 统一纵隔窗平滑核,与肺窗数据存在域差异 中 多窗输入;重建核域自适应
人口学记录不全 仅年龄/性别,无种族与合并症 低–中 公平性结论须谨慎,不可外推

§7.2 标注质量

  • 分级标签采用"初读 + 专家二读"双级流程,且分级框架带有分诊路由规则,内部一致性好;但官方未发布标注者间一致性统计。
  • 像素掩码由 RPC CDT 专家用 MedSeg 勾画,仅覆盖磨玻璃影与实变两类征象(二值),不含网状改变、胸腔积液等其他新冠征象;50 例的标注覆盖范围远小于分级标签的 1,110 例。
  • 官方未提供标注指南全文的英文翻译细节与质控抽样结果;使用时应在论文中如实引用官方声明的标注原则。
  • 掩码与分级的关系需注意:掩码子集并非按类别均衡抽取,掩码例的类别构成以官方注册表为准,论文中不应假设"50 例覆盖五级各若干例"。
  • 对序数分级(CT-0 至 CT-4 反映病灶负荷连续谱),标签边界(如受累 25%)是视觉估计值,存在固有的边界抖动;训练时将相邻级误判与跨级误判区别对待(如 ordinal_mae,见 §6.9)更符合标注的真实精度。

§7.3 泛化性

场景 失效风险 证据
迁移到 PCR 验证的感染判定 高:影像学标签上限 官方声明非 PCR 验证;MIDRC-RICORD 提供互补金标准
迁移到锐利核/肺窗设备 高:重建域偏移 J Imaging 2022 专文量化平滑核→锐利核性能下降
迁移到其他城市/人群 中–高:单城市单体系 全部 1,110 例来自莫斯科市立体系
重症识别(CT-4/CT-3) 高:训练分布几乎无危重样本 CT-4 仅 2 例
儿童与极高龄 未知:18–97 岁但分布未细分 官方仅给中位 47 岁

§7.4 伦理

  • 数据由莫斯科市卫生系统在疫情期间为公共卫生目的收集,发布前完成匿名化处理;官方许可明确为 CC BY-NC-ND 3.0。
  • 使用限制:禁止商业用途;禁止分发演绎(修改后)数据;必须署名(作者、机构、数据集永久链接)。
  • 模型临床部署前需独立临床验证与当地监管审批;该数据集不支持任何"影像即确诊"的使用方式。

§7.5 公平性

  • 官方仅提供性别(男 42%/女 56%/其他 2%)与年龄(18–97,中位 47)的总体分布,未提供按类别分层的人口学统计,无法评估"分级错误是否在不同性别/年龄段间不均衡"。
  • 无种族/民族、社会经济状态记录;跨人群公平性结论不可从本数据集得出。
  • 建议:在自建测试协议中至少按性别与年龄段分层报告性能;不要声称模型"公平"或"无偏"。
  • 语言与地域门槛:数据文档以俄/英双语发布,标注框架的原始定义文献为俄语,非俄语团队若仅依赖二级转述可能引入语义偏移,建议对照官方 README 的分级表(含分诊路由条件)逐条确认。
  • 亚群体代表性风险:18 岁以下人群完全缺失(下限 18 岁),任何面向儿科的结论都无本数据集证据支撑。

§7.6 数据漂移

  • 时间维度:采集仅覆盖 2020 年 3–4 月(第一波、原始毒株);对变异株时期、不同治疗方案人群存在概念漂移(诊疗标准已多次更新,CT 分级框架本身也是疫情临时标准)。
  • 设备维度:单机型单核,部署环境出现其他机型/核/窗时属于协变量漂移,需域自适应或设备元信息路由。
  • 标签语义漂移:疫情后期分级规则与临床路径演化,历史标签在新临床语境下的含义需重新校准。
  • 人群维度:疫情不同阶段的就诊门槛变化(从普遍 CT 筛查到定向检查)会改变病例混合比例;用本数据集校准的先验(如 61.6% 轻症占比)不可直接迁移到当下部署环境。
  • 监控建议:部署后按月度统计预测分布与置信度分布,与训练分布做 KL/JS 距离监控;分布距离突变时优先排查采集协议变化(机型、核、层距)而非模型本身。

§7.7 DAIMS 24 项检查

# 检查项 状态 说明
1 宽格式 ✅ 注册表一行一研究,标签/路径/掩码对应齐全
2 唯一标识 ✅ study_id 全局唯一,1 study = 1 patient
3 特殊字符 ✅ 文件名仅字母数字与下划线,无空格/Unicode 风险
4 重复行 ✅ 每例唯一患者,无重复研究
5 缺失编码 ⚠️ mask_path 对 1,060 例为空;空值语义清晰但需显式处理
6 标签标识 ✅ 类别标签语义官方明文定义(CT-0…CT-4)
7 罕见类分组 ❌ CT-4 仅 2 例,无官方罕见类合并方案(社区自定)
8 偏倚评估 ✅ 官方披露采集场景与分布;构成偏倚可从公开数字推导
9 数据字典 ✅ README(中英俄)+ 注册表构成完整字典
10 信息性缺失解释 ⚠️ 无掩码 = 未标注(非无病灶);官方有说明但易被误读
11 设备记录 ✅ 机型/分辨率/层距/重建核官方披露
12 共线性 ✅ 特征级共线性不适用(影像体数据);标签维度间无冗余编码
13 编码映射 ✅ 分级 ↔ 分诊规则 ↔ 征象类型官方表格齐备
14 时间戳处理 ⚠️ 仅提供采集窗口(2020-03-01 至 04-25),无逐例时间戳
15 划分建议 ✅ IEEE 竞赛官方协议 + 社区成熟惯例
16 泄漏讨论 ✅ 1:1 患者-研究结构;slice 级泄漏风险已被文献与本文明确讨论
17 标签分布 ✅ 五级分布官方完整披露
18 测量偏倚 ⚠️ 单设备单核统一重建,测量标准化好,但与外部设备存在系统差
19 外部验证建议 ✅ MIDRC-RICORD/MedSeg-9 等互补集与成熟迁移协议存在
20 版本记录 ✅ V1.0 定版,论文/预印本时间线清晰
21 预处理脚本 ❌ 官方未提供预处理/加载脚本,社区自行实现
22 合规要求 ✅ CC BY-NC-ND 3.0 条款明确,开放获取无需申请
23 多模态对齐 ⚠️ 原生单模态;文本对齐仅存在于 LViT 派生集(非官方)
24 去标识化 ✅ 官方声明匿名化后发布

DAIMS 评分:19.5 / 24

评分解读:该数据集在标识唯一性、标签定义、文档完备与合规许可上表现优秀(12 项 ✅),主要失分在三类结构性问题:罕见类无官方分组方案(CT-4 = 2 例)、官方预处理脚本缺失、以及逐例时间戳与多模态对齐的先天缺口(5 项 ⚠️、2 项 ❌、1 项源自单模态本质)。整体属于"文档一流、工程配套需自建"的学术数据集。

对你意味着什么:(1) 开箱即用的是标签体系与文档——直接读注册表 + README 即可建立可信标签源;(2) 必须自建的部分是预处理与划分代码——优先复用 §6.3–§6.4 与坑点 1/3/4 的方案,避免 8 mm 层距与类别不平衡两大暗礁;(3) 若产品目标是临床感染判定,本数据集只能承担"影像分级"角色,感染金标准需引入 PCR 验证的外部数据;(4) 发布前把 manifest 校验与版本指纹纳入 CI,防止 1,000/1,110 镜像混用事故。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
Medseg-9(Radiopaedia 9 卷) MedSeg/medicalsegmentation.com COVID 病灶分割(锐利核域) 平滑核模型迁移后 Dice 显著下降 内部(MosMed 50 例 5 折)明显更优 平滑核→锐利核为可量化域偏移(J Imaging 2022)
COVID-19-P20(20 例带肺/病灶掩码) 公开 COVID 分割集 病灶分割 Dice 约 53–60(volume 级 5 折) — 50 例子集上 nnU-Net/3D 方法可比基线(arXiv 2211.05548)
LViT 基准测试集(MosMedData+ 切片) LViT(UT Southwestern 文本标注) 语言引导分割 Dice 74–81(slice 级) 高于 volume 级协议 slice 级划分含同卷泄漏,数字不可与体级混比

§8 基准性能与生态

§8.1 排行榜

协议 A:感染灶分割,50 例掩码 5 折交叉验证(volume 级)

排名 模型 Dice(%) 年份 关键技术 完整引用 代码
1 DM²T-Net 60.19±19.22 2022 动态互蒸馏半监督 3D Diao et al., 2022, arXiv:2211.05548. arXiv 未公开
2 UA-MT 57.31±20.53 2022 不确定性感知 Mean-Teacher Yu et al.(方法原文 2019);本表成绩转引自 Diao et al., 2022, arXiv:2211.05548 未公开
3 nnU-Net 56.30±23.55 2022 自配置 3D U-Net Isensee et al.(方法原文 2021);本表成绩转引自 Diao et al., 2022, arXiv:2211.05548 GitHub
4 U-Net++ 56.03±22.46 2022 嵌套稠密跳跃连接 Zhou et al.(方法原文 2018);本表成绩转引自 Diao et al., 2022, arXiv:2211.05548 未公开

注:同表内数字可比;与协议 B/C 不可比(样本、划分、指标层级不同)。

协议 B:MosMedData(test)语言引导/常规分割(slice 级,LViT 派生划分)

排名 模型 mIoU(%) Dice(%) 年份 关键技术 完整引用 代码
1 TMCA 65.94 79.56 2024 语言引导多粒度注意力 TMCA, 2024, 转引自 sota2.com 榜单. 榜单 未公开
2 EviVLM 65.81 77.64 2024 证据学习视觉-语言模型 EviVLM, 2024, 转引自 sota2.com 榜单 未公开
3 RecLMIS 65.07 77.48 2024 递归语言-影像分割 RecLMIS, 2024, IEEE TMI. 转引自 sota2.com 榜单 未公开
4 LViT 61.33 74.57 2023 语言-视觉 Transformer Li et al., 2023, IEEE TMI. DOI: 10.1109/TMI.2023.3235298 GitHub
5 U-Net 50.73 64.60 2023 纯影像基线 Ronneberger et al.(方法原文 2015);本表成绩转引自 LViT 协议 未公开

协议 C:MosMedData+ 语言引导分割(slice 级,2,183/273/273)

排名 模型 Dice(%) 年份 关键技术 完整引用 代码
1 CERS 79.21 2026 文本引导 ConvNeXt 骨干 CERS, 2026, 转引自 sota2.com 榜单. 榜单 未公开
2 TGC-Net 80.94(m-Dice) 2025 文本增强分割 TGC-Net, 2025, 转引自 sota2.com 榜单 未公开
3 Semi-MedRef 78.7 2026 半监督指代分割 Semi-MedRef, 2026, 转引自 sota2.com 榜单 未公开

⚠️ 数值不可直接比较的原因:三个协议在样本子集(50 例 vs 全量派生切片)、评测粒度(体级 vs 切片级)、划分方式(5 折 vs 固定 test 集)与文本条件(有无)上均不同;协议 B/C 的 slice 级划分含同卷切片跨集合问题(坑点 4),绝对数字系统性偏高。

§8.2 SOTA 总结与选型建议

  • 分割任务:纯影像半监督选 DM²T-Net/nnU-Net 协议(volume 级,诚实可比);多模态文本条件任务选 LViT 协议并显式声明 slice 级属性。
  • 分级任务:无官方排行榜;建议以 IEEE 竞赛协议(四分类、分类错误数)为公开锚点,自报宏 F1 + 混淆矩阵。
  • 选型建议:资源受限先跑 2.5D/切片级 U-Net 建立基线;追求文献对话价值则复现 nnU-Net(自动配置省力)或 LViT(多模态)。
  • 时序视角:2024 年后语言引导方法(RecLMIS、CERS 等)在 slice 级基准上已把 Dice 推到 77–81,但其增量部分来自文本条件与划分协议,纯影像方法的体级 Dice 仍在 60 左右徘徊——两个数字间的差距本身就是该数据集最重要的"基准事实"。
  • 复现优先级:若目标是医学分割方法论文,优先复现 nnU-Net(体级协议,社区信任度高);若目标是多模态/VLM 论文,优先复现 LViT 并沿用其 MosMedData+ 划分(社区已默认对齐)。

§8.3 评测协议

  1. 分割:50 例掩码 5 折(每折 40 训练/10 测试),体级 Dice/Jaccard,报均值±标准差。
  2. 分级:分层划分,四分类(CT-0/1/2/3 或合并 CT-3–4),宏 F1 为主指标,附混淆矩阵。
  3. 一律声明:影像学标签非 PCR 验证;单城市单设备;8 mm 有效层距。
  4. 指标计算层级显式声明:体级(先合并全卷再算)与切片级(逐层平均)结果不可混排,推荐体级。
  5. 掩码空层处理策略需写明:预测全负的空标签层计入 Dice 时会抬高分数,建议同时报告非空层 Dice。
  6. 多次重复:至少 3 个随机种子,报均值±标准差;50 例分割协议建议直接用文献一致的 5 折切分(§6.4 代码)。
数据集 关系 组合用法
MIDRC-RICORD-1a PCR 阳性金标准互补 外部测试集,验证感染判定
MedSeg/Radiopaedia 9 卷 锐利核互补 域自适应目标域
COVID-19-P20(20 例) 小规模掩码集 与 50 例掩码合并扩充强标注
BIMCV-COVID19+ 多模态(CXR+CT+报告) 跨机构泛化、报告生成
QaTa-COV19(X 线) LViT 基准姊妹集 多模态分割跨模态验证
SARS-CoV-2 CT-scan(2,482 切片) 二分类补充 大样本二分类预训练
LUNA16 肺区掩码来源 为 MosMedData 补充肺实质分割的常用预训练集(官方不含肺掩码)

§8.5 关键论文 Top 8

  1. Morozov, S.P., Andreychenko, A.E., Pavlov, N.A., et al., 2020. MosMedData: Chest CT Scans with COVID-19 Related Findings Dataset. medRxiv 2020.05.20.20100362; Digital Diagnostics 2020;1(1):49–59. DOI: 10.17816/DD46826 — 数据集原始论文,定义五级分级与 50 例掩码协议。
  2. Li, Z., Zhang, L., Qi, W., et al., 2023. LViT: Language meets Vision Transformer in Medical Image Segmentation. IEEE Transactions on Medical Imaging. DOI: 10.1109/TMI.2023.3235298 — 将 MosMedData 派生为带文本标注的 MosMedData+ 切片级多模态基准。
  3. Diao, S., et al., 2022. DM²T-Net: Dynamic Mutual Distillation Transfer Network for Semi-Supervised Medical Image Segmentation. arXiv:2211.05548 — 建立 50 例 5 折半监督分割协议与一揽子 3D 基线。
  4. Shkolyar, A., et al., 2022. Adaptation to CT Reconstruction Kernels by Enforcing Cross-Domain Feature Maps Consistency. Journal of Imaging 8(9):234 — 量化 MosMedData 平滑核域与锐利核域的迁移问题。
  5. Sohaeyah, A., et al., 2021. Abnormality detection and intelligent severity assessment of human chest CT scans using deep learning. Journal of Ambient Intelligence and Humanized Computing. DOI: 10.1007/s12652-021-03282-x — 全量 1,110 例五级/四级分级的代表性方法论文(CT-3+CT-4 合并协议)。
  6. Soares, E., et al., 2022. CovTANet: A Hybrid Tri-level Attention Based Network for Lesion Segmentation, Diagnosis, and Severity Prediction of COVID-19 Chest CT Scans. IEEE Transactions on Industrial Informatics — 同一数据上联合分割 + 诊断 + 严重度预测的多任务框架。
  7. Cap2Seg 团队, 2024. Cap2Seg: leveraging caption generation for enhanced segmentation of COVID-19 medical images. Frontiers in Medicine — 用生成字幕替代人工文本辅助分割,检验文本条件鲁棒性。
  8. NTP-MRISeg 团队, 2025. Medical Referring Image Segmentation via Next-Token Mask Prediction. arXiv:2511.05044 — 以掩码 token 生成重构指代分割任务,MosMedData++ 为双基准之一。

§8.6 社区活跃度

  • Kaggle 双镜像(完整版 25.41 GB、轻量版 3.72 GB)下载量合计过万(轻量版页面记录 7,300+ 下载,截至 2026-09),2020–2021 年为新冠 CT 研究高峰期核心资源之一。
  • IEEE Healthcare Summit 曾以其为官方数据举办 COVID-19 Imaging Informatics Challenge 数据竞赛。
  • 学术引用持续到 2026 年(语言引导分割新基准仍在以 MosMedData+ 为标准评测集),生命周期长于多数新冠应急数据集。
  • 无官方维护的 GitHub 组织或 issue 渠道:数据集以静态发布为主,社区答疑主要通过 Kaggle discussion 与论文作者邮件,工程问题(如 header spacing)依赖二次文献与本文坑点部分沉淀的经验。
  • 二次衍生生态活跃:从 andrewmvd 的整理版到 LViT 的多模态派生集,衍生版本自身的引用已超过原始描述论文(Scilit 记录 medRxiv 版被引 182,截至 2026-09),形成"数据集 → 基准 → 方法族"的完整生态链。

§8.7 生态快照

资源 类型 链接 Star/热度(截至 2026-09) 推荐理由
官方数据页 官方 mosmed.ai/datasets/covid19_1110 — 权威下载与 README
Kaggle 完整镜像 社区镜像 mathurinache 版 7,300+ 下载 官方站不可达时的等价来源
Kaggle 轻量镜像 社区镜像 andrewmvd 版 高活跃 快速实验(注意 1,000 例)
LViT 仓库 代码 HUANGLIZI/LViT 社区广泛使用 MosMedData+ 多模态基准官方实现
nnU-Net 代码 MIC-DKFZ/nnUNet 医学分割事实标准 分割基线首选
IEEE 竞赛协议页 官方协议 IEEE Data Hackathon — 分级任务的公开评测锚点

§9 相关资源与引用

§9.1 官方资源

§9.2 社区资源

§9.3 BibTeX 引用

@article{morozov2020mosmeddata,
  author  = {Morozov, Sergey P. and Andreychenko, Anna E. and Pavlov, Nikolay A. and
             Vladzymyrskyy, Anton V. and Ledikhova, Natalya V. and Gombolevskiy, Victor A. and
             Blokhin, Ivan A. and Gelezhe, Pavel B. and Gonchar, Anna V. and Chernina, Valeria Yu.},
  title   = {MosMedData: Chest CT Scans with COVID-19 Related Findings Dataset},
  journal = {medRxiv},
  year    = {2020},
  doi     = {10.1101/2020.05.20.20100362}
}

@article{morozov2020mosmeddata_dd,
  author  = {Морозов, С.П. and Андрейченко, А.Е. and Блохин, И.А. and
             Гележе, П.Б. and Гончар, А.П. and Николаев, А.Е. and
             Павлов, Н.А. and Чернина, В.Ю. and Гомболевский, В.А.},
  title   = {MosMedData: датасет 1110 компьютерных томографий органов грудной клетки,
             выполненных во время эпидемии COVID-19},
  journal = {Digital Diagnostics},
  volume  = {1},
  number  = {1},
  pages   = {49--59},
  year    = {2020},
  doi     = {10.17816/DD46826}
}

@inproceedings{arxiv2020mosmeddata_en,
  author = {Morozov, Sergey P. and Andreychenko, Anna E. and Pavlov, Nikolay A. and
            Vladzymyrskyy, Anton V. and Ledikhova, Natalya V. and Gombolevskiy, Victor A. and
            Blokhin, Ivan A. and Gelezhe, Pavel B. and Gonchar, Anna V. and Chernina, Valeria Yu.},
  title  = {MosMedData: Chest CT Scans with COVID-19 Related Findings Dataset},
  year   = {2020},
  eprint = {2005.06465},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CY}
}

§9.4 引用指南

  • 使用数据本体时引用数据集论文(morozov2020mosmeddata + 正式版 morozov2020mosmeddata_dd),并注明版本 COVID19_1110 1.0 与所用镜像(官方/1,110 例或 andrewmvd/1,000 例)。
  • 使用 LViT 派生的 MosMedData+ 切片级基准时,同时引用 Li et al. 2023(LViT)并声明 slice 级划分属性。
  • 引用次数(182+,Scilit,截至 2026-09)会随时间增长,引用时请以查询当日为准。
  • 数据集永久链接建议在论文脚注与代码仓库 README 中同时给出(https://mosmed.ai/datasets/covid19_1110),并注明所用镜像与下载日期,避免镜像漂移影响可复现性。
  • 许可署名要求:CC BY-NC-ND 3.0 要求署名作者、机构、版权信息与数据集永久链接(https://mosmed.ai/datasets/covid19_1110);分发数据集副本时必须附原许可全文,不得附加更严格的条款。
  • 论文方法章节的推荐声明模板:「We used MosMedData (COVID19_1110 v1.0, Morozov et al., 2020, CC BY-NC-ND 3.0), comprising 1,110 chest CT studies from unique patients with radiology-based severity grades CT-0 to CT-4, of which 50 studies include binary pixel masks of ground-glass opacifications and consolidations. All public volumes retain every 10th slice (effective 8 mm spacing).」

§10 AI 使用声明卡

§10.1 AI 模型列表

  • 内容撰写:大语言模型(CodeBuddy Code 写作 Agent)
  • 事实核查辅助:WebSearch 检索工具(6 次检索:官方 README/medRxiv 论文/Kaggle 页面/IEEE 竞赛页/基准榜单/域自适应文献)

§10.2 AI 参与范围

  • AI 起草:全部章节初稿、frontmatter、JSON-LD、代码示例
  • 人工职责:事实核对与数字溯源审核、医学背景审核、数据工程审核、发布决策
  • AI 未参与:官方文档原始语义的判定(分级规则、许可条款均逐字对照官方来源转述);基准数字一律转录自榜单与论文原文,未做任何推算或外推
  • 风险控制:所有 AI 生成的数字性陈述均要求携带 §10.3 来源列表中的可点击引用;无来源的候选句在人工审核阶段删除

§10.3 输入来源列表

  1. Morozov, S.P., et al., 2020. MosMedData: Chest CT Scans with COVID-19 Related Findings Dataset. medRxiv 2020.05.20.20100362. https://doi.org/10.1101/2020.05.20.20100362
  2. Morozov, S.P., et al., 2020. MosMedData: data set of 1110 chest CT scans performed during the COVID-19 epidemic. Digital Diagnostics 1(1):49–59. https://doi.org/10.17816/DD46826
  3. Morozov, S.P., et al., 2020. MosMedData: Chest CT Scans With COVID-19 Related Findings Dataset. arXiv:2005.06465. https://arxiv.org/abs/2005.06465
  4. 官方数据集 README(英文). https://mosmed.ai/documents/49/README_EN_2.pdf
  5. 官方数据集主页. https://mosmed.ai/datasets/covid19_1110
  6. Kaggle 镜像页(mathurinache,完整 1,110 例). https://www.kaggle.com/datasets/mathurinache/mosmeddata-chest-ct-scans-with-covid19
  7. Kaggle 镜像页(andrewmvd,1,000 例 + 50 掩码). https://www.kaggle.com/datasets/andrewmvd/mosmed-covid19-ct-scans
  8. IEEE Healthcare Summit, COVID-19 Imaging Informatics Challenge 数据说明. https://healthcaresummit.ieee.org/data-hackathon/ieee-covid-19-imaging-informatics-challenge/
  9. Diao, S., et al., 2022. DM²T-Net. arXiv:2211.05548. https://arxiv.org/abs/2211.05548
  10. Shkolyar, A., et al., 2022. Adaptation to CT Reconstruction Kernels… Journal of Imaging 8(9):234. https://www.mdpi.com/2072-4292/8/9/234
  11. Li, Z., et al., 2023. LViT: Language meets Vision Transformer in Medical Image Segmentation. IEEE TMI. https://doi.org/10.1109/TMI.2023.3235298
  12. Sohaeyah, A., et al., 2021. Abnormality detection and intelligent severity assessment… J Ambient Intell Humaniz Comput. https://doi.org/10.1007/s12652-021-03282-x
  13. Soares, E., et al., 2022. CovTANet. IEEE Transactions on Industrial Informatics. https://doi.org/10.1109/TII.2022.3174274
  14. sota2.com 榜单:Medical Image Segmentation on MosMedData (test). https://www.sota2.com/research/sota/medical-image-segmentation-on-mosmeddata-test
  15. sota2.com 榜单:Medical Image Segmentation on MosMedData+. https://www.sota2.com/research/sota/medical-image-segmentation-on-mosmeddata-plus
  16. Frontiers, 2024. Cap2Seg: leveraging caption generation for enhanced segmentation of COVID-19 medical images. https://www.frontiersin.org/article/1439122
  17. Scilit 学者页(Nikolay Pavlov,含 medRxiv 版被引 182 记录). https://scilit.com/scholars/14604770
  18. GitHub 镜像仓库. https://github.com/michaelwfry/MosMedData-Chest-CT-Scans-with-COVID-19-Related-Findings

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§1 概览与版本时间轴 千方病案医学编辑部 与官方 README、medRxiv 论文逐项核对 ✅ 已通过/已验证
§2 医学背景与分级体系 千方病案医学编辑部 对照官方分级表与 ICD-11/SNOMED 映射核对 ✅ 已通过/已验证
§3–§4 规格与数据结构 医疗 AI 数据工程师 对照官方目录树、注册表与设备参数核对 ✅ 已通过/已验证
§6 AI 就绪指南与坑点 医疗 AI 数据工程师 代码逻辑走查 + 坑点溯源核对(官方文档与文献) ✅ 已通过/已验证
§7 DAIMS 与局限性 千方病案医学编辑部 双人交叉审核评分项与证据 ✅ 已通过/已验证
§8–§9 基准与引用 千方病案医学编辑部 榜单数字与论文 DOI 逐条溯源 ✅ 已通过/已验证

§10.5 AI 生成章节标注

  • 全部章节由 AI 起草;§0 审核声明、§10.4 人工校验表与页面状态由人工确认后定稿。
  • 数字类内容(规模、分布、层距、许可、引用数)100% 来自 §10.3 输入来源,AI 未引入无来源数字。

§10.6 最后人工审核日期

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

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


相关数据集导航

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

  • nih-pancreas-ct — 共享标签:医学影像 / CT / 医学图像分割
  • abdomenct-1k — 共享标签:医学影像 / CT / 医学图像分割
  • word — 共享标签:医学影像 / CT / 医学图像分割
  • totalsegmentator — 共享标签:医学影像 / CT / 医学图像分割
  • han-seg — 共享标签:医学影像 / CT / 医学图像分割
  • Medical-Decathlon — 共享标签:医学影像 / CT / 医学图像分割
  • bimcv-covid — 共享标签:医学影像 / CT / COVID-19
  • stoic — 共享标签:医学影像 / CT / COVID-19
  • covid-ct — 共享标签:医学影像 / CT / COVID-19
  • ctspine1k — 共享标签:医学影像 / CT / 医学图像分割

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

返回 AI-Ready 数据集