【论文阅读笔记】Head-Free Lightweight Semantic Segmentation with Linear Transformer

news2024/11/26 22:27:04

莫名地这篇论文我特别难理解,配合代码也食用不了

1.论文介绍

Head-Free Lightweight Semantic Segmentation with Linear Transformer
基于线性Transformer的无头轻量级语义分割
2023年 AAAI
Paper Code

2.摘要

现有的语义分割工作主要集中在设计有效的解码器,但长期以来忽略了整体结构引入的计算负载,这阻碍了它们在资源受限的硬件上的应用。在本文中,我们提出了一个专门用于语义分割的无头轻量级架构,名为自适应频率Transformer(AFFormer)。AFFormer采用并行架构,利用原型表示作为特定的可学习局部描述,取代解码器并保留高分辨率特征上丰富的图像语义。虽然去除解码器压缩了大部分计算,但并行结构的精度仍然受到低计算资源的限制。因此,我们采用异构运算符(CNN和Vision Transformer)进行像素嵌入和原型表示,以进一步保存计算成本。此外,从空间域的角度线性化视觉Transformer的复杂性是非常困难的。由于语义分割对频率信息非常敏感,我们构造了一个轻量级的原型学习块,其复杂度为O(n)的自适应频率滤波器来代替标准的自我注意,复杂度为O(n2)。

Keywords:无头轻量结构(无解码器),语义分割,线性Transformer

创新:1)无解码器的轻量结构,使用原型表示代替解码器; 2)自适应频率滤波器

3.Introduction

语义分割的目的是将图像划分为子区域(像素集合),并定义为像素级分类任务。与图像分类相比,它有两个独特的特点:逐像素的密集预测和多类表示,这通常是建立在高分辨率的功能,并需要图像语义的全局归纳能力,分别。以前的语义分割方法专注于使用分类网络作为主干来提取多尺度特征,并设计复杂的解码器头来建立多尺度特征之间的关系。然而,这些改进是以较大的模型尺寸和较高的计算成本为代价的。

最近视觉Transformer在语义分割方面表现出了巨大的潜力,然而,当部署在超低计算功率设备上时,它们面临平衡性能和存储器使用的挑战。标准Transformer在空间域中的计算复杂度为O(n2),其中n是输入分辨率。现有的方法通过减少标记的数量或滑动窗口来缓解这种情况,但它们对计算复杂性的降低有限,甚至会损害分割任务的全局或局部语义。同时,语义分割作为一个基础研究领域,有着广泛的应用场景,需要处理各种分辨率的图像。

因此,本文提出了两个问题:语义分割能像图像分类一样简单吗?我们能否设计一个高效、轻量级的Transformer网络,用于超低计算场景下的语义分割?

本文提出了一个无头轻量级语义分割的具体架构,自适应频率Transformer(AFFormer)。受ViT维护单个高分辨率特征图以保留细节的属性的启发,金字塔结构降低了探索语义和降低计算成本的分辨率,AFFormer采用并行架构来利用原型表示作为特定的可学习局部描述,其取代解码器,保留了高分辨率特征上丰富的图像语义。并行结构通过去除解码器来压缩大部分计算,但对于超低计算资源来说仍然不够。此外,我们采用异构算子的像素嵌入功能和本地描述功能,以节省保存更多的计算成本。一个名为原型学习(PL)的基于转换器的模块用于学习原型表示,而一个名为像素描述符(PD)的基于卷积的模块将像素嵌入特征和学习的原型表示作为输入,将它们转换回完整的像素嵌入空间以保留高分辨率语义。

然而,从空间域的角度对视觉Transformer的复杂度进行线性化仍然是非常困难的。灵感来自于频率对分类任务的影响,我们发现语义分割对频率信息也非常敏感。因此,我们构造了一个复杂度为O(n)的轻量级自适应频率滤波器作为原型学习,以O(n2)代替标准的自注意。该模块的核心由频率相似性核、动态低通和高通滤波器组成,分别从强调重要频率成分和动态滤除频率的角度捕捉有利于语义切分的频率信息。最后,通过在高频和低频提取和增强模块中共享权重来进一步降低计算成本。我们还在前馈网络(FFN)层中嵌入了一个简化的去卷积卷积层,以增强融合效果,减少两个矩阵变换的大小。

4.网络结构详解

在这里插入图片描述

网络整体流程如上。首先输入图像经过Stem两层卷积,然后进行patch embedding后得到特征F进行聚类,得到原型特征G,从而构造一个并行网络结构,该结构包含两个异构算子。基于变换器的模块作为原型学习,以捕获G中的有利频率分量,从而产生原型表示G’。最后,通过基于CNN的像素描述符恢复G’,得到下一阶段的F’。

上面是原文中的描述,其实它是经过两层卷积后,进入主流阶段,图上画了四个,每个阶段如下:
首先经过patch embedding处理,然后入encoder中,得到的输出入下一阶段,把所有阶段的结果整合输出作为最后的结果。
对于每一个阶段:如果是第一个阶段则把输入的前两个patch直接Restore成最终结果(如上图中左下方箭头),如果不是第一个阶段,则Restore第一个输入patch作out[0],然后MHCAEncoder剩余的作剩余out,最后把out的前两个相加作最后结果。

至于说F聚类成G,不知道在哪实现的。
而并行异构体系是指,PL是基于Transformer的,而PD是基于CNN的,他俩并行,我感觉是串行但是没有输入输出的关联,所以并。

并行异构体系结构
语义解码器将编码器获得的图像语义传播到每个像素,并恢复下采样中丢失的细节。一个简单的替代方法是在高分辨率特征中提取图像语义,但它引入了大量的计算,特别是对于vision transformer。与此相反,本文提出了一种新的策略来描述像素的语义信息与原型语义。对于每个阶段,给定一个特征 F ∈ R H × W × C F ∈ R^{H×W×C} FRH×W×C,我们首先初始化一个网格 G ∈ R h × w × C G ∈ R^{h×w×C} GRh×w×C作为图像的原型,其中G中的每个点作为局部聚类中心,初始状态仅包含周围区域的信息。在这里,我们使用1 × C向量来表示每个点的局部语义信息。对于每个特定的像素,由于周围像素的语义不一致,每个聚类中心之间存在重叠语义。聚类中心在其对应的区域α2中进行加权初始化,每个聚类中心的初始化表示为:
在这里插入图片描述

其中n = α × α,wi表示Xi的权重,α设置为3。目的是更新网格G中的每个聚类中心s,而不是直接更新特征F。当h × w << H ×W时,大大简化了计算。在这里,使用一个基于transformer的模块作为原型学习来更新每个聚类中心,它总共包含L层,更新后的中心表示为G(s)。对于每个更新的聚类中心,恢复它的像素描述符。令 F i ′ F'_i Fi表示恢复的特征,其不仅包含来自F的丰富像素语义,而且还包含由聚类中心G(s)收集的原型语义。由于聚类中心聚集了周围像素的语义,导致局部细节的丢失,PD首先用像素语义对F中的局部细节进行建模。具体来说,F被投影到低维空间,建立像素之间的局部关系,使得每个局部补丁保持不同的边界。然后通过双线性插值将G(s)嵌入到F中,恢复到原始空间特征F。最后,它们通过线性投影层集成。

基于自适应频率滤波激励的原型学习
在这里插入图片描述

语义分割是一个非常复杂的像素级分类任务,很容易出现类别混淆。频率表示可以作为一种新的学习类别之间差异的范式,它可以挖掘人类视觉忽略的信息。由于特征F包含丰富的频率特征,因此网格G中的每个聚类中心也收集这些频率信息。受上述分析的启发,在网格G中提取更多的有益频率有助于区分每个聚类的属性。为了提取不同的频率特征,最直接的方法是通过傅立叶变换将空间域特征转换为谱特征,并在频域使用简单的掩模滤波器以增强或衰减频谱的每个频率分量的强度。然后,提取的频率特征被转换到空间域的逆傅立叶变换。然而,傅立叶变换和逆变换带来额外的计算开销,并且这些运算符在许多硬件上不支持。因此,我们从谱相关的角度设计了一个基于vanilla vision Transformer的自适应频率滤波器模块,直接在空间域中捕获重要的高频和低频特征。核心组件如上图所示,公式定义为:
在这里插入图片描述
其中 D h f c D^{fc}_h Dhfc D m l f ( X ) D^{lf}_m(X) Dmlf(X) D n h f ( X ) D^{hf}_n(X) Dnhf(X)分别表示具有H组的频率相似性核以实现频率分量相关增强、具有M组的动态低通滤波器和具有N组的动态高通滤波器。|| · ||表示串联。值得注意的是,这些算子采用并行结构,通过共享权重进一步降低计算成本。

频率相似核(FSK)
不同的频率成分分布在G中,我们的目的是选择和增强有助于语义分析的重要成分。为此,我们设计了一个频率相似性核模块。通常,该模块由视觉Transformer实现。给定一个特征 X ∈ R h w × C X ∈ R^{hw×C} XRhw×C,通过卷积层对G进行相对位置编码。该算法首先使用一个固定大小的相似性核 A ∈ R C / H × C / H A ∈ R^{C/H×C/H} ARC/H×C/H来表示不同频率分量之间的对应关系,并通过查询相似性核来选择重要的频率分量。我们将其视为函数传递,其通过线性函数传递计算频率分量的键K和值V,并通过Softmax运算在频率分量上对键进行归一化。每个分量集成相似性核Ai,j,其被计算为:
在这里插入图片描述
其中ki表示K中的第i个频率分量,vj表示V中的第j个频率分量。我们还通过线性层将输入X转换为查询Q,并通过在固定大小的相似性核上的交互获得分量增强的输出。

动态低通滤波器(DLF):低频分量占据了绝对图像中的大部分能量,代表了大部分的语义信息。低通滤波器允许低于截止频率的信号通过,而阻止高于截止频率的信号。因此,我们采用典型的平均池作为低通滤波器。然而,不同图像的截止频率不同。为此,我们在多组中控制不同的内核和步幅来生成动态低通滤波器。对于第m组,我们有:
在这里插入图片描述
其中B(·)表示双线性插值,Γs×s表示输出大小为s × s的自适应平均池化。

动态高通滤波器(DHF):高频信息对于保持分割中的细节至关重要。卷积作为一种典型的高通算子,可以滤除不相关的低频冗余分量,保留有利的高频分量。高频分量决定图像质量,并且每个图像的高通截止频率不同。因此,我们将值V分成N组,得到vn。对于每组,我们使用具有不同内核的卷积层来模拟不同高通滤波器中的截止频率。对于第n组,我们有:
在这里插入图片描述
其中Λk×k表示具有k×k的核大小的深度卷积层。此外,我们使用的Hadamard产品的查询和高频功能,以抑制高频内的对象,这是分割的噪声。FFN有助于融合捕获的频率信息,但计算量大,在轻量级设计中经常被忽略。在这里,我们通过引入卷积层来减少隐藏层的维度,以弥补由于维度压缩而丢失的功能。

最后疏通了大部分,还是没理解初始化G的过程,可能是代码能力不行,有看明白的请帮我解答一下。
在这里插入图片描述

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

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

相关文章

MATLAB GUI图形化界面设计计算器

MATLAB GUI界面设计教程可以帮助用户创建交互式的图形用户界面&#xff0c;以简化与MATLAB程序的交互过程。以下是一个简化的教程&#xff0c;指导你如何进行MATLAB GUI界面设计&#xff1a; 1. 启动GUIDE或App Designer GUIDE&#xff1a;在MATLAB命令窗口中输入guide命令&a…

锐化空间滤波器--二阶微分图像增强(提高清晰度的另一种方式)

书上一阶微分的定义可以理解&#xff0c;毕竟这里不死数学上的曲线的概念&#xff0c;而是像素点上的曲线。所以&#xff0c;不同于数学的严格单调递增曲线的导数是大于等于零&#xff0c;这里的严格单调递增曲线&#xff0c;只能是大于零。 至于二阶微分的定义&#xff0c;就…

Scala实战:打印九九表

本次实战的目标是使用不同的方法实现打印九九表的功能。我们将通过四种不同的方法来实现这个目标&#xff0c;并在day02子包中创建相应的对象。 方法一&#xff1a;双重循环 我们将使用双重循环来实现九九表的打印。在NineNineTable01对象中&#xff0c;我们使用两个嵌套的fo…

如何使用pgvector为RDS PostgreSQL构建专属ChatBot?

背景 越来越多的企业和个人希望能够利用LLM和生成式人工智能来构建专注于其特定领域的具备AI能力的产品。目前&#xff0c;大语言模型在处理通用问题方面表现较好&#xff0c;但由于训练语料和大模型的生成限制&#xff0c;对于专业知识和时效性方面存在一些局限。在信息时代&…

Day37:LeedCode 738.单调递增的数字 968.监控二叉树 蓝桥杯 翻转

738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 示例 1: 输入: n 10 输出: 9 思路: 假设这个数是98,…

三次 Bspline(B样条曲线) NURBS曲线的绘制 matlab

先来了解几个概念&#xff1a; 1.1 节点向量&#xff1a; B-Spline需要定义曲线的节点向量U&#xff0c;它可以对应到Bezier曲线的参数u。 其元素个数 (m1) 和曲线阶数 k 、控制点个数n满足&#xff1a;m1k1n1 如果U的每段的距离是相等&#xff0c;那么这个B-Spline就被称为均…

labview中FP.isFrontmost不生效?

主GUI界面中调用子GUI程序FP.isFrontmost不生效&#xff1f; 如果主GUI程序使用“floating”,子GUI程序使用default动作&#xff0c;则子GUI无法打开到最前。子GUI程序只能使用“模态”才能置顶。 主GUI程序&#xff1a; 子GUI程序&#xff1a; 改正的方法很简单&#xff0c…

浙大恩特客户资源管理系统 i0004_openFileByStream.jsp 任意文件读取漏洞复现

0x01 产品简介 浙大恩特客户资源管理系统是一款针对企业客户资源管理的软件产品。该系统旨在帮助企业高效地管理和利用客户资源,提升销售和市场营销的效果。 0x02 漏洞概述 浙大恩特客户资源管理系统 i0004_openFileByStream.jsp接口处存在任意文件读取漏洞,未经身份验证攻…

代码随想录 Day17 字符串 | LC344 反转字符串 LC541 反转字符串II 卡码网54替换数字

一、反转字符串 题目&#xff1a; 力扣344&#xff1a;反转字符串 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题…

时间序列突破性创新!与对比学习结合,性能超越SOTA

对比学习可以通过自我监督的方式捕捉时间序列数据中的时间依赖性和动态变化&#xff0c;这使得它特别适合处理时间序列数据&#xff0c;因为时间序列的本质特征就在于其随时间的演变和变化。 因此&#xff0c;相较于传统的时序&#xff0c;基于对比学习的时间序列能够适应更广…

npm创建Vue3项目

npm创建Vue3项目 1 创建Vue项目说明 2 安装3 运行 1 创建Vue项目 创建最新版的Vue项目&#xff0c;已经不推荐使用CLI构建方式了。参考如下即可。 npm create vuelatest如果发现一直动不了&#xff0c;切换网络试一下&#xff0c;个人热点尝试一下。 按下图的选项按需引入自…

移位寄存器

移位寄存器是如何工作的&#xff1f; 移位寄存器按照移位方向可分为左移位寄存器、右移位寄存器、双向移位寄存器。图11-15所示为用D触发器构成的4位左移位寄存器。待存数码由触发器F0的输入端D0输入&#xff0c;在移位脉冲作用下&#xff0c;可将数码从高位到低位向左逐步移入…

如何选择适用于Mac的文件恢复软件?适用于 Mac 的最佳数据恢复软件清单

有人会说&#xff0c;我们的数字生活正变得几乎和我们的物理生活一样重要。我们在线工作&#xff0c;将记忆保存在数码照片库中&#xff0c;在信使中交流&#xff0c;并保留各种文档的数字扫描。 每个人都知道备份是必不可少的。建议每天至少同步一个数字备份&#xff08;例如…

CDHD高创驱动器恢复出厂设置的具体方法演示

CDHD高创驱动器恢复出厂设置的具体方法演示 首先,下载并安装高创驱动器的调试软件,有需要的可以从以下链接中获取:高创CDHD伺服调试软件ServoStudio安装包-V2.38.6.30 安装完成后,打开软件,如下图所示, 如下图所示,在左侧找到配置—通信,点击连接, 如下图所示,正常情…

电力综合自动化系统对电力储能技术的影响有哪些?

电力综合自动化系统对电力储能技术的影响主要体现在以下几个方面&#xff1a; 提高能源利用效率&#xff1a;电力综合自动化系统通过优化调度和能量管理&#xff0c;可以实现储能设备的有效利用&#xff0c;提高能源利用效率。在电力系统中&#xff0c;储能设备可以有效地平抑风…

EFcore 6 连接oracle19 WinForm vs2022

用EFcore访问Oracle&#xff0c;终于不需要Oracle的什么安装包了&#xff0c;直接在VS2022中就可以轻松搞定。在csdn上看到一哥们的帖子&#xff0c;测试了一下&#xff0c;发现很方便。使用的场景是&#xff1a;VS2022中EFcore6。经过测试&#xff0c;同 Navicat Premium 16比…

Redis Pipelining 底层原理分析及实践

作者&#xff1a;vivo 互联网服务器团队-Wang Fei Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。在遇到批处理命令执行时&#xff0c;Redis提供了Pipelining(管道)来提升批处理性能。本文结合实践分析了Spring Boot框架下Redis的Lettuce客户端和Redisson客户端对P…

test4121

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

02.cesium中模型和图标加载处理

展示效果&#xff0c;我们期待图标点是根据模型&#xff0c;在模型的上方展示 实现思路&#xff1a; 1.在二维地图和三维地图的加载的高度计算不同&#xff0c;需要判断 2.创建一个BillboardCollection&#xff0c;用来存放图标 3.在三维地图中调用getPointPostion方法&#xf…

挖掘未来:私有LTE/5G网络驱动智慧矿山的自动化

私有LTE/5G网络为世界上一些最偏远的角落提供无线连接。如果没有无线通信网络&#xff0c;各行业就无法满足增加产量、降低运营成本和减少环境破坏的需求。 在本案例研究中&#xff0c;我们着眼于自动化如何改变无线网络的动态。智慧矿山要求运营商无缝集成多个系统和应用程序…