UNeXt:基于 MLP 的快速医学图像分割网络

news2024/11/15 10:59:19

UNeXt是约翰霍普金斯大学在2022年发布的论文。它在早期阶段使用卷积,在潜在空间阶段使用 MLP。通过一个标记化的 MLP 块来标记和投影卷积特征,并使用 MLP 对表示进行建模。对输入通道进行移位,可以专注于学习局部依赖性。

UNeXt

基本架构

UNeXt 是一种编码器-解码器架构,具有两个阶段:

1、卷积阶段,2、标记化 MLP 阶段。

输入图像通过编码器,前 3 个块是卷积块,接下来的 2 个是标记化 MLP 块。

解码器有 2 个标记化 MLP 块,后跟 3 个卷积块。

每个编码器块使用具有窗口 2×2 的最大池化层将特征分辨率降低 2,每个解码器块使用双线性插值将特征分辨率增加 2。编码器和解码器之间也包含跳过连接。每个块的通道数是一个超参数,表示为 C1 到 C5。在实验中,除非另有说明,否则 C1=32、C2=64、C3=128、C4=160 和 C5=256。

每个卷积块时标准的一个卷积层、一个批量归一化层和 ReLU 激活层。内核大小为 3×3,步长为 1。

带位移的 MLP

conv特征的通道轴线在标记(Tokenized)之前首先移位。这有助于MLP只关注conv特征的某些位置,从而诱导块的局部性。论文作者说,这里与Swin Transformer类似。由于Tokenized MLP块有2个MLP,因此特征在一个块中跨宽度移动,在另一个块中跨高度移动,就像Axial-DeepLab中的轴向注意力一样。这样特征被分割到h个不同的分区,并根据指定的轴移动j=5个位置。

标记化(Tokenized) MLP阶段

首先使用大小为 3 的内核将通道数更改为嵌入维度 E(标记数)。然后将这些标记令牌传递给一个带移位的MLP(跨宽度),其中包含MLP的隐藏维度,默认H=768。

接下来,使用深度卷积层(DWConv)。它有助于对位置信息进行编码,像SegFormer中所建议的,当训练/测试分辨率不同时,它比ViT具有更好的性能。并且它使用更少的参数,可以提高了效率。

激活函数使用GELU,因为在ViT和BERT在使用GELU的情况下表现更好。

特征通过另一个移位的MLP(跨高度)传递,该MLP将维度从H转换为O。

最后还是用了残差连接将原始标记令牌添加到残差。然后使用层归一化(LN),将输出特征传递给下一个块。

损失函数

使用二元交叉熵(BCE)和dice 损失的组合:

结果展示

SOTA对比

UNeXt获得了比所有基线更好的分割性能,计算量比第二的TransUNet少得多。UNeXt在计算复杂度方面明显优于所有其他网络。

swing - unet(图中未显示)有41.35 M个参数,计算也很复杂有11.46 GFLOPs。

作者还实验了MLP-Mixer作为编码器和普通卷积解码器,它只有大约11M个参数,但是分割的性能不是最优的。

定性结果

与其他方法相比,UNeXt产生了具有竞争力的分割预测。

消融实验

当深度减小,仅使用3级架构,也就是说只使用Conv阶段时,参数数量和复杂度显著减少,但性能下降4%。当使用标记化的MLP块时,它可以显着提高性能。

增加通道(UNeXt-L)进一步提高了性能,同时增加了计算开销。减少通道(UNeXt-S)会降低性能(降低幅度并不大),但我们得到了一个非常轻量级的模型。

论文:
https://avoid.overfit.cn/post/addeb0eacf624e4b92e0c9775c40fb0a

本文作者:Sik-Ho Tsang

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/498472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

考研数学高数1-1综合测试-函数及其性质

今天听完强化课之后去做学习包的题,发现没带平板,如果写到纸上,塞到书里又不知道去哪了,所以索性就拿Latex写了,虽然有一点麻烦,但是好在数量不多,就这么写吧。 都是我自己写的过程,…

第三十八章 Unity GUI系统(下)

上一章节我们将了UI的锚点,关于锚点我们只讲了一半,因为锚点并不只是一个点,它还可以是一个矩形。 我们可以将锚点拆开(鼠标选中后拖动),也就是将“四瓣雪花”拆成“四瓣”。那么此时锚点就成为一个矩形。我…

00-docker篇: linux系统安装docker操作 (最实用的操作)

目录 1. docker 简介 -> 简易理解: -> docker是否有自己仓库呢 -> docker 是靠什么运行呢 -> 简单说点docker优点 2. linux安装docker ps: 如果是新服务器 请直接看2. 3 -> 2.1: 查看内核版本: -> 2.2 如果有残留docker, 删除指令 -> 2.3 yu…

2023年全国职业院校技能大赛网络建设与运维-网络运维部分

全国职业院校技能大赛 网络建设与运维 五、网络运维 某单位网络拓扑架构如下,交换机连接两台服务器,其中Server1服务器是数字取证服务器,Server2服务器是应急响应服务器,通过交换设备相连,通过路由设备连接到安全设…

Portraiture4最新版滤镜P图一键磨皮插件

今天coco玛奇朵给大家带来了一款ps磨皮插件,超级简单好用。Portraiture 滤镜是一款 Photoshop,Lightroom 和 Aperture 插件,DobeLighttroom 的 Portraiture 消除了选择性掩蔽和逐像素处理的繁琐的手工劳动,以帮助您在肖像修整方面…

如何使用 ChatGPT 来快速编写产品需求文档(PRD)

PRD 生成 ChatGPT 即了解具体的编程知识,也了解编程之前的需求设计过程。因此产品经理也可以使用 ChatGPT 来快速编写PRD(产品需求文档, production requirement documentation)。 根据需求编写 PRD 首先,我们可以尝试把需求交给 ChatGPT,…

模型如何压缩?使用轻量化的模型压缩技术剪枝(pruning)

深度学习模型参数太多,本地服务器部署没有问题,但是如果部署到移动端、边缘端,像手机、树莓派等,它们的性能不能满足,所以我们要压缩模型大小,让他们可以部署到边缘端 模型压缩:使用轻量化的模型…

Redis 布隆过滤器总结

Redis 布隆过滤器总结 适用场景 大数据判断是否存在来实现去重:这就可以实现出上述的去重功能,如果你的服务器内存足够大的话,那么使用 HashMap 可能是一个不错的解决方案,理论上时间复杂度可以达到 O(1) 的级别,但是…

Flutter 开发的那些小细节

Flutter 创建应用的小注意 包名 每当创建一个新的 Flutter 应用时,一些 Flutter IDE 插件会请你输入一个类似 com.example 的包名,包名(在 iOS 里叫 Bundle ID)一般都是公司域名的反写。如果你的应用打算上架商店,建…

NetApp 7-mode下Autosupport日志的收集

前面介绍过NetApp Cluster mode下autosupport日志的收集方法,最近遇到很多7-mode下客户扔出一个有故障指示灯的照片,然后让你判断问题的case。NetApp没有一个命令能很清晰的把所有的和硬件有关的问题列出来的命令。客户随之就说,要不输入一条…

【操作系统OS】学习笔记第三章 内存管理【哈工大李治军老师】

基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记&#xff0c;仅进行交流分享。 特此鸣谢李治军老师&#xff0c;操作系统的神作&#xff01; 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0…

《机器学习算法竞赛实战》-chapter6模型融合

模型融合 模型融合常常是竞赛取得胜利的关键&#xff01; 具有差异性的模型融合往往能给结果带来很大的提升。虽然并不是每次使用模型融合都能起到很大的作用&#xff0c;但是就平常的竞赛经验而言&#xff0c;尤其是在最终成绩相差不大的情况下&#xff0c;模型融合的方法往往…

法规标准-GB/T 39265标准解读(2020版)

GB/T 39265是做什么的&#xff1f; GB/T 39265全名为道路车辆 盲区检测系统性能要求及试验方法&#xff0c;其中主要是对BSD系统的性能要求及测试步骤进行了介绍。本文仅解读M1、N1类车辆相关内容。 一般要求 系统开启与关闭 1.BSD系统应具备手动开启和关闭的功能 2.手动关…

巧用 exports 和 typeVersions 提升 npm 包用户使用体验

默认导出 对于开发一个 JavaScript 三方库供外部使用而言&#xff0c;package.json是其中不可缺少的一部分 一般而言&#xff0c;对于库开发者来说&#xff0c;我们会在package.json中指定我们的导出入口。一般而言会涉及两个字段main和export&#xff0c;它们会涉及到当前模…

开关电源基础03:正激和反激开关电源拓扑(2)-半桥和全桥拓扑

说在开头&#xff1a;关于薛定谔的波动方程&#xff08;3&#xff09; 波动方程在矩阵派的内部也大受欢迎&#xff0c;首先是海森堡的老师索末菲&#xff0c;然后是建立矩阵力学的核心人物之一的另一位老师&#xff1a;马克思.玻恩。玻恩在薛定谔方程刚出来时就赞扬了他的成就…

宕机了?!DolphinScheduler 高可用和 Failover 机制关键时刻保命

点击蓝字 关注我们 高可用性是 Apache DolphinScheduler 的特性之一。它通过冗余来避免单点问题&#xff0c;所有组件天然支持横向扩容&#xff1b;但仅仅保证了冗余还不够&#xff0c;当系统中有节点宕机时&#xff0c;还需要有故障转移机制能够自动将宕机节点正在处理的工作转…

【react 全家桶】高级指引(上)

本人大二学生一枚&#xff0c;热爱前端&#xff0c;欢迎来交流学习哦&#xff0c;一起来学习吧。 <专栏推荐> &#x1f525;&#xff1a;js专栏 &#x1f525;&#xff1a;vue专栏 &#x1f525;&#xff1a;react专栏 文章目录 12 【react高级指引&#xff08;上&…

I.MX6Q-SDB开发板移植ubuntu

I.MX6Q-SDB开发板移植ubuntu 0.前言一、准备工作二、ubuntu移植1.下载ubuntu发布的根文件系统2.根文件系统的简单修改3.板卡适配设置4.打包根文件系统 三、烧写镜像1.dd命令2.uuu工具3.mfgtool工具4.i.mx6q-sdb的拨码设置&#xff1a; 四、大无语事件 0.前言 这两天收拾杂货堆&…

密码学【java】初探究加密方式之数字签名

文章目录 前言1 数字签名简介2 基本原理3 数字证书4 网页加密5 edge的网站连接图标6 代码实现7 keytool工具使用7.1 常用命令&#xff1a;7.2 生成私钥公钥[未实践成功]7.3 导出公钥 前言 有关keytool的使用部分&#xff0c;未实现&#xff0c;先记录下来&#xff01;&#xf…

『python爬虫』12. 模拟登陆之cookie的使用(保姆级图文)

目录 session1. 模拟登陆取得cookie2. 在登录的情况下继续取得书架上的数据3. 在已经有cookie的情况下直接请求总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 session session和我们之前用的request十分相似&…