UNet++: A Nested U-Net Architecturefor Medical Image Segmentation
    本文介绍了UNet ++,这是一种用于医学图像分割的功能更强大的新架构。 我们的架构本质上是一个深度监督的编码器-解码器网络,其中,编码器和解码器子网络通过一系列嵌套的密集跳过路径相连。 重新设计的跳过路径旨在减小编码器和解码器子网的特征图之间的语义鸿沟。我们认为,当来自解码器和编码器网络的特征图在语义上相似时,优化器将处理较容易的学习任务。 我们已在多种医学图像分割任务中与U-Net和wideU-Net架构进行了比较,评估了UNet ++:低剂量CT胸部扫描中的结节分割,显微镜图像中的核分割,腹部CT扫描中的肝分割以及 结肠镜检查视频中的息肉分割。 我们的实验表明,经过深层监督的UNet ++分别比U-Net和宽U-Net分别获得3.9和3.4点的平均IoU增益。
    UNet - 图1
    下面是我自己画的一个实例:
    UNet - 图2
    可以看出UNET++和UNET的最大区别在于“skip pathways”上。“skip pathways”的提出是为了让高级特征和低级特征融合,高级特征能提炼出更抽象的类别独有的特征,低级特征则富含丰富的位置信息(结构信息)。具体到生物医学图像的分割问题上,位置信息发挥了十分巨大的作用,这也是UNET特别好用的原因。
    UNet - 图3
    Fig1左边的黑色那排即是下采样卷积层;J=0的那些节点只有来源于上一层(下采样卷积层)的输入;j=1的节点得到下采样层连续两层的输入,如X(1,1)的输入为X(1,0)和X(2,0);依此可推,j>1的节点为j+1个输入。
    Deep supervision:
    我们建议在UNet ++中使用深度监督[6],使模型可以在两种模式下运行:1)精确模式,其中所有分段分支的输出均被平均; 2)快速模式,其中最终分割图仅从分割分支之一中选择,其选择决定了模型修剪的程度和速度增益。图1c显示了在快速模式下进行分段选择会如何导致复杂性变化的体系结构。
    同时可知道,UNET++产生了四种不同语义的层级,UNet - 图4,这四个层级服从下面定义的损失函数。
    UNet - 图5
    UNet - 图6UNet - 图7UNet - 图8
    这里损失函数中Yb和帽子Yb指的是平铺后的像素值,蓝色矩形框表示的是交叉熵;橘色椭圆表示的是dice系数,也就是IOU相关。
    总而言之,如图1a所示,UNet ++与原始U-Net在三个方面不同:1)在跳过路径上具有卷积层(以绿色显示),这弥合了编码器和解码器特征图之间的语义鸿沟; 2)跳跃路径上有密集的跳跃连接(蓝色显示),可改善梯度流动; 3)具有深入的监督(以红色显示),这将在第4节中显示,可以进行模型修剪并改善或在最坏的情况下实现与仅使用一个损耗层相当的性能。




    在实验环节值得一提的是剪枝环节。
    图3显示了在应用不同级别的修剪后UNet ++的分段性能。结合图1C和下图所示,UNet ++ L3的推理时间平均减少了32.2%,而IoU仅降低了0.6点。更激进的剪枝将进一步缩短了推理时间,但代价是精度显著降低。
    UNet - 图9
    为了满足对更精确的医学图像分割的需求,我们提出了UNet。 建议的体系结构利用了重新设计的通道和深度监督的优势。 重新设计的跳过路径旨在减小编码器和解码器子网的特征图之间的语义鸿沟,从而为优化器解决可能更简单的优化问题。 深度监督还可以实现更精确的分割,尤其是对于结肠镜检视频中息肉等多尺度出现的病变。我们使用四个医学影像数据集(包括肺结节分割,结肠息肉分割,细胞核分割和肝分割)对UNet进行了评估。 我们的实验表明,经过深层监督的UNet分别比U-Net和宽U-Net分别获得3.9和3.4点的平均IoU增益。

    这篇论文的作者在知乎上关于整个模型和剪枝部分有非常精彩的阐述:https://zhuanlan.zhihu.com/p/44958351,十分值得一看。