UNet++: A Nested U-Net Architecturefor Medical Image Segmentation

1.Introduction

         FCN、U-net、Mask R-CNN均不能满足医学对于准确度的要求。为了解决在医学图像中更准确的分割的需求,提出了UNet++,一种基于嵌套和密集跳跃连接的新的分割架构。该架构背后的基本假设是,当编码器网络的高分辨率特征图与解码器网络的语义丰富的特征图融合之前逐渐丰富时,该模型可以更有效地捕获前景对象的细粒度细节。作者认为,当来自解码器和编码器网络的特征映射在语义上相似时,该网络将处理一个更容易的学习任务。这与U-Net中常用的普通跳过连接形成了对比,后者直接将高分辨率的特征图从编码器快进到解码器网络,导致语义上不同的特征图的融合。根据我们的实验,建议的架构是有效的,比U-Net和Wide U-Net产生显著的性能增益。

2 Related Work 

        FCN、U-net都倾向于融合编码器和解码器子网络语义上不同的特征图,根据实验,这会降低分割性能。 

        GridNet缺乏在跳过连接之间的上采样层;Mask-RCNN可能是对象检测、分类和分割的最重要的元框架。UNet++可以很容易地部署为Mask-RCNN中的主干架构,通过简单地用建议的嵌套密集跳过路径替换普通跳过连接。

3 Proposed Network Architecture: UNet++

     如图所示,UNet++从编码器子网络或主干开始,然后是解码器子网络。UNet++与U-Net(图1a中的黑色组件)的区别之处在于重新设计的跳过路径(显示为绿色和蓝色),它们连接了两个子网络和深度监督的使用(显示为红色)。

3.1 Re-designed skip pathways 

        重新设计的跳跃路径改变了编码器和解码器子网络的连通性。在U-Net中,编码器的特征映射直接在解码器中接收;然而,在UNet++中,它们经历了一个密集的卷积块,其卷积层的数量取决于金字塔水平。例如,节点X^{0,0}X^{1,3}之间的跳过路径3由具有三个卷积层的密集卷积块组成,其中每个卷积层之前有一个连接层,将相同密集块的先前卷积层的输出与低密集块的上采样输出融合。从本质上,密集的卷积块使编码器特征映射的语义级别更接近于在解码器中等待的特征映射的语义级别。假设当接收到的编码器特征映射和相应的解码器特征映射在语义上相似时,优化器将面临更容易出现的优化问题。 

公式化表达:

        在形式上,我们将跳跃路径表示为:设X^{i,j}表示节点X^{i,j}的输出,其中i索引沿编码器的下采样层,j索引沿跳跃路径的密集块的卷积层。由X^{i,j}表示的特征映射堆栈计算为

        

        其中,函数H(·)是一个卷积运算,然后是一个激活函数,U(·)表示一个上采样层,[]表示连接层。基本上,j = 0级节点只接收来自编码器前一层的一个输入;j = 1级节点接收两个输入,均来自编码器子网络,但连续两个级别;j > 1级节点接收j + 1输入,其中j个输入是同一跳路径中前j个节点的输出,最后一个输入是下跳路径的上采样输出。所有先前的特征图累积并到达当前节点的原因是,我们使用了沿着每个跳跃路径的密集卷积块。图1b进一步澄清了等式1通过显示特征映射如何通过UNet++的顶部跳过路径旅行。

3.2 Deep supervision 

        我们建议在UNet++中使用深度监督[6],使模型能够在两种模式下运行: 1)精确模式,其中所有分割分支的输出被平均;2)快速模式,其中仅从一个分割分支中选择最终的分割地图,其选择决定了模型修剪的程度和速度增益。图1c显示了在快速模式下选择分割分支的结果是如何导致不同复杂度的体系结构。 

        UNet++在多个语义级别上生成全分辨率的特征映射,{x0、j,j∈{1,2,3,4}},易于深度监督。在上述四个语义级别中分别增加了二进制交叉熵和Dice系数的组合作为损失函数:

        其中,Yˆb和Yb分别表示第b幅特征图的预测概率和标签,N表示批处理大小。 

        综上所述,如图1a所示,UNet++与原U-Net有三个不同之处: 1)在跳跃路径上有卷积层(绿色),弥补了编码器和解码器特征映射之间的语义差距;2)在跳过路径上有密集的跳跃连接(蓝色),改善了梯度流;3)具有深度监督(红色),如第4节所示,可以进行模型修剪,或者在最坏的情况下达到与只使用一个损失层相当的性能。

4 Experiments

        数据集:四个医学成像数据集进行模型评估,涵盖了来自不同医学成像方式的病变/器官。 

        基线模型:U-Net和一个定制的Wide U-Net(与U-net++具有相同的参数量)体系结构。

        实现细节:监控了Dice系数和IOU,并在验证集上使用了早期停止机制。还使用了Adam优化器,学习速率为3e-4。UNet和宽U-Net的体系结构细节如表2所示。UNet++是由原始的U-Net架构构建的。沿着跳跃路径(Xi,j)的所有卷积层使用k个大小为3×3的核(或3×3×3用于三维肺结节分割),其中k = 32×2i。为了实现深度监督,在每个目标节点上附加了一个1×1的卷积层,然后是一个s型激活函数: {x0,j | j∈{1,2,3,4}}。因此,UNet++在给定一个输入图像时生成4个分割图,并进一步平均以生成最终的分割图。

 

        Results:wide U-Net的性能始终优于U-NetUNet++比UNet和WIDE U-Net都取得了显著的性能提高,使IoU平均提高了2.8和3.3。有深度监督的UNet++在没有深度监督的情况下比UNet++平均提高了0.6。 

 

模型剪枝:图3显示了UNet++在应用不同层次的剪枝后的分割性能。作者使用UNet++ l_{i}来表示在第i级修剪过的UNet++(详情见图1c)。如图所示,UNet++ L3平均减少了32.2%,而IoU仅降低了0.6。更激进的剪枝进一步减少了推理时间,但以显著的精度降低为代价。 

猜你喜欢

转载自blog.csdn.net/qq_52053775/article/details/126901245