nnU-Net:基于深度学习的生物医学图像分割自配置方法
nnU-Net 是一种用于生物医学图像分割的自配置深度学习框架。它通过系统化专家经验,将模型参数分为固定参数、基于规则参数和经验参数三部分,针对不同数据集自动调整预处理、网络结构、训练策略及后处理流程。实验表明,在多个权威数据集上 nnU-Net 达到 SOTA 性能,且模型配置对性能的影响大于架构改进。该方法无需手动调参,为医学图像分割提供了统一可靠的基础工具。

nnU-Net 是一种用于生物医学图像分割的自配置深度学习框架。它通过系统化专家经验,将模型参数分为固定参数、基于规则参数和经验参数三部分,针对不同数据集自动调整预处理、网络结构、训练策略及后处理流程。实验表明,在多个权威数据集上 nnU-Net 达到 SOTA 性能,且模型配置对性能的影响大于架构改进。该方法无需手动调参,为医学图像分割提供了统一可靠的基础工具。

深度学习使计算机能够自动分析图像,例如从医学影像中分割肿瘤或器官。然而,不同数据集差异大、硬件条件不一,传统方法依赖专家手动设计网络和调参。
nnU-Net 实现了高度自动化,无需人工反复试错,可自动完成数据预处理、网络结构设计、训练策略及结果后处理,并针对每一个新任务自动调整。
作者给出的思路:把专家经验系统化 + 规则化,只把少量事情留给数据来学,整个流程为:预处理→网络结构→训练→后处理,将模型参数分为以下三个部分:
整体的数据框架如下:

应用到新数据集时:自动提取数据指纹→执行所有规则生成模型配置→默认训练三种模型(2D/全分辨 3D/二阶段 3D)→交叉验证选最优模型或模型组合→自动判断要不要加一个简单的后处理。
下面具体说说每一板块怎么工作的。
固定了每一层网络中的结构,所以后面 Rule 部分才能实现通过显存和 patch 调整网络深度。
patch 重叠一半 + 高斯权重
patch1: [1 2 3 4 5 6 7 8] patch2: [5 6 7 8 9 10 11 12] patch3: [9 10 11 12 13 14 15 16] patch 权重(高斯形状): [0.1 0.3 0.6 0.9 0.9 0.6 0.3 0.1]
重叠一半首先保证一张图中间的位置被预测两次,其次高斯噪声保证能压住不准的预测,对于位置 8 来说 patch1 中属于边缘预测不准,所以权重小,在 patch2 中位于中间权重高。这是 1D 看起来红色区域的问题很严重,但是在大尺寸的医学图像中,nnU-Net 接受极少数'最外圈像素'的不完美,换取整体结构预测的稳定和高效,因为分割任务看中的是结构而不是边缘单点。
patch 中间预测准确边缘预测差
patch1 预测: [0.6 0.7 0.8 0.9 0.9 0.8 0.6 0.3] ← 边缘差 patch2 预测: [0.4 0.6 0.8 0.9 0.9 0.8 0.6 0.4] 拼接后 …… 0.3 | 0.4 …… ↑ 这里形成'接缝'

举个例子
spacing = (0.8, 0.8, 5.0) mm shape = (224, 224, 32) 下采样一次 shape 变成(112,112,32)那么有效 spacing 下降到 1.6,逐渐和 xy 轴 spacing 趋近
特别的当医学图像特别大,导致 full-res patch 覆盖 < 12.5% 图像时触发 3D U-Net cascade(大图解决方案)。下面的图中能看到 full-res spacing 和 3D UNet Cascade 网络里面的 low resolution 情况下的目标 spacing 不一致。

具体操作是:首先 low-res spacing = full-res spacing 然后每一步把 spacing 增加 1%(image size 变小),同时重新计算重采样后的图像大小,patch size 等,直到 patch 覆盖的图像比例等于 25% 的图像中位尺寸。
patch 要尽可能大(上下文信息多),但必须还能塞下 batch size ≥ 2)。
作者在用大量、权威的实验来'证明 nnU-Net 不是只对一两个数据集好用,而是非常通用',并且效果好:
下面这个图中红点是 nnunet 的性能,在多个任务上都是 SOTA。

配置>架构的实验说明
方法配置中的细节比架构调整对性能的影响要大,作者以 KiTS 2019 挑战赛为例进行分析(当年 MICCAI 规模最大的比赛,非常具有代表性):

说明:排名前 15 的都是 unet like 网络架构,那些'流行结构改进'并不是成功的必要条件(残差、Dense……)。

冠军同款的 unet+ 残差网络架构也会出现排名分布差异,因为最关键的是他们的配置参数不同。
得到结论医学图像分割的模型配置,本质上是一个'高维、强耦合'的优化问题,在多个数据集上达到的新 SOTA 也说明,该现象不是个例而是**普遍规律:配置>架构。**另外,排行表里几乎没有 AutoML 方法(只有一个提到了用网格搜索调了少量参数,18/100),大多数方法反复调参,凭经验调 pipeline。

为什么必须'因数据而异地自动配置',没有开盒即用的模型嘛。
nnunet 策略:① 找出 robust design decisions(跨数据集)② interdependencies(关键依赖关系)不是假设一套参数走天下,而是有规则变化。
作者强调 nnunet 是一个研究平台而不是方法,可以把新想法、新 loss 插进来,不需要手动调整参数。
作者考虑了一些常见的调参策略:
| 改动类型 | 含义 |
|---|---|
| 换 loss | Dice → Cross-Entropy / TopK |
| 加结构 | Encoder 加 residual |
| 网络更深 | 每层 3 个 conv(不是 2 个) |
| 换优化器 | SGD → Adam |
| 改优化器参数 | 减小 momentum |
| 换归一化 | InstanceNorm → BatchNorm |
| 去掉数据增强 | Ablation |
在验证集上用 bootstrap 生成 1000 个'虚拟验证集',在每个虚拟验证集上面给这 9 个方法排个名,分布靠左说明排名靠前,分布不宽说明波动不大很稳定。

得出结论:
nnU-Net 并不是靠新技术取胜,而是通过系统化专家经验,在大量不同医学分割任务中实现了稳定、强泛化的性能;同时它暴露了当前研究中评测不足、baseline 不公平等问题,并为未来医学分割研究提供了一个统一、可靠、可扩展的基础工具。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online