论文阅读Rolling-Unet,卷积结合MLP的图像分割模型
这篇论文提出了一种新的医学图像分割网络Rolling-Unet,目的是在不用Transformer的前提下,能同时有效提取局部特征和长距离依赖性,从而在性能和计算成本之间找到良好的平衡点。
论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/28173
1,动机(Motivation)
现阶段主流医学图像分割模型大多基于CNN和Transformer,作者认为CNN和Transformer都有缺陷。CNN难以捕捉长距离依赖性,而Transformer计算复杂度高,局部特征学习能力差。
作者认为现有的结合CNN和Transformer的方法尚未能在性能和计算成本之间找到良好的平衡点。
而MLP拥有代替Transformer提取全局特征的潜力。
下面,我们按照惯例从粗到细来拆解这个模型。
2,模型整体结构:
模型整体结构如下,是一个经典的U型编码器-解码器结构,只不过编码器分支最后一个模块,解码器分支第一个模块以及瓶颈层被替换成了全新的Lo2块(Long-Local Block)。

3,Lo2块(Long-Local Block)
Lo2模块的整体结构如下所示

该模块以并行的DOR-MLP(Double Orthogonal Rolling MLP)模块和深度可分离卷积(DSC)模块组成,以同时捕获局部上下文信息和长距离依赖性。两个子模块的特征拼接后,通过Channel-mixing进一步融合,这一步骤有助于不同通道间的特征交互,增强特征表达能力。
(补充:Channel-mixing是MLP-Mixer架构中提出的一种技术,用于实现不同通道之间的特征融合。它是一种替代传统卷积操作的手段,特别是在全连接或混合维度特征的场景中。Channel-mixing首先将特征张量在高度和宽度上进行展平,使得每个通道的特征成为一维向量。然后,对每个通道的特征向量应用一个线性变换,通常是一个全连接层,并可能跟随一个非线性激活函数,如GELU。Channel-mixing的作用类似于1x1卷积,它允许网络在不增加太多计算负担的情况下,学习特征的跨通道交互。)
4,DOR-MLP模块
结构如下:

DOR-MLP模块通过并行化两个互补的OR-MLP(Orthogonal Rolling MLP)模块来捕获四个方向(水平、垂直、对角正向和对角负向)的长距离依赖性。
过程具体如下:
1)每个OR-MLP都有两个方向正交的R-MLP模块也就是一个在垂直方向做Rolling操作,一个在水平方向做。从而可以捕获两个长距离依赖。
2)两个并行的OR-MLP中的R-MLP顺序不同,第一个OR-MLP模块先在水平方向上应用R-MLP,然后在垂直方向上应用R-MLP;第二个OR-MLP模块先在垂直方向上应用R-MLP,然后在水平方向上应用R-MLP。这样,每个OR-MLP模块都能捕获两个正交方向上的依赖性,形成对角线方向的感知能力。
3)在每个OR-MLP中还有残差连接,以增强模型的学习能力和避免梯度消失问题。
4)并行处理后,两个OR-MLP模块的输出沿着通道维度进行拼接,以获得不同方向的特征表示。
5)之后,特征会经过LayerNorm和Channel-mixing,Channel-mixing是一种特征融合技术,具体原理和细节我在文章第三段已经介绍了,这里就不讲了。
5,R-MLP模块
1)R-MLP模块对每个通道层的特征图沿相同方向执行Rolling操作。Rolling操作包括以下两个步骤:移位和裁剪。

在移位步骤中,特征图会根据移位步长 k在水平方向上进行移动。移位可以是向左或向右,具体取决于 k的正负值。移位后的每个通道的特征图可能会超出原始特征图的边界。裁剪步骤会去除这些多余的部分,并将缺失的部分补充回到另外一边,确保所有通道的特征图在宽度上对齐。
如果这里没看懂rolling的原理和如何发挥作用的,请移步文章最后一个段落,看看我的解释。
2)接着,在Rolling操作之后,R-MLP在每个空间位置索引 (hi,wj) 上执行带有权重共享的通道投影,以编码长距离依赖性。
通道投影是指在特征矩阵的每个空间位置(即图像的每个像素位置)上,对所有通道的特征进行线性变换,以生成新的特征表示。通道投影的目的是将Rolling操作后的多通道特征进行整合和编码,以捕获长距离依赖性。
在Rolling操作之后,每个空间位置的特征图可能会有不同的宽度或高度特征。通道投影通过在每个空间位置应用一个线性变换(通常是一个全连接层或线性层),将这些特征投影到一个新的特征空间中。这个线性变换可以是参数化的,允许网络在训练过程中学习到最优的投影方式。在R-MLP中,所有空间位置的通道投影共享相同的权重,这意味着无论特征图的大小如何,参数的数量保持不变。这有助于减少模型的参数量并提高计算效率。
3)在通道投影之后,通常会应用一个非线性激活函数(如GELU),以引入非线性特性。
6,我对rolling的理解
首先,我们要明确,这个模型并没有用自注意力或者协方差这类的矩阵乘法,而是用的取一个坐标的所有channel维特征做线性变换。
那么,如果不用rolling,它就不能计算到特征图上每个点跟其他所有点的相关性。而最多只能计算到处在水平或垂直线上的点之间的相关性。
理解的关键还是下面这个图,不同颜色深浅其实代表的是原始的位置。
rolling之后,我们取一个坐标点(h,w)的所有channel,其实取的已经不完全是原始的(h,w)对应的值了。我们可以看到颜色已经混了。这代表同一索引在不同channel已经混合了其他位置坐标的值。因此,通过线性变换,可以计算出不同坐标像素之间的相关性。

相关文章:
论文阅读Rolling-Unet,卷积结合MLP的图像分割模型
这篇论文提出了一种新的医学图像分割网络Rolling-Unet,目的是在不用Transformer的前提下,能同时有效提取局部特征和长距离依赖性,从而在性能和计算成本之间找到良好的平衡点。 论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/2…...
Linux Shell命令vim使用
一、引例 以判断引出(学过C其他语言容易接受)。 简单命令说明: -e 测试文件是否存在 -f 测试文件是否为普通文件 -d 测试文件是否为目录 -r 测试当前用户对某文件是否具有“可读”权限 -w 测试当前用户对某文件是否具有“可写”权限…...
如何将 API 管理从 Postman 转移到 Apifox
上一篇推文讲到用 Swagger 管理的 API 怎么迁移到 Apifox,有许多同学反馈说能不能介绍一下 Postman 的迁移以及迁移过程中需要注意的事项。那么今天,它来了! 从 Postman 迁移到 Apifox 的方法有两种: 导出 Postman 集合 &#x…...
用链表实现的C语言队列
一、队列概述 在数据结构中,队列是一种先进先出(FIFO)的线性表。它在许多应用场景中非常有用,例如任务调度、进程管理、资源管理等。队列是一种重要的数据结构,其主要特点是先进先出(FIFO, First In First …...
国产SDI视频均衡驱动器,功能与 LMH0387/LMH0344 一致
视频均衡驱动器,功能与 LMH0387 一致、LMH0344。本期间支持 DVB-ASI,作为驱动器能够选择输出速率,作为均衡接收器能支持100m以上传输距离(线缆类型Belden 1694A)。最大支持3Gbps 速率的信号 2 产品特征 a)…...
如何用Xinstall CPS结算系统打破传统营销桎梏,实现用户增长?
在互联网流量红利逐渐衰退的今天,App推广和运营面临着前所未有的挑战。如何快速搭建起满足用户需求的运营体系,成为了众多企业急待解决的问题。而在这个关键时刻,Xinstall CPS结算系统应运而生,以其独特的优势帮助企业解决了一系列…...
(代数:解一元二次方程)可以使用下面的公式求一元二次方程 ax2+bx+c0 的两个根:
(代数:解一元二次方程)可以使用下面的公式求一元二次方程 ax2bxc0 的两个根: b2-4ac 称作一元二次方程的判别式。如果它是正值,那么一元二次方程就有两个实数根。 如果它为 0,方程式就只有一个根。如果它是负值,方程式无实根。 编写程序,提示…...
如何提高网站收录?
GSI服务就是专门干这个的,这个服务用的是光算科技自己研发的GPC爬虫池系统。这个系统通过建立一个庞大的站群和复杂的链接结构,来吸引谷歌的爬虫。这样一来,你的网站就能更频繁地被谷歌的爬虫访问,从而提高被收录的机会。 说到效…...
Docker 学习总结(83)—— 配置文件daemon.json介绍及优化建议
一、daemon.json 文件概述 daemon.json是Docker守护进程的配置文件,它允许系统管理员自定义Docker守护程序的行为。此文件通常位于/etc/docker/目录下。通过修改daemon.json,可以调整Docker守护进程的多种设置,包括网络配置、日志记录、存储驱动等。 二、daemon.json 文件结…...
Javaweb04-Servlet技术2(HttpServletResponse, HttpServletRequest)
Servlet技术基础 HttpServletResponse对象 HttpServletResponce对象是继承ServletResponse接口,专门用于封装Http请求 HttpServletResponce有关响应行的方法 方法说明功能描述void setStatus(int stauts)用于设置HTTP响应消息的状态码,并生成响应状态…...
chat gpt基本原理解读
chat gpt基本原理解读 ChatGPT是一种基于生成式预训练变换器(Generative Pre-trained Transformer, GPT)的对话模型,主要通过大量的文本数据训练生成自然语言回复。以下是ChatGPT的基本原理解读: 1. 基本架构 ChatGPT 是基于 GPT…...
单目标应用:基于蛇鹫优化算法SBOA的微电网优化(MATLAB代码)
一、微电网模型介绍 微电网多目标优化调度模型简介_vmgpqv-CSDN博客 参考文献: [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、蛇鹫优化算法求解微电网 2.1算法简介 蛇鹫优化算法(Secre…...
MySQL系列-安装配置使用说明(MAC版本)
1、前言 本文将介绍MySQL的安装配置以及基本语法操作说明 环境:mac 版本:MySQL 8.0.28 之前电脑安装卸载过,后面在装的时候遇到一些问题,用了四五天才解决,主要是参考 https://blog.csdn.net/zz00008888/article/deta…...
vue elementui el-input 正则验证,限制只能输入数字和小数
vue elementui el-input 正则验证 限制只能输入数字和小数,以下两种方法都可以: 1、οninput“value value.replace(/[^0-9.]/g,‘’)” 2、οninput“value value.replace(/[^\d.]/g, ‘’)” 限制只能输入数字: 1、oninput “valuevalu…...
强化学习入门
简介 强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化…...
简约不简单,建筑装饰演绎现代美学
走在城市的大街小巷,你是否曾被那些独特而精美的建筑装饰所吸引?每一栋建筑都像是艺术家的杰作,通过精美的装饰诉说着它的故事。 我们的建筑装饰,不仅注重外在的美观,更追求内在的品质。从古典的雕花到现代的简约线条&…...
SpringBoot调用WebService的实践
作者所在公司的系统间的信息交互是通过webservice完成。如:MES与SAP的交互,MES与WMS的交换,MES与SRM的交互,MES与IOT的交互等。 MES是用.NET VS2008 C#写的,调用webservice很简单,这里不再赘述。如有想了解…...
源码编译构建LAMP
Apache 起源 源于A Patchy Server,著名的开源Web服务软件1995年时,发布Apache服务程序的1.0版本由Apache软件基金会(ASF)负责维护最新的名称为“Apache HTTP Server”官方站点:http://httpd.apache.org/ 主要特点 开发源代码/…...
搜索是门艺术,大神都是这样找资源
以下所有资源均可在星云导航找到,网站地址:https://www.xygalaxy.com/ 浏览器搜索高级用法 1、排除干扰,指定关键词 1.1、排除指定关键字 格式:关键字1 -关键字2比如搜索:星云导航,不想要CSDN的内容 星…...
【设计模式深度剖析】【5】【行为型】【迭代器模式】
👈️上一篇:策略模式 | 下一篇:中介者模式👉️ 设计模式-专栏👈️ 文章目录 迭代器模式定义英文原话直译如何理解呢? 迭代器模式的角色1. Iterator(迭代器)2. ConcreteIterator(具体迭代器…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
