Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyoRouter-MD

面向 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 = edemaclass 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 结论。

License

代码采用 MIT License。MyoPS 原始数据不属于本许可证范围,请遵守数据集自身的获取与使用条款。

About

Missing-modality robust pathology-conditioned routing for multi-sequence cardiac CMR segmentation

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages