SAM究极进化版开源 | SAM与CLIP互相学习,带来最强Open-Vocabulary SAM,万物皆可

简介: SAM究极进化版开源 | SAM与CLIP互相学习,带来最强Open-Vocabulary SAM,万物皆可

CLIP和Segment Anything Model(SAM)是非常出色的视觉基础模型(VFMs)。SAM在处理跨领域的分割任务方面表现出色,而CLIP则以其零样本识别能力而闻名。

本文介绍了将这两个模型集成到一个统一框架中的深入探索。具体而言,作者提出了一个Open-Vocabulary SAM,它是一个受SAM启发的模型,用于同时进行交互式分割和识别,利用两个独特的知识传输模块:SAM2CLIP和CLIP2SAM。前者通过蒸馏和可学习 Transformer  Adapter 将SAM的知识转移到CLIP,而后者将CLIP的知识转移到SAM,从而增强其识别能力。

在各种数据集和检测器上的广泛实验表明,Open-Vocabulary SAM在分割和识别任务中均有效,明显优于仅将SAM和CLIP简单结合的 Baseline 。此外,借助图像分类数据训练,Open-Vocabulary SAM可以分割和识别大约22,000个类别(见图1中的示例)。

1 Introduction

SAM和CLIP在各种视觉任务中取得了显著的进展,展示了在分割和识别方面令人瞩目的泛化能力。SAM特别之处在于,它使用了一个庞大的带有Mask标签的数据集进行训练,使得它可以通过交互式Prompt对广泛的下游任务进行高度适应。另一方面,CLIP通过训练数十亿个文本-图像对,获得了前所未有的在零样本视觉识别方面的能力。这导致了大量研究探索将CLIP扩展到开放词汇任务,例如检测和分割。

SAM和CLIP在设计上存在一些固有的局限性。例如,SAM在识别它识别出的分割时缺乏能力。通过集成一个分类头来克服这一限制的努力已经有所尝试,但这些解决方案受到特定数据集或闭集设置的限制。另一方面,CLIP使用图像 Level 的对比损失进行训练,在适应密集预测任务时面临挑战。

为了解决这个问题,一些研究探讨了如何将CLIP的表示进行密集预测的对齐方式。然而,这些方法往往具有数据集特定性,并不适用于所有情况。例如,一些研究专注于在ADE-20k数据集上进行开放词汇分割,使用COCO数据集进行预训练。简单地将SAM和CLIP合并,如图2(a)和(b)所示,证明是不高效的。这种方法不仅会导致巨大的计算费用,而且会产生次佳的结果,包括识别小型物体,这一点在作者的实验结果中得到了证明。

在本研究中采用一个统一的编码器-解码器框架来解决这些问题,该框架将CLIP编码器与SAM解码器集成,如图2(c)所示。为了有效桥接这两个截然不同的组件,作者引入了两个新的模块:SAM2CLIP和CLIP2SAM,以促进双重知识迁移。首先,使用SAM2CLIP将SAM编码器中的知识蒸馏到CLIP编码器中。这种蒸馏过程不是直接在CLIP编码器上执行的,而是使用一个轻量级的 Transformer 类似的 Adapter ,使用像素级蒸馏损失。 Adapter 将多尺度特征作为输入,目标是将CLIP特征与SAM表示对齐。在解码方面,CLIP2SAM模块将冻结的CLIP编码器中的知识转移到SAM解码器。具体而言,作者设计了一个特征金字塔 Adapter ,它与SAM解码器一起使用RoIAlign操作符进行联合训练。

遵循SAM的精神,通过利用已建立的语义数据集(包括COCO、LVIS和ImageNet-22k)来增强模型的识别能力。这种策略使Open-Vocabulary SAM具有SAM的灵活性,使其具备增强的分割和识别任何物体的能力,如图1所示。由于Open-Vocabulary SAM是SAM的适应,因此它足够灵活,可以与各种检测器集成,使其适用于封闭集和开放集环境。

作者在各种数据集和场景下进行了广泛的实验,包括封闭集和开放词汇交互式分割。值得注意的是,与基本的组合 Baseline 相比,Open-Vocabulary SAM表现出优越的性能,在COCO数据集的各种检测器上实现了超过2%的改进,在mAP方面实现了3%的改进。特别是,在LVIS上的识别方面,Open-Vocabulary SAM相对于以前的 Adapter 实现了超过20%的改进。

此外,通过将Open-Vocabulary SAM扩展到更多样化的数据集,作者开发了一个通用的、交互式工具,适用于实际应用。

2 Related Work

视觉语言模型(VLMs)。 视觉语言预训练使得具有对齐的图像和文本表示的模型出现。最近的研究在对比视觉语言预训练方面显著提高了识别模型的泛化能力。与此同时,一些研究旨在为下游多模态任务(包括描述和视觉问答)设计更好的优化目标。

在这些工作中,预训练在亿级图像-文本对上的CLIP模型在各种数据集上展示了令人印象的零样本分类性能。作者的目标是使SAM能够通过预训练的VLMs来执行识别任务。

开放词汇密集预测。 这个方向旨在识别由文本描述的任何类别的区域视觉概念,包括目标检测,语义分割和panoptic分割。这需要使用VLMs来帮助区域和文本表示之间的对齐。对于开放词汇检测,一系列工作从CLIP模型中提取知识来识别新目标。

与基于蒸馏的方法不同,一些工作直接在冻结的CLIP CNNs上构建目标检测器。对于开放词汇分割,典型的工作首先生成类无关的Mask Proposal ,然后使用CLIP对 Proposal 进行分类。最近,一些工作在冻结的扩散模型和CLIP模型上构建了Mask生成器。同时,一些研究专注于类无关分割和检测,以增强在各种领域的泛化能力。然而,大多数方法都在特定数据集上进行训练和测试。Open-Vocabulary SAM基于SAM,提供了一个通用的、交互式工具来支持不同的开放词汇检测器。

计算机视觉中的Prompt。 Prompt,源自自然语言处理(NLP)中的语境学习(如Brown和Rubin中的工作),利用大型语言模型通过特定输入-输出对推理未见任务。最近的研究探讨了视觉任务中的语境学习。常用的技术包括针对跨任务视觉Prompt的Mask图像建模,例如Painter和Bar _et al.所采用的方法。SAM通过交互式分割展示了语境学习,使用诸如点、框和Mask等多样化的视觉Prompt,尽管它仅限于无类别Mask预测。

与此同时,其他一些研究专注于视觉基础模型的有效参数调优,通常专注于单一模型。Open-Vocabulary SAM独特地将CLIP和SAM两种模型结合起来,探索它们组合的潜力以增强增强的分割和识别能力。

分割任何事情模型。 SAM提出了一种新的数据引擎和便携式模型,用于通用物体分割。随后的研究将SAM作为各种视觉任务的交互式分割工具,包括定位,跟踪,蒸馏,医学分析,和生成。尽管大多数研究使用SAM来增强下游任务,但尚未将VLMs和SAM集成到一种能够同时进行新类分割和识别的统一模型中。Open-Vocabulary SAM首次尝试将VLMs和SAM的能力结合起来,以增强任务多样性。

3 Methodology

首先在第三节第1小节回顾了SAM、CLIP和组合 Baseline 。然后,在第三节第2小节详细介绍了Open Vocabulary SAM。最后,在第三节第3小节中介绍了模型的训练细节和应用。

Preliminaries and Baselines

SAM。 SAM是一个Prompt驱动的分割器。它包含一个图像编码器、一个Prompt编码器和一个轻量级Mask解码器。在这里,使用框Prompt作为例子。将输入图像表示为,输入视觉Prompt表示为,其中是空间大小,是框Prompt的数量。图像编码器是一个修改过的视觉 Transformer (ViT)。它将图像编码为密集特征。Prompt编码器将编码为稀疏Prompt。同时,为Mask解码器初始化Mask Token 和IoU Token 。

Mask解码器将图像特征、稀疏Prompt、Mask Token 和IoU Token 作为输入。所有输入都将被 ConCat 并使用轻量级双向 Transformer 进行编码。因此,每个Mask Token 都将被转换为一个动态线性分类器,能够计算每个稀疏Prompt的前景Mask概率。同时,IoU Token 的任务是预测每个Mask的置信度得分。

考虑到SAM的标注数据的多粒度性质,包括实例和部分 Level ,自然编码了多粒度。作者的研究主要集中在物体 Level ,这更接近于常见的现实世界应用和数据集,如COCO和LVIS。

CLIP。 在CLIP框架中,给定一个输入图像和一个相应的描述性文本,框架将这些模态处理为相应的嵌入:图像嵌入,由其图像编码器计算得出;文本嵌入,由其文本编码器计算得出。

在开放词汇目标检测和分割的背景下,利用CLIP超越固定类别标签的能力,取代传统分类器。例如,在开放词汇检测场景中,将类别名称输入到CLIP文本编码器中,可以生成第个目标类别的文本嵌入。这个过程可以采用一个模板Prompt,例如“一个{类别}的照片”,或者多个Prompt模板。然后,对于一个给定的区域嵌入,该嵌入由RoI-Align产生,计算第个类别分类分数如下:

其中表示余弦相似度,是一个可学习的或固定的温度值,用于重新缩放值。

组合 Baseline 。 作者引入了两种不同的 Baseline 来组合CLIP和SAM,如图2(a)和(b)所示。第一种方法称为“裁剪图像 Baseline ”,它使用SAMMask解码器的输出来裁剪和缩放原始输入图像。处理后的图像作为CLIP图像编码器的输入,并与CLIP文本嵌入相结合,使用等式(1)对Mask进行分类。第二种方法称为“裁剪CLIP图像特征 Baseline ”,它使用与 Baseline (a)相同的初始CLIP特征提取步骤。然而,在这种方法中,使用SAM解码器预测的Mask来裁剪CLIP图像特征。随后,对这些带Mask的特征进行池化,得到最终标签,类似于 Baseline (a)。

虽然两种 Baseline 都能实现图像的零样本推理,但在特定数据集上它们表现出明显的知识差距。为了应对这个问题,作者从视觉Prompt或 Adapter的最新进展中获得了灵感。具体而言,提出将额外的可学习 Token 集成到 Adapter 中,以在下游数据集上调整模型以获得增强的性能。这些零样本推理能力和经过微调的模型构成了在各种实验条件下的主要比较 Baseline ,详细内容参见第4.1节。

Open Vocabulary SAM

虽然 Baseline 模型可以通过视觉Prompt或 Adapter 进行增强,但作者将在第4节中讨论这一点,但它们在实际应用中面临一些挑战:

  1. 首先,组合模型需要两个独立的 Backbone ,这增加了计算成本(概率1)。
  2. 其次,SAM和CLIP是使用不同的目标进行训练的 - SAM通过监督学习,CLIP则通过对比学习 - 并且对于这样多样化的架构之间的知识转移的研究还很少(概率2)。
  3. 第三,尽管 Adapter 集成,但在识别小型物体方面仍存在显著的性能差距(概率3)。
  4. 第四,对于将开放词汇能力集成到SAM和CLIP中的探索还很少,特别是在特征融合和数据缩放的情况下(概率4)。

Open-Vocabulary SAM旨在在一个统一而有效的框架中解决这些问题。

统一架构。 作者设计了一个统一架构,用于分割和识别,以解决概率1中的问题。具体而言,采用冻结的CLIP视觉编码器作为特征提取器。然后,将SAM的Mask解码器和Prompt编码器附加在CLIP编码器后面。开放词汇SAM的元架构如图2(c)所示,更详细的版本如图3所示。

通过SAM2CLIP,将SAM的知识通过蒸馏转移到CLIP,并通过CLIP2SAM,使用CLIP知识并组合SAM的Mask解码器进行识别。作者选择基于卷积的视觉 Backbone 作为冻结的CLIP Backbone ,与以前的研究一致,这些 Backbone 在捕捉空间结构方面具有优势。在Sec. 4.2中进一步探索不同CLIP Backbone 的有效性。

SAM2CLIP。 为了解决概率2,作者设计了一个SAM2CLIP模块,该模块使用适应和蒸馏方法来弥合SAM和CLIP学习的特征表示之间的差距。通过全面的实验,作者发现使用与Transformer基 Adapter结合的蒸馏损失,可以得到有效结果。

具体而言,蒸馏过程涉及一个简单的像素级方法,其中SAM-Huge作为教师,配备 Adapter 的冻结CLIP充当学生的角色。然后,实现了一个每个像素的平均平方误差(MSE)损失,以将SAM特征与CLIP特征对齐,如下所示:

作者设计了一个多级 Adapter 来对齐CLIP和SAM的特征。特别地,使用包含高分辨率和语义信息的pyramid CLIP特征作为输入,其中。这种pyramid特征被证明对于语义分割至关重要。将MSE损失修订如下:

其中,包括几个transformer层,通过双线性上采样和加法实现融合。通过SAM2CLIP,作者甚至可以在计算成本较低的情况下,实现与SAM-Huge相当的分段结果。如第4.2节所述,使用专为 Backbone 适应设计的有用卷积方法,会导致次优的结果。这种现象可能源于SAM编码器的固有结构,该结构纯粹基于ViT。对称结构对于有效知识传递至关重要。

通过实现SAM2CLIP,能够在各种检测器上实现与SAM-Huge相当的分段结果,同时显著降低计算成本。

CLIP2SAM。 该模块旨在利用CLIP的知识来增强SAM解码器的识别能力。一种简单的方法是将标签 Token 附加到现有的Mask Token 和IoU Token 中。使用,引入了一个专门的 Adapter ,以促进从冻结CLIP到SAM解码器的知识转移。然后,增强的与Prompt编码器的输出和适应的CLIP特征相结合,被输入到双向 Transformer 中。

经过交叉注意力过程,改进的通过多层感知机(MLP)进一步优化,以确保更好地与CLIP的文本嵌入对齐。最后,通过计算优化后的标签 Token 和CLIP文本嵌入之间的距离,得到最终标签,如等式(1)所示。

然而,这种设计在识别小物体(概率3)方面存在缺陷,因为适应只涉及单尺度特征,主要是用于分割。作者提出一个简单而有效的解决方案,引入了一个轻量级特征金字塔网络(FPN)用于CLIP2SAM适应。如图3所示,金字塔网络将多尺度CLIP特征作为输入。然后,作者应用RoI-Align操作来提取区域特征。

与R-CNN框架一样,在Mask解码器中应用一个卷积层和一个MLP来学习特征嵌入,而不引入交叉注意力。特别是,对于点Prompt,首先通过SAM解码器获得相应的Mask,然后通过相应的Mask获得 Box 。对于 Box Prompt,可以直接将其发送到FPN进行区域特征提取。由于Open-Vocabulary SAM只包含几个卷积层,因此与原始SAM相比,计算成本并没有显著增加。

开放词汇。 为了应对概率4,即开放词汇挑战,利用冻结的CLIP Backbone 中嵌入的知识,在推理过程中识别新奇和未见过的物体。与先前的研究一致,将学习到的类别得分与来自冻结CLIP的得分通过几何平均值融合,以利用CLIP Backbone 和CLIP2SAM的信息。此外,还研究了各种策略来扩展词汇量,例如与多个数据集联合训练,如第4.2节所述。实验结果表明,该模型在大数据集上能够有效扩展。

Training and Application

训练和损失函数。首先使用SAM-1B(1%)数据集对SAM2CLIP模块进行训练,将SAM的知识转移到开放词汇SAM,使用损失函数(等式(3))。然后,同时训练CLIP2SAM和Mask解码器,使用COCO或LVIS的分割Mask和标签标注。

最终的损失函数为。其中,是Mask分类的交叉熵(CE)损失,和分别是分割的MaskCE损失和Dice损失。此外,采用与ImageNet数据集进行联合训练的方式,为Open-Vocabulary SAM进行演示(参见图5)。

推理和演示工具。 Open-Vocabulary SAM在推理时像SAM一样,使用点和 Box 作为视觉Prompt。具体来说,在第4节中测试 Box 和点作为视觉Prompt,用于编码器。在项目页面上展示了一个演示Open-Vocabulary SAM的示例,它可以使用Prompt进行分割和识别。

4 Experiment

数据集和度量标准。 主要使用COCO 和LVIS 数据集进行实验。此外,还使用SAM数据的一部分(1%)用于SAM2CLIP知识迁移。对于COCO,报告了实例分割任务在闭集和开放词汇设置下的结果。特别是,遵循Zareian 的方法,将48个基本类别与标注一起,17个没有标注的目标类别分开。作者使用基本类别标注进行训练。

对于LVIS数据集,采用开放词汇设置,并报告了新的类别的结果。此外,作者还报告了每个Prompt的交点与真实Mask的IoU,以验证Open-Vocabulary SAM的分割能力。与以前的开词汇分割任务不同,其中检测器自己生成的建议,作者称设置为开词汇交互式分割,其中Prompt框或点Prompt作为条件输入。

Baseline 。 如图2(a)和(b)所示,根据不同的 Adapter 设计,将这些 Adapter 附加到组合模型的不同位置。例如,当使用CoOp时,将可学习的 Token 与CLIP特征相结合。对于几个基于卷积的 Adapter ,在SAM或CLIP Backbone 中添加额外的卷积层,以进行公平的比较。默认情况下,采用SAM-huge和CLIP R50x16。

实现细节。 使用PyTorch实现Open-Vocabulary SAM,同时使用MMDetection框架和SAM代码库。使用8个A100 GPU进行分布式训练。每个mini-batch包含每个GPU上的两个图像。优化器使用AdamW,权重衰减为0.0001。遵循Cheng等人的方法,使用完整的图像大小进行随机裁剪,在预训练和训练过程中。所有类名都被转换为CLIP文本嵌入,遵循先前的研究。作者对每个模型进行12个epoch的训练,以进行公平的比较。

由于计算成本的限制,没有采用联合SAM数据和COCO数据训练。首先在SAM数据上训练SAM2CLIP,然后在COCO或LVIS数据上进行模型微调。请参阅补充材料获取更多详细信息。

Main Results

与使用真实数据的组合 Baseline 的比较。 为了避免其他模块的影响,在表1中首先展示了Open-Vocabulary SAM在真实数据上的识别能力。与简单的组合方法相比,添加各种 Adapter 并进行联合共同训练导致更好的结果。

然而,在COCO和LVIS上的识别能力仍然有限。Open-Vocabulary SAM在视觉Prompt为 Box 和点时都实现了最佳结果。在LVIS数据集上观察到更大的增益。作者认为LVIS包含更多的小物体,这比COCO更具挑战性。Open-Vocabulary SAM可以解决概率2,导致20%的准确率改进。

尽管在COCO和LVIS上的分割质量很好( Box 的Prompt在COCO和LVIS上达到约80 IoU),但Open-Vocabulary SAM仍然实现了2%的IoU改进。这表明在Mask预测和分类上的联合共同训练的有效性。与使用 Box 作为Prompt相比,使用点作为Prompt更具挑战性,因为点的位置线索比 Box 弱得多。然而,Open-Vocabulary SAM仍然优于组合 Baseline 或带有 Adapter 的它们。

与使用开放词汇检测器的组合 Baseline 的比较。 在表2中采用更具挑战性的设置,使用现有开放词汇检测器的 Box 预测来模拟交互式分割过程的偏差。作者选择Detic作为开放词汇检测器。同样,Open-Vocabulary SAM在COCO和LVIS数据集上都实现了最佳性能。特别地,在COCO上,与先前的研究相比,Open-Vocabulary SAM实现了3.0个mask mAP的改进,而且参数成本更低。更多的检测器结果可以在补充材料中找到。

与各种检测器的SAM比较。 在表3中还测试了Open-Vocabulary SAM和原始SAM在两个不同检测器上的口罩预测质量。Open-Vocabulary SAM比原始SAM实现了更好的性能,并可以在COCO上与SAM微调相当。值得注意的是,Open-Vocabulary SAM具有比SAM更低的计算成本和参数。

可视化比较。 在图4中将Open-Vocabulary SAM与特征裁剪 Baseline 进行了比较。Open-Vocabulary SAM在分类小而罕见的物体分类以及处理遮挡场景方面表现出更好的性能。

模型作为零样本标注工具。 在使用COCO和LVIS标准数据集进行训练的基础上,遵循SAM的精神,作者还通过训练更多的数据来扩展Open-Vocabulary SAM。特别地,采用了更多的检测数据(V3Det,Object365)和分类数据(ImageNet22k)。由于成本高昂,没有进行与其他 Baseline 的比较。相反,将Open-Vocabulary SAM调整为一个可以分割和识别22,000多个类别的交互式标注工具。

并且FLOPs,在分割性能上略有下降。轻微的下降是由于在SAM2CLIP模块训练过程中,SAM数据和COCO数据之间的域间隙。然而,在添加CLIP2SAM模块并与其他Mask分类和预测进行联合共同训练后,分割和分类性能都得到了显著改善,而计算成本仅略有增加。

SAM2CLIP的详细设计。 在表5中探讨了在开放词汇SAM训练的第一阶段中SAM2CLIP的详细设计。结果表明,当采用多尺度特征时,蒸馏效果最好,这表明高分辨率特征和高层次语义对将CLIP的特征与SAM的特征对齐非常重要。

CLIP2SAM的详细设计。 在表6中呈现了CLIP2SAM模块的详细设计。比较了两种设计:一个简单的分类 Token (Cls Token)和这个 Token 与池化CLIP特征(Cls Token & CLIP MLP融合)的组合。这些设计优于第一行的组合 Baseline 。

然而,由于分辨率限制,这些变体无法很好地处理小物体,如表4所示。相比之下,作者的设计包括轻量级FPN显著提高了性能。

对不同CLIP Backbone 的消融。 在表7中探讨了使用冻结的CLIP视觉 Backbone 的影响。作者没有添加CLIP2SAM模块。受最近的一些研究工作启发,基于CNN的CLIPs包含了更多的结构信息,这符合作者的目标,因为作者有位置敏感的视觉Prompt作为输入。因此,避免了SAM2CLIP的盲目ViT设计,并采用了基于CNN的CLIPs。如表发现ConvNext large实现了最佳性能。

5 Conclusion

作者提出了Open Vocabulary SAM,这是一种受SAM启发的交互式分割和识别方法。与先前的开放词汇检测和分割方法不同,Open-Vocabulary SAM首次探索了交互式开放词汇分割。给定用户的输入,例如 Box 或点,所提出的方法可以交互式地分割和 Token 每个视觉Prompt。

与组合 Baseline 和各种视觉 Adapter 相比,提出的CLIP2SAM和SAM2CLIP在各种设置下都是高效和有效的。开放词汇分割与不同的检测器兼容,包括开放词汇检测器和紧密集检测器。随着更多的数据,Open-Vocabulary SAM可以发挥SAM的作用,提供一种有效的标注工具,用于分割和实例 Token 。特别地,Open-Vocabulary SAM可以对22K个类别进行大型词汇分割和识别。作者希望研究可以为结合不同形式的视觉基础模型的优势提供坚实的基础。

更广泛的影响和局限性。 作者的研究通过将CLIP和SAM结合到一个框架中,推进了交互式分割和识别。这种结合具有巨大的潜力,可以增强标注和图像编辑应用。当前的一个局限是作者还没有探索到交互式任务的MaskPrompt,作者计划在未来的工作中解决这个问题。

Appendix

概述。 在附录中提供了支持作者主要论文的更多细节和结果。内容如下:首先,在A部分详细介绍了和讨论了Open-Vocabulary SAM。然后,在B部分报告了更多的结果。最后,在C部分(参见introduction.mp4tools.demo.mov)介绍了方法并进行未来工作的讨论。

Appendix A Method Discussion

与最近联合SAM和CLIP模型的比较。 一些最近的工作也探索将分割和识别作为一个系统。Recognize Anything采用基于标签的模型。然而,该工作的重点是通过自动文本语义解析构建大规模标签数据集。

此外,它无法实现交互式分割。SAM-CLIP集成多任务学习,持续学习技术和教师-学生蒸馏,其目标是构建语义分割模型。另一方面,Open-Vocabulary SAM是SAM的一个变体,它可以支持交互式分割和Mask分类,并具有灵活的用户输入。因此,SAM-CLIP与提出的Open-Vocabulary SAM是正交的。

同时,Semantic-SAM扩展了Mask-DINO,实现了细粒度和交互式分割。它包含一个解耦的Transformer解码器来生成实体 Proposal ,使其成为通用和多任务模型。相比之下,Open-Vocabulary SAM只包含轻量级解码器(SAM解码器)和CLIP2SAM预测。

此外,Open-Vocabulary SAM主要探索了冻结的CLIP模型在增强SAM方面的开放词汇能力。因此,Open-Vocabulary SAM只需要训练部分参数,并将SAM和CLIP中包含的知识融合在一起。

与开放词汇方法相比。 Open-Vocabulary SAM与先前的开放词汇方法是正交的。具体来说,作者的目标是构建一个具有交互式Prompt的SAM类似的模型,如点和 Box 。而先前的开放词汇方法需要生成区域 Proposal 或Mask Proposal 来回忆场景中的所有可能目标。

遵循SAM的精神,Open-Vocabulary SAM主要使用这些 Proposal 进行分割和识别。因此,可以将Open-Vocabulary SAM部署在各种OV-detector上,以实现实例分割或类别无关的检测器,以实现联合分割和识别。

训练和推理细节。 在图6中详细呈现了Open-Vocabulary SAM的训练和推理。如图所示,在训练过程中只学习了三个组件,包括SAM2CLIP(129M)、CLIP2SAM(3.8M)和SAM解码器(4.0M),其余参数保持冻结。总参数为304M。在SAM2CLIP蒸馏后,当作者在检测和分类数据集上微调Open-Vocabulary SAM时,会删除重量较大的SAM编码器(637M),从而加快CLIP2SAM的过程。

CLIP2SAM模块的协同训练。 CLIP2SAM模块使用一种多样化的数据混合进行协同训练,包括检测、分割和分类任务。具体而言,在分割任务中,训练集整合了Mask和分类标签,而在检测和分类任务中,重点是仅训练分类头。分类数据集的特点是其广泛的类别范围,以及包括几个具有大词汇集的最近工作,这显著增强了模型的能力。

经过这种广泛的合作训练过程,Open-Vocabulary SAM在单一、统一框架内展示了识别和分割超过20,000个类别的能力。

Appendix B More Experimental Results

在更多检测器上的比较结果。 在表8中将Open-Vocabulary SAM与原始SAM(ViT-H)在各种检测器上进行了比较。Open-Vocabulary SAM使用相应检测器生成的分数和标签以及边界框作为Mask生成的Prompt。

值得注意的是,与原始SAM相比,Open-Vocabulary SAM在ViTDet(Huge)等强大检测器上实现了可比较或优越的分割,而在较弱的检测器上,Open-Vocabulary SAM的分割能力略有降低。值得注意的是,与SAM(ViT-H)模型相比,Open-Vocabulary SAM更加高效,所需的参数更少,计算资源更少。

与SAM模型更多比较。 在表9中将Open-Vocabulary SAM与几种SAM模型进行了比较,重点关注开放词汇识别。作者使用COCO数据集的 GT 边界框生成Mask,并使用Semantic-SAM中定义的每实例IoU指标(1-IoU)进行评估。Open-Vocabulary SAM在开放词汇设置下识别广泛类别的能力,除了有效生成Mask之外,也表现出色。

随着更多数据集的扩展。 扩展Open-Vocabulary SAM在大规模数据集上进行了扩展,并在COCO验证集上展示了出色的零样本分类能力,详细结果见表10。使用ImageNet-21k(I-21k),一个具有19,167个类别和图像 Level 的监督的数据集,模型在零样本实例 Level 分类上达到了44.5%的准确率。这强调了使用易于获得的图像 Level 标注进行训练的有效性。

此外,将像LVIS,Objects365和V3Det这样的大规模词汇检测数据集,这些数据集提供了实例 Level 的标注,显著提高了分类准确率。要更全面地了解模型的开放词汇分类能力,请参阅作者在项目页面上发布的演示视频https://www.mmlab-ntu.com/project/ovsam

Appendix C Failure Cases, Demo and Future Work

失败案例。 在图8中展示了两种Open-Vocabulary SAM的局限性。第一种情况,如图8左所示,涉及类标签的细微差别,即使是人类也很难区分。第二种情况,如图8右所示,特征遮挡使得区分一个碗和一个花瓶变得复杂。这些例子突显了Open-Vocabulary SAM需要更深入地理解场景的细节。

在主论文和附录文件中提供了介绍视频和演示视频。前者是为了更好地理解Open-Vocabulary SAM而提供简短介绍,而后者展示了作者的Open-Vocabulary SAM的演示工具(请参阅图7进行说明),可以对许多场景上的各种类别进行分割和识别。

有关更多信息,请参阅项目页面:https://www.mmlab-ntu.com/project/ovsam

未来工作。 尽管用户可以通过点击和拖拽技术高效地与特定目标交互,但未来的工作将探索使用粗糙Mask或语言描述作为交互式Prompt。旨在继续探索这些有前景的新方向。

参考

[1]. Open-Vocabulary SAM: Segment and Recognize Twenty-thousand Classes Interactively

相关文章
|
3天前
|
数据可视化 算法 Python
python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
13 0
|
2月前
|
机器学习/深度学习 编解码 自然语言处理
SAM增强技术 | SAMAug提出Point Prompt增强,让SAM模型天天向上
SAM增强技术 | SAMAug提出Point Prompt增强,让SAM模型天天向上
45 1
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
MGM、MolGPT、PAR、Uni-Mol、K-Bert、MolCLR…你都掌握了吗?一文总结生物制药必备经典模型(1)
MGM、MolGPT、PAR、Uni-Mol、K-Bert、MolCLR…你都掌握了吗?一文总结生物制药必备经典模型
102 0
|
8月前
|
机器学习/深度学习 测试技术 数据库
MGM、MolGPT、PAR、Uni-Mol、K-Bert、MolCLR…你都掌握了吗?一文总结生物制药必备经典模型(2)
MGM、MolGPT、PAR、Uni-Mol、K-Bert、MolCLR…你都掌握了吗?一文总结生物制药必备经典模型
128 0
|
9月前
|
数据可视化 数据挖掘 测试技术
【计算机视觉】Open-Vocabulary Object Detection 论文工作总结
Open-Vocabulary Object Detection (OVD)可以翻译为**“面向开放词汇下的目标检测”,**该任务和 zero-shot object detection 非常类似,核心思想都是在可见类(base class)的数据上进行训练,然后完成对不可见类(unseen/ target)数据的识别和检测,除了核心思想类似外,很多论文其实对二者也没有进行很好的区分。
|
11月前
|
机器学习/深度学习 存储 人工智能
7 Papers & Radios | BERT上下文长度达200万token;华人团队通用分割模型SEEM
7 Papers & Radios | BERT上下文长度达200万token;华人团队通用分割模型SEEM
126 0
|
11月前
|
机器学习/深度学习 自然语言处理 JavaScript
R-Drop: Regularized Dropout for Neural Networks 论文笔记(介绍,模型结构介绍、代码、拓展KL散度等知识)
R-Drop: Regularized Dropout for Neural Networks 论文笔记(介绍,模型结构介绍、代码、拓展KL散度等知识)
|
机器学习/深度学习 计算机视觉
YOLOv4中的tricks概念总结——Bag of freebies
YOLOv4中的tricks概念总结——Bag of freebies
170 0
YOLOv4中的tricks概念总结——Bag of freebies
|
机器学习/深度学习 编解码 自然语言处理
YOLOv4中的tricks概念总结——Bag of specials
YOLOv4中的tricks概念总结——Bag of specials
237 0
YOLOv4中的tricks概念总结——Bag of specials