SETR——Rethinking系列工作,展示使用纯transformer在语义分割任务上是可行的,但需要很强的训练技巧

news2024/9/20 8:14:53

image.png

题目:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers

作者:image.png
开源:https://fudan-zvg.github.io/SETR

1.研究背景

1.1 为什么要研究这个问题?

自[ 36 ]的开创性工作以来,现有的语义分割模型主要是**基于全卷积网络( FCN )的模型。**一个标准的FCN分割模型具有编码器-解码器结构: 编码器用于特征表示学习,而解码器用于特征表示的像素级分类。
[ 36 ]Jonathan Long, Evan Shelhamer, and Trevor Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. 1, 2, 3, 6

1.2 所研究的问题目前存在什么样的困难?

FCN针对在非约束场景图像中学习对语义分割至关重要的长距离依赖信息,存在有限的感受野限制!

1.3 学者们都做了哪些研究来解决此问题?这些解决方法还有什么不足?

为了克服上述缺陷,近年来提出了许多方法。一种方法是直接操纵卷积操作(directly manipulate the convolution operation),包括大的核尺寸[ 40 ](large kernel sizes),空洞卷积[ 8、22 ](atrous convolutions)和图像/特征金字塔(image/feature pyramids);另一种方法是将注意力模块集成到FCN架构中,该模块旨在对特征图中所有像素的全局交互进行建模。
无论采用哪种方式,标准的编码器-解码器FCN模型架构都保持不变。
最近,人们尝试完全去除卷积,转而使用注意力独立模型[ 47 ]。然而,即使没有卷积,它们也不会改变FCN模型结构的本质:编码器对输入的空间分辨率进行降采样,开发出有助于区分语义类的低分辨率特征表示,解码器再对特征表示上采样到全分辨率语义映射。

2.研究目的

在本文中,我们旨在为语义分割模型的设计提供一种反思,并贡献一种替代方案。我们提出用一个纯transformer[ 45 ]来代替空间分辨率逐渐降低的基于堆叠卷积层的编码器,从而产生了一个新的分割模型- -SEgmentation TRansformer (SETR)。
该转换器将输入图像视为由学习到的块嵌入表示的图像块序列,并对该序列进行全局自注意力建模,用于判别性特征表示学习。具体来说,我们首先将一幅图像分解为固定大小的面片网格,形成一个面片序列。对每个面片的扁平化像素向量施加线性嵌入层,得到特征嵌入向量序列,作为transformer的输入。给定从编码器转换器中学习到的特征,然后使用解码器恢复原始图像分辨率。关键的是,在编码器转换器的每一层都没有空间分辨率的下采样,而是全局上下文建模,从而为语义分割问题提供了一个全新的视角。(无需从局部到全局学习)
创新点:

  • 我们从序列到序列学习的角度重新建模了图像语义分割问题,为占主导地位的编码器-解码器FCN模型设计提供了一种替代方案。
  • 作为一个实例,我们利用Transformer框架通过对图像进行序列化来实现我们的全注意力特征表示编码器。
  • 为了更全面地考察自注意特征的呈现,我们进一步介绍了三种不同复杂度的解码器设计。

3.研究方法

Transformer

由于FCN的encoder部分一般对图像下采样16倍,故将图片分割为原图的16×16块;每个patch经过线性映射得到L×C的矩阵( L = H 16 ∗ W 16 L=\frac{H}{16}*\frac{W}{16} L=

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

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

相关文章

【机器学习300问】69、为什么深层神经网络比浅层要好用?

要回答这个问题,首先得知道神经网络都在计算些什么东西?之前我在迁移学习的文章中稍有提到,跳转链接在下面: 为什么其他任务预训练的模型参数,可以在我这个任务上起作用?http://t.csdnimg.cn/FVAV8 …

go work模块与go mod包管理是的注意事项

如下图所示目录结构 cmd中是服务的包,显然auth,dbtables,pkg都是为cmd服务的。 首先需要需要将auth,dbtables,pkg定义到go.work中,如下: 在这样在各个单独的go mod管理的模块就可以互相调用了。一般情况下这些都是IDE自动进行的,…

js纯前端实现语音播报,朗读功能(2024-04-15)

实现语音播报要有两个原生API 分别是【window.speechSynthesis】【SpeechSynthesisUtterance】 项目代码 // 执行函数 initVoice({text: 项目介绍,vol: 1,rate: 1 })// 函数 export function initVoice(config) {window.speechSynthesis.cancel();//播报前建议调用取消的函数…

CSS使用自己的字体

在项目的根目录下的static文件夹中放置字体文件。在项目中使用这个字体,需要2个步骤。 一. 你需要在全局样式文件中引入它。 假设你的全局样式文件是App.vue或者App.vue中引入的App.scss文件,你可以像这样引入字体文件: font-face {font-fa…

自然语言控制机械臂:ChatGPT与机器人技术的融合创新(下)

引言 在我们的上一篇文章中,我们探索了如何将ChatGPT集成到myCobot 280机械臂中,实现了一个通过自然语言控制机械臂的系统。我们详细介绍了项目的动机、使用的关键技术如ChatGPT和Google的Speech-to-text服务,以及我们是如何通过pymycobot模块…

C++面向对象程序设计 - 类和对象进一步讨论

在C中,关于面向对象程序设计已经讲了很大篇幅,也例举很多案例,此篇将通过一些习题来进一步了解对象、静态成员、指针、引用、友元、类模板等等相关知识。 一、习题一(构造函数默认参数) 示例代码: #includ…

主流App UI设计,7个在线平台供您选择!

在数字时代,用户界面(UI)设计变得非常重要,因为良好的UI设计可以改善用户体验,增强产品吸引力。随着技术的发展,越来越多的应用程序 ui在线设计网站的出现为设计师和团队提供了一种全新的创作方式。本文将盘…

关于Wordpress的操作问题1:如何点击菜单跳转新窗口

1.如果打开,外观-菜单-菜单结构内,没有打开新窗口属性,如图: 2.在页面的最上部,点开【显示选项】,没有这一步,不会出现新跳转窗口属性 3.回到菜单结构部分,就出现了

Mysql嵌套查询太简单了

1、子查询的分类 不相关查询: 子查询能独立执行 相关查询: 子查询不能独立运行 相关查询的执行顺序: 首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询, 若WHERE子句返回值为真,则取此元组放入结果…

CSS基础:margin属性4种值类型,4个写法规则详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合集 268篇…

PaddleOCR训练自己模型(1)----数据准备

一、下载地址: PaddleOCR开源代码(下载的是2.6RC版本的,可以根据自己需求下载) 具体环境安装就不详细介绍了, 挺简单的,也挺多教程的。 二、数据集准备及制作 (1)下载完代码及配置…

Navicat for MySQL 使用基础与 SQL 语言的DDL

一、目的: Navicat for MySQL 是一套专为 MySQL 设计的高性能数据库管理及开发 工具。它可以用于任何版本 3.21 或以上的 MySQL 数据库服务器,并支持大 部份 MySQL 最新版本的功能,包括触发器、存储过程、函数、事件、视图、 管理用户等。…

软件工程及开发模型

根据希赛相关视频课程汇总整理而成,个人笔记,仅供参考。 软件工程的基本要素包括方法、工具和(过程) 方法:完成软件开发的各项任务的技术方法; 工具:运用方法而提供的软件工程支撑环境&#xff…

数据结构 -- 二分查找

本文主要梳理了二分查找算法的几种实现思路,基本概念参考 顺序、二分、哈希查找的区别及联系_生成一个大小为10万的有序数组,随机查找一个元素,分别采用顺序查找和二分查找方式-CSDN博客 1、基本概念 (1)前提条件:待查找数据必须…

Leetcode二叉树刷题

给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true public boolean isSymmetric(TreeNode root) {if(rootnull)return true;return compare(root.left,root.right);}public boole…

【Unity】游戏场景添加后处理特效PostProcessing

添加后处理特效PostProcessing 添加雾效果后处理何为后处理?添加后处理特效 添加雾效果 依次点击Window -> Rendering -> Lighting添加Lighting面板。 点击Lighting里面的Environment,找到Other Setting 将Fog选项勾选 更改下方的颜色 调整雾的浓…

自然语言处理: 第二十七章LLM训练超参数

前言: LLM微调的超参大致有如下内容,在本文中,我们针对这些参数进行解释 training_arguments TrainingArguments(output_dir"./results",per_device_train_batch_size4,per_device_eval_batch_size4,gradient_accumulation_steps2,optim"adamw_8bi…

JavaSE图书管理系统

JavaSE图书管理系统 思路一.Main方法二.User包1.User类2.NormaUser类3.AdminUser类三.book包1.BookList类2.Book类四.operation包1.IOPeration接口2.AddOperation类新增图书3.BorrowOperation类借阅图书4.DelOperation类删除图书5.FindOperation类查找图书6.ReturnOperation类归…

Unity解决:导出安卓apk 安装时报错:应用未安装:软件包似乎无效

Unity2018.4.36 导出安卓apk 安装时报错:应用未安装:软件包似乎无效 解决办法:因为安装到安卓12 需要添加添加过滤规则 在AS工程AndroidManifest.xml 添加过滤规则即可。 android:exported"true"

初识ansible服务剧本playbook及剧本编写实例

目录 1、playbook剧本文件概念 1.1 剧本文件的结构由4部分组成 2、配置实例 实例1-编写一个实现批量安装mariadb数据库的剧本 实例2-编写一个创建一个目录/backup,并在目录喜爱创建01.txt文件的剧本 实例3-编写一个添加定时同步时间的定时任务剧本 错误反思 1、playbook剧…