nnU-Net: a self-configuring method for deep learning-based biomedical image segmentation
作者:
MingXiao
nature methods https://doi.org/10.1038/s41592-020-01008-z
1 Introduction
描述了一个深度学习的参数设置过程
- 固定那些不太会改变的参数
- 对于尽可能多的剩余决策,以启发式规则的形式,在特定的数据集属性("数据集指纹")和设计选择("管道指纹")之间建立明确的依赖关系
- 仅从数据中学习剩下的选择
nnU-net是一个深度学习方法,可以自动进行预处理、网络架构搭建、训练和后处理
2 Architectural
使用Leaky ReLU代替了ReLU,用InstanceNorm代替了BatchNorm
使用一个2D U-net,因为有证据表明当数据是各向异性时,3D分割效果很差
3D U-net,128*128*128,batch size = 2
级联3D U-net,为了解决3D U-net在大尺寸图像上的缺陷
训练过程为:第一级U-net在下采样的图像上进行训练,将结构上采样为原始模型的大小,并将其输出作为一个额外的Channel(one-hot编码后),送入第二级,第二级用分块的策略进行训练
3 Preprocessing
- Cropping:将所有的非零区域进行剪裁
- Resampling:.nii文件有采样距离这个参数,将所有数据用采样距离的中值进行重采样
- 若重采样后模型的大小在3D U-net的四倍以上,就使用级联3D U-net
- Normalization:对CT,先搜集mask内的像素值,截断到[0.5, 99.5]%,然后进行z-score标准化;对MRI,直接标准化
4 Training
- 5折交叉验证
- Loss = Dice + CrossEntropy
- Adam Optimizer, lr=3e-4, 250 batch / epoch
- weight decay = 5,若训练集的指数滑动平均loss在近30个epoch内减少不够5e-3
- 训练停止:lr > 1e-5 and 指数滑动平均loss在近60个epoch内减少不到5e-3
- 数据扩充:随机旋转,缩放,弹性形变,gamma矫正和镜像
- 每个Batch超过1/3的样本必须是随机选择的前景
5 Predict
所有的推断都是基于patch-wise的
对于每一个图像块,边缘体素是低权重的,中心体素权重高
每个图像块的重叠大小为size/2,用TTA进行集成
使用5个交叉训练的模型进行集成
6 Postprocessing
仅保留最大的连通域作为预测区域