面向 C0、LGE、T2 三序列心脏 CMR 的缺失模态稳健分割研究项目。
本项目研究的不是“再叠一个融合模块能否涨点”,而是一个可证伪的多模态问题:
病理任务条件路由结合序列缺失训练,能否在不牺牲完整三模态分割性能的前提下,提高缺失序列时的稳健性?
项目已从原 SegForCMR 工程中完全拆分,源码、实验脚本、结果与 Git 边界均独立,不依赖旧仓库路径。数据集和模型权重不进入 Git;可公开的患者级统计结果保存在 results/。
三种优化随机种子、固定五折患者级验证共完成 90 次正式训练。最终保留的方法是 P2-maskrouter(MyoRouter-MD),P3 贡献校准作为阴性消融保留。
| 方法 | 完整三模态病灶 Dice | 缺失一种序列 Dice | 缺失性能保留率 |
|---|---|---|---|
| Early concat | 0.4168 | 0.1352 | 32.7% |
| Independent concat | 0.4330 | 0.1800 | 41.2% |
| Modality attention | 0.4384 | 0.1421 | 32.5% |
| Pathology router | 0.4421 | 0.1931 | 43.8% |
| MyoRouter-MD | 0.4537 | 0.3191 | 70.3% |
| Counterfactual calibration | 0.4491 | 0.3104 | 69.1% |
MyoRouter-MD 相对 early concat:
- 完整三模态 Dice:
+0.0369,95% CI[+0.0131, +0.0645]; - 缺失一种序列 Dice:
+0.1839,95% CI[+0.1655, +0.2030]; - 完整三模态相对最强单模态增益:
+0.2307; - 跨患者打乱单种序列后平均下降
0.2005,交换 LGE/T2 后下降0.3202。
这些结果支持模型使用了患者匹配且序列身份正确的多模态信息。完整统计、置信区间与限制见 docs/RESULTS.md。本项目不声称 SOTA 或临床泛化。
b0_early:C0/LGE/T2 早期拼接;b1_concat:三路独立编码器 + 尺度级拼接;b3_attention:模态轴多头注意力;p2_router:解剖/水肿/瘢痕任务条件空间路由;p2_maskrouter:任务条件路由 + 缺失一种序列训练,即最终方法;p3_cfrouter:在最终方法上加入贡献校准,仅作为阴性消融。
除早期拼接外,其余方法共享同一组编码器和三任务解码器,避免把骨干差异误当成融合收益。官方标签语义固定为 class 4 = edema、class 5 = scar。
MyoRouter-MD/
├── myorouter/ # 模型、训练、干预评估与统计分析
├── scripts/ # 单种子、三种子和 smoke 复现实验
├── configs/ # 无密码的服务器配置模板
├── tests/ # 无数据依赖的模型与干预测试
├── docs/ # 数据约定、实验协议、复现说明和结果报告
├── results/ # 已完成实验的 CSV/JSON,不含权重
└── experiments/ # 本地运行输出;被 Git 忽略
推荐 Python 3.10+ 与 CUDA 版 PyTorch。先按 PyTorch 官方方式安装与机器 CUDA 匹配的版本,再安装本项目:
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
python -m pytest服务器现有环境可直接使用 /root/miniconda3/bin/python。数据目录布局见 docs/DATASET.md。
复制配置模板并按机器路径修改;该文件默认不进入 Git:
cp configs/server.env.example configs/server.env
source configs/server.env单折、两轮 smoke:
bash scripts/run_smoke.sh复现一个随机种子的 6 个模型 × 5 折及全部模态干预:
bash scripts/run_seed.sh 2026复现三种子全部核心实验并生成联合统计:
bash scripts/run_all_core_experiments.sh只检查仓库内结果是否完整:
python -m myorouter.verify_results --root results完整复现约定见 docs/REPRODUCIBILITY.md。
- 数据仅含 25 例带标签 MyoPS 训练病例;
- 采用内部五折验证,没有独立外部测试集;
- 同一折数据同时参与早停和该折结果报告,不是嵌套交叉验证;
- 模型使用 2D slice 训练、3D case 评估,未显式建模层间依赖;
- 因此当前证据适合支撑研究项目与方法取舍,不应包装为临床部署或 SOTA 结论。
代码采用 MIT License。MyoPS 原始数据不属于本许可证范围,请遵守数据集自身的获取与使用条款。