发表年份:2019
论文地址:https://arxiv.org/abs/1904.08128v1
代码地址:https://github.com/MIC-DKFZ/nnunet
摘要
提出了nnU-Net(no-new-Net),一个可以自动适应于任何数据集的框架。我们做了一个最先的尝试使必需的adaption过程自动化,例如预处理、精确的patch大小、根据数据集的性质推断设置等。
nnU-Net去掉了在资料中经常提出的结构上华而不实的东西,仅依赖于嵌入在强健的训练方案中的一个简单的U-Net结构。
2 方法
2.1 预处理
图像标准化
不是CT:减去平均值,除以标准差
CT:收集训练集中全部的前景体素,使用水平窗口裁剪0.5和99.5%的值。再使用全局前景均值和标准差进行标准化。
2.2 训练步骤
网络结构
使用三U-Net模型:一个2D U-Net、一个3D U-Net和两个3D U-Net的级联(第一个生成低分辨率的分割,被后续的第二个改善)
对于原始U-Net结构的修改:
- 使用padded卷积实现相同的输出和输入形状
- 使用instance 标准化
- 使用Leaky ReLUs代替ReLUs
网络超参数
依赖于预处理训练集的形状,U-Net的具体实例化是自适应的。
具体来说,nnU-Net可以自动设置batch大小,patch大小和每个轴的池化操作数目。
网络训练
所有U-Net都使用五折交叉验证训练。交叉熵损失和dice损失的和用作损失函数
adam作为优化器,使用随机梯度下降法,初始学习率为 3 × 1 0 − 4 3×10^{-4} 3×10−4,使用 l 2 l_2 l2 的 3 × 1 0 − 5 3×10^{-5} 3×10−5权重衰减
2.3 推论
patch的边界上精度会有损,因此在对patch重叠处的像素进行fuse时,边界的像素权重低,中心的像素权重高;patch重叠的stride为size/2;使用test-data-augmentation(增广方式:绕各个轴的镜像增广);使用了5个训练的模型集成进行推理(5个模型是通过5折交叉验证产生的5个模型)
nnU-Net集成了两个U-Net设定,基于交叉验证结果来自动选择最好的模型或者集成用于测试集的预测。对于设定,nnU-Net更多的使用由交叉验证生成的五个模型,来用于集成。
4 讨论
nnU-Net可以自动适应于任何给出的医学分割数据集。在六个公开的分割挑战中取得了sota的表现。
最重要的是,我们没有手动调整超参数,所有的设计选择都是nnU-Net自己决定的。
参考资料
https://zhuanlan.zhihu.com/p/100014604