1 Technische Universit¨at M¨unchen, M¨unchen, Germany 2 Fudan University, Shanghai, China 3 Huawei Technologies, Shanghai, China

德国某大学,复旦大学,华为

Abstract

Swin Unet is a Unet-like Pure Transformer for Medical Image Segmentation. The whole Swin-Unet structure design is based on Swin-Transformer and Unet.

Motivation

虽然CNN到目前为止已经取得了优秀的成绩,但是它也是有缺点的,明显的,它没有办法学习到global and long-range semantic information,原因可以归结到卷积本身是一种局部的操作。

并且CNN还不能完全满足高精度的医学图像任务。

而Vit、DeiT和Swin Transformer在图像识别任务上证明了transformer在视觉任务上具有巨大的潜力。
(所以作者想把Transformer用在医学图像中来,那么很明显,医学图像中著名的网络unet就是目标,作者将Swin Transformer和Unet进行了融合)

Methods

image.png
整个网络框架,可以分为以下几个部分:

  1. Swin-Transformer (encoder)
    1. patch partition
    2. linear embedding
    3. Swin-Transformer block
    4. patch merging
  2. patch expanding (decoder)
    1. Swin-Transformer block
  3. skip connection

作者提出了patch expanding和skip connection的结构。

patch expanding

为了获得一个U-shape即对称的网络结构,作者提出了一个patch expanding的模块。该模块对标Swin-Transformer中的patch merging。

patch merging的作用是融合adjacent 2 * 2个patch,通道数增加,图像中的patch数量减少,是一种下采样的思想。

那么patch expanding的作用就是对输入特征图进行上采样。首先,将输入特征图输入到一个linear layer中,使得特征的维度变为原来的两倍,比如encoder末端的输出特征图:
Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation - 图2

再通过rearrange operation来展开输入特征图,使得特征维度变为1/4倍,即原始输入特征图的1/2倍,长和宽变为原来的两倍(这里的长和宽值patch的数量):
Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation - 图3

即patch expanding 代表以下过程:
Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation - 图4

skip connection

类似于U-NET中的skip connection,在decoder即上采样的过程中融合encoder中multi-scale的特征图

按文中的意思可以表达为以下关系式:
Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation - 图5

Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation - 图6
即将从encoder skip 过来的特征图和上采样后的特征图进行concat,然后再经过一个linaer layer,将通道数下降,使得通道数保持与输入特征图一样。

Contributions

作者自己在文中做出了contributions总结:

  1. 基于Swin Transformer block,我们构建了一种对称的带有skip-connect的encoder-decoder架构。encoder中实现了局部到全局自注意力,decoder中将global features上采样,将特征图变为与原图相同的分辨率以实现pixel level的分割预测。
  2. 提出了patch expanding layer,达到上采样的效果,不使用任何的差值操作或者反卷积操作。
  3. 我们在实验中发现skip connection对transformer也是有效果的。

至此,一个纯净的transformer-based的、U-shaped的、带有skip connection的encoder-decoder架构就建立起来了,我们将其成为Swin-Unet。

作者提供了一种完全对应unet的transformer-based的unet网络结构。

Experiments

作者在Dice-Similarity coefficient(DSC) 和 Hausdoff Distance(HD)这两个指标与其他网络进行对比。比如V-Net、U-Net、Att-Unet、TransUnet等CNN-based网络或Transformer-CNN融合网络进行对比,达到了SOTA效果。

个人比较关注作者所做的消融实验

Effect of up-sampling

作者将patch expanding和bilinear interpolation、反卷积进行了对比,证明patch expanding效果最好。
image.png

Effect of number of skip connections

我很关注这个消融实验,最近提出的UCTransNet就提出了Unet中的skip connection并不是必须的。作者在本文中也进行了这个实验,得到的结果确实skip connection的数量越多效果越好。
image.png
但是感觉这个实验不能说明什么,文中没有明确说明skip connection的数量对应的是哪几个skip connection,不同的skip connection对结果带来的影响是不同的,所以可以忽略这个实验。

Effect of input size

结果是图像越大越好,原因作者认为是大图像拥有更多信息。但是由于计算量、实时性的原因,选择了224*224的较小的分辨率输入。

Effect of model size

这里提到的model size是Swin-Transformer的模型大小,实验结果证明模型增大没有太大的性能提升。

个人认为是因为在医学图像中,根本不需要大模型,一个小的模型就可以表达所有的映射关系,还可能会过拟合。

Future Work

作者在实现U-shaped的Swin-Unet的过程中,都是将Swin-Transformer的模块对称过来,再通过linear layer调节,感觉过于简单粗暴,或许能有更好的办法替代文中patch expanding和skip connection中的linear layer,即使作者做了一些相关的ablation

Consideration

感觉整篇文章的撰写以及创新点都有些差强人意,甚至会让人怀疑文中提出的一些创新点、模块是否真的有用。

但是不可否认的是作者给出了一种U-Shaped的transformer。UNet可以说是最简单的网络之一,而Swin-Unet使得将transformer运用在医学图像的dense segmentation中变得非常简单。接下来我也将尝试Swin-Unet并且尝试对其进行改进。

Swin-Unet on Iris Database

结果是比较差的,比不上最原始的CNN-based Unet,甚至结果差的挺多。

分析原因可能由以下几点:

  • transformer的优势在于全局注意力,CNN的缺点同时优势在于局部注意力或者说局部感受野。对于虹膜数据集,一张图像上可能只有一个区域、小区域需要网络去学习,transformer过多的关注其他的地方会导致性能的下降。
  • 个人认为,transformer在embedding即将图像序列化的过程,已经破坏了图像的连续性,对于虹膜分割这种细粒度极高的分割任务,是不合适的。
  • 在Swin-Transformer论文中提到ViT的一大缺点是网络难以收敛,而Swin-Transformer缓解了这个问题。但是可能难以收敛的问题可能依然存在,相比于CNN-based 网络。所以由于虹膜数据集的数量过少,导致模型不能很好收敛。
  • 没有使用预训练模型。使用预训练模型感觉也不太合适,因为一个Swin-Transformer-T,也是最小的一个模型,光是backbone就有80MB,显然不适合用于虹膜分割上。除非可以自己缩小模型大小,并用这个模型去训练其他数据及得到一个预训练模型。