UNet++: A Nested U-Net Architecture for Medical Image Segmentation
0、摘要论文特点
- 网络特点
深度监督的编解码网络。通过一系列嵌套、密集的跳跃路径连接。 - 缘由
使用跳跃路径,为了降低语义差异:编解码子网络间的特征图。 - 评价对比
从以下四方面的分割任务,和U-Net以及宽泛U-Net结构【备注1】进行对比。
1 ) 胸部低剂量造影CT扫描的结节分割;
2)显微镜图像下的细胞核分割;
3)腹部CT下的肝脏分割;
4)结肠镜视频下的息肉分割。 - 实验结果
比U-Net和宽泛U-Net的IoU分别提升了3.9和3.4个百分点。
【备注1】:设计宽泛U-Net结构,是为了确保U-Net++网络结构所产生的性能增益并不仅仅是由于参数数量的增加
1、U-Net++网络结构
U-Net++网络结构由如下几部分组成:
1.1、主架构
- 由一系列嵌套、密集的卷积块儿链接的编解码组成。
- 作用:在融合之前,弥合编码器和解码器的特征图之间的语义差异。
- 架构中,黑色部分是原始的U-Net网络;绿色和蓝色部分是跳跃路径上的密集卷积块儿,红色部分是深度监督。(红、绿、蓝组件是U-Net++区别于U-Net的部分)
1.2、分支细节
挑其一支,进行细节解析,即对跳跃路径的设计分析:
x
i
,
j
x^{i,j}
xi,j表示节点
X
i
,
j
X^{i,j}
Xi,j的输出,其中
i
i
i表示编码的下采样层;
j
j
j表示跳跃路径下密集块儿的卷积层。
由
x
i
,
j
x^{i,j}
xi,j计算公式如下:
其中,函数
H
(
.
)
H(.)
H(.)是一个卷积、激活函数的操作;
U
(
.
)
U(.)
U(.)上采样层;[ ]是串联操作。详细解释:
-
j = 0时
卷积的对象是只有上一编码层 x i − 1 , j x^{i-1,j} xi−1,j -
j = 1时
两个输入对象的串联体的卷积、激活操作;这两个串联体是
-
j > 1时
j+1个输入对象:j个前0,1,…j-1节点的相同跳跃路径的输出 + 来自更低跳跃路径的上采样输出。
1.3、深度监督(红色部分)
本文使用Deep Supervision【这篇文章也一并在博客中学习】,使得能够在两种模式下运行:
- 精确模式
所有分割分支的输出都被平均。 - 快速模式
最终的分割特征图,仅仅从分割分支之一中选择,根据模型修剪程度和加速增益进行选择。
该网络结构的损失函数由交叉熵和dice系数(医疗图像分割模型VNet中提出)结合,且适用于网络结构c部分中四个语义level的每一个。定义为:
其中,
Y
b
^
\hat{Y_b}
Yb^ and
Y
b
Y_b
Yb 分别是flatten预测概率和flatten ground truths,N 是batch 大小。
2、实验
2.1、Datasets数据集
- 细胞核:显微镜形式,提供者Data Science Bowl 2018
- 结肠息肉:RGB video形式,提供者ASU-Mayo [10,11]两篇文章
- 肝脏:CT形式,提供者MICCAI 2018 LiTS Challenge
- 肺结节:CT形式,提供者LIDC-IDRI [1]文章
2.2、Baseline models
- 使用的基准模型结构
原始 U-Net 和 定制的宽泛U-Net模型结构。 - 原因
原始U-Net:医学图像分割常用性能基准
定制宽泛U-Net:为了确保我们的架构所产生的性能提升不仅仅是由于参数数量的增加
2.3、实验细节
使用的技术:
- Dice Loss系数
- IoU准则
- 验证集early-stop机制
- Adam优化器
- 学习率 3e-4
- 跳跃路径 X i , j X^{i,j} Xi,j , 使用3*3大小的 k = 32 × 2 i k=32\times2^{i} k=32×2i核函数
- 深度监督:每个目标节点增加一个 1 × 1 1\times1 1×1的卷积层和一个sigmoid激活函数
- 在给定输入图像的情况下生成四个分割图,进一步平均以生成最终的分割图。
更多的细节,请参考https://github.com/MrGiovanni/Nested-UNet
2.4、实验结果
三个网络结构(U-Net、宽泛U-Net、U-Net++)在参数数量和分割准确度方面进行比较。结果如下面的表格:
详解表格3:
- U-Net和宽泛U-Net:除了肝脏分割,其他数据集的分割,准确度上,宽泛U-Net都优于U-Net。缘由是多的参数数量。
- 没有深度监督的U-Net++(表格第三行):相比U-Net和宽泛U-Net,性能上有着显著的提升(IoU有着2.8到3.3个点的提升)。
- 带着深度监督的U-Net++(表格第四行):与没有深度监督的U-Net++相比,综合平均提高了0.6个点。
2.5、模型修剪
图3表示在应用不同裁剪Level下,U-Net++的分割性能。如图所示,U-Net++
L
3
L^3
L3 Level下