UNet++
概要
unet++是一种基于深度监督的编码器-解码器网络结构,并且有密集的跳跃链接。
简介
跳跃连接在分割网络中十分重要,可以结合深层和浅层的语义信息。
在FCN中跳跃连接是通过元素级别的相加来实现的,在UNet中是通过拼接操作来实现的。
是否可以将Resnet和Densnet中的密集连接移植过来?
医学上的分割需要更精确,Unet无法满足,因此提出 了UNet++。
网络架构
黑色部分是Backbone,是原先的UNet。
绿色箭头为上采样,蓝色箭头为密集跳跃连接。
绿色的模块为密集连接块,是经过左边两个部分拼接操作后组成的
跳跃连接
其中(i,j)表示第i层第j个卷积层。
H表示卷积操作和激活函数
U表示上采样
[]表示拼接操作
深度监督
所示,该结构下有4个分支,可以分为两种模式。
精确模式:4个分支取平均值结果
快速模式:只选择一个分支,其余被剪枝
损失函数
:
左边部分为二值交叉熵
,右边为DICE系数
,用于度量相似度。
实验
数据集
采用了4个不同的医学数据集
实验参数
评价指标:IOU和DICE系数。
学习率:3e-4
优化器:Adam
实验结果
如图所示,UNet++的效果始终好于另外两个。
实验结果如下图所示,在IOU评价指标上,
没有深度监督的UNet++高于基线2.8-3.3个点
有深度监督的UNet++高于没有深度监督的UNet++ 0.6个点
模型剪枝
如下图所示:UNet++L3的推理时间平均减少了32.2%,而IoU只降低了0.6点。
结论
为了满足更精确的医学图像分割的需要,我们提出了UNet++,加入了深度监督和密集连接。
在U-Net和wideU-Net上实现了3.9和3.4点的平均IoU增益。