首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SAM论文系列分享-Open Vocabulary SAM

SAM论文系列分享-Open Vocabulary SAM: Segment and Recognize Twenty-thousand Classed Interactively

动动您的小手指,关注一下吧!

01 摘要

一、摘要

CLIP和Segment Anything Model (SAM)是非常出色的视觉基础模型(VFMs)。SAM擅长于不同领域的分割任务,而CLIP则以其few-shot识别能力而闻名。本文对如何将这两种模型整合到一个统一的框架中进行了深入的探索。具体来说,我本文介绍了开放词汇SAM,这是一个受SAM启发的模型,旨在同时进行交互式分割和识别,利用两个独特的知识转移模块:SAM2CLIP和CLIP2SAM。前者通过蒸馏和可学习的transformer适配器将SAM的知识融入到CLIP中,后者将CLIP的知识融入到SAM中,增强了SAM的识别能力。在各种数据集和检测器上进行的大量实验表明,开放词汇SAM在分割和识别任务中都是有效的,显著优于单纯结合SAM和CLIP的基线。此外,在图像分类数据训练的帮助下,本文的方法可以分割和识别大约22,000个类(示例如图1所示)。

图1 开放词汇SAM通过类似clip的现实世界识别扩展了SAM的分割功能,同时显著降低了计算成本。在COCO开放词汇基准的对象识别中,它优于SAM和CLIP组合方法。

02 拟解决的问题

1. 零样本识别与分割的结合:虽然CLIP在零样本识别方面表现出色,SAM在分割任务上具有优势,但两者在原始设计中无法结合使用,导致无法同时进行识别和分割。

2. 计算效率问题:直接结合SAM和CLIP的方法在计算上效率低下,需要处理大量的计算开销。

3. 小目标识别问题:现有方法在识别小规模对象时表现不佳。

4. 开放词汇表能力集成:SAM和CLIP缺乏开放词汇表能力,限制了它们在更广泛类别上的应用。

03 本文的创新之处

1. 模型融合:提出了OV-SAM,一个将SAM和CLIP结合的统一框架,通过两个知识转移模块SAM2CLIP和CLIP2SAM实现模型间的有效知识传递。

2. 知识蒸馏:SAM2CLIP模块通过蒸馏过程将SAM的知识传递给CLIP,使用轻量级变换器适配器,并采用像素级蒸馏损失来对齐CLIP特征与SAM表示。

3. 特征金字塔适配器:CLIP2SAM模块设计了一个特征金字塔适配器和RoIAlign操作符,与SAM解码器联合训练,增强了模型的识别能力。

4. 计算效率:与直接结合SAM和CLIP的方法相比,OV-SAM显著降低了计算成本,同时保持了高效的性能。

5. 开放词汇表识别:OV-SAM能够识别和分割约22,000个类别,这得益于CLIP的冻结模型和多种数据集的联合训练。

6. 交互式分割与识别:OV-SAM支持用户通过点选或拖拽框选的方式与模型交互,实现对视觉提示的分割和标记。

7. 灵活性和通用性:OV-SAM作为一个适应性工具,可以集成到不同的检测器中,适用于封闭集和开放集环境。

04 方法论

4.1 Preliminaries and Baselines

SAM。SAM是一个提示驱动的分段器,包含一个图像编码器、一个提示编码器和一个轻量级掩码解码器。本文使用框提示作为示例,将输入图像记为

,输入视觉提示记为

,其中

为空间大小,

为框提示的个数。图像编码器是一种改进的视觉Transformer(ViT)。将图像编码为密集特征

。提示编码器将

编码为稀疏提示

。同时,为掩码解码器初始化掩码令牌

令牌

掩码解码器以图像特征

,稀疏提示

,掩码令牌

令牌

作为输入。所有的输入都将用一个轻量级的双向transformer进行连接和编码。因此,每个掩码令牌被转换成一个动态线性分类器,能够计算每个稀疏提示的前景掩码概率。同时,

令牌的任务是预测每个掩码的置信度得分。考虑到

数据注释的多粒度特性(包括实例级和部件级),

自然会进行多粒度编码。本文的研究只集中在对象层面,这与流行的现实世界应用和数据集(如COCO[5]和LVIS[18])更接近。

CLIP:给定输入图像

和相应的标题

, CLIP框架处理这些模式以产生各自的嵌入:从其图像编码器导出的图像嵌入

和从其文本编码器获得的文本嵌入

。在开放词汇表对象检测和分割的上下文中,CLIP泛化固定类标签之外的能力被用来取代传统的分类器。例如,在开放词汇表检测场景中,通过在CLIP文本编码器中输入类别名称来生成第

个对象类别的文本嵌入

。这个过程可以使用单个模板提示符,比如“a photo of {category}”,或者多个提示符模板。随后,对于RoIAlign[20]生成的给定区域嵌入

,计算第c类的分类分数如下:

Combined Baselines。本文引入了两种不同的基线来组合CLIP和SAM,如图2 (a)和(b)所示。第一种方法称为“裁剪图像基线”,使用SAM掩码解码器的输出来分割和调整原始输入图像的大小。然后,处理后的图像作为CLIP图像编码器的输入,并与CLIP文本嵌入一起,使用Equ对掩码进行分类。(1).第二种方法称为“裁剪的CLIP图像特征基线”,采用相同的初始CLIP特征提取步骤。然而,在该方法中,使用SAM解码器预测的掩码来裁剪CLIP图像特征。这些被掩盖的特征的后续池化产生最终的标签,类似于基线(a)。

虽然这两个基线都可以对图像进行零射击推理,但它们在特定数据集上表现出明显的知识差距。为了解决这个问题,本文从视觉提示或适配器的最新进展中汲取灵感[8,85]。具体来说,本文建议将额外的可学习令牌作为适配器来微调模型,以增强下游数据集的性能。这些零射击推理能力和微调模型构成了在各种实验条件下的主要比较基线,详见第4.1节。

4.2 Open Vocabulary SAM

虽然这两个基线模型都可以通过可视化提示或适配器进行增强,但它们在实际应用程序中面临几个挑战。首先,在组合模型中对两个独立主干的要求增加了计算成本(Prob.1)。其次,SAM和CLIP具有不同的训练目标——SAM通过监督学习,CLIP通过对比学习——并且对这种不同架构之间的知识转移的研究有限(Prob.2)。第三,尽管集成了适配器,但在识别小对象方面仍然存在显著的性能差距(Prob.3)。第四,缺乏对SAM和CLIP集成开放词汇能力的探索,特别是在特征融合和数据缩放方面(Prob.4)。本文的工作就是要在一个统一而有效的框架下解决这些问题。

图2 比较两个简单的SAM-CLIP组合基线(a)和(b),以及本文提出的单编码器架构(c)。(a)和(b)的适配器是可选的,可以用各种设计替换。

图3 开放词汇SAM的说明。在训练中,采用SAM编码器作为教师网络,SAM2CLIP作为学生网络,将SAM的知识整合到CLIP中。CLIP2SAM将CLIP知识传输到SAM解码器,并对封闭集和开放词汇表设置执行联合分割和分类。

Unified Architecture。本文设计了一个统一的分割和识别架构来解决问题。具体来说,本文采用冻结CLIP视觉编码器作为本文的特征提取器。然后,SAM的掩码解码器和提示编码器都附加在CLIP编码器后面。开放词汇SAM的元架构如图2(c)所示,更详细的版本如图3所示。这种统一的体系结构是通过SAM2CLIP实现的,SAM2CLIP通过蒸馏将SAM的知识传输到CLIP, CLIP2SAM利用CLIP知识并结合SAM掩码解码器进行识别。本文选择了基于卷积的视觉主干作为冷冻CLIP主干,与之前的研究一致,这些研究强调了卷积在捕获空间结构方面的优势[28,70]。

SAM2CLIP。为了解决问题Prob.2,本文设计了SAM2CLIP模块,该模块使用自适应和蒸馏方法弥合了SAM和CLIP在特征表示方面的差距。通过综合实验,本文发现使用蒸馏损失Ldistill和基于Transformer的适配器[13]可以获得有效的效果。具体来说,蒸馏过程涉及一个简单的像素方法,其中SAM-Huge充当教师,而配备适配器的冻结CLIP承担学生的角色。然后,本文实现逐像素均方误差(MSE)损失,将SAM特征

与CLIP特征

对齐,具体如下:

本文设计了一种多尺度适配器

来对齐CLIP和SAM的特征。特别地,本文取金字塔CLIP特征

作为输入。这种金字塔特征既包含高分辨率信息,又包含语义信息,这对语义分割至关重要[26]。MSE损失修正如下:

其中

由多个transformer层组成,融合通过双线性上采样和加法实现。使用SAM2CLIP,本文甚至可以以更低的计算成本获得与SAM-Huge 相当的分割结果。在实验中观察到,采用专门为骨干适应设计的基于卷积的方法[8,14]会导致次优结果。其原因可能在于SAM编码器的固有架构,它纯粹基于ViT。对称结构对于有效的知识转移至关重要。通过实现SAM2CLIP,本文能够在各种检测器上实现与SAM-Huge相当的分割结果,同时显着降低计算成本。

CLIP2SAM。本模块旨在利用CLIP的知识来增强SAM解码器的识别能力。一种简单的方法是将标签令牌Qlabel附加到现有的掩码令牌Qmask和IoU令牌QIoU上。使用Qlabel,本文引入了一个专门的适配器,以方便从冻结的CLIP到SAM解码器的知识转移。随后,增强的Qlabel,结合提示编码器的输出和适应的CLIP功能,被馈送到双向Transformer中。在交叉注意过程之后,改进的Qlabel通过多层感知器(MLP)进行进一步优化,确保与CLIP的文本嵌入更好地对齐。最终的标签是通过计算经过改进的标签令牌和CLIP文本嵌入之间的距离而得到的,如公式中所示(1)。

然而,由于自适应只涉及单尺度特征,主要集中在分割上,因此该设计在识别小目标方面存在不足(prob.3)。本文提出了一个简单而有效的解决方案来处理这个问题,引入了一个轻量级的特征金字塔网络(FPN)来适应CLIP2SAM。如图3所示,金字塔网络提取多尺度CLIP特征作为输入。然后,应用RoI-Align[20]操作提取区域特征。与R-CNN框架[20]一样,本文使用一个卷积层和一个MLP来学习特征嵌入,而无需在掩码解码器中引入交叉注意。特别是对于点提示,首先通过SAM解码器获得相应的掩码,并通过相应的掩码获得框。对于框提示,可以直接将其发送到FPN进行区域特征提取。考虑到本文的方法只包含几个卷积层,与原始SAM相比,它不会显着增加计算成本。

Open Vocabulary。为了解决Prob.4,即开放词汇挑战,本文利用嵌入在冻结CLIP主干中的知识,这有助于在推理过程中识别新的和未见过的对象。与先前的研究[28,64]一致,通过几何均值将学习到的班级分数与来自冻结的CLIP的分数融合,以利用来自CLIP主干和CLIP2SAM的信息。此外,本文研究了扩大词汇量的各种策略,例如使用多个数据集进行联合训练,实验结果表明,该模型可以有效地适应大数据集。

4.3 Traning and Application

训练和损失函数。本文首先使用SAM-1B(1%)数据集[27]训练SAM2CLIP模块,将SAM的知识转化为开放词汇SAM,损失为

(公式(3))。然后,本文使用来自COCO或LVIS的分割掩码和标签注释来联合训练CLIP2SAM和掩码解码器。此外,本文采用了与ImageNet数据集的联合训练来进行Open-Vocabulary SAM的演示(见图5)。

推理和演示工具。本文模型执行类似SAM的推理,用点和框作为视觉提示。具体来说,本文测试了作为编码器视觉提示的框和点。在项目页面上,展示了模型的演示,它可以用提示进行分割和识别。

05 主要结果

表1使用ground truth boxes和mask中心点提示的组合基线和Open-Vocabulary SAM的比较。

表2 对开放词汇检测器生成的提示进行组合基线和开放词汇SAM的比较。对于LVIS数据集,训练集中只有“正常”和“频繁”类。基线1和基线2是指图像裁剪和特征裁剪变体。标签是由每个基线或本文的方法生成的。本文采用Detic[86]作为OV-Detector提供框提示。

表3 COCO数据集上不同检测器掩模质量的比较。本文报告掩码平均AP进行比较。

图4 可视化的比较。比较了图像裁剪基线(SAM + CLIP)和开放词汇SAM (OV SAM)的掩模和分类结果。预测的标签显示在掩模上。

图5 开放词汇SAM的定性结果。在可视化中,红星表示点提示,框表示框提示。本文展示了由提议的开放词汇表SAM生成的掩码和标签。本文的方法可以分割和识别不同场景下的开放词汇对象。

图6 开放词汇SAM的说明。在训练中,采用SAM编码器作为教师网络,SAM2CLIP作为学生网络,将SAM的知识整合到CLIP中。CLIP2SAM将CLIP知识传输到SAM解码器,并对封闭集和开放词汇表设置执行联合分割和分类。为了进行推断,本文放弃SAM编码器,只使用CLIP编码器。每个可视提示仅由提示编码器和轻量级SAM解码器(与SAM相同)进行编码和解码。

图7只需单击一下,Open-Vocabulary SAM就可以生成相应对象的掩码和标签。请参考工具演示。为演示做准备。

版权说明

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Oi8j3_wq3x-Xgcyrr0dnGwdw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券