Mixed-Query Transformer:统一的图像分割架构

Mixed-Query Transformer:统一的图像分割架构

  • 摘要
  • Introduction
  • Related Work
  • Method
    • MQ-Former Architecture
    • Object Query Strategies

Mixed-Query Transformer: A Unified Image Segmentation Architectur

摘要

在现有的一体化图像分割模型中,要么在多个任务上采用统一的架构但为每个数据集使用特定的权重,要么在多个数据集上应用单一权重集但仅限于单一任务。

在本文中,作者引入了混合 Query Transformer (MQ-Former),这是一种用于多任务和多数据集图像分割的统一架构,使用单一权重集。

为此,作者提出了一种混合 Query 策略,它能够有效地动态适应不同类型的目标,而无需启发式设计。此外,统一架构使作者能够使用带有合成 Mask 和标题的数据增强,以进一步提高模型的泛化能力。

实验表明,MQ-Former不仅能够有效地处理多个分割数据集和任务,与具有竞争力的性能的专业先进模型相比具有优势,而且还能更好地泛化到开放集分割任务,在开放词汇SeginW基准上的性能比SOTA提高了7个百分点以上。

Introduction

图像分割是计算机视觉研究的重要方向,其目标是将图像划分为离散的像素组。它有多个分支,包括语义分割、实例分割、全景分割、前景/背景或显著性分割、指代分割等。通用图像分割模型的目标是展现出强大的泛化能力,在现实世界的开放世界应用中有效执行。为了实现这一点,一种直接的解决方案是在统一架构下对各种数据和任务进行模型训练,以便整合不同任务和数据集之间的知识。然而,许多先前的工作是独立地在每个任务或数据集上进行的。这些专业模型虽然在各自的任务上贡献显著,但通常无法应对现实世界的情况,其中灵活性和适应性至关重要。

几种最近的基于 Transformer 的方法探索了统一的分割框架,试图解决多任务和多数据集的联合训练问题。然而,这些现有工作存在某些固有的局限性,远未达到更多分割任务和数据集的统一。[9, 10, 34]需要通过修改架构来处理不同的任务。[21]可以处理多个任务,但依赖于每个数据集的单独权重,例如COCO或ADE。[76, 81]仅能在全景分割任务上进行训练,这比语义或实例分割需要更昂贵的标注。这些先前的框架都没有充分利用分割任务和数据集之间的多样信息。阻止统一的一个关键因素与目标 Query 设计有关,这是基于 Transformer 的分割模型中的核心架构组件。

在文献中,可学习 Query 已证明对于语义(物)分割是有效的,但条件 Query (类似于 Proposal 检测)在实例(事物)分割方面表现优异。尽管OpenSeeD提出了一种单独的 Query 机制,以区分可学习(条件) Query 以匹配物(事物)目标,但此设计需要首先将所有目标分类为物/事物,然后在训练和推理时应用相应的可学习/条件 Query 。这种方法是启发式的,不切实际,因为在一般情况下,事物和物之间没有明确的划分,而且这类信息在大多数公共数据集中是不可用的,例如Visual Genome,特别是在开放词汇分割设置中。

这些挑战阻碍了现有分割架构在有效处理针对特定任务量身定制的多样化数据集方面的能力,导致在开放词汇分割场景中的性能次优。在这项工作中,作者引入了一种新的统一分割架构,能够有效地处理多样化的任务和数据集,在现实世界的开放集场景中展现出强大的性能。

作者首先提出了一种新颖的目标 Query 方法,称为“混合 Query ”。它结合了可学习和条件 Query ,通过匈牙利匹配,混合 Query 能自动匹配到物类(thing)和材料类(stuff)的目标。与先前的 Query 设计相比:

混合 Query 能有效容纳物类和材料类目标;
在物类和材料类目标之间没有启发式的区分,因为匈牙利匹配过程会自动确定目标和 Query 之间的最佳匹配。这种设计便于处理多种目标类型的通用 Query 。
在这里插入图片描述
借助混合 Query 机制,作者提出了一种统一的分割架构——混合 Query Transformer (MQ-Former),如图1所示,它可以无需像[76, 81]中仅使用全景分割标注,以及像[76]中额外使用物类/材料类标注的约束,在任何分割任务和数据集上进行训练和评估。这一特性还使得MQ-Former可以利用更多现有的分割数据集来提高性能,例如参照[23, 73]的数据和前景/背景分割等。

作为MQ-Former统一设计核心的好处,作者被吸引使用更多样化的分割数据来进一步增强模型的泛化能力。然而,人类对分割的标注通常是昂贵的,例如,需要几分钟时间来标注单个COCO图像。为了克服这一数据限制,作者提出利用合成数据,即像素级分割的合成分割 Mask 和开放词汇语义对齐的合成片段标题。这是可行的,因为一些最近的模型已经可以生成令人印象深刻的合成分割 Mask 和目标级标题,并且合成数据已经被证明对模型改进有帮助。

鉴于生成合成数据的低成本,作者可以轻易积累大规模的分割训练集来增强作者的MQ-Former。合成数据的并入不仅解决了数据稀缺的挑战,还增强了模型的鲁棒性和语义理解能力。在作者的实验中,借助混合 Query 和合成数据训练,作者的MQ-Former在许多开放集分割基准测试中超越了现有技术水平。例如,在野外SeginW基准测试上,MQ-Former比现有技术水平高出超过7个百分点。这些进步构成了向统一和良好泛化的图像分割模型迈出的实质性步伐。

总的来说,本文有三个主要贡献:

  1. 首先,作者设计了一种新颖的混合 Query 机制,它能够有效地容纳各种分割任务,而无需物类和材料类之间的启发式区分。
  2. 其次,借助混合 Query ,作者提出了一个统一的分割架构MQ-Former,据作者所知,这是首个能够进行多任务和多数据集训练的工作,并且已经显示出成功。
  3. 第三,在这个统一的MQ-Former中,作者展示了使用合成数据提高整体分割性能的有效性,在多个开放集分割基准测试中展示了最先进的结果。

Related Work

通用分割给定一个输入图像,图像分割的目标是输出一组带有类别预测的 Mask 。根据类别标签和 Mask 的范围,图像分割可以分为三个主要任务:语义、实例和全景分割。过去,许多针对特定任务或数据集的模型被提出,它们只能在一个单一的任务和 数据集上进行训练和推理,包括用于实例分割的Mask R-CNN、Cascade Mask R-CNN、HTC,用于语义分割的FCN、U-Net、DeepLab,以及用于全景分割的UPSnet、Panoptic-DeepLab。

统一分割模型已经探索了统一分割模型,这是一个具有挑战性的任务。早期关于统一模型的工作要么支持在多个任务上训练但为不同的数据集使用不同的权重,要么在多个数据集上训练但为每个任务使用不同的权重。最近,有几种尝试在数据集和任务上训练单一模型,但统一尚未完全实现。在MaskFormer的一系列工作中,尽管核心架构在语义、实例和全景分割任务中是相同的,但针对不同任务的架构和配置仍然需要轻微的修改。

例如,在Mask DINO中,一阶段的编码器-解码器架构在语义分割上表现良好,但在实例和全景分割上表现不佳。而两阶段对应架构的表现则相反。这个悖论阻碍了不同任务之间的联合训练,且不会导致性能下降。X-Decoder和DaTaSeg试图通过次优解决方案解决这个问题,即使用仅解码器的一阶段架构,但其实例分割性能降低了。其他工作为特定实体或任务使用不同的 Query 或解码器。OpenSeeD分别针对物项和事物类别使用两组 Query 。

然而,这在数据标注和推理过程中引入了额外的成本和不确定性,用于区分物项/事物。大多数现有数据集缺乏此类标注信息[23, 29, 73],事物和物项之间没有明确的界限,特别是对于开放词汇数据集,这样做是不切实际的。据作者所知,目前还没有一个统一模型能同时支持在多个数据集和任务上进行训练,并取得成功。在这项工作中,作者提出的MQ-Former试图应对这一挑战。

使用合成数据强化模型使用图像字幕模型在裁剪的目标区域上生成伪字幕用于目标检测,但在目标字幕生成过程中忽视了上下文信息。伪边界框也被用来扩大训练数据大小。对于图像分割,PseudoSeg设计了一个一阶段框架,从 未标注 数据或图像级标记数据生成伪 Mask 用于语义分割。另一条主线是在教师-学生半监督学习框架下生成和应用伪标签以提高模型性能。OpenSeeD在训练期间也使用从边界框解码的伪 Mask 生成器。然而,作者认为所有这些即时生成伪数据的方法都会增加训练成本。在MQ-Former中,受到最近能够生成高质量 Mask 预测的分割模型的启发,这些模型已经显示出是一个很好的伪标签生成器,作者离线生成合成数据,在训练过程中与真实数据无异地使用它。

Method

在本节中,作者首先提供了MQ-Former架构的概述。然后介绍了作为一种关键组件的新颖混合 Query 机制。接下来,作者讨论了该机制如何处理多任务和多数据集联合训练。最后,作者描述了使用合成数据增强MQ-Former,以训练更鲁棒的模型。

MQ-Former Architecture

在这里插入图片描述
它主要由四个部分组成:图像编码器、文本编码器以及分割编码器和解码器。图像编码器将输入图像编码成多尺度图像特征,而文本编码器对文本 Query 进行编码以获得其语义嵌入。多尺度图像特征被送入分割编码器进行进一步细化。

接下来,分割解码器采用多个目标 Query ,并跨注意力地对细化后的图像特征进行处理,以预测最终的类别、边界框(bbox)和分割 Mask 。

Object Query Strategies

物体 Query 是基于 Transformer 的目标检测和分割模型中的关键组成部分,并已引起了社区的广泛关注。
下面是根据您提供的文本进行排版的Markdown格式:


在本节中,作者首先回顾了分割任务中三种常见的物体 Query 策略,然后介绍了作者新的混合 Query 策略。图3提供了这四种策略的视觉比较。

可学习 Query 是目标检测和分割文献中最常用的策略。采用这种策略,一组物体 Query 从头开始训练,与图像特征交互以编码物体的位置和类别信息(如图3(a)所示)。尽管可学习 Query 策略被广泛使用,但几项工作[80, 81]已经表明,其在实例/全景分割和目标检测上的性能不如下一节将讨论的条件 Query 策略。

在[80]中提出了条件 Query,以模拟传统两阶段目标检测框架中存在的 Proposal 生成机制,但对其进行适配以用于基于 Transformer 的检测器。与可学习 Query 策略不同,条件 Query 来自分割编码器,而不是一个独立可学习的 Query,如图3(b)所示。分割编码器特别训练以预测区域 Proposal,从中选择高置信度的 Proposal,然后将其输入到分割解码器作为目标 Query 以进行最终预测。条件 Query 与图像中潜在目标的匹配度更高,在目标检测和分割任务中一致表现出更优的性能。

然而,需要注意的是,并非所有的分割任务都能从这种条件 Query 策略中受益。例如,在语义分割中,通常存在一个“物质”类别,该类别通常对应于没有明确定义的空间范围或形状的背景区域。从图像特征派生的条件 Query 可能无法有效捕捉这些背景区域的特征,导致次优结果[76]。

在OpenSeeD [76]中提出了分离 Query 策略来解决在物质类别上条件 Query 策略的限制,其中 Query 集被划分为可学习 Query 和条件 Query,训练数据也被预先划分为物质类别和事物类别。可学习 Query 和条件 Query 分别与物质类别和事物类别相关联。在分组之后,这两组 Query 在损失计算过程中分别独立处理,并在每组内部应用匈牙利匹配,没有交互。图3(c)给出了一个说明。这种分离 Query 策略有效地解决了之前遇到的问题,即在实例分割中可学习 Query 策略表现不佳,而条件 Query 策略在物质类别上存在困难。

然而,它也带来了一些挑战。首先,需要明确区分物质类别和事物类别,但在定义上,物质类别和事物类别之间没有明确的界限。例如,“窗户”和“桌子”类别在ADE20K中被标记为事物,但在COCO [38]中却被标记为物质。这将在多数据集训练过程中导致不一致和混淆。其次,在公共数据集上并不总是有明确的物质/事物标注。实际上,除了小规模的COCO和ADE20K之外,许多数据集缺少这样的标注,例如大规模的Objects365,OpenImages等。

其他一些数据集,例如Visual Genome,甚至不能将它们的开放词汇目标分类为物质/事物。最终,分离 Query 根本无法利用这些数据集进行训练。第三,在推理过程中,尤其是在开放词汇场景中,可能会产生固有的错误。在开放词汇设置中,一些感兴趣的测试类别在训练过程中可能没有出现过,这让人不清楚它应该被分类为物质还是事物,以及应该使用哪个 Query集。

例如,考虑“桌子上的一堆书”的情况。即使是人类,考虑将其作为物质还是事物仍然是令人困惑的。如果有人打算将OpenSeeD用于开放词汇分割,那么就需要通过启发式分配或经过训练的分类器将文本 Query 预先分类为物质或事物类别。然而,这两种方法都可能引入偏见和错误。

混合 Query 为了解决现有三种 Query 策略中的这些问题,作者开发了一种新颖的 Query 策略,即混合 Query,如图3(d)所示。与分离 Query 类似,混合目标 Query 集也由两个 Query 集合组成,可学习条件 Query 集。然而,混合 Query 策略不再根据类别、任务或损失计算进行区分。所有目标 Query 与所有 GT 目标之间进行匈牙利匹配,而无需区分物项和物类。这种设计实现了三个进步:

首先,由于集成了动态 Query 选择设计,混合 Query 增强了适应性。这种设计允许不同的任务或示例动态选择最合适的 Query,而无需刚性分配,从而避免了分离 Query 策略中区分物类和物项的问题。例如,某些类别,如“树”和“路”,在COCO等数据集中被标注为物类,并不一定是背景区域,可以得益于条件 Query 的使用。反之,另一些类别,尽管属于“汽车”等物项类别,但在“一个人坐在汽车里”的情况下可能更接近背景类别。

其次,混合 Query 策略在训练和推理过程中消除了物质和事物的明确划分。这种简化使得模型更加灵活,可以适用于各种不同的场景和数据集,无需事先对数据进行复杂的划分和预处理。

最后,混合 Query 策略提供了更好的性能。通过将所有目标 Query 与所有 GT 目标之间进行匈牙利匹配,模型能够更好地利用训练数据中的信息,提高了预测的准确性和鲁棒性。

综上所述,混合 Query 策略在解决现有 Query 策略中的问题方面具有明显的优势,为目标检测和分割任务带来了新的可能性和突破。

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

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

相关文章

学浪已购买视频怎么下载到本地?

许多学习者在学浪购买了丰富的课程,然而,一些课程存在时间限制,使得学习者希望将其下载并永久保存。在这里,我们将介绍一款名为小浪助手的工具,它能够帮助你轻松将学浪已购买的视频下载到本地,让学习变得更…

Django处理枚举(枚举模型)以及source的使用

Django处理枚举-枚举模型 1、定义模型类、序列化器类2、对上面这些场景使用source参数3、支持连表查询4、自定义序列化输出方法5、案例5 1、定义模型类、序列化器类 定义模型类models.py;项目模型类、接口模型类、用例模型类 from django.db import modelsclass T…

图书管理系统!牛逼!

今天给大家分享一套基于SpringbootVue的图书管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取) ​一、系统运行图(设计报告和接口文档) 1、登陆页面 2、后台页面 3、设计报告包含接口文档 二、系统搭建视频教程 源码…

12-LINUX--进程间的通信

进程间通信:采用IPC机制(进程间的用户空间相互独立,内核空间共享),有管道,信号量,共享内存,消息队列,套接字。 一.管道 管道可以用来在两个进程之间传递数据&#xff0c…

终端工具命令行颜色配置(解决终端工具连上服务器之后,无颜色问题)

本期主题: 讲解使用mobaxterm等终端工具连上服务器,但是命令行没有颜色的问题 目录 1. 问题描述2. 原因解释3.测试 1. 问题描述 使用终端工具(Mobaxterm等)连上服务器之后,发现终端工具没有颜色,如下图&am…

Python学习从0到1 day25 第二阶段 SQL ② Python操作数据库

少年有梦,不应至于心动,更要付诸行动 —— 24.4.12 pymysql 除了使用图形化工具以外,我们也可以使用编程语言来执行SQL从而操作数据库 在Python中,使用第三方库:pymysql来完成对MySQl数据库的操作 安装 pip install py…

GPT4.5发布了?OpenAI终于发布正式版Turbo,重回AI王座第一

令人惊讶的是,短短三个月内,全球最强AI的称号又一次易主了!几个月前,Claude3 Opus的性能全面超过了GPT-4,全球网友纷纷转向Claude3,并分享了他们对Claude3的惊艳体验。然而,OpenAI最近再次展示了…

探索GlusterFS:开源分布式文件系统

目录 引言 一、GlusterFS简介 (一)基本介绍 (二)GlusterFS特点 (三)GlusterFS术语 (四)GlusterFS工作流程 二、GlusterFs的卷类型 (一)卷类型 &…

【免安装的MATLAB--MATLAB online】

目录: 前言账号的注册图片处理的示例准备图片脚本函数 总结 前言 在计算机、数学等相关专业中,或多或少都会与MATLAB产生藕断丝连的联系,如果你需要使用MATLAB,但是又不想要安装到自己的电脑上(它实在是太大了啊&#…

Linux 系统问题排查常用命令

立刻关机 haltcentos安装yum apt-get install yum查找文件夹 find / - name 需要查找文件名称vi里面 查找字符串 “/”,后面跟要查找的字符串,再按回车。vi将光标定位在该串下一次出现的地方上。键入n跳到该串的下一个出现处,键入N跳到该…

正则表达式 速成

正则表达式的作用 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字…

c语言中<string.h>的strstr与strtok函数

c语言中string.h的strstr与strtok函数 代码运行结果 代码 #include <stdio.h> #include <string.h>///1.在字符串str1里面,查找第一次出现str2的位置 //char * strstr(const char * str1,const char * str2)///2.sep为分割符,根据分割符来对str进行分割 //char * …

解决Django中的UnicodeDecodeError问题

在使用Django进行Web开发时&#xff0c;有时会遇到一些由于编码不一致引起的问题&#xff0c;特别是在处理文件读写操作时。一个常见的错误是UnicodeDecodeError&#xff0c;其表现为gbk codec cant decode byte 0xa6 in position 9737: illegal multibyte sequence。这个问题通…

【设计模式学习】单例模式和工厂模式

꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转…

【SpringBoot:详解Bean装配】

&#x1f3e1;Java码农探花&#xff1a; &#x1f525; 推荐专栏&#xff1a;<springboot学习> &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、IoC容器的简介BeanFactory接口源码二、Bean装配扫描装配探索启动类条件装配自定义Bean总…

版本管理|Git -目前最好的版本管理工具

文章目录 什么是版本为什么需要版本管理Git -目前最好的版本管理工具Git的关键特点和概念初始化Git保存代码改变git addgit commit -m ""git statusgit log branch分支管理git branch & git chekoutHEAD的本质git merge 合并fast forward merge 本地与远程如何解…

【一刷《剑指Offer》】面试题 3:二维数组中的查找

力扣对应题目链接&#xff1a;240. 搜索二维矩阵 II - 力扣&#xff08;LeetCode&#xff09; 核心考点&#xff1a;数组相关&#xff0c;特性观察&#xff0c;时间复杂度把握。 一、《剑指Offer》对应内容 二、分析题目 正常查找的过程本质就是排除的过程&#xff0c;谁排除…

【YOLOv9】完胜V8的SOTA模型Yolov9(论文阅读笔记)

官方论文地址&#xff1a; 论文地址点击即可跳转 官方代码地址&#xff1a; GitCode - 开发者的代码家园 官方代码地址点击即可跳转 1 总述 当输入数据经过各层的特征提取和变换的时候&#xff0c;都会丢失一定的信息。针对这一问题&#xff1a; 论文中提出的可编程梯度信息…

免费的 ChatGPT 网站(六个)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、insCode二、讯飞星火三、豆包四、文心一言五、通义千问六、360智脑 现在智能…

【漏洞复现】WordPress LayerSlider插件SQL注入漏洞复现

声明&#xff1a;亲爱的读者&#xff0c;我们诚挚地提醒您&#xff0c;Aniya网络安全的技术文章仅供个人研究学习参考。任何因传播或利用本实验室提供的信息而造成的直接或间接后果及损失&#xff0c;均由使用者自行承担责任。Aniya网络安全及作者对此概不负责。如有侵权&#…