在没有 GPU 的 CPU 机器上,跑通 nnU-Net 自动流水线(260 个海马 MRI 病例)和它的衍生工具 HD-BET(脑提取)。本页是整个过程的可视化记录。
nnU-Net 是德国癌症研究中心 (DKFZ) 发的"医学图像分割框架",发表在 Nature Methods 2021。它跟一般 U-Net 项目最大的不同是:不需要人调参——丢一个数据集进去,它会自动:
NIfTI 格式的 3D 体素 + 标注掩膜,按规定目录结构组织
统计每个病例的 shape / spacing / 强度分布,得到数据指纹
基于规则推导 patch size / batch / 归一化 / 网络深度,零 ML 调参
这是它的核心创新——本质上是医学图像分割界的 "rule-based AutoML"。
把 MSD Task04 Hippocampus 喂进去,37 秒后它生成了下面这套 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]
}
}
MSD Task04 是公开 benchmark 中最小的一个(27 MB / 260 训练 + 130 测试),分割任务是把海马分成 前部 和 后部 两个区域。下面是病例 001 的真值标注:
nnU-Net 自己不带预训练权重;但同团队基于它做的 HD-BET 是个开箱即用的工具,专门干"把头骨/头皮/眼球等非脑组织从 MRI 里抠掉"——医学影像处理的第一步。
用 ICBM152 标准脑模板(一张真的 T1 脑 MRI)测试,CPU 模式 3-5 分钟出结果:
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 已经够好用了