AAAI 2023 | 轻量级语义分割新范式: Head-Free 的线性 Transformer 结构

这篇具有很好参考价值的文章主要介绍了AAAI 2023 | 轻量级语义分割新范式: Head-Free 的线性 Transformer 结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言   现有的语义分割工作主要集中在设计有效的解-码器上,然而,一直以来都忽略了这其中的计算成本。本文提出了一种专门用于语义分割的  Head-Free 轻量级架构 ,称为 Adaptive Frequency Transformer (AFFormer) 。 采用异构运算符(CNN 和 ViT)进行像素嵌入和原型表示 ,以进一步节省计算成本。由于语义分割对频率信息非常敏感, 构建了一个具有复杂度 O(n) 的自适应频率滤波器的轻量级模块

在 ADE20K 和 Cityscapes 数据集上,AFFormer 实现了比现有方法更高的精度和更低的参数量。

Transformer、目标检测、语义分割交流群

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

轻量化语义分割,论文分享,计算机视觉,深度学习,人工智能

论文:https://arxiv.org/pdf/2301.04648.pdf

代码:https://github.com/dongbo811/AFFormer

论文出发点

以前的语义分割方法侧重于使用分类网络作为 backbone 来提取多尺度特征,并设计一个复杂的解码器 head 来建立多尺度特征之间的关系。然而,这些改进是以模型尺寸大和计算成本高为代价的。这使得作者思考:语义分割是否可以像图像分类一样简单?

同时,由于ViT在语义分割方面性能显著,但当部署在超低计算能力的设备上时,它们面临着平衡性能和内存使用的挑战,并且它在空间域中的计算复杂度为 O(n2)。一些方法通过减小 tokens 数量等降低复杂度。这促使本文提出了另一个问题:能否设计一个高效、轻量级的 Transformer 网络用于超低计算场景下的语义分割?

创新思路

作者提出了一种无头轻量级语义分割特定架构,使用金字塔结构降低分辨率以探索语义并降低计算成本,并采用并行架构用原型表示作为特定的可学习局部描述,取代解码器并在高分辨率特征上保留丰富的图像语义。并行结构通过去除解码器压缩了大部分计算。此外,对像素嵌入特征和局部描述特征采用异构算子,并构建了一个复杂度为 O(n) 的轻量级自适应频率滤波器作为原型学习。该模块的核心由频率相似核、动态低通滤波器和动态高通滤波器组成,分别从强调重要频率成分和动态过滤频率的角度捕捉有利于语义分割的频率信息。最后,通过在高频和低频提取和增强模块中共享权重进一步降低了计算成本。在前馈网络 (FFN) 层中嵌入了一个简化的深度卷积层,以增强融合效果,减少两个矩阵变换的大小。

方法

整体架构

AFFormer 的总体框架如下图所示,首先对 patch embedding 后的特征进行聚类,得到原型特征 G,从而构建一个并行网络结构,其中包含两个异构算子。基于 Transformer 的模块作为原型学习以捕获 G 中有利的频率分量,从而产生原型表示 G‘。最后, G‘ 由基于 CNN 的像素描述符恢复,为下一阶段生成特征。

轻量化语义分割,论文分享,计算机视觉,深度学习,人工智能

并行异构架构

语义解码器将编码器获得的图像语义传播到每个像素,并恢复下采样中丢失的细节。一种直接的替代方法是在高分辨率特征中提取图像语义,但它会引入大量计算,尤其是对于视觉 Transformers。相比之下,这里提出了一种用原型语义描述像素语义信息的新策略。首先初始化一个网格作为图像原型,将网格中的每个点作为局部簇中心,然后在其区域内进行加权初始化。然后使用基于 Transformer 的模块作为原型学习来更新每个聚类中心。

自适应频率滤波器

频率表示可以作为学习类别间差异的新范式,在网格中提取更多有益频率有助于区分每个聚类的属性,直接的方法是将空间域特征通过傅里叶变换转化为频谱特征,在频域使用简单的 mask filter 增强或减弱频谱的每个频率分量的强度。然后将提取的频率特征通过傅里叶逆变换转换到空间域。本文设计了一个基于 vanilla vision Transformer 的自适应频率滤波器块(如下图),从频谱相关性的角度来直接在空间域中捕获重要的高频和低频特征。

轻量化语义分割,论文分享,计算机视觉,深度学习,人工智能

结果

作者在三个公开数据集上验证了 AFFormer:ADE20K、Cityscapes 和 COCO-stuff 。

首先是在 ADE20K 数据集上的对比:

轻量化语义分割,论文分享,计算机视觉,深度学习,人工智能

随后是在 Cityscapes 数据集上与先进方法的对比:

轻量化语义分割,论文分享,计算机视觉,深度学习,人工智能

再是在 COCO-stuff 数据集上的比较:

轻量化语义分割,论文分享,计算机视觉,深度学习,人工智能

总结

这篇论文的核心是从频率角度学习聚类原型的局部描述表示,而不是直接学习所有像素嵌入特征,在具有线性复杂度Transformer的同时去掉了复杂的decoder,实现了像正则分类一样简单的语义分割,以低计算成本拥有强大的准确性和稳定性和鲁棒性。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

模型部署交流群:732145323。用于计算机视觉方面的模型部署、高性能计算、优化加速、技术学习等方面的交流。

其它文章

​AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

改变几行代码,PyTorch炼丹速度狂飙、模型优化时间大减

AAAI 2023 | 轻量级语义分割新范式: Head-Free 的线性 Transformer 结构

TSCD:弱监督语义分割新方法,中科院自动化所和北邮等联合提出

CVPR 2023 | 基于Token对比的弱监督语义分割新方案!

比MobileOne还秀,Apple将重参数与ViT相结合提出FastViT

CVPR 2023 | One-to-Few:没有NMS检测也可以很强很快

ICLR 2023 | Specformer: Spectral GNNs Meet Transformers

CV各大方向专栏与各个部署框架最全教程整理

计算机视觉交流群

聊聊计算机视觉入门文章来源地址https://www.toymoban.com/news/detail-626434.html

到了这里,关于AAAI 2023 | 轻量级语义分割新范式: Head-Free 的线性 Transformer 结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • go-carbon v2.3.5 发布,轻量级、语义化、对开发者友好的 golang 时间处理库

    carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装使用 Golang 版本大于等于 1.16 Golang 版本小于 1.16 更新日志 Default 结构体新增 Locale

    2024年02月01日
    浏览(49)
  • git轻量级服务器gogs、gitea,非轻量级gitbucket

    本文来源:git轻量级服务器gogs、gitea,非轻量级gitbucket, 或 gitcode/gogs,gitea.md 结论: gogs、gitea很相似 确实轻, gitbucket基于java 不轻, 这三者都不支持组织树(嵌套组织 nested group) 只能一层组织。 个人用,基于gogs、gitea,两层结构树 简易办法: 把用户当成第一层节点、该用户的

    2024年02月07日
    浏览(80)
  • 轻量灵动: 革新轻量级服务开发

    从 JDK 8 升级到 JDK 17 可以让你的应用程序受益于新的功能、性能改进和安全增强。下面是一些 JDK 8 升级到 JDK 17 的最佳实战: 1.1、确定升级的必要性:首先,你需要评估你的应用程序是否需要升级到 JDK 17。查看 JDK 17 的新特性、改进和修复的 bug,以确定它们对你的应用程序

    2024年02月07日
    浏览(60)
  • 轻量级 HTTP 请求组件

    Apache HttpClient 是著名的 HTTP 客户端请求工具——现在我们模拟它打造一套简单小巧的请求工具库, 封装 Java 类库里面的 HttpURLConnection 对象来完成日常的 HTTP 请求,诸如 GET、HEAD、POST 等等,并尝试应用 Java 8 函数式风格来制定 API。 组件源码在:https://gitee.com/sp42_admin/ajaxjs/tr

    2024年02月01日
    浏览(73)
  • 一种轻量级定时任务实现

    现在市面上有各式各样的分布式定时任务,每个都有其独特的特点,我们这边的项目因为一开始使用的是分布式开源调度框架TBSchedule,但是这个框架依赖ZK, 由于ZK的不稳定性和项目老旧无人维护 ,导致我们的定时任务会偶发出现异常,比如:任务停止、任务项丢失、任务不

    2024年02月14日
    浏览(48)
  • Kotlin 轻量级Android开发

    Kotlin 是一门运行在 JVM 之上的语言。 它由 Jetbrains 创建,而 Jetbrains 则是诸多强大的工具(如知名的 Java IDE IntelliJ IDEA )背后的公司。 Kotlin 是一门非常简单的语言,其主要目标之一就是提供强大语言的同时又保持简单且精简的语法。 其主要特性如下所示: 轻量级:这一点对

    2024年02月07日
    浏览(161)
  • C++轻量级单元测试框架

    单元测试是构建稳定、高质量的程序、服务或系统的必不可少的一环。通过单元测试,我们可以在开发过程中及时发现和修复代码中的问题,提高代码的质量和可维护性。同时,单元测试也可以帮助我们更好地理解代码的功能和实现细节,从而更好地进行代码重构和优化。

    2023年04月25日
    浏览(76)
  • Tomcat轻量级服务器

    目录 1.常见系统架构  C-S架构 B-S架构 2.B-S架构系统的通信步骤 3.常见WEB服服务器软件 4.Tomcat服务器的配置 下载安装 环境变量配置 测试环境变量是否配置成功 测试Tomcat服务器是否配置成功  Tomcat窗口一闪而过的解决步骤 Tomcat解决乱码 介绍: C-S架构即Client/Server(客户端/服务

    2023年04月14日
    浏览(140)
  • 108中超轻量级的加载动画!

    大家好,我是【程序视点】小二哥! 今天要上的菜不是 Animate.js,也不是 Move.js,而是能提供108种加载动画的库: Whirl . 话不多说,直接来看例子。 以上只是冰山一角。whirl的CSS加载动画集合中有108种选项供你挑选。选中喜欢的动画后,点击“Grab the CSS on Github!”。 将跳转到

    2024年02月03日
    浏览(56)
  • volatile关键字(轻量级锁)

    目录 一、volatile出现背景 二、JMM概述 2.1、JMM的规定  三、volatile的特性 3.1、可见性  3.1.1、举例说明  3.1.2、总结 3.2、无法保证原子性 3.2.1、举例说明 3.2.2、分析 3.2.3、使用volatile对原子性测试  3.2.4、使用锁机制  3.2.5、总结 3.3、禁止指令重排序  四、volatile的内存语义 4

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包