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

U-Net 模型的分析
在医学图像分割任务中,我们感兴趣的点在于分割原始图像的细胞核、器官、肿瘤等等,这些图像可能来自各种模态。然而在大多数情况下,这些感兴趣的对象是不规则的,而且规模也不同。例如,我们已经证明皮肤病变的规模在皮肤镜图像中可以有很大的变化。这些情况也经常发生在不同类型的医学图像分割任务中。

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

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

图为使用一系列 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 次乘法运算,因此计算量会大幅度减少。







