Segment Everything Everywhere All at Once同时分割所有地方的所有东西

提出了一个交互式模型SEEM,提出了一种新的解码机制,可以为所有类型的分割任务提供不同的提示。SEEM的设计有四个要求:1)多功能性。我们引入了一种新的视觉提示来统一不同的空间查询,包括点、框、涂鸦、蒙版和其他图像的引用区;(二)组合性。我们学习了文本和视觉提示之间的联合视觉语义空间,方便了各种分词任务所需的两种提示类型的动态组合;3)交互性。我们进一步在解码器中加入可学习的记忆提示,通过掩模引导的从解码器到图像特征的交叉注意来保留分割历史;iv)语义感知。我们使用文本编码器将文本查询和掩码标签编码到相同的语义空间中,用于开放词汇表分割。

该模型由一个简单的Transformer编码器-解码器架构和一个额外的文本编码器组成。解码过程具有多模态输入多模态输出接口。图像编码器和文本编码器用作提示编码器来编码所有类型的查询,这些查询被馈送到解码器中。具体来说,我们将所有的空间查询,即点、框、涂鸦和蒙版,通过汇集图像编码器中相应的视觉特征,将其编码为视觉提示,并使用文本编码器将文本查询转换为文本提示。

最后,我们用单个预训练模型构建了一个分割接口,该接口可以用语义分割每个对象(一切),覆盖图像中的每个像素(任何地方),并支持所有可能的提示组合(一次全部)。

方法

图 (a) SEEM将图像、文本和人工输入作为查询、特征和提示编码到联合视觉语义空间,然后将查询解码为类和掩码嵌入。(b)利用SEEM解码器,机器回路可以记忆历史掩码信息,而人回路为下一轮提供新的修正。

如图(a)所示,输入图像I经过图像编码器提取图像特征Z,随后文本,视觉和记忆三种提示Pt,Pv,Pm与 Om(mask嵌入)和Och(类嵌入)交互,解码器基于查询输出的Omh和Och预测掩码M和语义C。

其中,Qh是可学习的查询。在训练期间,Qh被复制用于通用、参考和交互式分割,如图3所示。相应的提示通过self-attention与其查询交互。可学习的查询可以在推理时自由地与所有提示交互,从而实现zero-shot组合。

这个图十分精华,右面这个图很有意思 Tentative)

(a)可学习查询被复制为每个任务具有相同权值的对象查询、基础查询和视觉查询。(b)任意两种令牌之间的注意mask(在算法1中表示为qpm)。Tentative是指交互未经过训练,但无需任何修改即可进行推理。

算法1:SEEM的伪代码

#输入:图像(img)[B,3,H,W];Pos_Mask (pm), Neg_Mask (nm) [B, 1 H, W];文本(txt) [abc…];

#变量:Learnable Queries(Qh);注意掩码之间的Q和P (qpm)

#函数:Img_Encoder(),Text_Encoder(),Visual_Sampler(),feature_attn(),prompt_attn(),output()

(qpm是决定了两种令牌交叉注意的掩膜)

在SEEM中,我们引入了可视提示符Pv来处理所有非文本输入,例如点、框、涂鸦和来自另一个图像的引用区域。以前的交互式分割要么将空间查询转换为蒙版并将其输入到图像主干中,要么对每种输入类型(点、框)使用不同的提示编码器。第一种方法在应用程序中可能过于繁重,因为每次交互都需要图像经过特征提取器。第二种方法很难推广到unseen的提示。为了解决这些限制,我们提出了一个视觉采样器(图2 (a)),将各种非文本查询转换为位于同一视觉嵌入空间的视觉提示:

其中,Z´是从目标图像(即Z´=Z)或参考图像中提取的特征映射,s∈{点,框,涂鸦,多边形}是用户指定的采样位置。我们首先通过点采样从图像特征中池化出相应的区域[6]。对于所有的视觉提示,我们从提示指定的区域均匀地插值最多512个点特征向量。我们提出的方法的一个显著优点是视觉提示与文本提示自然地很好地对齐,因为我们的模型通过泛视和参考分割不断学习一个共同的视觉语义空间

组合不同的提示

模型训练面临两个问题。首先,训练数据通常只涵盖单一类型的交互(例如,无交互、文本交互、视觉交互)。第二,尽管我们使用视觉提示来统一所有非文本提示,并将它们与文本提示对齐,但它们的嵌入空间本质上是不同的。为了缓解这个问题,我们建议将不同类型的提示与不同的输出相匹配。考虑到视觉提示Pv来自图像特征,而文本提示Pt来自文本编码器,我们分别通过与掩码嵌入Om h或类嵌入Oc h匹配,为视觉和文本提示选择匹配的输出指标:

所提出的单独匹配方法优于对所有提示符只匹配Om h或Oc h的方法。

我感觉说白话就是:视觉提示负责输出掩膜,文本提示负责类别但是没文本的时候就没类别了???

交互

提出一种新的提示类型,称为内存提示Pm,并使用它们将掩码的知识从以前的迭代传递到当前的迭代。与之前使用网络编码前一个掩码的工作不同[20,36],我们没有引入额外的模块,只是简单地引入一些内存提示。这些记忆提示通过使用掩码引导的交叉注意层对历史信息进行编码[6]:

式中,Mp为前一个掩码,Z为图像特征映射。这样,交叉注意只在前一个掩码指定的区域内生效。更新后的内存提示Pl m然后通过自我关注与其他提示交互,以传达当前回合的历史信息。

语义感知

我们的模型以zero-shot方式为各种提示组合生成语义标签,因为我们的视觉提示特征与文本特征在一个联合的视觉语义空间中对齐。如图3所示,使用Oc h(视觉查询的输出)和文本嵌入直接计算语义标签。虽然我们没有使用任何语义标签进行交互式分割训练,但计算出的逻辑是很好的对齐,受益于联合的视觉语义空间。

Segment Everything是一个广义的概念,它涵盖了对各种图像或数据进行分割的任务。以文中引用的内容为例,Segment Everything可以指代对各种类型的图像进行实例分割,包括遥感图像、医学图像等。 在医学图像分割领域,有一种定制的Segment Anything模型用于医学图像分割任务,它可以对医学图像中的各种结构或区域进行准确的分割,如器官、病变等。 此外,还有一种基于视觉基础模型的遥感图像分割方法,称为RSPrompter。它通过学习生成提示信息,用于遥感图像实例分割任务,实现更准确的分割结果。 综上所述,Segment Everything是一个通用的概念,指代对各种图像或数据进行分割的任务。在不同领域和应用中,可以使用定制的模型和方法来实现特定类型的图像分割任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Segment Anything专题论文和代码汇总](https://blog.csdn.net/weixin_42990464/article/details/130840972)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [语义分割论文杂读](https://blog.csdn.net/PeaceInMind/article/details/92071059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值