UNeXt: MLP-based Rapid Medical ImageSegmentation Network

UneXt关注的是移动端的设备,比如point-of-care ultrasound (POCUS)

 Phone-based skin lesion detection and identification application
Magnetic resonance imaging (MRI)

 

 

 因为专注的是移动端,因此效率和准确度是UneXt关注的重点。效率的设计主要是减少网络参数,具体的设计模式在后面再介绍。作者描述UNeXt参数减少72倍,计算复杂度减少68倍,具体的参数是1.47m, GFLOPs是0.57。

论文的贡献点: 

1、第一个convolutional MLP-base 图像分割网络(convolutional multilayer perception)

2、用于在潜在空间学习较好表示的tokenized MLP block with axial shifts

3、在不降低分割性能的前提下,提升了分割效率。

 网络的encoder-decoder含两个stage,在decoder和encoder上有3个convolutional block和2个 tokenized MLP blocks,分辨率都是以2倍的方式进行改变,skip connections 不用说肯定也有的。通道数的话,论文中使用的是C1=32, C2=64, C3=128, C4=160,C5=256,前面三个都是成倍变化的,因为是卷积么,论文中提filters数减少了,从而参数和计算都减少了。

一、convolutional stage:

一个convolutional block就是,也就是convolution layer,  batch normalization layer and ReLU。kernel size = 3x3, stride =1, padding =1。encoder中上采样环节不在使用transpose convolutional ,而使用bilinear interpolation layer,这样的话反卷积中的参数也省掉了,max-pooling layer的pool window = 2x2

二、Tokenized MLP stage

  

首先需要介绍shifted MLP, 在tokenizing 之前,先沿着channel方向shift axis。这样可以帮助MLP值关注某些location 从而在block中引入locality信息。这里类似于swin transformer 中的window-based attention,即林如locality到global模型。

 tokenized MLP中包含两个 shift  MLP,即width方向和height方向,这个和axial-attention原理一样,也是就是将channel沿着width、height两个方向shift。将特征h个不同的部分,并沿着指定的axis移动到对应位置j。这有助于我们创建随机窗口,沿着axis方向引入locality信息。

shifted mlp中描述的就是将feature进行shift,并投影到tokens,投影使用kernel size =3并将channel改变为E,E是一个embedding dimension,即tokens个数,这是一个超参。

然后将tokens 通过shifted MPL(across width),这里面的MLP隐藏参数H也是一个超参。

 

然后通过一个depth wise convolution layer(DWConv)

DWConv有两个好处:

1、帮助MLP features编码positional 信息。实际上是一个MLP block中的卷积层,对于位置编码的能力要比标准的位置编码技术要强,比如ViT中的ones位置编码技术,如果测试和训练的分辨率不一致时,会导致性能下降。

2、另外DWConv使用更少的参数,因而效率得到提升。

DWConv之后使用了GELU激活层,之所以使用GELU而不是RELU是因为它更平滑且性能更好。而且在最近的ViT和BERT结果也是证明GELU提升了性能。

随后通过一个shifted-MLP(across height)将维度从H转换到O

 

layer normalization(LN) 作为归一化层,之所以使用LN而不是BN,是因为沿着tokens方向归一化比验证batch方向归一化更有意义

 residual connection追加的是原始的tokens

  shifted MLP Width

 MLP+ GELU+Encoding

 shifted MLP Height

 layer normalization(MLP(GELU)+tokenize)

 所有这些计算都是在嵌入维度H上执行的,它明显小于特征映射H/N × H/N的维度,其中N是与block相关的2的整数倍。论文中H=768,这里设计的Tokenized MLP block可以编码更多有意义的特征信息而不增加额外的计算量和参数。

论文中使用的数据集是International Skin Imaging Collaboration (ISIC 2018) 皮肤病数据集 and Breast UltraSound Images (BUSI)乳腺癌超声构建benchmark。ISIC 2018有2594张图像,BUSI有647张图像,并重采样到256x256.

代码是pytorch编写的损失函数是

 binary cross entropy(BEC)和Dice loss

优化器时Adam,learning rate = 0.0001,momentum =0.9,并且使用minimum learning rate>0.00001的余弦退火学习率策略。

batch size = 8

epochs = 400

使用80:20的随机策略划分数据集,执行三次训练,并输出均值和方差。

性能比较

  原本是想用Swin-UNet做对比实验,但是在数据集比较少的时候,Swin-UNet性能就很差。

 消融实验

Reduced UNet就是减少了filters数,来减少参数和复杂度,但是分割性能没有下降。

Conv Stage减少深度,并且仅使用3层卷积(UNeXt中的),虽然参数和复杂度减少了很多,但性能下降了4%

Conv Stage+ Tok-MLP w/o PE就是在Conv Stage中加入tokenized MLP block,可以发现性能提升了,但是参数和复杂度只是少量增加。

Conv Stage+ Tok-MLP + PE就是在上一步增加了DWConv 的 positional embedding method

Conv Stage+ Shifted Tok-MLP(W) + PE就是将MLPs的shifting操作方向改为W

Conv Stage+ Shifted Tok-MLP(H) + PE就是将MLPs的shifting操作方向改为W

Conv Stage+ Shifted Tok-MLP(H+W) + PE就是将MLPs的shifting操作方向改为H+W

sihft操作不会增加计算复杂度。所有的实验都是在ISIC数据集上进行单折实验。

通道数分析

channels数是影响网络参数、复杂度、性能主要超参。实验都是在ISIC一折上进行测试,通道数增加,性能肯定提升了,但是网络参数和性能也下降了。

 MLP-Mixer差异

网络使用MLP-Mixer关注于channel 和token的mixing来学习更好的表达,使用其他的MLP策略不但性能下降而且参数也增多了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值