【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation

论文地址

目录

  • 一、前言
  • 二、U-Net模型的分析
    • 1.为什么两次3×3的卷积近似于一次5×5的卷积呢?
    • 2.为什么后一种轻量级的结构可以近似于之前的结构?
  • 三、融合策略的分析
  • 四、 整体架构
  • 参考文献

一、前言

近年来,深度学习在医学图像分割领域取得了很大的突破,其中基于全卷积网络的U-Net已经成为最流行、最引人瞩目的架构[1]。尽管如此,U-Net仍存在着一些不足之处,本文对经典U-Net做出了进一步改进,并经实验证明了其更好的性能。
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第1张图片

二、U-Net模型的分析

在医学图像分割任务中,我们感兴趣的点在于分割原始图像的细胞核、器官、肿瘤等等,这些图像可能来自各种模态。然而在大多数情况下,这些感兴趣的对象是不规则的,而且规模也不同。例如,我们已经证明皮肤病变的规模在皮肤镜图像中可以有很大的变化。这些情况也经常发生在不同类型的医学图像分割任务中。
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第2张图片

因此,对于分析这些不同规模的对象,所用的网络应该具有一定的鲁棒性。例如Inception block并行使用不同大小的卷积核来检测不同规模大小的目标。在U-Net架构中,每个池化层和反卷积层之后都使用了两个3×3的卷积,这两个3×3的卷积实际上近似于5×5的卷积。那么按照Inception block网络结构,增强U-Net的最简单的办法使其可以多分辨率的分析是将3×3、5×5、7×7卷积运算并行。如图
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第3张图片

这样类Inception block的替换了原来的卷积层似乎有助于U-Net架构从图像中学习不同尺度的特征。但尽管这样性能会有所提高,但引入的并行卷积层极大地增加了内存需要。因此本文借用Inception v3[2]的思想,使用一系列的更小、更轻量级的3×3的卷积核来分解更大、性能要求更高的5×5和7×7的卷积核。如图:
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第4张图片
图为使用一系列3×3的卷积核分解5×5和7×7的卷积核的轻量级结构

而实验证明这种轻量级结构近似于之前描述的简单的类Inception block,并且减少了内存需要。那这里就有两个问题:

1.为什么两次3×3的卷积近似于一次5×5的卷积呢?

如图,两次3×3的卷积得到的1×1大小的特征图,它的感受域大小是5,而一个5×5的卷积得到的1×1大小的特征图的感受域也是5,因此,两次3×3的卷积可以近似一个5×5的卷积,可以节省大量的计算资源。例如,对5×5的特征图做两次3×3的卷积需要9×9(第一次)+1×9(第二次)=90次乘法运算,而对5×5的特征图做一次5×5的卷积只需要1×25=25次乘法运算,因此计算量会大幅度减少。
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第5张图片

2.为什么后一种轻量级的结构可以近似于之前的结构?

【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第6张图片
从input出来,经过第一个3×3卷积,保存得到的特征图,再经过一个3×3的卷积层,这时已经经过了两次3×3的卷积,相当于一次5×5的卷积,将两次卷积的结果保存,再经过第三个3×3的卷积层,这时相当于一个7×7的卷积,保存第三次卷积的特征图,将第一次、第二次的特征图和第三次的特征图做concat,得到最终的output。
尽管这种修改已经大大地降低了内存需求,但是消耗的内存仍然很高。因为第一个卷积层的卷积核的数量如果很高,第一个卷积的卷积核数量会对内存产生二次效应。举例来说,如果这两个卷积层的卷积核个数都是3,一个三通道的7×7特征图经过第一层需要做的乘法数量是3×25×9×3=2025,(加粗的3代表卷积核数量)得到一个3通道的5×5特征图,而其经过第二个卷积层需要的乘法数量是3×9×9×3=729(加粗的3是通道数由前一层卷积核数量决定),因此第一次卷积核数量越多,后面卷积层需要的计算量就越大,因此MultiResUNet并没有保持所有连续卷积层的卷积核数量相等,而是逐渐增加这些层中的卷积核(例如从1增加到3),来防止前面层的内存需求过度传播到网络的较深部分。同时在此结构中又增加了残差连接来获取一些额外的空间信息。该模块被称为MultiRes block。
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第7张图片

三、融合策略的分析

U-Net的一个巧妙之处在于对应层之间的跳跃连接,这使得网络能将在池化操作丢失语义信息之前将这些语义信息从编码器传递到解码器。尽管保留了这些损失掉的语义信息,但是U-Net的跳跃连接仍有一些缺陷:例如:第一个跳跃连接将第一次池化操作之前和最后一次反卷积操作之后的对应编码器层和解码器层连接起来,在这里来自编码器的特征其实是低级特征,因为它们是在网络的浅层计算的。相反,解码器的特征是更高级别的特征,因为它们是在网络的深层计算的。因此,合并的两组特征之间可能存在语义差异(semantic gap),这会在预测过程可能产生一些不利影响,所以在它们融合之前可能要经过某些加工。但随着网络深度的增加,差异可能会逐渐减少,这实际上是因为随着网络深度的增加,编码器和解码器对应层级之间越来越近,因此语义差异也越来越小。
为了缓解编码器和解码器之间的语义差异,本文提出在跳跃连接中加入一些卷积层,并且不是使用普通的卷积层,而是引入了残差连接,这样可以使学习变得更加容易,这个模块在文章中被称为Res Path。具体地说,Res Path使用了3×3的卷积并伴随着1×1卷积的残差连接。
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第8张图片

四、 整体架构

整体架构如图所示。其中随着网络深度增加,语义差异不断减小。因此也逐渐减少了沿着Res Path路径使用的卷积块的数量,实际上本文分别使用了4,3,2,1个卷积块。
【论文笔记】MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation_第9张图片

参考文献

[1] Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C]//International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015: 234-241.
[2] Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2818-2826.
[3] Ibtehaz N, Rahman M S. MultiResUNet: Rethinking the U-Net architecture for multimodal biomedical image segmentation[J]. Neural networks, 2020, 121: 74-87.

你可能感兴趣的:(论文分析,计算机视觉,深度学习,人工智能)