第一件:把 nnU-Net 的数据流水线走通,跳过训练,用别人训好的预训练权重在 CPU 上跑出真分割结果。
第二件:用 HD-BET 这个独立工具,对一张脑 MRI 做了颅骨剥离推理。
下载 → 预处理 → 跳过训练 → 下预训练权重 → CPU 推理。Dice 全部 > 0.94。
装 hd-bet → 自动下权重 → 一行命令推理。输出脑实质 + 二值 mask。
把 MSD Task04 数据集准备成 nnU-Net v2 能直接用的样子。
三个命令一气呵成。预处理时 nnU-Net 自动分析数据集,生成训练菜谱 nnUNetPlans.json——这是它的招牌特性,不用人调参。
# 1. 下载 MSD Task04 (260 训练 + 130 测试)
$ wget https://msd-for-monai.s3.amazonaws.com/Task04_Hippocampus.tar
$ tar -xf Task04_Hippocampus.tar -C downloads/
# 2. 转 v2 格式(每个图像加 _0000 后缀)
$ nnUNetv2_convert_MSD_dataset -i downloads/Task04_Hippocampus -overwrite_id 4
# 3. 预处理 + 自动 plan
$ nnUNetv2_plan_and_preprocess -d 4 --verify_dataset_integrity
体积 71 MB · CPU 约 3 分钟
训练需要 GPU,本次没做。但流水线已经备到这一步,搬到 GPU 机器一条命令就能开始训。
# 训练命令(本次未执行)
$ nnUNetv2_train 4 2d 0 --npz # 训第 0 折,5 折交叉验证共跑 5 次
替代方案:用 DKFZ 团队公开的预训练权重,跳过训练直接做推理。下面就这么干。
DKFZ 团队 2020 年把 MSD 全套训好的权重放在 Zenodo 公开了。我们直接拿来用。
# 1. 下载权重 (271 MB · 5 折交叉验证 zip)
$ wget https://zenodo.org/records/4003545/files/Task004_Hippocampus.zip
# 2. 装进 nnU-Net results 目录
$ nnUNet_install_pretrained_model_from_zip Task004_Hippocampus.zip
# 3. CPU 推理 3 例
$ nnUNet_predict -i input/ -o output/ \
-t Task004_Hippocampus -m 3d_fullres -f 0 --disable_tta
推理结果(Dice = AI 与医生标注的体素重叠率,1.0 = 完美):
注:权重是 nnU-Net v1 时代训的,所以推理用的是 v1 venv(pip install nnunet)。v2 的 venv 用来跑前面的预处理和 plan。
3 例样本 · 三列对照:原始 MRI · 医生标注 · AI 预测。红 = 前海马,绿 = 后海马。
HD-BET 是 DKFZ 团队基于 nnU-Net 训好的脑提取专用模型。一行命令把头骨剥掉,只留脑实质。
# 1. 安装 hd-bet(首次运行会自动下 ~400 MB 权重到 ~/.cache/torch/)
$ pip install hd-bet
# 2. 颅骨剥离推理
$ hd-bet -i hdbet_test/test_brain.nii.gz \
-o hdbet_test/output/brain.nii.gz \
-device cpu --disable_tta --save_bet_mask
# 注意:参数是 -device(单短横线),不是 --device · 这是常见踩坑
CPU 单例 1-2 分钟(加 --disable_tta 后) · 关 TTA 速度快 4×
左:原始 MRI(带头骨)· 右:HD-BET 输出(仅脑实质)。
| 任务 | 命令 | 产出 | 耗时(CPU) |
|---|---|---|---|
| A · 数据准备 | nnUNetv2_* | 预处理数据 + plan | ~5 分钟 |
| A · 训练 | nnUNetv2_train | —(跳过) | — |
| A · 下预训练权重 | wget + install_from_zip | nnUNet_results/ · 271 MB | ~1 分钟 |
| A · 推理 3 例 | nnUNet_predict | 3 个分割掩码 · Dice > 0.94 | 5 秒 |
| B · HD-BET 推理 | hd-bet | 脑实质 + mask | ~2 分钟 |
nnU-Net 海马体分割——数据流水线走通,预训练权重 CPU 推理 Dice 全部 > 0.94。
HD-BET 颅骨剥离——一行命令做完,输出脑实质和 mask。
两个都是真实的 AI 推理结果,磁盘上都能找到 .nii.gz 文件查证。