基于卷积多层感知器(MLP)的图像分割网络unext

电子说

1.3w人已加入

描述

 

1. 摘要

UNet及其最新的扩展如TransUNet是近年来领先的医学图像分割方法。然而,由于这些网络参数多、计算复杂、使用速度慢,因此不能有效地用于即时应用中的快速图像分割。为此,我们提出了一种基于卷积多层感知器(MLP)的图像分割网络unext。我们设计了一种有效的UNeXt方法,即在前期采用卷积阶段和在后期采用MLP阶段。我们提出了一个标记化的MLP块,在该块中,我们有效地标记和投射卷积特征,并使用MLP来建模表示。

为了进一步提高性能,我们建议在输入mlp时shift输入的channel,以便专注于学习局部依赖性。在潜在空间中使用标记化的mlp减少了参数的数量和计算复杂度,同时能够产生更好的表示,以帮助分割。该网络还包括各级编码器和解码器之间的跳跃连接。测试结果表明,与目前最先进的医学图像分割架构相比,UNeXt的参数数量减少了72x,计算复杂度降低了68x,推理速度提高了10x,同时也获得了更好的分割性能。

2. 网络结构

2.1 网络设计:

UNeXt是一个编码器-解码器体系结构,有两个阶段:

  1) 卷积阶段

  2) tokenized MLP阶段。

输入图像通过编码器,其中前3个块是卷积,下2个是tokenized MLP块。解码器有2个tokenized MLP块,后面跟着3个卷积块。每个编码器块减少特征分辨率2倍,每个解码器块增加特征分辨率2。跳跃连接也被应用在了编码器和解码器之间

MLP

作者减少了每个stage的通道数。

每个stage的通道数,对比标准的Unet:

UNeXt:32 64 128 160 256

UNet:64 128 256 512 1024

在这里面就减少了很多的参数量

2.2 卷积阶段

有三个conv block,每个block都有一个卷积层(传统Unet是两个)、批量归一化层和ReLU激活。我们使用的内核大小为3×3, stride为1,padding为1。编码器的conv块使用带有池窗口2×2的max-pooling层,而解码器的conv块使用双线性插值层对特征图进行上采样。我们使用双线性插值而不是转置卷积,因为转置卷积基本上是可学习的上采样,会导致产生更多可学习的参数

2.3 Shifted MLP

在shifted MLP中,在tokenize之前,我们首先移动conv features通道的轴线。这有助于MLP只关注conv特征的某些位置,从而诱导块的位置。这里的直觉与Swin transformer类似,在swin中引入基于窗口的注意,以向完全全局的模型添加更多的局域性。由于Tokenized MLP块有2个mlp,我们在一个块中跨越宽度移动特征,在另一个块中跨越高度移动特征,就像轴向注意力中一样。我们对这些特征做了h个划分,并根据指定的轴通过j个位置移动它们。这有助于我们创建随机窗口,引入沿轴线的局部性。

MLPShift操作

图中灰色是特征块的位置,白色是移动之后的padding。

2.4 Tokenized MLP阶段

MLPimage-20220402001733482

在Tokenized MLP块中,我们首先shift features并将它们投射到token中。为了进行token化,我们首先使用3x3conv把特征投射到E维,其中E是embadding维度(token的数量),它是一个超参数。然后我们将这些token传递给一个shifted MLP(跨越width)。接下来,特征通过 DW-Conv传递。然后我们使用GELU激活层。然后,我们通过另一个shifted MLP(跨越height)传递特征,该mlp把特征的尺寸从H转换为了O。我们在这里使用一个残差连接,并将原始标记添加为残差。然后我们利用layer norm(LN),并将输出特征传递到下一个块。LN比BN更可取,因为它更有意义的是沿着token进行规范化,而不是在Tokenized MLP块的整个批处理中进行规范化。

我们在这个块中使用DWConv有两个原因:

1)它有助于编码MLP特征的位置信息。从中可以看出,在一个MLP块中Conv层已经足够对位置信息进行编码,并且实际性能优于标准的位置编码技术。当测试或者训练分辨率不相同时,像ViT中的位置编码技术需要插值,这通常会导致性能下降。

2)DWConv使用更少的参数,因此提高了效率。

Tokenized block的计算流程

MLP

所有这些计算都是在嵌入维数h上执行的,这个维数明显小于特征的维数 (H/N)×(H/N) ,N是关于降维的2的因子。在我们的实验中,除非另有说明,否则我们使用768。这种设计tokenized MLP block的方法有助于编码有意义的特征信息,而不会对计算或参数贡献太多。

3.实验结果

在ISIC和BUSI数据集进行了实验

MLP

在ISIC数据集的对比

MLP

MLP

MLP

4. 个人感悟

首先每个convolutional阶段只有一个卷积层,极大的减少了运算量,是答主第一次见了。

其次是把MLP的模块引入了Unet,算是很新颖了。

在Tokenized MLP block中使用DW- CONV,让人眼前一亮。

  
      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分