首页 > 新闻资讯 > 正文

【文献分享】UNet++:A Nested U-Net Architecture for Medical Image Segmentation

作者:胡安康时间:2022-04-20点击数:

本期为大家分享一篇经典文章“UNet++: A Nested U-Net Architecture for Medical Image Segmentation”。作者提出了一种U-net改进的网络结构,在生物医学图像分割领域有着非常好的应用。


一、研究背景

U-net网络结构自2015年提出后,在医学图像处理领域大放异彩。在U-net++论文里,作者向我们展示了一个用于医学图像分割的更新更强的网络结构。这个结构本质上是一个深度监督(deeply-supervised)的编码-解码网络,编码和解码的子网络通过一个系列嵌套的稠密的跳跃路径来相互连接。这个跳跃路径也是相较于U-net改进的地方。通过跳跃路径中的稠密卷积块,这个网络降低了编码解码子网络中特征图的语义缺失,使得编码器特征图的语义级别更接近解码器中特征图的语义级别,大幅提升了医学图像的分割效果。


二、网络结构

1.改进的跳跃路径

1.U-net网络结构总体框架


对比U-net的网络结构,我们可以发现它在跳跃路径上增加了一系列的稠密卷积块,即图中的绿色部分。而每两个卷积块之间都进行了特征图拼接。具体的拼接过程可以按照下面这个公式进行:

其中,i、j即为图1中卷积块右上方的数字,u(x)表示一次上采样操作,所用方法依旧为U-net中的双线性插值法,[x,y]表示对x和y两个卷积块生成的特征图进行通道拼接,H(x)表示两次卷积操作,后面着一个激活函数。举例来说,我们可以看到图2为U-net++结构中最上面一层的卷积块。其中U(X1,0)是对X1,0的结果进行一次上采样,X0,1是将U(X1,0)和X0,0进行拼接后进行卷积的结果。同理,X0,4是将U(X1,3)和X0,0、X0,2、X0,3进行拼接后进行卷积的结果。其中通过调整卷积核的个数使得第一层五个卷积块得到的图像的大小完全一致。

图2.跳跃路径图


这种创新的跳跃路径通过一系列稠密的卷积块,将不同深度的图像特征以更多样的方式融合到了一起,提高了分割精度。从本质上来讲,密集的卷积块使得编码器的特征映射的语义级别更接近于解码器中等待的特征映射的语义级别。假设当接收到的编码器特征映射和相应的解码器特征映射在语义上相似时,优化器将解决更容易的优化问题。

2.深度监督

U-net++另一个改进的地方在于基于多个语义级别的特征图计算了损失函数,这种操作被作者命名为深度监督,在图1中表示为第一层卷积块上方的红色分支。深度监督操作的立足点在于重新设计的跳跃路径中不同语义级别的卷积块生成的图像大小与原始图像完全一致,这就方便我们对于X0,0、X0,2、X0,3这三个卷积块的结果经过一个1*1的卷积核和激活函数生成不同深度网络的分割图像,并用以计算损失函数。这个过程是值得监督的,一方面可以方便我们推动跳跃路径卷积块中的参数更新,另一方面也可以方便我们选择合适深度的网络架构(该作用在后续剪枝部分详述)。

在学习深度监督之后,我们再反过来观察图1,可以发现,如果只看U-net++结构右上方三个卷积块,即X0,0、X0,1、X1,0,它们可以组成一个完整的一层U-net++结构。同理,基于深度监督操作,我们可以把U-net++结构拆成四个完整的不同深度的U-net++结构,具体表示见图3。这就意味着我们可以针对不同的数据集训练不同深度的网络,进而选择效果最好的那一个。同时,我们可以发现分解的不同深度的多个网络共用同一个下采样路径,相较于先后建立四个不同深度的网络来讲,这样的方式可以减少模型参数量,提高模型的分割效率。

3.剪枝

使用U-net++网络进行图像分割的步骤可以概括为以下几步。

第一,在训练集上训练多层U-net++网络,进行参数更新;

第二,在验证集中运行训练好的网络,基于深度监督操作,我们可以得到四个分割图像,从而与图像标签数据计算评估指标,选择评估指标最高的网络作为我们的分割网络;    

第三,在测试集上运行我们选择的最优网络,进行图像分割。在这个过程中,我们会发现如果选择的最优网络并非四层或者拟定网络的最高层,那在测试集进行测试的时候图像是不经过除最优网络之外的路径的。

举例来说,假如在四层网络验证阶段,我们选择了三层网络(也就是图3中的L3)作为最优网络,那么在测试阶段图1中的X4,0到X0,4的这条上采样路径是不经过图像的,因此在测试阶段,我们就可以将这一段路径去除,减少模型参数,提高测试图像分割效率。在测试阶段去掉除最优网络之外的路径这一操作,叫做剪枝。

图3.U-net++分解图


此外,在剪枝操作时,我们需要注意两点。第一,测试时进行剪枝,训练时不能进行剪枝。这是由于测试阶段输入的图像只会前向传播,扔掉这部分对前面的输出完全没有影响的。而在训练阶段,因为既有前向,又有反向传播,被剪掉的部分是会帮助其他部分做权重更新的。第二,剪枝剪多少路径取决于各层网络在验证集上的表现。

4.损失函数

U-net++网络使用二元交叉熵和Dice系数的组合作为损失函数,深度监督操作即将下述的损失函数添加到上述四个语义层次中的每一个。

三、实验结果

图4.分割图

表1.分割效果表


U-net++论文展示了两个试验。第一个实验为U-net、wide U-net和U-net++在四个不同数据集上的表现。其中wide U-net是作者设计的一个与U-net++参数量相差不多的U-net模型,设计这个网络的目的是为了证明U-net++相较于U-net的分割效果提升并不仅仅是因为简单的增加参数量。图4是三个模型以及真实分割图像的可视化结果。表1是四个网络在四个不同的数据集上的具体表现(评估指标为IOU)以及四个网络的参数量,其中两个U-net++分别是不进行深度监督和进行深度监督的网络。从表中可以看出,wide U-Net的性能一直都比U-Net好,除了肝脏部分(liver),这两种架构的性能比较接近。这种改进是由于wide U-Net中参数数目较多。而U-net++不管是否进行深度监督操作,其分割效果都要明显优于前面两个网络,尤其是在两个U-net++网络的参数量较wide U-net还要少一点的情况下。这也充分证明U-net++相较于U-net的分割效果提升确实是由于其网络架构有精进之处。

图5.分割效果图


第二个实验为对于U-net++进行不同程度剪枝后的网络在四个不同的数据集上的具体表现。图5展现了剪枝后网络在不同数据集上的推断分割时间和分割效果。我们可以发现,在(a)(c)(d)三个数据集上,L2网络在保持与L3和L4网络分割效果差不多的情况下,其分割时间明显低于后者,但不可继续进行剪枝,否则会导致分割精度下降。此外,在数据集(b),L4网络分割效果最好,但由于参数过多导致其分割时间过长,这个时候应该综合考虑分割精度和分割效率来选择最优网络。


四、结论

UNet++架构利用了重新设计的跳跃路径和深度监督,实现更精确的医学图像分割。重新设计的跳跃路径旨在减少编码器和解码器子网的特征映射之间的语义差距,从而为优化器解决一个可能更简单的优化问题。深度监控还可以更准确地分割病变,特别是出现在多个尺度上的病变。此外,论文使用四组医学成像数据集对UNet++进行了评估,实验表明,UNet++不管是否进行深度监管,效果都要比U-Net和wide U-Net好。









Copyright© 人工智能与统计学习团队 All Rights Reserved. 

鄂ICP备13013419号