(参考写法)Transformer-Based Visual Segmentation:A Survey

news2025/1/12 18:22:44

基于Transformer的视觉分割综述

南洋理工大学NTU、上海人工智能实验室AI Lab整理300+论文

论文地址:https://arxiv.org/pdf/2304.09854.pdf

代码地址:https://github.com/lxtGH/Awesome-Segmentation-With-Transformer

前言

SAM (Segment Anything )作为一个视觉的分割基础模型,在短短的3个月时间吸引了很多研究者的关注和跟进。

如果你想系统地了解SAM背后的技术,并跟上内卷的步伐,并能做出属于自己的SAM模型,那么接下这篇Transformer-Based的Segmentation Survey是不容错过!

近期,南洋理工大学和上海人工智能实验室几位研究人员写了一篇关于Transformer-Based的Segmentation的综述,系统地回顾了近些年来基于Transformer的分割与检测模型,调研的最新模型截止至今年6月!

同时,综述还包括了相关领域的最新论文以及大量的实验分析与对比,并披露了多个具有广阔前景的未来研究方向!

Abstract

视觉分割旨在将图像、视频帧或点云分割为多个片段或组。这种技术具有许多现实世界的应用,如自动驾驶、图像编辑、机器人感知和医学分析。(视觉分割定义+应用举例)

在过去的十年里,基于深度学习的方法在这个领域取得了显著的进展。(之前是基于什么发展的)

最近,Transformer成为一种基于自注意力机制的神经网络,最初设计用于自然语言处理,在各种视觉处理任务中明显超越了以往的卷积或循环方法。(提出本文要用的方法Transformer)

具体而言,视觉Transformer为各种分割任务提供了强大、统一甚至更简单的解决方案。本综述全面概述了基于Transformer的视觉分割,总结了最近的进展。(讲了Transformer的强大)

(接下来对于论文架构进行了阐述)

首先,本文回顾了背景,包括问题定义、数据集和以往的卷积方法。

接下来,本文总结了一个元架构,将所有最近的基于Transformer的方法统一起来。基于这个元架构,本文研究了各种方法设计,包括对这个元架构的修改和相关应用。

此外,本文还介绍了几个相关的设置,包括3D点云分割、基础模型调优、域适应分割、高效分割和医学分割。

此外,本文在几个广泛认可的数据集上编译和重新评估了这些方法。

最后,本文确定了这个领域的开放挑战,并提出了未来研究的方向。项目页面可以在https://github.com/lxtGH/Awesome-Segmentation-With-Transformer上找到,本文仍会持续和跟踪最新的基于Transformer的分割与检测方法。

Index Terms—Vision Transformer Review, Dense Prediction, Image Segmentation, Video Segmentation, Scene Understanding

1. Introduction

视觉分割的目的是将给定图像或视频的像素分成一组语义区域。它是计算机视觉中的一个基本问题,涉及许多现实世界的应用,如机器人,自动监控,图像/视频编辑,社交媒体,自动驾驶等。从手工特征[1],[2]和经典机器学习模型[3],[4],[5]开始,分割问题已经涉及了大量的研究工作。在过去的十年中,深度神经网络、卷积神经网络(cnn)[6]、[7]、[8],如全卷积网络(FCNs)[9]、[10]、[11]、[12]在不同的分割任务上取得了显著的成功,并取得了更好的结果。与传统分割方法相比,基于cnn的方法具有更好的泛化能力。由于其优异的性能,cnn和FCN结构一直是分割研究工作的基本组成部分。

最近,随着自然语言处理(NLP)的成功,Transformer[13]被引入作为循环神经网络[14]的替代品。Transformer包含一种新颖的自关注设计,可以并行处理各种令牌。然后,在Transformer设计的基础上,BERT[15]和GPT-3[16]对模型参数进行缩放,并使用大量未标记文本信息进行预训练。它们在许多NLP任务上实现了强大的性能,加速了transformer向视觉社区的发展。最近,研究人员将Transformer应用于计算机视觉(CV)任务。早期的方法[17],[18]结合自关注层来增强cnn。与此同时,几个作品[19][20]使用纯自关注层代替卷积层。之后,有两种显著的方法提高了CV任务。一种是vision transformer (ViT)[21],它是一种纯transformer,直接取图像patch的序列对整幅图像进行分类。它在多个图像识别数据集上实现了最先进的性能。另一种是detection Transformer(DETR)[22],它引入了对象查询的概念。每个对象查询代表一个实例。对象查询取代了以前检测框架中复杂的锚设计,简化了检测和分割的流程。接下来的工作对各个视觉任务进行了改进设计,包括表征学习[23]、[24]、目标检测[25]、分割[26]、底层图像处理[27]、视频理解[28]、3D场景理解[29]、图像/视频生成[30]。

对于视觉分割,目前最先进的方法都是基于Transformer架构的。与CNN方法相比,大多数基于Transformer的方法管道更简单,但性能更强。由于基于Transformer的视觉模型的迅速兴起,人们对视觉Transformer[31],[32],[33]进行了一些研究。然而,大多数主要集中在通用Transformer设计及其在几个具体视觉任务[34],[35],[36]上的应用。同时,对于基于深度学习的分割[37],[38],[39]也有前人的研究。然而,据我们所知,还没有关于使用视觉变换进行视觉分割或基于查询的对象检测的调查。我们相信,总结这些工作并继续跟踪这一不断发展的领域将对社区有益。

1.1 Contribution

在本文中,我们系统地介绍了基于Transformer的视觉分割方法的最新进展。我们从定义任务、数据集和基于cnn的方法开始,然后转向基于Transformer的方法,涵盖现有方法和未来的工作方向。我们从比较技术性的角度对调查组现有代表性作品的方法进行了详细介绍。特别是,对于主要的回顾部分,我们首先在3.1节中总结了现有的meta -architecture方法的核心框架,这是DETR的扩展。通过改变元架构的组件,我们在3.2节中将现有的方法分为六类,包括表示学习、解码器中的交互设计、优化对象查询、使用关联查询和条件查询生成。

此外,我们还调查了密切相关的具体设置,包括点云分割,基础模型调优,领域感知分割,数据/模型高效分割,分类诊断分割和跟踪,以及医疗分割。我们用几个广泛使用的细分基准来评估发表在顶级会议和期刊上的有影响力的作品的性能。此外,我们还在背景部分概述了以前基于神经网络的模型和其他领域的相关文献,如对象检测、对象跟踪和参考分割。

1.2 Scope

本调查将涵盖几个主流分割任务,包括语义分割,实例分割,全景分割,以及它们的变体,如视频和点云分割。此外,我们将在第4节中介绍相关的下游设置。我们专注于基于transformer的方法,仅回顾一些密切相关的基于cnn的方法以供参考。虽然有很多预印本或已出版的作品,但我们只收录了最具代表性的作品。

1.3 Organization

调查的其余部分组织如下。总的来说,图1显示了我们调查的流程。在第2节中,我们首先介绍了关于问题定义、数据集和基于cnn的方法的背景知识。然后,我们回顾了第3节和第4节中关于基于transformer的分割方法的代表性论文。我们在第5节对实验结果进行比较。最后,我们在第6节提出了未来的方向,在第7节总结了调查。

图1. Survey的内容路线图 

1.1 ViT和DETR 的出现使得分割与检测领域有了十足的进展,目前几乎各个数据集基准上,排名靠前的方法都是基于Transformer的。为此有必要系统地总结与对比下这个方向的方法与技术特点。

1.2 近期的大模型架构均基于Transformer结构,包括多模态模型以及分割的基础模型(SAM),视觉各个任务向着统一的模型建模靠拢。

1.3 分割与检测衍生出来了很多相关下游任务,这些任务很多方法也是采用Transformer结构来解决。

2. Background

这篇综述的特色,以及与以往的Transformer综述有什么区别?

在本节中,我们首先提出了不同分割任务的统一问题定义。然后详细介绍了常用的数据集和评估指标。接下来,我们对transformer之前的方法进行总结。最后,我们回顾了transformer的基本概念。为了便于理解本次调查,我们在表1中列出了简要的注释,以供参考。

2.1 Problem Definition

Image Segmentation.

给定输入图像I∈R (H×W×3),图像分割的目标是输出一组掩模,其中ci表示二进制掩模mi的真类标号,G表示掩模个数,H×W表示空间大小。根据类标签和掩码的范围,图像分割可以分为语义分割(SS)、实例分割(IS)和全景分割(PS)三种不同的任务,如图2 (a)所示。对于语义分割,类可以是前景对象(thing)或背景(stuff),每个类只有一个二值掩码,表示属于该类的像素。每个SS掩码不与其他掩码重叠。对于IS,每个类可以有多个二进制掩码,并且所有类都是前景对象。一些IS面具可能与其他面具重叠。对于PS,取决于类定义,每个类可能有不同数量的掩码。对于可数的thing类,每个类可以为不同的实例拥有多个掩码。对于不可数的stuff类,每个类只有一个掩码。每个PS掩码不与其他掩码重叠。可以从像素的角度来理解图像分割。给定输入I∈R(H×W×3),图像分割的输出是一个双通道密集分割图S = {kj, cj}H×W j=1。其中,k表示像素j的恒等,c表示像素j的类标号。对于SS,所有像素的恒等都为零。对于IS,每个实例都有一个唯一的标识。对于PS,属于事物类的像素具有唯一的标识。像素stuff类的恒等式为零。从这两个角度来看,PS统一了SS和IS。我们在图2中提供了可视化示例。

Video Segmentation.

给定一个视频片段输入为V∈R T ×H×W×3,其中T表示帧数,视频分割的目标是获得一个掩码管{yi} N i=1 = {(mi, ci)} N i=1,其中N为掩码管mi∈{0,1}T ×H×W的个数,ci表示掩码管mi的类标号。视频全光分割(VPS)要求每个像素的分割和跟踪结果在时间上保持一致。每个管罩都可以分为可数的物类和无数的物类。每个东西管面罩也有一个唯一的ID来评估跟踪性能。对于材质遮罩,跟踪默认为零。当N = C且任务只包含素材类,且所有素材类都没有id时,VPS就变成了视频语义分割(VSS)。如果{yi} N i=1重叠,且C只包含thing类,忽略所有的stuff类,则VPS变成视频实例分割(VIS)。我们在图2 (b)中提供了可视化示例,总结了T = 2时VPS, VIS和VSS之间的差异。

Related Problems.

目标检测和实例分割(IS/VIS/VPS)是密切相关的任务。目标检测包括预测目标边界框,这可以被认为是IS的一种粗略形式。在引入DETR模型之后,许多工作将目标检测和IS视为相同的任务,因为IS可以通过在目标检测中添加一个简单的掩模预测头来实现。同样,视频对象检测(VOD)的目标是检测每个视频帧中的对象。在我们的调查中,我们还研究了基于查询的对象检测器,用于对象检测和VOD。点云分割是另一种分割任务,其目标是将点云中的每个点分割成预定义的类别。我们可以将语义分割、实例分割和全景分割的相同定义应用于该任务,从而得到点云语义分割(PCSS)、点云实例分割(PCIS)和点云全景分割(PCPS)。参考切分是一项旨在对自然语言文本输入中描述的对象进行切分的任务。参考分割中有两个子任务:参考图像分割(RIS)和参考视频对象分割(RVOS),前者执行语言驱动的分割,后者根据所需的文本输入对视频中的特定对象进行分割和跟踪。最后,视频对象分割(VOS)涉及到在给定第一帧对象的掩码的情况下,通过预测每帧中的逐像素掩码来跟踪视频中的对象。

2.2 Datasets and Metrics

Commonly Used Datasets.

在表2中,我们列出了图像和视频分割常用的数据集。对于图像分割,最常用的数据集是COCO [43], ADE20k[44]和cityscape[45]。对于视频分割,最常用的数据集是VSPW[48]和Youtube-VIS[49]。我们将在第5节中比较几个数据集的结果。
表2. 常用的数据集以及分割任务总结

Common Metric.

对于SS和VSS,常用的度量是平均交联(mIoU),它计算输出图像和视频掩模以及地面真值掩模之间的像素化兴趣联合。对于IS,度量是掩码平均精度(mAP),通过用掩码IoU替换方框IoU来扩展目标检测。对于VIS,度量是3D mAP,它以时空方式扩展掩膜mAP。对于PS,度量是全光质量(PQ),它通过设置一个固定的阈值0.5来统一物体和物体的预测。对于VPS,常用的指标是视频全光质量(VPQ)和分割跟踪质量(STQ)。前者将PQ扩展到时间窗口计算中,而后者以逐像素的方式将分割和跟踪解耦。请注意,还有其他指标,包括像素精度和时间一致性。为简单起见,我们只报告文献中使用的主要指标。我们在补充材料中提出了这些指标的详细公式。

2.3 Segmentation Approaches Before Transformer

Semantic Segmentation.

在ViT和DETR出现之前,SS通常被视为密集像素分类问题,最初由FCN提出。那么,接下来的工作都是基于FCN框架的。这些方法可以分为以下几个方面:更好的编解码器框架[53]、[54]、更大的核[55]、[56]、多尺度池化[11]、[57]、多尺度特征融合[12]、[58]、[59]、[60]、非局部建模[18]、[61]、[62]、高效建模[63]、[64]、[65]、更好的边界划分[66]、[67]、[68]、[69]。变压器提出后,以全局上下文建模为目标,一些作品设计了自关注算子的变体来取代CNN预测头[61],[70]。

Instance Segmentation.

IS的目标是检测和分割每个物体,这超出了物体检测的范围。大多数IS方法关注的是如何在对象检测之外表示实例掩码,这可以分为两类:自上而下的方法[71],[72]和自下而上的方法[73],[74]。前者用一个额外的掩模头扩展了目标检测器。掩码头的设计多种多样,

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

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

相关文章

python创建一个简单的flask应用

下面用python在本地和服务器上分别创建一个简单的flask应用: 1.在pc本地 1)pip flask后创建一个简单的脚本flask_demo.py from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return Hello, World!winR进入命令行,…

https网站加载http资源问题

https网站加载http资源问题 前言:最近项目对接了一个第三方的平台、我们需要展示第三方平台返回来的图片资源、由于我们的服务器设置为了https、但是第三方平台返回的图片链接是 http 资源。所以就出现了图片无法加载出来的问题,在此记录一下问题的解决…

数据结构与算法(Java版) | 排序算法的介绍与分类

各位朋友,现在我们即将要进入数据结构与算法(Java版)这一系列教程中的排序算法这一章节内容的学习中了,所以还请大家系好安全带,跟随我准备出发吧! 相信诸位应该都知道排序算法有很多种吧!就算没…

旋转链表(C++解法)

题目 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3]示例 2: 输入:head [0,1,2], k 4 输出:[…

服务号可以转订阅号吗

服务号和订阅号有什么区别?服务号转为订阅号有哪些作用?首先我们要看一下服务号和订阅号的主要区别。1、服务号推送的消息没有折叠,消息出现在聊天列表中,会像收到消息一样有提醒。而订阅号推送的消息是折叠的,“订阅号…

软文成功三大要素,媒介盒子分享

今天媒介盒子来和大家分享:软文成功的三大要素。 许多企业在进行软文推广时经常会很困惑,明明软文写了也发了,怎么就是没效果,其实是忽略了这三点: 一、 创意性 创意可以是文案的语言风格、看问题的视角、排版等等&…

服务器开设新账户,创建账号并设置密码

实验室又进新同学了,服务器开设新账号搞起来 1、创建用户: 在root权限下,输入命令useradd -m 用户名,如下 sudo useradd -m yonghuming 2、设置密码: 输入命令passwd 用户名 回车,接着输入密码操作&…

SPSS两独立样本的非参数检验

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

Yolov8改进CoTAttention注意力机制,效果秒杀CBAM、SE

1.CoTAttention 论文地址:2107.12292.pdf (arxiv.org) CoTAttention网络是一种用于多模态场景下的视觉问答(Visual Question Answering,VQA)任务的神经网络模型。它是在经典的注意力机制(Attention Mechanism&#xf…

C++ 算法:区间和的个数

涉及知识点 归并排序 题目 给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中,值位于范围 [lower, upper] (包含 lower 和 upper)之内的 区间和的个数 。 区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和…

多技术融合提升环境、生态、水文、土地、农业、大气等领域科研技术水平

专题一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 点击查看原文链接https://mp.weixin.qq.com/s?__bizMzg2NDYxNjMyNA&mid2247546998&idx6&sn39342c376b158eff1…

基于SSM的购物商城网站的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

多测师肖sir_高级金牌讲师__adb命令

adb指令整理: ADB常用的指令: 查看当前连接设备 : adb devices 进入到shell : adb shell 查看日志 : adb logcat 安装apk文件 : adb install xxx.apk 卸载APP : adb uninstall 包名 查看包名 &…

Cadence Virtuoso如何保存spectre仿真在cell view里

Launch ADE L 可以选择 Load State 加载上次仿真状态,但是我想保存在cell view和schematic在一起可以直接打开,可以选择Save State旁的Cellview 可以在Library Manager中看到保存成功了

YOLOv5项目实战(2)— 手把手教你租借云服务器去训练模型

前言:Hello大家好,我是小哥谈。近期由于出差在外(在新疆吐鲁番出差呢~),一直远程使用公司服务器进行算法模型训练,但是由于这几天公司VPN故障,导致无法远程训练模型,所以就想着租借服务器来进行训练。近期我研发的算法模型是工业场景烟雾明火检测,本节课就以此为例教大…

AI 引擎系列 4 - 首次运行 AI 引擎编译器和 x86simulator(2022.1 更新)

AI 引擎系列 4 - 首次运行 AI 引擎编译器和 x86simulator(2022.1 更新) 简介 在 AI 引擎系列的前 3 篇博文中,我们探讨了 AI 引擎应用所需的不同文件。在本篇中,我们将为 X86 目标运行 AI 引擎编译器,观察它生成的不…

YOLO目标检测——昏暗车辆检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:智能交通监控系统、驾驶辅助系统、城市安全监控、自动驾驶系统以及路况分析与规划等数据集说明:昏暗车辆检测数据集,真实场景的高质量图片数据,数据场景丰富,含有图片汽车、卡车、公共汽车标签说明&#…

C++23:多维视图(std::mdspan)

C23:多维视图(std::mdspan) 介绍 在 C23 中,std::mdspan 是一个非拥有的多维视图,用于表示连续对象序列。这个连续对象序列可以是一个简单的 C 数组、带有大小的指针、std::array、std::vector 或 std::string。 这…

YOLO目标检测——车辆分类检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:安全监控、智能驾驶、人机交互、智能城市数据集说明:车辆分类检测数据集,真实场景的高质量图片数据,数据场景丰富,含有图片汽车、公共汽车、摩托车、救护车和卡车等图片标签说明:使用lableimg…

SPSS两相关样本检验

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…