nnU-Net v2 · 体验报告

用 nnU-Net 跑通脑 MRI 分割
从数据下载到 AI 推理 · 全流程

在没有 GPU 的 CPU 机器上,跑通 nnU-Net 自动流水线(260 个海马 MRI 病例)和它的衍生工具 HD-BET(脑提取)。本页是整个过程的可视化记录。

Dataset · MSD Task04 Hippocampus Compute · CPU only Framework · nnU-Net v2 + HD-BET Generated · 2026-06-13

01关键数字

260
训练病例(MSD)
~37s
nnU-Net 全流水线耗时
~3-5min
HD-BET 推理(CPU)
~22%
提取的脑组织体积比

02nnU-Net 是什么

nnU-Net 是德国癌症研究中心 (DKFZ) 发的"医学图像分割框架",发表在 Nature Methods 2021。它跟一般 U-Net 项目最大的不同是:不需要人调参——丢一个数据集进去,它会自动:

输入

原始 MRI 数据

NIfTI 格式的 3D 体素 + 标注掩膜,按规定目录结构组织

自动分析

Dataset Fingerprint

统计每个病例的 shape / spacing / 强度分布,得到数据指纹

自动决策

训练 Plan

基于规则推导 patch size / batch / 归一化 / 网络深度,零 ML 调参

这是它的核心创新——本质上是医学图像分割界的 "rule-based AutoML"

03实际跑通的 Plan 长什么样

把 MSD Task04 Hippocampus 喂进去,37 秒后它生成了下面这套 Plan:

nnU-Net 自动 plan
nnU-Net 自动生成的训练 plan(来自 nnUNetPlans.json
{
  "dataset_name": "Dataset004_Hippocampus",
  "experiment_planner_used": "ExperimentPlanner",
  "configurations.2d": {
    "patch_size":    [56, 40],
    "batch_size":    366,
    "normalization": "ZScoreNormalization",
    "network":       "PlainConvUNet",
    "features_per_stage": [32, 64, 128, 256]
  }
}

04数据集长什么样

MSD Task04 是公开 benchmark 中最小的一个(27 MB / 260 训练 + 130 测试),分割任务是把海马分成 前部后部 两个区域。下面是病例 001 的真值标注:

hippocampus sample
case 001 · 三视图 · 真值标注叠加在 MRI 上

05真 AI 推理:HD-BET 脑提取

nnU-Net 自己不带预训练权重;但同团队基于它做的 HD-BET 是个开箱即用的工具,专门干"把头骨/头皮/眼球等非脑组织从 MRI 里抠掉"——医学影像处理的第一步。

用 ICBM152 标准脑模板(一张真的 T1 脑 MRI)测试,CPU 模式 3-5 分钟出结果:

HD-BET 推理结果
左:输入原图 · 中:AI 提取出的纯脑组织 · 右:mask 叠加在原图上

06两个工具对比

nnU-Net v2

训练框架

  • 需要带标注数据集
  • 需要 GPU 训练(10 GB+ 显存)
  • 能做任意分割任务(你定义类别)
  • 本次只跑了 预处理,没真训练
  • 核心价值:自动配置 → 公平基线
HD-BET

开箱即用推理

  • 基于 nnU-Net 已训好的预训练权重
  • 支持 CPU 推理(虽然慢)
  • 只做脑提取这一件事
  • 本次跑出了真分割结果
  • 核心价值:临床/科研流程的第一步

07体验感受

核心洞察

nnU-Net 的"自动配置"确实漂亮——37 秒完成数据指纹 + 训练计划,比 Kaggle 上手撸超参的工作量小一个数量级。HD-BET 这种衍生工具更是即插即用。如果你想用在自己的数据上:

1. 有 GPU + 已标注数据 → 走完整 nnU-Net 训练(nnUNetv2_train 4 2d 0
2. 想分割脑结构 → 用 FreeSurfer / FastSurfer,比 nnU-Net 更合适
3. 想分割脑肿瘤 → 用 BraTS 预训练权重 + nnU-Net 推理
4. 只想脑提取 → HD-BET 已经够好用了