U-MixFormer:用于高效语义分割的类unet结构的混合注意力Transformer

news2024/9/22 5:39:38

论文:

代码:GitHub - RecklessRonan/MuSE

感觉这篇比较优雅无痛涨点欸.....最近要期末了没时间看文章和做实验了(摊

摘要

语义分割在Transformer架构的适应下取得了显著的进步。与Transformer的进步并行的是基于CNN的U-Net在高质量医学影像和遥感领域的重大进展。这两种双赢激发了作者将它们的优势结合起来,从而诞生了一种专为高效语义编码的U-Net基础视觉Transformer解码器。在这里,作者提出了一种新的Transformer解码器U-MixFormer,它基于U-Net结构,用于高效的语义分割。作者的方法通过利用编码器和解码器阶段之间的横向连接作为注意力模块的特征 Query ,除了依赖跳接的传统方式。此外,作者还创新地将来自不同编码器和解码器阶段的层次特征图混合,形成一个统一的表示形式,用于Key和Value,从而产生作者独特的_mix-attention_模块。

作者的方法在各种配置下都展示了最先进的性能。大量实验表明,U-MixFormer在SegFormer、FeedFormer和SegNet之上取得了巨大的优势。例如,U-MixFormer-B0在mIoU方面分别比SegFormer-B0和FeedFormer-B0提高了3.8%和2.0%,且计算量减少了27.3%,同时比SegNext提高了3.3%的mIoU,在MSCAN-T编码器在ADE20K上的表现。

背景

主要贡献

1. 基于U-Net的新型解码器结构

我们提出了一种新的强大的转换-解码器架构,该架构由U-Net驱动,用于高效的语义分割。利用U-Net在捕获和传播层次特征方面的熟练程度,我们的设计独特地使用了Transformer编码器的横向连接作为查询特征。这种方法确保了高级语义和低级结构的和谐融合。

2. 优化特征合成,增强上下文理解

类似unet的转换器架构,我们混合和更新多个编码器和解码器输出作为键和值的集成功能,从而产生我们提出的混合注意机制。丰富每个解码器阶段的特征表示,但也提高了上下文理解

3. 兼容不同的编码器

我们演示了U-MixFormer与基于变压器(MiT和LVT)和基于cnn (MSCAN)编码器的现有流行编码器的兼容性。

4. 基准测试经验

如图1所示,在语义分割方法中,UMixFormer在计算成本和准确性方面都达到了新的水平。它始终优于轻量级、中型甚至重型编码器。ADE20K和cityscape数据集证明了这种优势,在具有挑战性的Cityscape-C数据集上表现显著。

相关工作

Encoder Architectures

SETR是第一个将ViT作为语义分割的编码器架构。由于ViT仅将输入图像划分为 Patch ,SETR产生了单 Scale 编码器特征。PVT和Swin Transformer在编码器阶段之间重复将特征图分组到新的非重叠 Patch 中,从而分级生成多 Scale 编码器特征。这两种方法也通过减少Key和Value的空间维度(PVT)或使用位移窗口组(Swin Transformer)来增强自注意力模块的效率。SegFormer重用了PVT的效率策略,同时删除了位置编码和嵌入特征图到重叠 Patch 中。与上述方法不同,SegNeXt和LVT的编码器采用了卷积注意力机制。

Decoder Architectures

DETR是第一个将Transformer解码器用于语义分割的方法。随后的作品改编了DETR,但仍然依赖于可学习的 Query ,这在计算上是昂贵的,特别是与多尺度编码器特征相结合时。相比之下,FeedFormer直接使用编码器阶段的特征作为特征 Query ,从而提高了效率。FeedFormer解码使用最低级别的编码器特征(作为 Query 特征)和最高级别的编码器特征。然而,这种设置处理特征图逐个,没有在解码器阶段之间逐步传播特征图,因此错过了改进目标边界检测的机会。此外,其他最近的MLP或CNN基解码器也缺乏解码器特征的逐步传播

UNet-like Transformer

人们已经尝试将UNet架构从基于卷积神经网络(CNN)的框架转变为基于Transformer的框架。TransUNet是首次成功将Transformer引入医学图像分割的方法,它使用ViT与他们的CNN编码器相结合。Swin-UNet,这是第一个完全基于Transformer的UNet类似架构。该设计具有用于编码器和解码器的重型Swin Transformer阶段,保留了它们之间的横向连接作为跳接连接。与Swin-UNet相比,我们采用轻量级解码器阶段,使其适合更广泛的下游任务。此外,我们将横向连接解释为 Query 特征而不是跳接连接,并融入了一种独特的注意力机制。

方法

模型结构

一般来说,我们的解码器由多个阶段i∈{1,…,N},因为有编码器阶段。为了清晰起见,图2提供了该体系结构的可视化概述,并举例说明了一个四阶段(N = 4)分层编码器,如MiT、LVT或MSCAN。

首先,编码器处理输入H×W×3(channel)的图像. 四个阶段i∈{1,…, 4}生成分层、多分辨率特征Ei其次,我们的解码器阶段依次生成精细的特征D4-i+1通过执行混合注意,其中的特征用于查询Xq i 等于各自的横向编码器特征图。键和值的特性Xkv i 由编码器和解码器阶段混合给出。值得注意的是,我们的解码器反映了编码器级输出的尺寸。第三,使用双线性插值对解码器特征进行上采样,以匹配D1的高度和宽度。最后,对拼接后的特征进行MLP处理,以H/4 ×W/4 × 3预测分割图。

Mix-Attention混合注意力

Transformer 块中使用的注意力模块计算查询Q,键K和值V的缩放点积注意力,如下所示:

其中dk为键的嵌入维数,Q、K、V由所选特征的线性投影得到。我们方法的核心是选择要投射到键和值上的特征,这导致了我们提出的混合注意机制。传统的自注意力、交叉注意和新型混合注意之间的比较从左到右如图3所示。

在自注意力中,用于生成查询、键和值的特征是相同的(Xqkv),并且来自相同的来源,即相同的编码器/解码器阶段。交叉注意采用两个不同的特征,Xq和Xkv,每一个都来自一个独特的来源。相比之下,我们的混合注意机制利用了来自多个多尺度阶段的Xkv的混合特征。这个概念允许查询在所有不同的阶段找到匹配,即上下文粒度的程度,从而促进增强的功能细化。我们在消融研究部分的实验验证了这种方法的有效性。

对解码器阶段i的特征集Fi的选择分段形式化如下↓ 其中,对于第一解码器阶段(i = 1),选择所有编码器特征。对于后续阶段,先前计算的解码器阶段输出通过替换Fi中的横向编码器对等体来传播

为了对齐Fi中特征的空间维度,我们采用了Wang等人(2021)引入的空间约简程序:式中,Fi j为特征集Fi的第j个元素,prj 为特征映射 FiN的大小与最小特征映射FiN对齐的池化比率。AvgPool操作配置为AvgPool(kernelSize, stride)(·),Linear(Cin, Cout)(·)

空间对齐的特征沿着通道维度连接,形成键和值的混合特征。

Decoder Stage 

我们通过抛弃自注意模块来调整传统的Transformer解码器块。此外,我们将交叉注意模块替换为我们提出的混合注意模块。得到的结构如图4所示。

采用层归一化(LN)和前馈网络 (FFN), DecoderStage i的输出计算如下↓ MixAtt的地方。表示我们提出的的混合注意

Relationship to U-Net Architectures

我们的方法和其他类似unet的变体之间的主要区别:

•因为我们将横向连接视为查询的特征,我们的解码器特征映射隐式地增加了空间分辨率,而不需要在解码器阶段之间显式上采样。

•我们的方法使用所有解码器阶段来预测分割图,而不仅仅是最后一个。

•最后一个解码器阶段的特征图产生H/4, W/4的分辨率,而其他的恢复原来的空间分辨率H, W。(其实我之前读过有篇文章有刻意去琢磨恢复方法,至少在医学图像这种对于分辨率要求很高的任务我个人认为还是要恢复哦)

实验

数据集

ADE20K(2017)

Cityscapes(2016)

实现细节

encoder backbone

为了评估UMixFormer在各种编码器复杂性中的多功能性,我们合并了三个不同的编码器骨干:

Mix Transformer(MiT) (Xie et al. 2021),

Light Vision Transformer  (LVT) (Yang et al. 2022)

multi-scale convolutional attention-based encoder (MSCAN) (Guo et al. 2022). (这个结构出自于segnext,我以前也记过笔记SegNeXt:重新思考语义分割中卷积注意力设计-CSDN博客)

详细地说,我们将MiT-B0、LVT和MSCAN-T用于我们的轻量级变体,将MiT-B1/2和MSCAN-S用于中型架构,而较重的变体包括MiT-B3/4/5。

embedding

在最后的MLP阶段,轻量级模型的嵌入维度为128,其他模型的嵌入维度为768。补充材料第A.1节提供了关于培训和评价环境的额外信息。

实验结果

state of art对比

ADE20K表现

 

 定性结果

消融实验

重量级encoder性能对比

如表2所示,当与相同的重型编码器配对时,UMixFormer优于SegFormer,特别是MiT-B3/4/5。例如,在ADE20K上,U-MixFormer-B3的mIoU收益率为49.8%,GFLOPs仅为56.8。这表明与SegFormer-B3相比,mIoU提高了0.4%,计算减少了28.1%。我们还假设,扩大模型大小(从MiT-B0改为MiT-B5)将允许从编码器阶段提取更丰富的上下文信息,从而潜在地提高性能。出于这个原因,我们训练和评估了重权重模型变体,MiT-B4和MiT-B5,引入了一种方法,从编码器的第三阶段中点提取额外的键和值,其中堆叠了大量的注意力块。我们将这种增强的变体称为U-MixFormer+。对于MiT-B4和MiT-B5配置,我们分别提取了5个和6个键和值,以方便混合注意。因此,我们观察到,当集成来自编码器的更多上下文数据时,MiT-B4的性能提高了0.8%,MiT-B5的性能提高了0.1%,而计算需求仅略有增加

混合注意力和U-Net结构的有效性

鲁棒性

对于三种使用相同编码器(MiT)的语义分割方法,计算了cityscape验证集的干净和损坏变体的平均mIoU值。mIoU是所有适用的严重级别的平均值,除了噪声损坏类别,该类别考虑了五个严重级别中的前三个。哇,鲁棒性居然也提高了

相同encoder下decoder的有效性

表1表2所示

总结与未来展望

总结

在本文中,我们提出了U-MixFormer,建立在为语义分割而设计的U-Net结构之上。UMixFormer开始与最上下文编码器的特征图,并逐步纳入更精细的细节,建立在U-Net的能力,以捕获和传播分层特征。我们的混合注意设计强调合并特征图的组件,将它们与越来越细粒度的横向编码器特征对齐。这确保了高级上下文信息与复杂的低级细节的和谐融合,这是精确分割的关键。我们在流行的基准数据集上展示了我们的U-MixFormer在不同编码器上的优势。

展望

尽管我们的U-MixFormer在计算成本和mIoU方面具有竞争力,但仍需要解决某些限制。在mmsegmentation基准设置下,我们使用单个A100 GPU测试了单个2048 × 1024图像的推理时间。如表6所示,U-MixFormer的推断时间往往比其他轻量级模型要慢。延迟可归因于U-Net的固有结构,它需要通过横向(或残余)连接来保存信息。虽然这些连接对于捕获分层特征至关重要,但在推理阶段会带来开销。为了解决这一限制,我们的目标是在未来的工作中探索模型压缩技术,如修剪和知识蒸馏。这些方法有望在保留UMixFormer的准确性优势的同时潜在地提高推理速度。

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

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

相关文章

数据可视化---直方图

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

HarmonyOS概述

HarmonyOS概述 HarmonyOS系统架构 内核层—系统服务层—框架层—应用层 内核层: 内核子系统: HarmonyOS采用多内核设计,支持针对不同资源受限设备 ,选用适合的OS内核,为上层提供基础操作系统能力。驱动子系统: 硬件驱动框架(H…

【Spring Security】打造安全无忧的Web应用--入门篇

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Spring Security的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Spring Security是什么 1.概…

小鹅通基于 TSE 云原生 API 网关的落地实践

导语 2023腾讯全球数字生态大会已于9月7-8日完美落幕,40专场活动展示了腾讯最新的前沿技术、核心产品、解决方案。 微服务与消息队列专场,我们邀请到了小鹅通的基础架构组负责人黄徐震为我们带来了《小鹅通基于 TSE 云原生网关的落地实践》的精彩演讲。…

java 4.数组

文章目录 4.数组4.1数组的概念4.2 数组的定义4.3 数组的初始化4.4 数组下标的有效范围与常见异常4.5 数组内存分析4.6 二维数组4.6.1 创建二维数组4.6.2 二维数组的赋值4.6.3 多维数组4.6.4 通过二维数组输出不同版式的古诗 4.7 不规则数组4.8 数组的基本操作4.8.1 数组遍历4.8…

前后端分离下的鸿鹄电子招投标系统:使用Spring Boot、Mybatis、Redis和Layui实现源码与立项流程

在数字化时代,采购管理也正经历着前所未有的变革。全过程数字化采购管理成为了企业追求高效、透明和规范的关键。该系统通过Spring Cloud、Spring Boot2、Mybatis等先进技术,打造了从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通过…

hadoop格式化报错

在var/bigdata/hadoop/ha/dfs/jn/下没有mycluster目录增加后就格式化成功了

C/C++、Java、Python:主要编程语言的演进与未来趋势

导言 C/C、Java、Python作为主要的编程语言,在软件开发领域扮演着重要角色。本文将深入研究这三者的发展历程、遇到的问题、解决过程,以及未来的可用范围。同时,分析它们之间的联系与区别,探讨哪一门语言可能在未来占据主导地位&a…

Opencv入门6(读取彩色视频并转换为对数极坐标视频)

源码如下&#xff1a; #include <opencv2/opencv.hpp> #include <iostream> int main(int argc, char* argv[]) { cv::namedWindow("Example2_11", cv::WINDOW_AUTOSIZE); cv::namedWindow("Log_Polar", cv::WINDOW_AUTOSIZE); c…

在mt4上怎么查看CHFJPY品种的合约细则?

在MetaTrader 4 (MT4) 上查看CHFJPY品种的合约细则的方法如下&#xff1a; FXCM福汇官方个人注册登录流程 1.打开MT4软件并登录到您的交易账户。 2.在MT4界面的"市场观察"窗格中&#xff0c;找到并右键单击"CHFJPY"货币对。如果您无法找到"市场观察…

Android: Ubuntu下交叉环境编译常用调试工具demo for lspci命令(ARM设备)

lspci命令交叉环境编译(ARM设备) 交叉编译工具下载&#xff1a; https://releases.linaro.org/components/toolchain/binaries https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/ lspci命令交叉环境编译(ARM设备)&#xff1a; 1&a…

solidity 重入漏洞

目录 1. 重入漏洞的原理 2. 重入漏洞的场景 2.1 msg.sender.call 转账 2.2 修饰器中调用地址可控的函数 1. 重入漏洞的原理 重入漏洞产生的条件&#xff1a; 合约之间可以进行相互间的外部调用 恶意合约 B 调用了合约 A 中的 public funcA 函数&#xff0c;在函数 funcA…

从安全性角度,看“可信数字底座”有何价值

文章目录 每日一句正能量前言概念对比安全技术对比思考与建议 每日一句正能量 不管现在有多么艰辛&#xff0c;我们也要做个生活的舞者。 前言 万向区块链此前提出“可信数字底座”这一概念和技术&#xff0c;即将区块链与物联网、人工智能、隐私计算等数字化技术相融合&#…

3-10岁孩子语文能力培养里程碑

文章目录 基础能力3岁4岁5岁6-7岁&#xff08;1-2年级&#xff09;8-9岁&#xff08;3-4年级&#xff09;10岁&#xff08;5年级&#xff09; 阅读推荐&父母执行3岁4-5岁6-7岁&#xff08;1-2年级&#xff09;8-9岁&#xff08;3-4年级&#xff09;10岁&#xff08;5年级&a…

java --- 反射

目录 一、什么是反射&#xff1f; 二、获取 Class对象 的三种方式 三、反射获取构造方法&#xff08;Constructor&#xff09; 四、反射获取成员变量&#xff08;Field&#xff09; 五、反射获取成员方法&#xff08;Method&#xff09; 一、什么是反射&#xff1f; 反射允…

map|动态规划|单调栈|LeetCode975:奇偶跳

作者推荐 【贪心算法】【中位贪心】.执行操作使频率分数最大 涉及知识点 单调栈 动态规划 map 题目 给定一个整数数组 A&#xff0c;你可以从某一起始索引出发&#xff0c;跳跃一定次数。在你跳跃的过程中&#xff0c;第 1、3、5… 次跳跃称为奇数跳跃&#xff0c;而第 2、…

关于Python里xlwings库对Excel表格的操作(十五)

这篇小笔记主要记录如何【获取单元格数据的对齐方式或更改单元格数据的对齐方式】。 前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安装导入xlwings库&#xff1b; &#xf…

【模式识别】解锁降维奥秘:深度剖析PCA人脸识别技术

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《模式之谜 | 数据奇迹解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 &#x1f30c;1 初识模式识…

二维码智慧门牌管理系统:实现数据通信安全

文章目录 前言一、传输隧道加密技术二、传输数据加密技术三、数据接入鉴权技术 前言 随着信息技术的蓬勃发展&#xff0c;智慧门牌管理系统已成为现代商业和家庭重要的一部分。然而&#xff0c;系统普及的同时也带来了数据通信安全的突出问题。为了解决这一挑战&#xff0c;二…

【设计模式-2.5】创建型——建造者模式

说明&#xff1a;本文介绍设计模式中&#xff0c;创建型设计模式中的最后一个&#xff0c;建造者模式&#xff1b; 入学报道 创建型模式&#xff0c;关注于对象的创建&#xff0c;建造者模式也不例外。假设现在有一个场景&#xff0c;高校开学&#xff0c;学生、教师、职工都…