DFormer: Diffusion-guided Transformer for UniversalImage Segmentation

news/2024/7/19 8:39:43 标签: transformer, 深度学习, 人工智能

DFormer:用于通用图像分割的扩散引导transformer

摘要:本文介绍了一种通用的图像分割方法DFormer。所提出的DFormer将通用图像分割任务视为一个使用扩散模型的去噪过程。DFormer首先将不同级别的高斯噪声添加到地面真实掩码中,然后学习一个模型来预测从损坏的掩码中去除噪声的掩码。具体地说,我们将深度像素级特征和噪声掩码作为输入来生成掩码特征和注意掩码,并使用基于扩散的解码器逐步执行掩码预测。在推理中,我们的DFormer直接从一组随机生成的掩码中预测掩码和相应的类别。大量的实验表明,我们提出的贡献在不同的图像分割任务上的优点:全景分割、实例分割和语义分割。我们的DFormer在MS Coco val2017集合上的表现优于最新的基于扩散的全景分割方法Pix2Seq-D,收益为3.6%。此外,在ADE20K Val集合上,DFormer获得了良好的语义分割性能,比最近的基于扩散的方法高出2.2%。我们的源代码和模型将在https://github.com/cp3wan/DFormer.上公开

1 介绍

图像分割的目的是将图像中的像素分成不同的单位。分组有不同的表示法,例如语义类别或实例。因此,人们提出了多种图像分割任务,包括语义分割[1]、实例分割[2]、全视分割[3]等。语义分割将像素划分为不同的语义类别,而实例分割将像素划分为不同的实例。另一方面,泛视分割不仅将物体的像素分组到不同的实例中,而且还将物体分割成不同的语义类别,这可以看作是语义分割和实例分割的联合任务。

在过去的几年里,研究人员针对不同的图像分割任务提出了专门的架构。例如,全卷积网络的不同变体[1,4,5]被用于语义分割中的像素级分类。检测-然后分割[2,6,7]和端到端[8-10]架构用于实例分割,而分裂-然后合并管道[11,12]旨在结合语义和实例分割进行全视分割。虽然这些专门的方法在每个单独的分割任务中都取得了巨大的成功,但它们通常难以有效地推广到不同的图像分割任务中。

为了解决上述问题,很少有现有作品[13-15]试图开发一种通用架构,通过统一的框架执行不同的图像分割任务。启发

通过基于变压器的目标检测器,DETR[16],这些方法将图像分割视为端到端集合预测问题。例如,K-Net[13]采用了一组可学习的内核来动态分割实例和内容,而Mask2Former[17]引入了一个掩码-注意力掩码转换器来进行掩码分类和掩码预测。近年来,基于扩散模型的图像分割方法也得到了探索。例如,Chen等人[18]采用位扩散进行全光分割,Ji等人[19]提出将噪声和深度特征拼接进行语义分割。然而,基于扩散模型的图像分割方法仍然落后于现有的通用图像分割方法。在这项工作中,我们研究了设计一个有效的基于扩散模型的变压器方法的问题,该方法可以实现具有竞争力的通用图像分割性能。

我们提出了一个名为DFormer的扩散引导变压器框架,用于通用图像分割。我们的DFormer将图像分割视为噪声蒙版的生成任务。在训练过程中,我们将不同程度的高斯噪声加入到真值掩模中,得到噪声掩模。然后,利用二值阈值生成注意力蒙版,并对噪声蒙版和深度像素级特征进行聚合得到蒙版特征。然后,我们将它们馈送到变压器解码器,以预测具有掩码注意的每个掩码特征的接地真值掩码。在推理时,我们首先生成一组带噪声的掩模,然后使用基于扩散的解码器来预测掩模和相应的对象类别。

我们对三种不同的图像分割任务进行了实验:语义分割、实例分割和全景分割。我们的实验结果表明,在单一架构的三个分割任务上,所提出的贡献具有令人满意的性能(见图1)。使用骨干网ResNet50,我们的DFormer在MS COCO val2017集上实现了51.1%的PQ分数,从而优于最近基于扩散的全光分割方法Pix2Seq-D[18],绝对增益为3.6%(见图1)。在主干swing - t下,我们的DFormer在语义分割ADE20K值集上的mIoU得分达到48.3%,优于最近基于扩散的语义分割方法DDP[19]。

2 相关工作

语义分割。语义分割旨在将图像中的像素分组到不同的语义类别中(例如,人,汽车和道路)。随着深度学习的出现,语义分割已经取得了很好的进展。FCN[1]是最早用于语义分割的工作之一,它采用全卷积网络进行像素级分类。之后,研究人员开发了不同的FCN变体来改进语义分割。例如,一些研究侧重于采用编码器-解码器结构的局部上下文信息聚合[5,21,22]或空间金字塔结构[23,4]。此外,一些作品利用了非局部上下文聚合的注意机制[24-26],而其他作品则着眼于实时设计[27,28]。

最近,文献中提出了基于变压器的方法,如基于变压器的网络设计[29-31]和基于变压器的分段头[32,33]。

实例分割。实例分割对不同的对象实例(例如,人和车)进行分类和分割,并通过两阶段、单阶段和端到端方法来解决。两阶段方法[2,34,35]通常建立在两阶段目标检测器的基础上,首先生成一些候选区域建议,然后在裁剪的区域建议中预测目标掩码。

与两阶段方法相比,单阶段方法[36-38]直接使用全卷积网络进行掩码预测。最近,随着端到端目标检测器(如DETR[16])的成功,一些工作已经探索了端到端实例分割。queryst[39]为基于查询的实例分割设计了一个动态掩码头。SOLQ[40]为实例类、位置和掩码构建了统一的查询表示。SOTR[41]将双注意机制发展为实例分割的变压器。此外,FastInst[42]和SparseInst[43]侧重于高效设计。

展示全景的分割


http://www.niftyadmin.cn/n/5438696.html

相关文章

Vector[C++]

文章目录 C中的std::vector简介std::vector的特点std::vector的重要接口用法介绍1. 初始化vector 2. 添加元素push_backemplace_back 3. 访问元素operator[]back 4. 修改元素operator 5. 遍历三种,下标,迭代器,范围for 6. 容量和大小sizeempt…

数据结构-3(链式存储顺序表)

概念 通常用一个tmp指针来标记定位 头文件 #ifndef _DOUBLE_LINK_LIST #define _DOUBLE_LINK_LISTtypedef struct preson{char name[32];char sex;int age;int score; }DATATYPE;typedef enum{FORWARD,BACKWARD, }DIRECT;typedef struct dou_node{DATATYPE data;struct dou_no…

基于生态系统服务(InVEST模型)的人类活动、重大工程生态成效评估、论文写作等具体应用

白老师(研究员):长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作;重点围绕生物多样性、生态系统服务与价值等,构建生物地球化学模型和评价指标体系,为城市、区域和自然保护区的可持续…

每天几道面试题|Kafka(一)基础概念

文章目录 什么是 Apache Kafka?它是用来解决什么问题的?Kafka 的主要组件有哪些?它们各自的作用是什么?Kafka 中的生产者和消费者是什么?它们之间的关系是怎样的?Kafka 中的分区是什么?为什么要…

张宇高数一学习笔记-第一讲-函数极限与连续(1)

1、函数的概念与特性 1.1、函数 1、y才是x的函数,而f()是加工法则。 2、定义域是基于加工法则f()存在的,也就是说加工法则f()对()内数据的限制范围就是定义域。而 3、自变量x的取值范围来源于:定义域对()内的含x表达式的限制下得出的x的取值…

3月19日ACwing每日一题

4262. 空调 - AcWing题库 #include <bits/stdc.h> using namespace std; const int N1e57; int a[N];//负数要再升高 正数要下降 最后都到0 int d[N]; void solve(){int n;cin>>n;for(int i1;i<n;i)cin>>a[i];for(int i1;i<n;i){int now;cin>>…

数据结构 --- 复杂度概念及计算讲解(时间复杂度,空间复杂度)

今天没有sao话&#xff0c;今天认真学习 一、时间复杂度 1、概念讲解 2、计算讲解 二、空间复杂度 1、概念讲解 2、计算讲解 三、常见复杂度对比 四、完结撒❀ 前言&#xff1a; 经常刷题的人都知道&#xff0c;我们在解决一道题时可能有多个解法&#xff0c;那么如何…

移动端实现一个日历带提示

移动端实现一个日历带提示的效果&#xff1a; 功能&#xff1a;超过当前12点不能选明天的&#xff0c;只能选后天的日期。 使用组件&#xff1a;vant-Calendar const formatter (day: CalendarDayItem) > {// console.log("day", day);const currentTime new …