0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于卷积多层感知器(MLP)改进U型架构的方法

工程师邓生 来源:GiantPandaCV 作者:李响 2022-09-22 09:44 次阅读

随着医学图像的解决方案变得越来越适用,我们更需要关注使深度网络轻量级、快速且高效的方法。具有高推理速度的轻量级网络可以被部署在手机等设备上,例如 POCUS(point-of-care ultrasound)被用于检测和诊断皮肤状况。这就是 UNeXt 的动机。

方法概述

之前我们解读过基于 Transformer 的 U-Net 变体,近年来一直是领先的医学图像分割方法,但是参数量往往不乐观,计算复杂,推理缓慢。这篇文章提出了基于卷积多层感知器(MLP)改进 U 型架构的方法,可以用于图像分割。设计了一个 tokenized MLP 块有效地标记和投影卷积特征,使用 MLPs 来建模表示。这个结构被应用到 U 型架构的下两层中(这里我们假设纵向一共五层)。

文章中提到,为了进一步提高性能,建议在输入到 MLP 的过程中改变输入的通道,以便专注于学习局部依赖关系特征。还有额外的设计就是跳跃连接了,并不是我们主要关注的地方。最终,UNeXt 将参数数量减少了 72 倍,计算复杂度降低了 68 倍,推理速度提高了 10 倍,同时还获得了更好的分割性能,如下图所示。

8030173e-3a17-11ed-9e49-dac502259ad0.png

UNeXt 架构

UNeXt 的设计如下图所示。纵向来看,一共有两个阶段,普通的卷积和 Tokenized MLP 阶段。其中,编码器和解码器分别设计两个 Tokenized MLP 块。每个编码器将分辨率降低两倍,解码器工作相反,还有跳跃连接结构。每个块的通道数(C1-C5)被设计成超参数为了找到不掉点情况下最小参数量的网络,对于使用 UNeXt 架构的实验,遵循 C1 = 32、C2 = 64、C3 = 128、C4 = 160 和 C5 = 256。

80978428-3a17-11ed-9e49-dac502259ad0.png

TokMLP 设计思路

关于 Convolutional Stage 我们不做过多介绍了,在这一部分重点专注 Tokenized MLP Stage。从上一部分的图中,可以看到 Shifted MLP 这一操作,其实思路类似于 Swin transformer,引入基于窗口的注意力机制,向全局模型中添加更多的局域性。下图的意思是,Tokenized MLP 块有 2 个 MLP,在一个 MLP 中跨越宽度移动特征,在另一个 MLP 中跨越高度移动特征,也就是说,特征在高度和宽度上依次移位。

论文中是这么说的:“我们将特征分成 h 个不同的分区,并根据指定的轴线将它们移到 j=5 的位置”。其实就是创建了随机窗口,这个图可以理解为灰色是特征块的位置,白色是移动之后的 padding。81e24656-3a17-11ed-9e49-dac502259ad0.png

解释过 Shifted MLP 后,我们再看另一部分:tokenized MLP block。首先,需要把特征转换为 tokens(可以理解为 Patch Embedding 的过程)。为了实现 tokenized 化,使用 kernel size 为 3 的卷积,并将通道的数量改为 E,E 是 embadding 嵌入维度( token 的数量),也是一个超参数。然后把这些 token 送到上面提到的第一个跨越宽度的 MLP 中。

这里会产生了一个疑问,关于 kernel size 为 3 的卷积,使用的是什么样的卷积层?答:这里还是普通的卷积,文章中提到了 DWConv(DepthWise Conv),是后面的特征通过 DW-Conv 传递。使用 DWConv 有两个原因:(1)它有助于对 MLP 特征的位置信息进行编码。MLP 块中的卷积层足以编码位置信息,它实际上比标准的位置编码表现得更好。像 ViT 中的位置编码技术,当测试和训练的分辨率不一样时,需要进行插值,往往会导致性能下降。(2)DWConv 使用的参数数量较少。

这时我们得到了 DW-Conv 传递过来的特征,然后使用 GELU 完成激活。接下来,通过另一个 MLP(跨越height)传递特征,该 MLP 把进一步改变了特征尺寸。在这里还使用一个残差连接,将原始 token 添加为残差。然后我们利用 Layer Norm(LN),将输出特征传递到下一个块。LN 比 BN 更可取,因为它是沿着 token 进行规范化,而不是在 Tokenized MLP 块的整个批处理中进行规范化。上面这些就是一个 tokenized MLP block 的设计思路。

此外,文章中给出了 tokenized MLP block 涉及的计算公式:


82026b48-3a17-11ed-9e49-dac502259ad0.png


其中 T 表示 tokens,H 表示高度,W 表示宽度。值得注意的是,所有这些计算都是在 embedding 维度 H 上进行的,它明显小于特征图的维度 HN×HN,其中 N 取决于 block 大小。在下面的实验部分,文章将 H 设置为 768。

实验部分

实验在 ISIC 和 BUSI 数据集上进行,可以看到,在 GLOPs、性能和推理时间都上表现不错。

8261084c-3a17-11ed-9e49-dac502259ad0.png

下面是可视化和消融实验的部分。可视化图可以发现,UNeXt 处理的更加圆滑和接近真实标签。

消融实验可以发现,从原始的 UNet 开始,然后只是减少过滤器的数量,发现性能下降,但参数并没有减少太多。接下来,仅使用 3 层深度架构,既 UNeXt 的 Conv 阶段。显着减少了参数的数量和复杂性,但性能降低了 4%。加入 tokenized MLP block 后,它显着提高了性能,同时将复杂度和参数量是一个最小值。

接下来,我们将 DWConv 添加到 positional embedding,性能又提高了。接下来,在 MLP 中添加 Shifted 操作,表明在标记化之前移位特征可以提高性能,但是不会增加任何参数或复杂性。注意:Shifted MLP 不会增加 GLOPs。

8261084c-3a17-11ed-9e49-dac502259ad0.png

一些理解和总结

在这项工作中,提出了一种新的深度网络架构 UNeXt,用于医疗图像分割,专注于参数量的减小。UNeXt 是一种基于卷积和 MLP 的架构,其中有一个初始的 Conv 阶段,然后是深层空间中的 MLP。具体来说,提出了一个带有移位 MLP 的标记化 MLP 块。在多个数据集上验证了 UNeXt,实现了更快的推理、更低的复杂性和更少的参数数量,同时还实现了最先进的性能。

我在读这篇论文的时候,直接注意到了它用的数据集。我认为 UNeXt 可能只适用于这种简单的医学图像分割任务,类似的有 Optic Disc and Cup Seg,对于更复杂的,比如血管,软骨,Liver Tumor,kidney Seg 这些,可能效果达不到这么好,因为运算量被极大的减少了,每个 convolutional 阶段只有一个卷积层。MLP 魔改 U-Net 也算是一个尝试,在 Tokenized MLP block 中加入 DWConv 也是很合理的设计。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编解码器
    +关注

    关注

    0

    文章

    253

    浏览量

    24206
  • 感知器
    +关注

    关注

    0

    文章

    34

    浏览量

    11830
  • MLP
    MLP
    +关注

    关注

    0

    文章

    57

    浏览量

    4228

原文标题:MICCAI 2022:基于 MLP 的快速医学图像分割网络 UNeXt

文章出处:【微信号:GiantPandaCV,微信公众号:GiantPandaCV】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    探讨下深度学习在嵌入式设备上的应用

    下面来探讨下深度学习在嵌入式设备上的应用,具体如下:1、深度学习的概念源于人工神经网络的研究,包含多个隐层的多层感知器(MLP) 是一种
    发表于 10-27 08:02

    如何使用Keras框架搭建个小型的神经网络多层感知器

    本文介绍了如何使用Keras框架,搭建个小型的神经网络-多层感知器,并通过给定数据进行计算训练,最好将训练得到的模型提取出参数,放在51单片机上进行运行。
    发表于 11-22 07:00

    基于MLP的快速医学图像分割网络UNeXt相关资料分享

    缓慢。这篇文章提出了基于卷积多层感知器MLP改进 U
    发表于 09-23 14:53

    介绍一种用于密集预测的mlp架构CycleMLP

    MLP-Mixer, ResMLP和gMLP,其架构与图像大小相关,因此在目标检测和分割中是无法使用的。而CycleMLP有两个优点。(1)可以处理各种大小的图像。(2)利用局部窗口实现了计算复杂度
    发表于 02-09 16:28

    文详解CNN

    。对应数学模型的输出。 多层感知器MLP): 单层的感知器只能解决些简单的线性问题,面对复杂的非线性问题束手无策,考虑到输入信号需要经过
    发表于 08-18 06:56

    一种基于压缩感知改进全变分图像去噪方法

    一种基于压缩感知改进全变分图像去噪方法_徐立军
    发表于 01-07 19:08 2次下载

    一种改进的基于卷积神经网络的行人检测方法

    为了在行人检测任务中使卷积神经网络(CNN)选择出更优模型并获得定位更准确的检测框,提出一种改进的基于卷积神经网络的行人检测方法
    发表于 12-01 15:23 0次下载
    <b class='flag-5'>一种</b><b class='flag-5'>改进</b>的基于<b class='flag-5'>卷积</b>神经网络的行人检测<b class='flag-5'>方法</b>

    人工智能–多层感知器基础知识解读

    感知器(Perceptron)是ANN人工神经网络的个概念,由Frank Rosenblatt于1950s第次引入。 MLP多层
    发表于 07-05 14:45 6081次阅读

    上海逻迅官网资讯:门磁感知器SG6AD系统架构方案有哪些?

    上海逻迅官网资讯:门磁感知器SG6AD系统架构方案有哪些? 门磁感知器SG6AD是逻迅公司研发生产的一种应用于物联网智能监测感知器。通过磁性
    发表于 04-24 10:09 882次阅读

    解读CV架构回归多层感知机;自动生成模型动画

    本周的重要论文包括来自谷歌大脑的研究团队提出了一种舍弃卷积和自注意力且完全使用多层感知机(MLP)的视觉网络
    的头像 发表于 05-13 10:36 2089次阅读
    解读CV<b class='flag-5'>架构</b>回归<b class='flag-5'>多层</b><b class='flag-5'>感知</b>机;自动生成模型动画

    多层感知机(MLP)的设计与实现

    多层感知机(Multilayer Perceptron)缩写为MLP,也称作前馈神经网络(Feedforward Neural Network)。它是一种基于神经网络的机器学习模型,通
    的头像 发表于 03-14 11:31 6672次阅读
    <b class='flag-5'>多层</b><b class='flag-5'>感知</b>机(<b class='flag-5'>MLP</b>)的设计与实现

    PyTorch教程5.2之多层感知器的实现

    电子发烧友网站提供《PyTorch教程5.2之多层感知器的实现.pdf》资料免费下载
    发表于 06-05 15:32 0次下载
    PyTorch教程5.2之<b class='flag-5'>多层</b><b class='flag-5'>感知器</b>的实现

    使用多层感知器进行机器学习

    我们将使用个极其复杂的微处理来实现个神经网络,该神经网络可以完成与由少数晶体管组成的电路相同的事情,这个想法有些幽默。但与此同时,以这种方式思考这个问题强调了单层感知器作为
    的头像 发表于 06-24 11:17 522次阅读
    使用<b class='flag-5'>多层</b><b class='flag-5'>感知器</b>进行机器学习

    多层感知器、全连接网络和深度神经网络介绍

    多层感知器MLP)、全连接网络(FCN)和深度神经网络(DNN)在神经网络领域中扮演着重要角色,它们之间既存在紧密联系,又各具特色。以下将从定义、结构、功能及应用等方面详细阐述这三者之间的关系。
    的头像 发表于 07-11 17:25 3036次阅读

    多层感知器的基本原理

    多层感知器MLP, Multi-Layer Perceptron)是一种前馈神经网络,它通过引入个或多个隐藏层来扩展单层
    的头像 发表于 07-19 17:20 675次阅读