从Segment Anything出发学习图像分割

最近在了解大模型,先看了一篇关于SAM大模型的应用综述,上一篇论文大概记录了一下。上篇我记到医学图像处理之后就停了,因为发现那篇虽然内容比较全,但和我相关的部分并不多,描述比较粗略,不过里面提到的参考文献还是可以看一下的。把这篇论文Segment Anything 过一遍就去看那篇里提到的医学图像分割的论文。

一 摘要

我们介绍了Segment Anything(SA)项目:一个新的任务,模型和数据集的图像分割。在数据收集循环中使用我们的高效模型,我们建立了迄今为止(到目前为止)最大的分割数据集,在1100万张许可和尊重隐私的图像上拥有超过10亿个掩模。该模型被设计和训练为提示,因此它可以将零拍摄转移到新的图像分布和任务。我们评估了它在许多任务中的能力,发现它的零射击性能令人印象深刻-通常与之前的完全监督结果相竞争甚至优于。我们在https://segment-anything.com上发布了包含1B个掩模和11M张图像的分段任意模型(SAM)和相应的数据集(SA-1B),以促进对计算机视觉基础模型的研究。

Zero-shot, One-shot和Few-shot:
ZSL就是希望我们的模型能够对其从没见过的类别进行分类,让机器具有推理能力,实现真正的智能。其中零次(Zero-shot)是指对于要分类的类别对象,一次也不学习。
这部分参考博客

二 介绍

在这项工作中,我们的目标是建立一个图像分割的基础模型。也就是说,我们寻求开发一个提示模型,并使用一个能够实现强大泛化的任务在广泛的数据集上对其进行预训练。有了这个模型,我们的目标是使用即时工程解决新数据分布上的一系列下游分割问题。
该计划的成功取决于三个组成部分**:任务、模型和数据**。为了开发它们,我们解决了以下关于图像分割的问题:

  1. 什么任务可以实现零概率泛化?

  2. 相应的模型体系结构是什么?

  3. 哪些数据可以为这项任务和模型提供支持?

这些问题纠缠在一起,需要综合解决。我们首先定义一个提示的分割任务,它足够通用,可以提供一个强大的预训练目标,并支持广泛的下游应用程序。此任务需要一个支持灵活提示的模型,并且可以在提示时实时输出分段掩码以允许交互使用。为了训练我们的模型,我们需要一个多样化的、大规模的数据源。

这段的思路值得借鉴,做科研不能照本宣科,要按照逻辑一步步解决问题

不幸的是,没有网络规模的数据来源的分割;为了解决这个问题,我们构建了一个“数据引擎”,也就是说,我们在使用我们的高效模型来协助数据收集和使用新收集的数据来改进模型之间进行迭代。接下来我们介绍每个相互关联的组件,然后是我们创建的数据集和证明我们方法有效性的实验。

三 Segment Anything 任务

我们从NLP中获得灵感,其中下一个令牌预测任务用于基础模型预训练,并通过提示工程(prompt engineering)解决各种下游任务。为了建立分割的基础模型,我们的目标是定义一个具有类似功能的任务。

prompt engineering:prompt简单的理解就是给AI模型的指令,可以是一个问题、一段文字描述,甚至可以是带有一堆参数的文字描述。prompt所提供的信息,生成对应的文本或者图片。而Prompt Engineering是一种人工智能技术,它通过设计和改进AI的prompt来提高AI的表现。Prompt Engineering的目标是创建高度有效和可控的AI系统,使其能够准确、可靠地执行特定任务。

任务。我们首先将提示的概念从NLP翻译到分割,其中提示可以是一组前景/背景点,一个粗略的框或蒙版,自由格式的文本,或者一般情况下,任何指示图像中要分割的信息。因此,提示分割任务是在给定任何提示的情况下返回一个有效的分割掩码。“有效”掩码的要求意味着,即使提示是模糊的,并且可以引用多个对象(例如,回想一下衬衫与人的例子,参见图3),输出也应该是这些对象中至少一个的合理掩码。这个需求类似于期望语言模型对不明确的提示输出一致的响应。我们之所以选择这个任务,是因为它带来了一种自然的预训练算法和一种通过提示将零射击转移到下游分割任务的通用方法。

预训练。提示分割任务提出了一种自然的预训练算法,该算法为每个训练样本模拟一系列提示(例如,点、框、掩码),并将模型的掩码预测与基本事实进行比较。我们从交互式分割中采用了这种方法[109,70],尽管与交互式分割不同,交互式分割的目的是在足够的用户输入后最终预测一个有效的掩码,但我们的目标是始终预测任何提示的有效掩码,即使提示是模糊的。这确保了预训练模型在涉及歧义的用例中是有效的,包括我们四 数据引擎所要求的自动注释。我们注意到,在这个任务中表现良好是具有挑战性的,需要专门的建模和训练损失选择,我们在三中讨论过。

Zero-shot转移。直观地说,我们的预训练任务赋予了模型在推理时对任何提示作出适当响应的能力,因此下游任务可以通过设计适当的提示来解决。例如,如果有一个猫的边界框检测器,猫实例分割可以通过提供检测器的框输出作为提示给我们的模型来解决。一般来说,许多实际的分割任务都可以作为提示。除了自动数据集标记,我们在七 实验部分中探索了五个不同的示例任务

相关的任务。分割是一个广泛的领域:有交互式分割,边缘检测,超像素化,目标建议生成,前景分割,语义分割,实例分割,全景分割等。我们的提示分割任务的目标是产生一个广泛的功能模型,可以适应许多(尽管不是全部)现有的和新的分割任务。这种能力是任务泛化的一种形式[26]。请注意,这与之前在多任务分割系统上的工作不同。在多任务系统中,单个模型执行一组固定的任务,例如联合语义分割、实例分割和全视分割,但训练和测试任务是相同的。我们工作中的一个重要区别是,训练用于提示分割的模型可以作为更大系统中的组件在推理时间执行新的不同任务,例如,执行实例分割,提示分割模型与现有的对象检测器相结合。

语义分割、实例分割、全景分割:
语义分割是对图像中的每个像素打上类别的标签;
实例分割是目标检测和语义分割地结合,在图像中将目标检测出来(目标检测),然后对每个像素打上标签(语义分割)。实力分割会分割同类的不同实例;
全景分割是语义分割和实力分割地结合,既要将所有目标都检测出来,又要区分出同个类别中的不同实例。
参考这里

讨论。提示和组合是功能强大的工具,可以以可扩展的方式使用单个模型,从而潜在地完成模型设计时未知的任务。这种方法类似于其他基础模型的使用方式,例如CLIP[82]是DALL·E[83]图像生成系统的文本-图像对齐组件。我们预计,可组合的系统设计,由提示工程等技术提供动力,将比专门为固定任务集训练的系统实现更广泛的应用。通过组合的镜头来比较提示式和交互式分割也是很有趣的:虽然交互式分割模型是为人类用户设计的,但正如我们将演示的那样,为提示式分割训练的模型也可以组成一个更大的算法系统。

四 Segment Anything模型

在这里插入图片描述
SAM流程如上图。重量级图像编码器输出图像嵌入,然后可以通过各种输入提示有效地查询,以平摊实时速度生成对象掩码。对于对应于多个对象的模糊提示,SAM可以输出多个有效掩码和相关的置信度分数。

接下来,我们描述了SAM,用于提示分割。SAM有三个组件,如上图所示:一个图像编码器一个灵活的提示编码器一个快速掩码解码器。我们建立在Transformer视觉模型的基础上,对(平摊)实时性能进行了特定的权衡。我们在这里高层次地描述这些组件,细节见下面附录A

图像编码器。在可扩展性和强大的预训练方法的激励下,我们使用了MAE预训练的视觉变压器(ViT),以最小程度适应处理高分辨率输入。图像编码器每个图像运行一次,可以在提示模型之前应用。

ViT:

提示编码器。我们考虑两组提示:稀疏(点、框、文本)和密集(掩码)

  • 我们通过位置编码来表示点和框,并对每个提示类型和使用CLIP的现成文本编码器的自由格式文本进行学习嵌入求和。
  • 密集提示(即掩码)使用卷积嵌入,并在图像嵌入中按元素求和。

CLIP是视觉语言预训练模型,这种模型基于人工智能技术,能够通过学习图像和自然语言描述之间的关系,实现图像和文本的相互理解,进而实现更为智能化的应用。

掩码解码器。掩码解码器有效地将图像嵌入、提示嵌入和输出令牌映射到掩码。该设计采用了对Transformer解码器块的修改,然后是动态掩码预测头。我们改进的解码器块在两个方向上使用提示自注意和交叉注意(提示到图像嵌入,反之亦然)来更新所有嵌入。在运行两个块之后,我们对图像嵌入进行上采样,MLP将输出标记映射到动态线性分类器,然后该分类器计算每个图像位置的掩码前景概率。

自注意力机制:在注意力机制下,我们将词元序列输入注意力汇聚中,以便同一组词元同时充当查询、键和值。 具体来说,每个查询都会关注所有的键-值对并生成一个注意力输出。像这样的,查询、键和值来自同一组输入的注意力机制,被称为自注意力(self-attention)或者内部注意力
交叉注意力机制:交叉注意力的机制与 Transformer 模型中使用的自注意力机制非常相似,但是交叉注意力是一个序列关注另一个序列,而不是自己。

解决歧义。对于一个输出,如果给出一个模糊的提示,该模型将平均有多个有效掩码。为了解决这个问题,我们修改了模型,以预测单个提示符的多个输出掩码(见下图)。我们发现3个掩码输出足以解决大多数常见情况(嵌套掩码通常最多有三个深度:整体、部分和子部分)。在训练期间,我们只在掩码上进行最小损失。为了对掩码进行排序,该模型预测每个掩码的置信度分数(即估计的IoU)。
对于单个提示符会产生多个输出掩码

IoU:IoU是一种测量在特定数据集中检测相应物体准确度的一个标准。IoU是一个简单的测量标准,只要是在输出中得出一个预测范围(bounding boxex)的任务都可以用IoU来进行测量。IoU的计算
参考这里

效率。整体模型设计很大程度上是由效率驱动的。给定预先计算的图像嵌入,提示编码器和掩码解码器在web浏览器中运行,在CPU上,大约50ms。这种运行时性能支持模型的无缝、实时交互式提示。

损失和训练。我们使用焦损失(focal loss)和骰子损失(dice loss)的线性组合来监督掩模预测。我们使用几何提示的混合来训练可提示的分割任务(文本提示见7.5节)。接下来我们通过在每个掩码中随机抽取11轮提示来模拟交互式设置,从而使SAM无缝地集成到我们的数据引擎中。

focal loss:Focal Loss的引入主要是为了解决one-stage目标检测中正负样本数量极不平衡问题。参考这里
dice loss:Dice Loss是由Dice系数而得名的,Dice系数是一种用于评估两个样本相似性的度量函数,其值越大意味着这两个样本越相似参考这里

五 Segment Anything 数据引擎

由于分割掩码在互联网上并不丰富,我们构建了一个数据引擎来收集我们的1.1B掩码数据集SA-1B。数据引擎有三个阶段:

  1. 模型辅助的手动注释阶段
  2. 混合了自动预测掩码和模型辅助注释的半自动阶段
  3. 我们的模型在没有注释器输入的情况下生成掩码的全自动阶段

1 手动注释阶段。在第一阶段,类似于经典的交互式分割,一个专业的注释团队使用基于浏览器的交互式分割工具,通过点击前景/背景对象点来标记蒙版。可以使用像素精确的“笔刷”和“橡皮擦”工具来改进蒙版。我们的模型辅助注释直接在浏览器中实时运行(使用预先计算的图像嵌入),从而实现真正的交互式体验。我们没有对标记对象施加语义约束,注释器可以自由地标记“stuff”和“things”。我们建议注释者标记他们可以命名或描述的对象,但没有收集这些名称或描述。注释者被要求按突出顺序标记对象,并被鼓励在一个蒙版超过30秒的注释时间后继续进行下一个图像。(有轻重缓急,尽量多标点)
在这一阶段的开始,SAM使用公共分割数据集进行训练。在充分标注数据后,SAM仅使用新标注的掩码进行再训练。随着蒙版收集的增加,图像编码器从ViT-B缩放到ViT-H,其他建筑细节也随之演变;我们总共重新训练了我们的模型6次。随着模型的改进,每个掩码的平均注释时间从34秒减少到14秒。我们注意到,14秒比COCO的掩码标注快6.5倍[66],只比带极值点的边界盒标注慢2倍[76,71]。随着SAM的改进,每张图像的平均掩码数从20个增加到44个。总的来说,我们在这个阶段从120k张图像中收集了430万个掩码。

2 半自动阶段。在这个阶段,我们的目标是增加掩码的多样性,以提高我们的模型Segment Anything的能力。为了将注释器集中在不太突出的对象上,我们首先自动检测自信掩码。然后,我们向注释者展示预先填充了这些蒙版的图像,并要求他们注释任何其他未注释的对象。为了检测自信掩码,我们使用通用的“对象”类别在所有第一阶段蒙版上训练了一个边界盒检测器。在这个阶段,我们在18k张图片中收集了额外的590万个掩码(总共1020万个掩码)。与第一阶段一样,我们定期在新收集的数据上重新训练模型(5次)。每个蒙版的平均注释时间恢复到34秒(不包括自动掩码),因为这些对象的标记更具挑战性。每张图像的平均掩码数量从44个增加到72个(包括自动掩码)。

边界盒检测器:???

3 全自动阶段。在最后阶段,注释是全自动的。这是可行的,因为我们的模型有两个主要的改进。首先,在这一阶段的开始,我们收集了足够的掩码来极大地改进模型,包括前一阶段的各种掩码。其次,在这个阶段,我们已经开发了模糊感知模型,它允许我们预测有效的掩码,即使在模糊的情况下。具体来说,我们用32×32规则的点网格提示模型,并为每个点预测一组可能对应于有效对象的掩码。使用模糊感知模型,如果一个点位于部件或子部件上,我们的模型将返回子部件、部件和整个对象。我们的模型的IoU预测模块用于选择置信掩码;此外,我们只识别和选择了稳定的掩码(如果在0:5−δ和0:5 + δ的概率图上设置阈值导致相似的掩码,我们认为掩码是稳定的)。最后,在选择自信和稳定的掩码后,我们使用非最大抑制(NMS)来过滤重复。为了进一步提高小蒙版的质量,我们还处理了多个重叠的放大图像裁剪。关于这一阶段的进一步细节,见附录B。我们对数据集中的所有11M张图像应用了全自动蒙版生成,总共产生了11亿个高质量的蒙版。

六 Segment Anything数据集

我们的数据集SA-1B由11M不同的、高分辨率的、授权的、保护隐私的图像和1.1B高质量的分割掩码组成,这些图像是由我们的数据引擎收集的。我们将SA-1B与现有数据集进行比较,并分析掩码质量和属性。我们正在发布SA-1B,以帮助计算机视觉基础模型的未来发展。我们注意到SA-1B将在有利的许可协议下发布,用于某些研究用途,并保护研究人员。

图像。我们从一个直接与摄影师合作的供应商那里获得了一套新的1100万张图片。这些图像都是高分辨率的(平均为3300×4950像素),由此产生的数据大小可能带来可访问性和存储方面的挑战。因此,我们发布下采样图像,其最短边设置为1500像素。即使在降采样之后,我们的图像的分辨率也明显高于许多现有的视觉数据集(例如,COCO[66]图像的分辨率为~ 480×640像素)。请注意,目前大多数模型在分辨率低得多的输入上运行。在公布的照片中,人脸和车牌已经被模糊处理。

掩码。我们的数据引擎产生了11亿个掩码,其中99.1%是完全自动生成的。因此,自动生成掩码的质量至关重要。我们直接将它们与专业注释进行比较,并查看各种掩码属性如何与突出的分割数据集进行比较。正如下面的分析和七中的实验所证明的那样,我们的主要结论是,我们的自动掩码对于训练模型是高质量和有效的。基于这些发现,SA-1B只包括自动生成的掩模。

掩码的质量。为了估计掩码质量,我们随机采样了500张图像(~ 50k掩码),并要求我们的专业注释员提高这些图像中所有掩码的质量。注释者使用我们的模型和像素精确的“画笔”和“橡皮擦”编辑工具。这个过程产生了一对自动预测和专业校正的掩码。我们计算了每对对之间的IoU,发现94%的对的IoU大于90%(97%的对的IoU大于75%)。相比之下,先前的研究估计注释者之间的一致性为85-91% IoU[44,60]。我们在七中的实验通过人类评分证实,相对于各种数据集,掩码质量很高,并且在自动掩码上训练我们的模型几乎与使用数据引擎生成的所有掩码一样好
在这里插入图片描述
在这里插入图片描述

掩码的属性。在图5中,我们绘制了与现有最大的分割数据集相比,SA-1B中目标中心的空间分布。所有数据集中都存在常见的摄影师偏差。我们观察到,与LVIS v1和ADE20K这两个分布最相似的数据集相比,SA-1B具有更大的图像角点覆盖率,而COCO和Open Images V5具有更突出的中心偏差。在图6中,我们按大小比较了这些数据集。SA-1B拥有比第二大Open images多11倍的图像和400倍的蒙版。平均而言,它比Open Images拥有更多36倍的蒙版。
在这方面最接近的数据集ADE20K,每张图像的掩模仍然少3.5倍。图6(左)为掩模-图像分布。接下来,我们在图6(中)中查看图像相对掩码大小(掩码面积除以图像面积的平方根)。正如预期的那样,由于我们的数据集每个图像有更多的掩码,它也倾向于包含更大比例的中小型相对大小的掩模。最后,为了分析形状复杂度,我们查看图6(右)中的掩码凹度(1减去掩码面积除以掩模凸壳面积)。由于形状复杂性与掩码大小相关,我们通过首先从分类掩码大小进行分层抽样来控制数据集的掩码大小分布。我们观察到掩码的凹凸度分布与其他数据集大致相似。

七 Segment Anything RAI分析

接下来,我们通过调查使用SA-1B和SAM时潜在的公平问题和偏见,对我们的工作进行负责任的AI (RAI)分析。我们关注的是SA-1B的地理和收入分布,以及SAM在人们受保护属性中的公平性。我们还在附录F中提供了数据集、数据注释和模型卡。

RAI的目的是构建一个AI治理的框架,能够规定一个组织在研发、部署和应用AI算法、程序和系统过程中,所应该采取的伦理和法律准则。RAI的内涵大致包括包容性、公平性、以人为本、透明和可解释性、安全性、隐私和可被问责性等。
在这里插入图片描述

在这里插入图片描述

地域和收入代表性。我们推断国家图像是使用标准方法拍摄的(见附录C)。在图7中,我们可视化了SA-1B中每个国家的图像计数(左)和图像最多的50个国家(右)。我们注意到,排名前三的国家来自世界不同地区。接下来,在表1中,我们比较了SA-1B、COCO和Open Images的地理和收入代表性。SA-1B在欧洲、亚洲和大洋洲以及中等收入国家的图像比例要高得多。所有数据集都没有充分代表非洲和低收入国家。我们注意到,在SA-1B中,包括非洲在内的所有地区至少有2800万个掩码,比以往任何数据集的掩码总数多10倍。最后,我们观察到,每张图像(未显示)的平均掩码数量在地区和收入之间相当一致(每张图像94-108)。

在这里插入图片描述
公平地划分人群。我们通过测量各组间的SAM表现差异来研究感知性别表现、感知年龄和感知肤色之间潜在的公平问题。我们使用更包容的人注释(More Inclusive Annotations for People, MIAP)[87]数据集进行性别表示和年龄,使用专有的肤色数据集(见附录C)。我们的评估使用模拟的交互式分割,随机采样1和3个点(见附录D)。表2(左上)显示了感知性别呈现的结果。我们注意到女性在检测和分割数据集中的代表性不足,但观察到SAM在不同群体中的表现相似。我们在表2(左下)中重复了对感知年龄的分析,注意到那些被认为更年轻和更年长的人在大规模数据集中的代表性不足[110]。SAM在那些被认为年龄较大的人身上表现最好(尽管置信区间很大)。最后,我们在表2(右)中重复了对感知肤色的分析,注意到在大规模数据集中,肤色较浅的人被过度代表,而肤色较深的人被低估[110]。由于MIAP不包含感知肤色注释,我们使用专有数据集,该数据集包含感知Fitzpatrick皮肤类型的注释[36],范围从1(最浅的肤色)到6(最暗的肤色)。虽然平均数有所不同,但我们没有发现组间的显著差异。我们相信我们的发现源于任务的性质,并承认当SAM被用作更大系统的组件时可能会产生偏差。最后,在附录C中,我们将分析扩展到细分服装,在那里我们发现了跨感知性别呈现的偏见迹象。

八 zero-shot 转移实验

在这里插入图片描述

在本节中,我们提出了zero-shot转移实验与SAM。我们考虑了五个任务,其中四个与用于训练SAM的提示分割任务有很大不同。这些实验在训练过程中没有看到的数据集和任务上评估SAM(我们使用的“零射击转移”遵循了CLIP[82]中的用法)。数据集可能包括新的图像分布,例如水下或以自我为中心的图像(例如图8),据我们所知,没有出现在SA-1B中。
我们的实验从测试提示分割的核心目标开始:从任何提示产生有效的掩码。我们强调单个前景点提示的挑战性场景,因为它比其他更具体的提示更有可能模棱两可。接下来,我们提出了一系列实验,这些实验跨越低、中、高水平的图像理解,大致平行于该领域的历史发展。具体来说,我们提示SAM

  • 执行边缘检测
  • 分割所有内容,即生成对象建议
  • 分割检测到的对象,即实例分割
  • 作为概念验证,从自由格式文本中分割对象。

这四个任务与SAM训练时使用的提示分割任务有很大的不同,并且是通过提示工程实现的。我们的实验以消融研究结束。

实现除非另有说明,否则(1)SAM使用MAE预训练的ViT - h图像编码器,(2)SAM在SA-1B上进行训练,注意该数据集仅包括从我们的数据引擎的最后阶段自动生成的掩码。对于所有其他模型和训练细节,如超参数,请参见附录A。

8.1 零射击单点有效掩码评估任务

我们评估从单个前景点分割一个对象。这个任务是病态的,因为一个点可以指向多个对象。大多数数据集中的真实掩码没有列举所有可能的掩码,这可能使自动度量不可靠。因此,我们用一项人类研究来补充标准的mIoU度量(即,预测和真实掩模之间所有IoU的平均值),其中注释者将掩模质量从1(无意义)到10(像素完美)进行评分。看附录D.1、附录E和附录G了解更多细节。
默认情况下,我们从地面真实掩码的“中心”(掩模内部距离变换的最大值)采样点,遵循交互式分割中的标准评估协议[92]。由于SAM能够预测多个掩码,我们在默认情况下只评估模型最自信的掩码。基线都是单掩码方法。我们主要与RITM[92]进行比较,RITM是一个强大的交互式细分,与其他强大的基线相比,它在我们的基准上表现最好[67,18]。
在这里插入图片描述
数据集。我们使用了一套新编译的23个数据集,具有不同的图像分布。图8列出了数据集,并显示了每个数据集的样本(参见附录表7了解更多细节)。我们使用所有23个数据集进行mIoU评估。对于人体研究,我们使用图9b中列出的子集(由于此类研究的资源需求)。这个子集包括两个数据集,其中SAM根据自动度量优于RITM和低于RITM。

结果。首先,我们看一下使用mIoU对全套23个数据集的自动评估。我们将图9a中每个数据集的结果与RITM进行比较。SAM在23个数据集中的16个数据集上产生了更高的结果,高达47 IoU。我们还提供了一个“oracle”结果,其中通过将SAM的3个掩码与基础真相进行比较来选择最相关的掩码,而不是选择最自信的掩码。这揭示了歧义对自动评估的影响。特别是,使用oracle执行歧义解析,SAM在所有数据集上的性能都优于RITM。

人体研究结果如图9b所示。误差条为平均掩码评级的95%置信区间(所有差异均显著;详情见附录E)。我们观察到,注释者始终认为SAM的掩码质量大大高于最强基线RITM。具有单个输出掩码的精简版、“无歧义”版SAM的评级始终较低,但仍高于RITM。SAM的平均评分在7到9之间,这与定性评分准则相对应:“高分(7-9):对象是可识别的,错误小而罕见(例如,遗漏了一个小的,严重模糊的断开的组件,……)。”这些结果表明,SAM已经学会了从单个点分割有效掩码。请注意,对于像DRAM和IBD这样的数据集,SAM在自动指标上表现较差,但它在人类研究中始终获得较高的评级。

DRAM数据集:
IBD数据集:

图9c显示了额外的基线,SimpleClick[67]和FocalClick[18],它们获得的单点性能低于RITM和SAM。当点数从1增加到9时,我们观察到方法之间的差距减小。当任务变得更容易时,这是预期的;此外,SAM没有针对非常高的借据制度进行优化。最后,在图9d中,我们将默认中心点采样替换为随机点采样。我们观察到,SAM与基线之间的差距越来越大,在任何一种抽样方法下,SAM都能够获得可比的结果。

8.2 zero-shot 边缘检测在这里插入图片描述

在这里插入图片描述
方法。我们使用BSDS500对经典的低级边缘检测任务进行了SAM评估[72,3]。我们使用了一个简化版的自动掩码生成管道。具体来说,我们用16×16前景点的规则网格提示SAM,产生768个预测掩码(每个点3个)。网管移除冗余的掩码。然后,使用无阈值掩码概率图的Sobel滤波和标准轻量级后处理(包括边缘NMS)计算边缘图。详情请参阅附录D.2)。

结果。我们在图10中可视化了代表性的边缘图(更多内容见图15)。定性地说,我们观察到即使SAM没有被训练用于边缘检测,它也能产生合理的边缘图。与基础真值相比,SAM预测了更多的边缘,包括BSDS500中没有注释的敏感边缘。这种偏差在表3中得到了定量的反映:50%精度下的召回率(R50)很高,但以精度为代价。SAM自然落后于学习BSDS500偏差的最先进的方法,即哪些边要抑制。尽管如此,与HED[108]等开创性的深度学习方法(也在BSDS500上进行了训练)相比,SAM表现良好,并且明显优于之前的零射击转移方法,尽管这是公认的过时方法。

8.3 zero-shot 目标检测

方法。接下来,我们在目标提案生成的中级任务上评估SAM[2,102]。这项任务在目标检测研究中发挥了重要作用,作为先驱系统的中间步骤(例如[102,41,84])。为了生成对象建议,我们运行一个稍微修改过的自动掩码生成管道,并将掩码作为建议输出(参见§D)。详情请参阅附录D.3)。

我们在LVIS v1上计算标准平均召回率(AR)指标[44]。我们专注于LVIS,因为它的大量类别提出了一个具有挑战性的测试。我们比较了作为ViTDet[62]检测器实现的强基线(具有级联掩膜R-CNN [48,11] vith)。我们注意到,这个“基线”对应于“伪装成提议生成器的检测器”(DMP)方法[16],该方法已被展示给游戏AR,使其成为一个真正苛刻的比较。

结果。在表4中,我们不出所料地看到,使用来自ViTDet-H的检测作为对象建议(即游戏AR的DMP方法[16])总体上表现最好。然而,SAM在几个指标上做得非常好。值得注意的是,它在大中型物体以及稀有和普通物体上的表现优于ViTDet-H。事实上,SAM只在小对象和频繁对象上的表现不如ViTDet-H,因为它是在LVIS上训练的,所以与SAM不同,ViTDet-H可以很容易地学习到LVIS特定的注释偏差。我们还比较了一个模糊感知版本的SAM(“挑出”),它在所有AR指标上的表现都比SAM差得多。

8.4 zero-shot 实例分割

方法。从更高级的角度来看,我们使用SAM作为实例分割器的分割模块。实现很简单:我们运行一个对象检测器(前面使用的ViTDet)并用它的输出框提示SAM。这说明了在更大的系统中组合SAM。

结果。我们比较了SAM和ViTDet在COCO和LVIS上预测的掩模,见表5。通过观察掩模AP指标,我们观察到两个数据集上的差距,其中SAM相当接近,尽管肯定落后于ViTDet。通过可视化输出,我们观察到SAM掩模通常在质量上优于ViTDet,具有更清晰的边界(参见§D)。4、图16)。为了调查这一观察结果,我们进行了一项额外的人体研究,要求注释者按照之前使用的1到10的质量等级对ViTDet口罩和SAM掩码进行评分。在图11中,我们观察到SAM在人体研究中始终优于ViTDet。
在这里插入图片描述
在这里插入图片描述
我们假设在COCO上,掩码AP差距较大,ground-truth质量相对较低(如人类研究所证实的),ViTDet学习了COCO掩模的特定偏差。SAM作为一种零射击方法,无法利用这些(通常不受欢迎的)偏差。

LVIS数据集具有更高质量的ground truth,但仍然存在特定的特性(例如,掩模不包含孔,它们是简单的多边形构造)和模态掩模与模态掩模的偏差。同样,SAM没有经过训练来学习这些偏见,而ViTDet可以利用它们。

8.5 Zero-Shot Text-to-Mask

方法。最后,我们考虑一个更高级的任务:从自由格式文本中分割对象。这个实验是SAM处理文本提示能力的概念验证。虽然我们在之前的所有实验中都使用了完全相同的SAM,但对于这个SAM的训练过程进行了修改,使其能够感知文本,但不需要新的文本注释。具体来说,对于每个人工采集的面积大于1002的掩模,我们提取CLIP图像嵌入。然后,在训练期间,我们用提取的CLIP图像嵌入提示SAM作为其第一次交互。这里的关键观察是,因为CLIP的图像嵌入被训练成与其文本嵌入对齐,所以我们可以使用图像嵌入进行训练,但使用文本嵌入进行推理。也就是说,在推理时,我们通过CLIP的文本编码器运行文本,然后将结果文本嵌入作为SAM的提示(参见§D)。详情请参阅5)。

结果。我们在图12中显示了定性结果。SAM可以根据简单的文本提示(如“车轮”)和短语(如“海狸牙格栅”)来分割对象。当SAM不能仅从文本提示中选择正确的对象时,一个额外的点通常会修复预测,类似于[31]。

8.6 消融实验

我们使用单中心点提示协议在我们的23个数据集套件上执行了几次消融。回想一下,单个点可能是模糊的,并且这种模糊可能不会在每个点只包含单个掩模的基础真值中表示。由于SAM在零偏移传输设置中运行,因此SAM的顶级掩码与数据注释指南产生的掩码之间可能存在系统性偏差。因此,我们还报告了相对于ground-truth(“神谕”)的最佳掩模。
在这里插入图片描述
图13(左)绘制了在数据引擎阶段的累积数据上训练时SAM的性能。我们观察到,每一阶段mIoU都会增加。在所有三个阶段的训练中,自动掩码的数量远远超过手动和半自动掩码。为了解决这个问题,我们发现在训练期间对手动和半自动掩码进行10倍的过采样可以获得最佳结果。这种设置使培训变得复杂。因此,我们测试了第四个设置,只使用自动生成的掩码。使用这些数据,SAM的性能仅略低于使用所有数据(约0.5 mIoU)。因此,默认情况下,我们只使用自动生成的掩码来简化训练设置。

在图13(中)中,我们看到了数据量的影响。完整的SA-1B包含11M图像,我们均匀地将其子采样到1M和0.1M。在0.1M的图像中,我们观察到在所有设置下mIoU都有很大的下降。然而,使用1M张图像,约占完整数据集的10%,我们观察到的结果与使用完整数据集相当。这个数据体系仍然包含大约1亿个掩码,对于许多用例来说可能是一个实用的设置。

最后,图13(右)显示了使用ViT-B、ViT-L和ViT-H图像编码器的结果。viti - h比viti - b有很大的改善,但比viti - l只有边际增益。进一步的图像编码器缩放在这个时候似乎没有成果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值