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

论文:

代码: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.hqwc.cn/news/290325.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm基于javaweb的疫情管理系统的设计与实现+vue论文

摘 要 针对于疫情信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的疫情管理系统可以从根源上规范整个数据处理流程的正规性和合法性。 疫情管理系统实现的功能包括健康打卡管理,返校申请管理,留…

生于越南,“开源改变了我的人生!”

注:本文精选自《新程序员 007:大模型时代的开发者》,欢迎点击订购。 作者 | 王启隆 责编 | 唐小引 出品 | 《新程序员》编辑部 随着人工智能浪潮的席卷,开源不再仅仅是计算机领域的一个话题,而是成为推动技术创新…

硬件产品经理:硬件产品敏捷开发

目录 简介 敏捷 CSDN学院 作者简介 简介 之所以敏捷产品开发流程会越来越普遍。 主要得益于这个方法可以让企业使用更少的资源去开发出令客户满意的新产品。 敏捷开发强调的最重要的一点就是“快”。 也就是要求通过快速迭代来获取频繁的客户反馈。 这就特别适合应对市…

快猫视频模板源码定制开发 苹果CMS 可打包成双端APP

苹果CMS快猫视频网站模板源码,可用于开发双端APP,后台支持自定义参数,包括会员升级页面、视频、演员、专题、收藏和会员系统等完整模块。还可以直接指定某个分类下的视频为免费专区,具备完善的卡密支付体系,无需人工管…

linux操作系统——冯诺依曼体系结构

冯诺依曼体系结构 体系结构有一种是从计算机组成的角度去谈的,还有一种是从芯片架构方面去谈的,下面我们是从我们的计算机组成原理的角度去理解冯诺依曼体系结构的。 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器&a…

Java对接腾讯多人音视频房间回调接口示例

在前面我们已经对接好了腾讯多人音视频房间相关内容:Java对接腾讯多人音视频房间示例 为了完善业务逻辑,我们还需要对接它的一些回调接口 官方文档地址 主要就下面这些 这里因为比较简单直接上代码 里面有些工具类和上一章一样这里就没贴,需要…

Seata使用详解

分布式事务介绍分布式事务的优缺点CAP理论介绍Base理论介绍CAP和BASE之间有什么区别Seata介绍Seata支持的事务模式介绍Seata的架构Seata应用场景Seata集群部署Seata集群部署的优缺点Seata在Java中的使用案例Seata在Java中的代码示例Seata与SpringBoot2.x的整合Seata与SpringBoo…

【C++11特性篇】lambda表达式玩法全解

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.lambda解决个性化排序问题[1]设计商品…

表情识别-情感分析-人脸识别(代码+教程)

表情识别是计算机视觉领域中的一个重要研究方向,它的目标是通过分析人脸表情来判断人的情绪状态。表情识别在很多领域都有广泛的应用,如情感分析、人机交互、智能驾驶等。本文将从以下几个方面来阐述表情识别的相关内容。 一、表情识别的基本原理 表情识…

使用Python爬取GooglePlay并从复杂的自定义数据结构中实现解析

文章目录 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布…

在GitHub找开源项目

在 GitHub 的搜索框里: 使用搜索关键词可以在 GitHub 上快速的找你需要的开源项目: 限制搜索范围 通过 in 关键词 (大小写不敏感) 限制搜索范围: 公式搜索范围in:name xxx项目名包含xxxin:description xxx项目描述包含xxxin:readme xxx项目…

【C#】.net core 6.0 通过依赖注入注册和使用上下文服务

给自己一个目标,然后坚持一段时间,总会有收获和感悟! 请求上下文是指在 Web 应用程序中处理请求时,包含有关当前请求的各种信息的对象。这些信息包括请求的头部、身体、查询字符串、路由数据、用户身份验证信息以及其他与请求相关…