段意所有模型(SAM)是一种基于 Prompt 驱动框架的视觉基础模型,用于分割。SAM根据用户指定的实例引用 Prompt 生成无类别分割。然而,要将SAM适应于自动化特定物体类的分割(在手动输入缺失的情况下),通常需要额外的模型训练。 作者提出了Segment Any Class(SAC)一种新颖的、无需训练的方法,它任务适应SAM进行多类别分割。SAC在 Query 图像上生成类区域建议(CRP),使作者能够在类实例可能的位置自动生成类 Aware 的 Prompt 。 CRP是从基本的类内和类间特征差异中派生出来的,无需任何额外的训练。作者的方法是多功能的,可以适应任何N-way K-shot配置的多类别少样本语义分割(FSS)任务。 与通用模型的梯度学习适应,这可能会导致泛化损失和潜在的灾难性遗忘,SAC仅使用自动化 Prompt 实现最佳结果,在COCO-20i基准上尤其擅长高N-way类场景。 SAC是仅使用 Prompt 适应基础模型进行新任务(小型、有限数据集)的有趣示范。该方法具有抵御概念或特征损失的内生免疫力和快速、在线基础模型任务适应等有趣优势。
通用深度神经网络模型是推动人工智能(AI)在众多应用中广泛应用的关键。通用AI模型经过一次训练即可快速部署到各种不同的用例或目标中。开发和部署之间的不对称性极大地提高了数据使用效率,摊薄了模型训练的成本和能耗,从而鼓励对高质量特征学习过程的投资。基础模型是针对广泛和全面的数据显示的大型和深度生成神经网络模型。最近,已经为不同的数据领域(如视觉、语言和音频)开发了各种基础模型。基础模型作为可适应不同任务或数据领域的通用AI模型,展现出巨大的潜力。虽然这些模型通常针对几个特定目标进行训练,但它们在处理新颖任务方面也表现出色。例如,用于序列预测的大型语言模型(LLM)可以 Prompt 解决问答任务或语言翻译 Query ,而大型扩散模型可以生成以前从未见过的物体和姿态组合的图像。
基础模型似乎是好的、可泛化的特征模型。它们表明,在训练数据集超过一定规模时,深度神经网络可以学习复杂的、正确的和丰富的语义表示知识。基础模型的特征是通过一种多样化的训练方式学习的,通常包括一个初始的无监督生成模型训练,然后是多个不同任务的有监督学习,以及通过结合自我一致性学习和强化学习与人类反馈的进一步微调。基础模型也是生成模型,因此它们会根据输入生成响应,这些输入可能被解释为随机种子、潜在向量(嵌入语义概念)或跨域信号(作为条件向量)。通过扩展数据集的大小和多样性以及监督和自我一致性学习过程,可以提高学习到的特征的泛化性,但基础模型如何适应新任务仍是一个持续的研究兴趣,尤其是涉及小型标注训练数据集或概念漂移的情况。当将基础模型适应新任务时,最大的挑战在于在将新任务特定的特征和语义集成到基础模型的知识和特征表示中时,实现正确的平衡,以协同作用但不取代先前的概念。监督学习范式可能无法实现这一目标;直接更新模型权重并不能提供一个防止新学习的特征和语义过度拟合旧概念的框架,也不能指导朝向一个更好地捕获旧和新特征和语义相似性和差异的修订表示。从头开始进行监督学习新数据集也不是理想的选择,因为它错过了从基础模型的广泛训练中学习到的丰富信息。
然而,梯度学习长期以来被视为将深度学习模型适应到新任务或新数据集的关键,这一点从早期的迁移学习策略到当代的低秩适应和大规模基础模型的 Adapter 等技术都可以看出。预训练网络的适应允许充分利用大量与任务或数据集相关的数据,以便重用好的特征表示,同时专注于应用较小的、与任务相关的数据集来学习新任务的正确决策。这种逻辑支持了通用大规模基础模型的开发,并最终旨在在小型和受限的数据集上提高新任务的准确性。然而,将基础模型适应到具有有限数据集的新任务的最优方法仍然未知。梯度学习方法可能面临灾难性遗忘的可能性,因为在新的数据集或任务上调整网络权重也可能会破坏以前训练的语义。
来自生成神经网络模型, Prompt 提供了一种新、替代的方法来适应神经网络到新任务。为了获得对灾难性遗忘的内在免疫力,作者反对修改基础模型的权重。在基础模型能够完成特定任务的情况下,如果故意进行 Prompt 编辑,那么 Prompt 应扮演提供基础模型执行新任务或适应新数据集所需特征的组织原则的角色。因此,新数据集中的语义和特征关系必须以某种方式集成到 Prompt 输入中,而不是通过梯度学习修改基础模型的权重。
在本研究中,作者利用DINov2和SAM,分别在大规模LVD-142M和SA-1B数据集上进行训练,并使用作者的方法在COCO-上的多类别FSS上实现最先进的结果。尽管没有应用任何梯度学习,但作者的结果展示了多类别少样本分割的最先进性能,因此作者主张自动化 Prompt 生成作为基于梯度网络适应的有前景的替代方案。
通过在大规模数据集上进行广泛训练而形成的基础模型,因其出色的泛化能力和适用于各种下游任务的特点而闻名。在自然语言处理(NLP)领域,像BERT [1],GPT [2],LLAMA [3]这样的模型通过使用特定领域的 Prompt ,即使这些任务与它们的原始训练目标有所不同,也能熟练地将知识转移到新任务。在计算机视觉领域,像Masked Autoencoders (MAE) [4]这样的创新,灵感来源于 Mask 语言模型,利用 Transformer 生成 Mask 图像块。另一方面,DINov2 [5]通过使用判别性自监督方法进行特征学习,扩大了学习特征的应用范围。
最近基础模型中的一种常见趋势是将人机接口通过 Prompt 进行集成。 Prompt 作为直观的输入指南,塑造了模型的输出特征或内容。 Prompt 的概念可以追溯到生成对抗网络(GANs)[6],其中通过像随机种子、表示语义概念的潜在向量或条件信号等机制,使输入到生成器多样化输出。在语言领域,语言模型(LLMs)解释自然语言 Prompt ,以问答或命令的形式,执行新任务。类似地,多模态模型如Stable Diffusion[8]处理文本 Prompt ,以生成反映描述内容的图像。
除了基于序列的 Prompt ,视觉基础模型也能接受图像领域的 Prompt ,如参考图像或指定的点与框。图像领域的 Prompt 通过定义参考区域来引导模型在 Query 图像上的行为,从而对任务提出新的约束。Segment-Anything Model(SAM)[9]在训练了超过10亿个 Mask 和1100万张图像后,在零样本和无类别分割方面表现出色。在这个范例的基础上,SEEM[10]将音频和文本 Prompt 作为其多模态方法的一部分。最近,Segment-Anything Model 2[11]在SAM的基础上进行了改进,将可 Prompt 分割扩展到视频。它采用了一种 Transformer 架构,具有 Stream 记忆,可以实现实时视频处理。然而,与LLM(大型语言模型)通常在各种语言任务上都表现出色不同,视觉基础模型往往在偏离自然场景的异常图像上表现挣扎,需要进行微调以在新型目标上获得最佳性能。
为了提高机器视觉任务的模型泛化能力,研究行人开发了用于情境学习的模型,其中一组输入-输出示例与目标图像一起呈现给模型。模型从输入-输出支持集中提取物体特征,并使用它来在目标图像上执行任务。例如,在提供几张带有标签的猫图像之后,一个模型可能被分配去分割目标图像中的新猫。像DINov这样的情境学习模型擅长处理特定和通用的 Prompt ,以隔离感兴趣的物体或在新环境中泛化到语义相似的物体。VRP-SAM引入了一种创新的训练 Prompt 编码模块,该模块从视觉参考图像-标签对中提取嵌入。像PerSAM这样的解决方案为单张分割任务定制了SAM,而Matcher则开创了适应基础模型的单类少样本语义分割(FSS)框架。其他工作,如[17]和[18],研究了影响情境学习性能的因素,强调了支持图像选择的关键作用。
从单类到多类 FSS 引入了一系列新的挑战。多类 FSS 模型在类别数量增加时,分割准确性明显下降。这种性能下降很大程度上归因于图像中各种类目标存在的增加不确定性。在单类 FSS 评估中,目标类始终存在于 Query 图像中;而在多类评估中, Query 图像可能缺少某些类,导致对假阳性更敏感,并对这些设置中的指标性能产生更大影响。最先进的模型如 Dense pixel-wise Cross-query-and-support Attention weighted Mask Aggregation (DCAMA) [19] 和 Label-Anything (LA) [20] 通过专用 Mask 解码和 Prompt 编码模型来应对这些挑战。为了支持这一趋势,有一些比较各种基础模型适应性的 FSS 任务基准 [21]。
作者的提出的SAC如图1所示,并分为两个主要阶段:支持特征提取和带有类区域 Proposal 的 Mask 预测。以下,作者将详细描述每个阶段。
给定一组支持图像,每个图像都带有语义标签,第一阶段的目标是构建阶级代表性的特征向量阵列(CRFA),以捕获每个类别的特定特征。
每一张支持图像都会通过DINOv2、Enc模型进行处理,以获得其在特征空间中的图像嵌入,作为图像的高维表示,如公式(1)所示。在这里,作者使用DINOv2自监督视觉模型,因为其能够在不依赖 Token 数据的情况下学习有意义图像表示的能力。
接下来,根据与每个类相关的类标签,将嵌入向量进行分层,有效地将属于同一类的图像的嵌入向量分组。方程(2)展示了这一操作,其中表示空间乘法。这种分层确保了每个类别对应的功能分离,以便进行后续处理。
对于每个类别,作者应用聚类技术(如k-means)将嵌入向量分组到类特定的特征数组中,称为类代表性特征数组(CRFA)。这些CRFA代表了嵌入空间中定义每个类别的关键特征。此外,作者使用无标签区域的 未标注 数据创建背景CRFAs,以充分利用支持图像中的可用信息。包括背景CRFAs对于降低假阳性率至关重要。
如果支持图像的池变得太大,作者将应用一种内存高效的聚类方法。具体来说,作者在将新图像的特征添加到现有类特征数组之前,在图像 Level 上进行聚类。这样可以减小特征数组的大小,最小化内存使用,并在再次聚类之前不会使系统受到过多特征的冲击。
在推理阶段,给定 Query 图像 ,作者将进入第二阶段,该阶段涉及生成类区域建议(CRP)和预测类 Mask 。
Query 图像经过DINOv2模型处理,得到其嵌入,类似于应用于支持图像的过程。这个嵌入表示 Query 图像在与CRFAs相同特征空间的含义。
作者通过计算 Query 图像嵌入和每个类别CRFAs之间的余弦相似度来计算相似度图{S_{i}^{c}}。这使得作者可以测量 Query 图像中每个像素与类别代表性的特征的相似程度。相似度在像素 Level 上计算,为每个类别生成每个像素的相似度得分。
对于每个类别,作者将 Query 图像中的每个像素分配给在相似度映射中具有最高余弦相似度分数的类别。然而,这种方法可能会将具有低类内相似度但高类间相似度的像素分配,这可能导致不准确的类别预测。为了解决这个问题,作者进行类内筛选:作者对每个类别的余弦相似度值使用Otsu阈值进行筛选,以排除类内相似度较低的像素。这确保了在CRP中只保留与类原型高度相似的像素,从而提高了类别预测的准确性。
除了类特定的区域 Proposal ,作者还生成了一个背景区域 Proposal (BGRP)。一个类的BGRP捕获了 Query 图像中不属于任何类或属于其他类的区域。这有助于在最终 Mask 预测中区分前景(类特定)和背景(非类)区域。
利用CRP和BGRP,作者自动生成基于类的 Prompt 集。首先,作者创建一个正点和负点 Prompt 的网格。正点 Prompt 对应于CRP中的像素,而负点 Prompt 则从BGRP中选择。每个正点都与一个随机负点配对,为每个类别创建多个正负对 Prompt 集。此外,受[16]启发,作者根据正点的空间位置将它们聚类,从而创建一组聚类中心 Prompt 和一组基于聚类中心正点组的 Prompt 集。
每个类的 Prompt 设置生成二进制 Mask ,这些 Mask 对应预测类的正点。为了确保不将像素分配给多个类(即避免对同一像素进行多类预测),作者应用类间过滤。如果在CRP中, Mask 与其他类区域的重叠超过一定阈值,作者会移除这些 Mask 。此外,如果这些 Mask 内的平均余弦相似度低于预定义阈值,作者会丢弃这些 Mask ,确保只有高置信度的预测保留下来。
作者的实验使用了Segment-Anything模型(SAM)和ViT-H后端,以及DINOv2和ViT-L后端。对于输入分辨率,作者使用了DINOv2的518x518,以及SAM的1024x1024,必要时对图像进行缩放和填充。作者将参数n_cluster设置为5。值得注意的是,在所有实验中,网络没有进行额外的训练。作者的方法在各种N-way K-shot分割场景下进行了评估,使用mean Intersection-over-Union(mIoU)作为性能指标,具体计算在测试类别上。与MFNET方法一致,作者将背景类别排除在mIoU计算之外,并将前景误分类归为假阳性或假阴性。
作者基于COCO-数据集进行了实验,该数据集是来自MS COCO数据集的一个公认的少样本语义分割(FSS)基准。作者在从1-way到20-way的多类少样本分割任务上评估了作者的模型。COCO-数据集将80个类别分为4个非重叠的折叠,每个折叠包含20个类别。为了确保与其他方法的公平比较,作者仅在各个折叠的验证图像上评估SAC,故意遗漏了其他方法可能用于训练的训练图像。作者对每个折叠和设置进行了1000次随机选择的实验,并将性能评估和实验设置与其他基准相协调,以便直接进行比较。
作者在COCO-数据集的fold-0上进行了一项消融研究,使用1-way 1-shot和5-way 1-shot配置来评估每个组件对作者方法整体性能的贡献。作者评估了在构建类代表性特征阵列(CRFAs)过程中,利用不同backbones(DINov2与SAM)作为特征提取器的影响。随后,作者系统地排除了作者方法的各种组件——具体来说,背景区域 Proposal (BGRP)、类内过滤和类间过滤,以观察它们对性能的单独影响。
作者认为,可以通过采用其他策略,不依赖梯度学习,使基础模型适用于分割任务。SeGPT [22] 表明,通过配置 Prompt 输入,基础模型可以适应不同任务,但需要专门用梯度学习训练的 Prompt 编码器。作者的工作表明,对于多类少样本分割任务, Prompt 最先进的视觉基础模型就足够了,并且优于梯度学习方法。作者的方法建立在匹配网络 [23] 上,该网络开创了使用余弦相似度匹配 Query 图像特征图与包含所需类实例的少量支持图像特征的思想。这种亲和学习具有泛化性,因为模型可以在开发模型阶段(通过选择支持图像)之前应用到新类实例(如选择支持图像)。而原型学习则专门针对仅在梯度学习时可用的类实例进行调整。PerSAM [15] 将这一概念发展成只使用 Prompt 的 Prompt 方法,完全不需要梯度学习。PerSAM 通过匹配 Query 图像的特征与支持集,生成Segment Anything Model (SAM) [9] 的信心图,并从中推导出一个单一的积极和消极点 Prompt 。信心图进一步嵌入到SAM Mask 解码器的输入 Token 中,以调节解码器交叉注意力并生成分割 Mask 。
作者的方法SAC扩展了PerSAM,以生成多类别分割。作者的创新在于将置信度图转换为多个点 Prompt ,每个点都可以 Prompt 不同的类实例(与PerSAM不同,PerSAM只生成一个类别的一对正负点 Prompt )。作者发现,仅通过 Prompt 生成即可实现良好的多类别分割,不需要同时对 Mask 解码器交叉注意力层进行特征嵌入。相反,生成 Query 和支持图像的特征图的基础模型至关重要。作者使用领先的二分类多类别FSS模型(例如DCAMA和Label Anything(LA))来基准作者的方法,首先是在二分类FSS问题上,然后是在COCO-20i数据集上的多类别FSS。
工程化 Prompt 在二进制少样本分割任务中与梯度学习具有竞争力。在表1中,作者展示了作者的方法SAC在1-shot和5-shot场景下的二进制少样本分割(FSS)任务性能。作者的方法表现出竞争力的性能,在mIoU上与SegGPT(实现了56.1)相差10%,与DCAMA(相差2%)相差2%,同时超过了LA。值得注意的是,SegGPT、DCAMA和LA都依赖于梯度学习进行 Mask 生成器的学习,并使用预训练的特征表示网络。SegGPT和LabelAnything都通过可训练的 Prompt 编码器使用 Prompt 。值得强调的是,最先进的二进制FSS模型(如SegGPT和VRP-SAM)利用预训练的特征表示网络在专业模型(如DCAMA,使用在ImageNet上的ResNet预训练,LA使用在ImageNet21k上的VIT-B/16预训练,VRP-SAM使用Segment Anything Model(SAM),SegGPT使用VIT-L)之上实现了优越的性能。这一趋势表明,大型基础模型的潜力可以进一步提高分割性能,如SegGPT的结果所示。
非 Prompt 式方法如DCAMA针对训练数据集的特定类别进行调整;要扩展模型以包括新类别,需要用梯度学习重新训练模型并重新编写网络权重,这可能降低先学习类别的性能(灾难性遗忘)。相反, Prompt 式模型如SegGPT和LA可以通过 Prompt 更新引入新类别,而无需重新训练模型。这确保了通过返回到以前的 Prompt 来保留先学习类别的性能,因为模型权重保持不变。这种能力便于新类别的无缝集成,同时保持模型可用性和历史性能。
尽管取得了这些进展,最先进的可解释模型仍然需要专门的 Prompt 编码器,这些编码器必须通过使用梯度学习训练数据集来实现实例化或适应。相比之下,作者的SAC方法完全摒弃了梯度学习。作者在本工作中寻求研究的问题是,在没有任何类型的梯度学习的情况下,作者能否从基础模型中重新利用 Prompt 编码器来替换或适应它。作者的SAC方法表明,梯度学习无用的方法正在逐渐成为SegGPT和VRP-SAM的竞争性替代品,因为它显著优于PerSAM。
在多类别(N-way)推理中,神经网络必须根据支持图像的少量信息为不同的类别生成具有区分性的特征。作者在最先进的方法中观察到,随着类别数量(N)的增加,每个类别的分割准确性显著降低。当权重更新时,存在将已知信息或一个类别的良好特征表示替换为另一个类别的风险。这可能是由于在单独梯度更新过程中考虑的训练批量的子集中的信息限制所致——这是使用小批量或随机梯度下降加速学习的好处。
从II表格中,作者发现在5-way FSS中,DCAMA和LA的mIoU分数大约减半,而在1-way FSS中的表现则没有这种趋势。作者的SAC方法显著超越了DCAMA和LA的性能,随着类别数增长,性能差距不断扩大。SAC似乎在类别数增加时缓解了分割精度下降的趋势,这表明了仅 Prompt 和梯度学习无用的方法的鲁棒性。作者认为,由于没有更新模型权重,有效的特征表示不会被替代,从而提供了一定的抗遗忘能力。
作者研究了函数的行为。
作者的消融研究突显了作者的SAC模型中不同组件的影响。表3显示,特征表示网络对分割精度的影响最大。SAC使用DINOv2生成目标特征,并用SAM图像编码器替换,导致性能显著下降。类间过滤在去除错误的类 Prompt 方面发挥了关键作用,其消除导致了性能的次大下降。作者的区域分类仍然是一种固有噪声算法,因此通过类间过滤去除错误 Prompt 可以显著提高分割 Mask 精度。类内过滤和背景区域 Proposal 的影响较小,但仍然是最大限度提高整体性能的关键组成部分。类内过滤移除非相似度得分较低的区域,而背景区域 Proposal 将负 Prompt 与正 Prompt 配对,从而提高了 Mask 精度。
结合Matcher [16],作者的方法SAC展示了仅通过 Prompt 进行基础模型(无需梯度学习)自适应的可行性,以实现任务适应。在这里,作者将SAM视为一个执行目标语义分割的基础模型,但以无类别的方式进行。
Matcher通过将SAM适应到二进制FSS任务,证明了将单个、可选择类型的目标进行分割的可行性。作者的SAC方法展示了如何通过将SAM适应到多类FSS任务,来分割多个可选择类型的目标类型。
Matcher和作者的SAC都利用自动化算法,对支持图像集进行处理,以生成用于自适应基础模型任务的 Prompt 。作者还进一步认为,多类FSS是适应SAM进行全光学分割(panoptic segmentation)[24]的必要、中间能力。
确实,将像素分类为属于不同目标类型是识别特定目标实例(实例分割)的先决条件。
在本文中,提出了Segment-Any-Class (SAC),这是一种无需训练的方法,用于自动化地为Segment Anything Model (SAM)生成提示,使其能够适应执行多类少样本分割任务。
作者的最先进结果表明,仅使用提示的方法可能超过梯度学习方法的准确性,尤其是在类别数量增加时,并且还显示出随着类别数量的增加,准确性显著逐渐下降。这一证据表明,仅提示的方法可能从新增类别中获益,获得新的区分和判别特征,而不会取代先前类别的信息。
这种仅提示、无需训练的SAC方法的准确性在很大程度上取决于视觉基础模型在图像特征提取方面的复杂性。SAM基础模型对提示类别-区域提案中的错误非常敏感,因此需要进行类内和类间过滤。
仅提示且无需训练的范式是一种有吸引力的替代方法,可以快速适应基础模型以执行不同任务,特别是当支持训练数据集较小时。这种范式使得基础模型在任务适应过程中内在地免受特征或上下文丢失的影响,并允许基础模型在线快速适应任务。
[0]. Segment Any Class (SAC): Multi-Class Few-Shot Semantic Segmentation via Class Region Proposals.