IncepFormer:用于语义分割的高效inception transformer

news2024/11/20 10:41:13
前言 语义分割通常得益于全局上下文、精细定位信息、多尺度特征等。为了在这些方面改进基于Transformer的分割器,本文提出了一种简单而强大的语义分割架构——IncepFormer。
IncepFormer介绍了一种新颖的金字塔结构Transformer编码器,它同时获取全局上下文和精细定位特征。IncepFormer还集成了具有深度卷积的类Inception架构,以及每个自注意力层中的轻量级前馈模块,有效地获得了丰富的局部多尺度对象特征。

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

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

【百篇论文阅读计划】新升级!

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

代码:http://github.com/shendu0321/IncepFormer

论文创新思路

ViT的局限性:

1)标准的自我注意力机制带来了大量的计算复杂性,与输入token的数量成二次方。

2) ViT的输出特征图是单尺度的,这可能导致提取的特征缺乏丰富的上下文信息。

为了解决这些问题, Transformer模型采用降采样策略来减少特征大小,从而设计出一种分层编码器架构。金字塔视觉transformer(PVT)是第一个将金字塔结构用于密集预测的工作。之后,Xie等人提出了Mix Transformer(MiT),这也是一种金字塔结构,显示出在语义分割方面比SETR对应物有相当大的改进。Swin Transformer是另一种流行的分层视觉transformer,它计算局部窗口中的自我注意力度,并根据图像大小产生线性复杂度。

然而,这些方法只考虑了跨阶段/层的多尺度性质,而忽略了一个注意力层内对象的多尺度特性,即自我注意力多尺度,导致无法捕获不同大小对象中的丰富特征。

为了解决上述局限性,本文引入了一种新颖且通用的Transformer框架,即语义分割的高效Inception Transformer和Pyramid Pooling(IncepFormer)。

本文的主要贡献

•金字塔transformer编码器,它不仅考虑了不同阶段的特征图中的多尺度,还通过类似于初始的架构将多尺度性质纳入了自我注意力机制中。

•一个简单但功能强大的上采样 Concat解码器,它以极低的计算成本合并了精细定位和全局上下文信息。

•本文的IncepFormer设计了三种不同尺寸的版本。如图1所示, IncepFormer在ADE20K数据集上实现了性能和计算成本之间的最佳权衡。

图1 ADE20K验证集的性能参数曲线。

方法

如图2(a)所示,InceptFormer由两个主要部分组成:1)金字塔Inception Transformer编码器,用于捕获粗粒度和细粒度特征;以及2)轻量级上采样Concat解码器,以直径方向合并多尺度特征并进行piexl级预测。

图2.(a):所提出的IncepFormer架构,由两个主要部分组成:1)一个金字塔transformer编码器,用于捕获粗粒度和细粒度特征;以及2)轻量级上采样Concat解码器,以直径方向合并多尺度特征并进行peixl级预测。

Inception Transformer Encoder

将InceptionNet中的多尺度卷积思想应用于transformer。所提出的初始transformer可以捕获更丰富的上下文信息,同时显著降低计算复杂性。初始transformer块(IPTB)结构如图2(b)所示。首先输入到标准化层,然后传递到Incep MHSA,其输出与原始输入残差连接。为了更好地适应2D图像结构,使用BatchNorm。第二个子块中,根据2D图像的特征对前馈网络E-FFN进行微调,以进行特征投影。可表述为:

 

Incep MHSA

Incep MHSA的设计如图3所示,不同于SRA和线性SRA,它们分别使用卷积和平均池来进行注意力操作之前的空间缩减,我们在X上应用三个不同的分支来生成特征图。在图3(c)中,在第一个分支,X经过核大小为1×R的深度卷积,然后再次进行核大小为R×1的深度卷积。

图3.PVT v1中的SRA、PVT v2中的线性SRA和Incep MHSA的比较。

第二个分支在X上应用了核大小为3×3的深度卷积。第三个分支首先使用具有缩减比率R的平均池,然后使用3×3深度卷积。上述过程为

 

之后,将特征图连接起来:

 

以这种方式,所获得的token序列O比输入X变平更短。此外,O包含输入X的丰富上下文抽象,因此在计算MHSA时可以作为输入X的替代。分别用Q、K和V表示MHSA中的查询、键和值张量。

 

Q、K、V被馈送到自我注意力模块以计算注意力度,其公式如下:

E-FFN

前馈网络(FFN)是transformer块特征增强的重要组成部分。如图4(a)所示,在应用于NLP领域的vanilla transformer中,之前的大部分方法都遵循了原来的FFN。

图4。原始前馈网络与高效前馈网络(E-FFN)的比较

这种设计虽然有效,但在学习二维局部性方面的能力较差,而这对于语义分割任务来说是必不可少的。用1 × 1卷积代替FC层,这样生成的FFN网络可以继承CNN的优点(即二维局域性)。首先,将输入序列Xatt转换为二维特征图Xin:

 

利用上述定义的Icep MHSA和E-FFN,作者设计了三种不同大小的编码器模型,分别称为微型版本IPT-T、小型版本IPT-S和基础版本IPT-B。相应的分割框架分别命名为IncepFormer-T、IncepFormer-S和IncepFormer-B,如图5所示。

图5.三种不同的编码器架构。

A Simple Upsample-Concat Decoder

将每个阶段的特征图上采样到第14个,并连接在一起。然后,采用1 × 1卷积对拼接后的特征图进行线性transformer。最后,将拼接后的特征图输入到另一个1× 1卷积中,预测分割掩码M。该过程可表述为:

与其他典型的解码器相比,本文的解码器省去了对计算量要求很高的组件。而驱动该解码器的关键是金字塔型Transformer编码器,它不仅具有丰富的上下文信息和有效的感受野 (ERF),而且还通过使用多个带状卷积核来考虑小对象的特性。

实验

表1。与最新的ImageNet验证集方法的比较。

图6。城市景观数据集上SegFormer-B2和IncepFormer-S的定性比较。

表2。输出通道C对ADE20K解码器的影响。

 

表3。不同编码器设计的结果。

表5所示。在ADE20K, cityscape和Pascal VOC数据集上与最先进的基于cnn的方法进行比较。

表6所示。Pascal Context数据集的比较。

结论

本文提出了一种简单、高效和强大的语义分割方法IncepFormer,它包含一个具有Inception自注意和有效FFN的金字塔transformer编码器和一个轻量级的Upsample-Concat解码器。

提出的incp-mhsa注重多尺度条形卷积的使用,在极大地降低复杂度的同时,获得了更好的局部特征提取和空间注意力建模。实验结果表明,IncepFormer在很大程度上超越了目前最先进的基于transformer和基于cnn的方法。

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

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

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

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

ECCV2022 | 重新思考单阶段3D目标检测中的IoU优化

目标检测模型的评价标准总结

Vision Transformer和MLP-Mixer联系和对比

Visual Attention Network

TensorRT教程(一)初次介绍TensorRT

TensorRT教程(二)TensorRT进阶介绍

从零搭建Pytorch模型教程(一)数据读取

从零搭建Pytorch模型教程(二)搭建网络

从零搭建Pytorch模型教程(三)搭建Transformer网络

从零搭建Pytorch模型教程(四)编写训练过程--参数解析

从零搭建Pytorch模型教程(五)编写训练过程--一些基本的配置

从零搭建Pytorch模型教程(六)编写训练过程和推理过程

从零搭建Pytorch模型教程(七)单机多卡和多机多卡训练

从零搭建pytorch模型教程(八)实践部分(一)微调、冻结网络

从零搭建pytorch模型教程(八)实践部分(二)目标检测数据集格式转换

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

入门必读系列(十五)神经网络不work的原因总结

入门必读系列(十四)CV论文常见英语单词总结

入门必读系列(十三)高效阅读论文的方法

入门必读系列(十二)池化各要点与各方法总结

入门必读系列(十一)Dropout原理解析

入门必读系列(十)warmup及各主流框架实现差异

入门必读系列(九)彻底理解神经网络

入门必读系列(八)优化器的选择

入门必读系列(七)BatchSize对神经网络训练的影响

入门必读系列(六)神经网络中的归一化方法总结

入门必读系列(五)如何选择合适的初始化方法

入门必读系列(四)Transformer模型

入门必读系列(三)轻量化模型

入门必读系列(二)CNN经典模型

入门必读系列(一)欠拟合与过拟合总结

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

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

相关文章

中药中天然类固醇—艾美捷胆固醇肉豆蔻酸酯

艾美捷胆固醇肉豆蔻酸酯相关参数说明: CAS Registry No.: 1989-52-2 Formal Name: (3β)-cholest-5-en-3-ol 3-tetradecanoate Synonyms: Cholesterol Myristate, Cholesteryl Tetradecanoate, Myristic Acid cholesteryl ester, NSC 226867 MF: C41H72O2 FW: …

[附源码]Python计算机毕业设计Django预约挂号app

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

密码学-1-数字签名体制

密码学-1-数字签名体制密码学-2-RSA签名验签方案写在前面 1 数字签名 1.1 什么是数字签名 1.2 数字签名的作用 1.3 数字签名的特性 1.4 数字签名的算法 2 数字签名的原理 2.1 签名过程:创建数字签名 2.2 验证过程:验证数字签名 写在前面 …

Matlab|模拟电动汽车的充放电【充电顺序,波动发电,电池缓冲】

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

使用redis Zset根据score和时间从多个维度进行排序(Zset榜单多维度排序)

文章目录1. 分段bit位实现排序2. 除数实现排序(推荐)3. 基于分段bit为实现的redis排序工具类一般我们都会用redis的Zset这个数据结构来做排行榜 问题引入:使用zSet进行排序的时候一直有一个痛点,就是只能根据score进行排序&#x…

牛客算法刷题-BM6 判断链表中是否有环

描述 判断给定的链表中是否有环。如果有环则返回true,否则返回false。 数据范围:链表长度 0≤\leq≤ n ≤\leq≤ 10000,链表中任意节点的值满足 |val| ≤\leq≤ 100000。 要求:空间复杂度 O(1),时间复杂度 O(n)。 输…

思科模拟器 | 静态路由和默认路由的配置

静态路由与默认路由一、静态路由1、自定义IP地址2、基本配置与接线3、接口配置与指令描述4、静态路由配置【⭐】5、主机测试连接二、默认路由1、基本命令配置2、测试连接一、静态路由 1、自定义IP地址 以下是我自己分配的主机和个接口的IP地址、子网掩码以及默认网关&#xf…

SSL协议

目录 理论部分 实验部分 环境搭建 web1配置 配置负载均衡 web2配置 lb配置 实验目标:模拟颁发证书实现https访问,搭建负载均衡。 理论部分 1. SSL:安全套接字层 它是由Netscape公司于1994年创建,它旨在通过Web创建安全的Internet通信。 它是…

什么是股票委托接口?

什么是股票委托接口?相信大家对这些做股票量化交易接口系统都有一定是了解,其实股票委托接口是一些预先定义的接口,如函数与HTTP接口,以及api接口等这些,或指软件系统不同组成部分衔接的协议,用来提供应用程…

举个栗子~Tableau 技巧(246):将标签置于条形图的末端

用条形图呈现数据时,为增加直观性,通常会用标签显示条形对应的数值。Tableau 默认将标签呈现在条形最右侧外部,我们通过设置格式,可以将其挪动到条形里的中间或最左边。 有数据粉反馈:有没有办法,将数值标…

【C语言经典面试题】memcpy函数有没有更高效的拷贝实现方法?

【C语言经典面试题】memcpy函数有没有更高效的拷贝实现方法? 我相信大部分初中级C程序员在面试的过程中,可能都被问过关于memcpy函数的问题,甚至需要手撕memcpy。本文从另一个角度带你领悟一下memcpy的面试题,你可以看看是否能接得…

4D毫米波雷达开启感知新大陆,这家企业给出这样的答案

当前,自动驾驶行业的内卷已是不争的事实。无论是以叠加传感器为手段的“堆料”,还是以测试里程论性能高低的“堆数据”,最终都指向了同一个问题:感知瓶颈。随着自动驾驶行业越来越趋于理性,技术的研发也将回归最基础的…

【数据可视化】第五章—— 基于PyEcharts的数据可视化

文章目录1. pyecharts数据可视化介绍2.pyecharts安装与使用3.全局配置项和系列配置项3.1 全局配置项3.1.1 基本元素配置项3.1.2 坐标轴配置项3.1.3 原生图形配置项3.2 系列配置项3.2.1 样式类配置项3.2.2 标记类型配置项3.2.3 其它类配置项4.…

【性能优化】pc端与移动端图片优化篇

目录 优化方向: 优化方式 1.域名收敛 2.使用CDN节点 3.设置缓存 4.图片懒加载 5.用户图片上传限制 6.使用OSS服务压缩 7.使用OSS缩放 8.合成雪碧图 9.使用svg图片 在前端项目中图片的性能优化也有不少可以提升的方向 优化方向: 减少请求数量…

Go语言基础知识

Go语言基础知识 一、准备工作 1.1下载安装Go 地址:https://studygolang.com/dl 1、根据系统来选择下载包 2、下载完成后直接双击运行 3、一路next,注意选择安装路径 4、在控制台窗口输入“go version”可查看Go版本,检测是否安装成功 5、…

基于STAN的风力发电预测(Python代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🎉作者研究:🏅🏅🏅本科计算机专业,研究生电气学硕…

应届生自学Python两个月,为什么找不到工作?

今天我们来看一个同龄小伙伴自学Python的困惑,他自学了2个月Python就想找一份好工作,但是四处碰壁。对于这样的难题,我们来看看前辈们是如何解决的。 如果你想要学好python最好加入一个组织,这样大家学习的话就比较方便&#xff…

华夏教师杂志华夏教师杂志社华夏教师编辑部2022年第24期目录

视点_青少年党史学习教育《华夏教师》投稿:cn7kantougao163.com 青少年学党史的震阳实践 沙夕岗; 4-527 视点_德育 幸福365,成长每一天——苏州工业园区星澄学校“幸福365”德育课程简介 赵志德; 6-745 学校_基层党建 “1X”党员引领匠心路—…

高通Ride软件开发包使用指南(2)

高通Ride软件开发包使用指南(2)3 Ubuntu系统设置3.1前提条件3.2安装Ubuntu3.3 安装 docker3.4 在Linux主机上安装QNX软件中心3 Ubuntu系统设置 以下步骤准备Ubuntu系统使用docker图像构建工具链SDK,并启用可视化。 3.1前提条件 确保您的电…

三年PHP经验如何提高工资?PHP接单推荐

大家都知道,一般来说以PHP来做开发的有很大一部分是外包公司,如果简简单单的干了一到两年多,那么我相信你的经验值肯定会大幅度提升,但是如果说要真正提高技术或者很快的提高工资,这在我看来,相较于其他语言…