目录
摘要
本文介绍了图像任意分割Segment Anything(SA)项目:一种用于图像分割的新任务、模型和数据集。本文数据收集循环使用高效模型建立了迄今为止最大的图像分割数据集,在1100万张获得许可且尊重隐私的图像上有超过10亿个掩码。模型本身被设计、训练为可提示的,因此它可以将零样本转换为新的图像分布和任务。通过评估了其在许多任务上的能力,发现其零样本性能令人印象深刻,完全可与之前的完全监督结果相竞争,甚至优于这些结果。深入研究在https://segment-anything.com。
图1:本文通过引入三个相互关联的组件来构建分割的基础模型:提示分割任务、支持数据注释并通过提示工程将零样本迁移到一系列下游任务的分割模型(SAM),以及用于收集SA-1B的数据引擎,SA-1B是个拥有超过10亿个掩码的数据集。
引言
SAM包含三个重要部分:任务、模型和数据。为了开发它们,需要解决了以下关于图像分割的问题:
-
什么任务可以实现零样本泛化?
-
相应的模型架构是什么?
-
什么数据可以用于这个任务和模型?
首先,作者定义了一个可提示的分割任务,该任务足够通用,可以提供强大的预训练目标,并泛化到下游应用。其次,此任务需要一个支持灵活提示的模型,并且可以在提示时实时输出分割掩码,以便进行交互使用。然后,为了训练模型,需要一个多样化的、大规模的数据源。为解决没有用于分割的网络规模的数据源问题,作者构建了一个“数据引擎”,即在使用模型来帮助数据收集和使用新收集的数据来改进模型之间进行迭代。
任务
在NLP和最近的计算机视觉中,基础模型是一个很有前途的发展,它可以对新数据集和任务执行零样本和小样本学习,通常使用“提示”技术。受这项工作的启发,作者提出了可提示的分割任务,其中的目标是在给定任何分割提示的情况下返回有效的分割掩码。提示只是指定在图像中分割什么,例如,提示可以包括标识对象的空间或文本信息。有效输出掩码的要求意味着,即使提示不明确,并且可能涉及多个对象,输出也应该是这些对象中至少一个的合理掩码。使用可提示的分割任务作为预训练目标,并通过提示工程解决一般的下游分割任务。
模型
可提示的分割任务和实际目标,对模型体系结构施加了约束。特别是,该模型必须支持灵活的提示,需要实时计算掩码以允许交互式使用,并且必须具有模糊性。作者称发现一个简单的设计就满足了所有三个约束:一个强大的图像编码器计算图像嵌入,一个提示编码器嵌入提示,然后将这两个信息源组合在一个预测分割掩码的轻量级掩码解码器中。作者将此模型称为图像任意分割模型SAM。通过将SAM分离为图像编码器和快速提示编码器/掩码解码器,可以在不同提示下重用相同的图像嵌入。在给定图像嵌入的情况下,提示编码器和掩码解码器在web浏览器中从提示预测掩码,时间为~50ms。模型专注于点、框和掩码提示,并通过形式自由的文本提示显示初始结果。为了让SAM具备模糊性,作者将其设计为预测单个提示的多个掩码,使SAM能够自然地处理模糊性。
数据引擎
数据引擎有三个阶段:**辅助手动、半自动和全自动。**在第一阶段,SAM帮助注释器注释掩码,类似于经典的交互式分割设置;在第二阶段,SAM可以通过提示可能的对象位置来自动生成对象子集的掩码,注释器专注于注释其余对象,有助于增加掩码的多样性;在第三阶段,使用前景点的规则网格提示SAM,平均每张图像产生约100个高质量掩码。
数据集
最终数据集SA-1B包括来自1100万张获得许可和隐私保护图像的超过10亿个掩码(见图2)。**SA-1B是使用数据引擎的最后阶段完全自动收集的,**其掩码比任何现有的分割数据集都多400倍,具有高质量和多样性。除了将其用于训练SAM以使其稳健和通用之外,SA-1B本身也将成为后续研究的宝贵资源。
图2:新引入的数据集SA-1B中具有叠加掩码的示例图像。SA-1B包含1100万个多样、高分辨率、获得许可和隐私保护图像以及11亿高质量分割掩码。这些掩码由SAM完全自动注释,通过人类评级和大量实验验证具有高质量和多样性。根据每张图像的掩码数量对图像进行分组以可视化(平均每张图像有~100个掩码)。
2.图像任意分割任务
作者从NLP中获得灵感,NLP中的预测下一个嵌入向量(Token)任务是预训练的基础模型,并通过提示工程解决不同的下游任务。为了建立图像分割的基础模型,目标是定义一个具有类似功能的任务。
任务
首先将提示的概念从NLP转换为分割,其中提示可以是一组前景/背景点、粗略框或掩码、自由格式文本,或者通常是指示在图像中分割什么的任何信息。那么,可提示的分割任务是在给定任何提示的情况下返回有效的分割掩码。“有效”掩码的要求只是意味着,即使提示不明确,并且可能涉及多个对象,输出也应该是其中至少一个对象的合理掩码。这一要求类似于期望语言模型对不明确的提示输出一致的响应。之所以选择此任务是因为它会产生一种自然的预训练算法和一种通过提示将零样本转移到下游分割任务的通用方法。
预训练
可提示分割任务提出了一种自然的预训练算法,该算法模拟每个训练样本的提示序列,并将模型的掩码预测与真值进行比较。作者将这种方法从交互式分割中进行了抽离,交互式分割的目的是在足够的用户输入后最终预测有效的掩码,本方法是即使提示不明确也能始终预测任何提示的有效掩码。这确保了预先训练的模型在涉及歧义的用例中是有效的,包括数据引擎§4所要求的自动注释。注意到,在这项任务中表现出色是具有挑战性的,需要专门的建模和训练损失设计,在§3中对此进行了讨论。
零样本迁移
预训练任务赋予了模型在推理时对任何提示做出适当响应的能力,因此下游任务可以通过设计适当的提示来解决。例如,如果有一个猫的边界框检测器,则可以通过向模型提供检测器的框输出作为提示来解决猫实例分割。一般来说,一系列实用的分割任务可以作为提示。除了自动数据集标记外,作者在实验中还探索了五个不同的示例任务。
相关任务
分割是一个广泛的领域:有交互式分割[57109]、边缘检测[3]、超级像素化[85]、对象建议生成[2]、前景分割[94]、语义分割[90]、实例分割[66]、全景分割[59]等。可提示分割任务的目标是通过提示工程生成一个功能广泛的模型,该模型可以适应许多分割任务。这种能力是任务泛化的一种形式。这与之前关于多任务分割系统的工作不同。在多任务系统中,单个模型执行一组固定的任务,例如联合语义、实例和全景分割[114,19,54],但训练和测试任务是相同的。其中一个重要区别是,为可提示分割训练的模型可以在推理时通过充当更大系统中的组件来执行新的不同任务,例如,为了执行实例分割,将可提示分割模型与现有的对象检测器相结合。
讨论
提示和组合是功能强大的工具,使单个模型能够以可扩展的方式使用,有可能完成模型设计时未知的任务。这种方法类似于其他基础模型的使用方式,例如CLIP[82]是DALL·e[83]图像生成系统的文本图像对齐组件。与专门为固定任务集训练的系统相比,以提示工程等技术为动力的可组合系统设计将实现更广泛的应用程序。从合成的角度比较可提示分割和交互式分割也很有趣:虽然交互式分割模型是在考虑人类用户的情况下设计的,但为可提示分割训练的模型也可以组成一个更大的算法系统,正如将要演示的那样。
图3:每列显示SAM从单个不明确的点提示(绿色圆圈)生成的3个有效掩码。
3.图像任意分割模型
图像任意分割模型SAM有三个组件,如图4所示:图像编码器、灵活提示编码器和快速掩码解码器。建立在Transformer视觉模型的基础上[14,33,20,62],对(摊销的)实时性能进行了特定的权衡。这些组件详细信息见附录a。
图4:图像任意分割模型(SAM)概述。大规模图像编码器输出图像嵌入,然后可以通过各种输入提示有效地查询该图像嵌入,以摊销的实时速度生成对象掩码。对于与多个对象对应的模糊提示,SAM可以输出多个有效掩码和相关的置信度分数。
图像编码器
受可扩展性和强大的预训练方法的启发,使用了MAE[47]预训练的视觉Transformer(ViT)[33],至少适用于处理高分辨率输入[62]。**图像编码器每个图像运行一次,**并且可以在提示模型之前应用。
提示编码器
考虑两类提示:稀疏(点、框、文本)和密集(掩码)。通过位置编码[95]来表示点和框,这些位置编码与每个提示类型的学习嵌入相加,并使用CLIP[82]的现成文本编码器来表示自由格式文本。密集提示(即掩码)使用卷积嵌入,并与图像嵌入逐元素求和。
掩码解码器
掩码解码器有效地将图像嵌入、提示嵌入和输出嵌入映射到掩码。该设计受到[14,20]的启发,采用了对Transformer解码器的修改,然后是动态掩码预测头。作者修改的解码器块在两个方向上使用提示自注意和交叉注意(提示到图像嵌入,反之亦然)来更新所有嵌入。在运行两个块之后,对图像嵌入进行上采样,MLP将输出令牌映射到动态线性分类器,然后动态线性分类器计算每个图像位置的掩码前景概率。
解决歧义
对于一个输出,如果给出不明确的提示,模型将平均多个有效掩码。为了解决这个问题,作者在模型中以预测单个提示的多个输出掩码(见图3)。发现3个掩码输出足以解决大多数常见情况(嵌套掩码通常最多有三个深度:整体、部分和子部分)。在训练过程中,掩码只反向探测最小的损失[15,45,64]。为了对掩码进行排序,该模型预测每个掩码的置信度得分(即估计的IoU)。
效率
整体模型设计在很大程度上综合考虑了效率问题。给定预先计算的图像嵌入,提示编码器和掩码解码器在网络浏览器中运行,在CPU上运行,时间约为50ms。这种运行时性能使模型能够无缝、实时地进行交互式提示。
损失和培训
作者使用[14]中使用的焦点损失(Focal Loss)[65]和骰子损失(dice loss**)[73]**的线性组合来监督掩码预测。使用几何提示的混合来训练可提示的分割任务(文本提示见7.5)。在[92,37]之后,通过在每个掩码的11轮中随机采样提示来模拟交互式设置,使SAM能够无缝集成到数据引擎中。
4.图像任意分割数据引擎
由于互联网上的分割掩码并不丰富,作者建立了一个数据引擎来收集11亿掩码数据集SA-1B。数据引擎有三个阶段:(1)模型辅助的手动注释阶段,(2)混合了自动预测掩码和模型辅助注释的半自动阶段,以及(3)全自动阶段,全自动阶段模型可在没有注释器输入的情况下生成掩码。
辅助手动阶段。
在第一阶段,类似于经典的交互式分割,一组专业标注人员通过使用SAM提供的基于浏览器的交互式分割工具点击前景/背景对象点来标记掩码。掩码可以使用pixelprecise“画笔”和“橡皮擦”工具进行细化。模型辅助注释直接在浏览器内实时运行(使用预先计算的图像嵌入),从而实现真正的交互式体验。作者没有对标记对象施加语义约束,可以自由地标注“东西”和“事物”[1]。作者建议标注人员标记他们可以命名或描述的对象,但没有收集这些名称或描述。要求标注人员按突出程度对对象进行标注,并鼓励在一个掩码标注超过30秒后继续进行下一张图片的标注。
在这个阶段开始时,SAM是使用公共分割数据集进行训练的。在充分的数据标注之后,仅使用新标注的掩码对SAM进行再训练。随着更多掩码的收集,图像编码器从ViT-B扩展到ViT-H,其他架构细节也在发展;作者总共对模型进行了6次再训练。随着模型的改进,每个掩码的平均注释时间从34秒减少到14秒。注意到,14秒比COCO[66]的掩码标注快6.5倍,仅比使用极值点的边界框慢2倍[76,71]。随着SAM的改进,每张图像的平均掩模数量从20个增加到44个。最终在这个阶段从120k张图像中收集了430万个掩码。
半自动阶段。
在这个阶段,目标是增加掩码的多样性,以提高模型分割任何物体的能力。为了将标注集中在不太突出的对象上,首先自动检测到可信掩码。然后,向标注人员展示了预先填充了这些掩码的图像,并要求他们注释任何其他未注释的对象。为了检测可信的掩码,作者使用通用的“对象”类别在所有第一阶段掩码上训练了一个边界框检测器[84]。此阶段,在180k张图像中额外收集了590万个掩模(总共1020万个掩码)。与第一阶段一样,定期根据新收集的数据对模型进行再训练(5次)。每个掩码的平均标注时间回到了34秒(不包括自动掩码),因为这些对象更难标记。每张图像的平均掩码数量从44个增加到72个(包括自动掩码)。
全自动阶段。
在最后阶段,标注是完全自动的。这是可行的,因为模型有两个主要的增强。首先,在这个阶段开始时,收集了足够的掩码,可大大改进模型,包括前一阶段的各种掩码。其次,到了这个阶段,已经开发了模糊感知模型,它能够预测有效的掩码,即使在模糊的情况下也是如此。具体来说,用32×32的规则网格提示模型,并为每个点预测一组可能对应于有效对象的掩码。对于模糊感知模型,如果一个点位于部分或子部分上。模型将返回子部分、部分和整个对象。模型的IoU预测模块用于选择置信掩码;此外,模型只识别和选择了稳定的掩码(如果在0.5−δ和0.5+δ处对概率图进行阈值处理会导致类似的掩码,则认为掩码是稳定的)。最后,在选择了置信和稳定的掩码后,应用非最大抑制(NMS)来过滤重复。为了进一步提高较小掩码的质量,还必须处理多个重叠的放大图像裁剪。有关此阶段的更多详细信息,请参见§B。将全自动掩码生成应用于数据集中的所有1100万张图像,总共生成了11亿个高质量掩模。
5.图像任意分割数据集
数据集SA-1B由1100万多样、高分辨率、获得许可和隐私保护的图像和使用数据引擎收集的11亿高质量分割掩码组成。将SA-1B与现有数据集进行比较,并分析掩码质量和属性。
图像
作者从一家直接与摄影师合作的供应商那里获得了一组1100万张新图像的许可。这些图像具有高分辨率(平均3300×4950像素),由此产生的数据大小可能会带来可访问性和存储方面的挑战。因此,作者将图像修改为最短边设置为1500像素的下采样图像。即使在下采样之后,这些图像的分辨率也明显高于许多现有的视觉数据集(例如,COCO[66]图像的分辨率为~480×640像素)。注意到目前大多数模型的输入分辨率要比这低得多。在公布的图像中,人脸和车牌被模糊了。
掩码
数据引擎产生了11亿个掩码,其中99.1%是完全自动生成的。因此,自动掩码的质量至关重要。将其直接与专业标注进行比较,并查看各种掩码属性与提示分割数据集的比较。正如分析和§7中的实验所证实的那样,主要结论是,模型的自动掩码质量高,对训练模型有效。受这些发现的启发,SA-1B仅包括自动生成的掩码。
掩码质量
为了估计掩码质量,作者随机采样了500张图像(~5万个掩码),并要求专业标注人员提高这些图像中所有掩码的质量。标注人员使用模型和像素精确的“画笔”和“橡皮擦”编辑工具来完成这项工作。这一过程产生了一对自动预测和专业校正的掩码。计算了每对之间的IoU,发现94%的对的IoU大于90%(97%的对的IoU大于75%)。为了进行比较,先前的工作估计标注人员之间的一致性为85-91%IoU[44,60]。在§7中的实验通过人类评级证实,相对于各种数据集,掩码质量很高,并且在自动掩码上训练模型几乎与使用数据引擎产生的所有掩码一样好。
图5:图像大小归一化掩模中心分布
掩码属性
在图5中,与现有最大的分割数据集相比,绘制了SA-1B中对象中心的空间分布。所有数据集中都存在常见的摄影师偏见。与分布最相似的两个数据集LVIS v1[44]和ADE20K[117]相比,SA-1B对图像角的覆盖范围更大,而COCO[66]和Open Images V5[60]具有更显著的中心偏差。在图6(图例)中,按大小比较了这些数据集。SA-1B比第二大的Open images多了11倍的图像和400倍的掩码。平均而言,每张图像的掩码比Open Images多36倍。在这方面最接近的数据集ADE20K,每张图像的掩码仍然减少了3.5倍。图6(左)绘制了掩码的周边图像分布。接下来,看看图6(中间)中的图像相对掩码大小(掩码面积除以图像面积的平方根)。由于数据集每个图像有更多的掩码,因此它也倾向于包括更大比例的中小型相对大小掩码。最后,通过掩码凹度(1减去掩模面积除以掩模凸包的面积)分析形状复杂性。第6(右)段。由于形状复杂度与掩码大小相关,作者通过首先从装仓掩码大小执行分层采样来控制数据集的掩码大小分布。注意到,掩码的凹度分布与其他数据集的凹陷分布大致相似。
图6:数据集掩码属性。图例引用了每个数据集中图像和掩码的数量。请注意,SA-1B比现有最大的分割数据集Open images[60]多了11倍的图像和400倍的掩码。
图7:SA-1B图像的估计地理分布。世界上大多数国家的SA-1B图像超过1000张,图像最多的三个国家来自世界不同地区。
6.图像任意分割RAI分析
接下来,作者通过调查使用SA-1B和SAM时潜在的公平问题和偏见,对工作进行负责任的人工智能(RAI)分析。重点关注SA-1B的地理和收入分配,以及SAM在受保护的人的特性中的公平性。
7.零样本迁移实验
在本节中,作者将介绍SAM的零样本迁移实验,即图像任意分割模型。考虑了五个任务,其中四个任务与用于训练SAM的即时分段任务显著不同。这些实验在数据集和训练过程中没有看到的任务上评估SAM(文章使用的“零样本传输”遵循CLIP中的用法[82])。数据集可能包括新的图像分布,例如水下或以自我为中心的图像(例如图8),这些图像没有出现在SA-1B中。
图8:23个不同细分数据集的样本,用于评估SAM的零样本传输能力
实验从测试可提示分割的核心目标开始:从任何提示生成有效的掩码。实验着重强调单一前景点提示的挑战性场景,因为它比其他更具体的提示更有可能是模糊的。接下来,作者介绍了一系列实验,这些实验横跨低、中、高级别的图像理解,并大致平行于该领域的历史发展。具体而言,提示SAM(1)执行边缘检测,(2)分割所有内容,即对象建议生成,(3)分割检测到的对象,即实例分割,以及(4)作为概念验证,从自由格式文本中分割对象。这四项任务与SAM接受训练并通过提示工程实施的可提示分割任务有很大不同。实验以消融研究结束。
图9:23个数据集上的点对掩模评估。(a) SAM和最强单点分割器RITM[92]的平均IoU。由于模糊性,单个掩码可能与真值不匹配;圆圈显示SAM的3个预测中最相关的“预言”结果。(b) 注释器对掩码质量评级的每个数据集比较,从1(最差)到10(最好)。所有方法都使用真值掩码中心作为提示。(c,d)mIoU,具有不同数量的点。SAM以1分的成绩显著优于先前的交互式分割器,并且与更多的分数不相上下。1点处的低绝对mIoU是模糊性的结果。
实施除非另有规定:(1)SAM使用MAE[47]预训练的ViT-H[33]图像编码器,(2)SAM在SA-1B上训练,注意该数据集仅包括数据引擎最后阶段自动生成的掩码。有关所有其他模型和训练细节,如超参数,请参阅§A。
7.1.零样本单点有效掩模评估
任务
评估从单个前景点分割对象。由于一个点可以引用多个对象,因此此任务不适定。大多数数据集中的真值掩码并没有枚举所有可能的掩码,这可能会使自动度量变得不可靠。因此,用一项人类研究来补充标准的mIoU度量(即预测掩码和真值掩码之间的所有IoU的平均值),在该研究中,注释者对掩码质量的评分从1(无意义)到10(像素级完美匹配)。有关更多详细信息,请参见§D.1、§E和§G。
默认情况下,根据交互式分割中的标准评估协议[92],从真值掩码的“中心”(掩码内部距离变换的最大值)采样点。由于SAM能够预测多个掩码,因此默认情况下,只评估模型中最可信的掩码。基线都是单掩码方法。主要与RITM[92]进行比较,这是一种强大的交互式分割器,与其他强大的基线相比,它在基准上表现最好[67,18]。
数据集
使用了一套新编译的23个数据集,这些数据集具有不同的图像分布。图8列出了数据集,并显示了每个数据集的样本(更多细节请参见附录表7)。使用所有23个数据集进行mIoU评估。对于人类研究,使用图9b中列出的子集(由于此类研究的资源需求)。该子集包括SAM根据自动度量优于和低于RITM的两个数据集。
结果
首先,使用mIoU对23个数据集的全套数据集进行自动评估。比较了图9a中每个数据集的结果与RITM。SAM在23个数据集中的16个数据集上产生了更高的结果,高达~47 IoU。还提出了一个“预言”结果,其中通过将SAM的3个掩码与基本事实进行比较来选择最相关的掩码,而不是选择最有信心的掩码。这揭示了歧义对自动评估的影响。特别是,使用oracle来执行模糊性解决,SAM在所有数据集上都优于RITM。
人类研究的结果如图9b所示。误差条是平均掩码评级的95%置信区间(所有差异都是显著的;详见§E)。观察到,注释者一致认为SAM掩码的质量大大高于最强基线RITM。具有单个输出掩码的烧蚀的、“不知道模糊性”的SAM版本的评级一直较低,尽管仍高于RITM。SAM的平均评级在7到9之间,这与定性评级指南相对应:“高分(7-9):对象是可识别的,错误很小,也很罕见(例如,缺少一个小的、严重遮挡的断开组件,…)。”这些结果表明SAM已经学会从一个点分割有效的掩码。请注意,对于像DRAM和IBD这样的数据集,SAM在自动度量方面更差,它在人类研究中得到的评级一直更高。
图10:BSDS500上的零样本边缘预测。SAM没有经过预测边缘图的训练,也没有在训练期间访问BSDS图像或注释。
7.2.零样本边缘检测
方法
作者使用BSDS500[72,3]在边缘检测的经典低级别任务上评估SAM。使用一个简化版本的自动掩码生成管道。具体来说,用前景点的16×16规则网格提示SAM,得到768个预测掩码(每个点3个)。NMS移除冗余掩码。然后,使用无阈值掩码概率图的Sobel滤波和标准轻量级后处理(包括边缘NMS)来计算边缘图(详见§D.2)。
后果在图10中可视化了具有代表性的边缘图(更多信息请参见图15)。定性地说,即使SAM没有经过边缘检测训练,它也能产生合理的边缘图。与基本事实相比,SAM预测了更多的边缘,包括BSDS500中未注释的合理边缘。这种偏差在表3中得到了定量反映:50%精度(R50)的召回率很高,但以精度为代价。SAM自然落后于学习BSDS500偏差的最先进方法,即要抑制哪些边缘。然而,与HED[108](也接受过BSDS500培训)等开创性深度学习方法相比,SAM表现良好,并且明显优于以前的零样本转移方法,尽管该方法已经过时。
7.3.零样本目标建议
方法
接下来,在对象建议生成的中级任务[2102]上评估SAM。这项任务在物体检测研究中发挥了重要作用,是开创性系统的中间步骤(例如[102,41,84])。为了生成对象提案,运行了一个稍微修改过的自动掩码生成主线版本,并将掩码作为提案输出(有关详细信息,请参见§D.3)。
计算LVIS v1[44]的标准平均召回率(AR)度量。之所以关注LVIS,是因为它的类别众多,这是一个具有挑战性的测试。将其与作为ViTDet[62]检测器(具有级联掩码R-CNN[48,11]ViT-H)实现的强基线进行比较。这个“基线”对应于游戏AR中显示的“探测器伪装为提案生成器”(DMP)方法[16],这使其成为一个真正要求苛刻的比较。
后果在表4中,使用来自ViTDet-H的检测作为对象建议(即,游戏AR的DMP方法[16])总体上表现最好。然而,SAM在几个指标上做得非常好。值得注意的是,它在中型和大型对象以及稀有和常见对象上的性能优于ViTDet-H。事实上,**SAM只在小对象和频繁对象上表现不佳,**其中ViTDet-H可以很容易地学习LVIS特定的注释偏差,因为它是在LVIS上训练的,而不是SAM。还将其与消除歧义的SAM版本(“single-out.”)进行了比较,后者在所有AR指标上的表现都比SAM差得多。
7.4.零样本实例分割
方法
转到更高层次的愿景,使用SAM作为实例分割器的分割模块。实现很简单:运行一个对象检测器(之前使用的ViTDet),并用它的输出框提示SAM。这说明了在更大的系统中组成SAM。
结果
比较了表5中SAM和ViTDet对COCO和LVIS预测的掩码。从掩码AP度量来看,在两个数据集上都观察到了差距,其中SAM相当接近,尽管肯定落后于ViTDet。通过可视化输出,SAM掩模通常在质量上优于ViTDet的掩模,具有更清晰的边界(见§D.4和图16)。为了调查这一观察结果,进行了一项额外的人体研究,要求注释者在之前使用的1到10质量等级上对ViTDet掩码和SAM掩码进行评分。在图11中,观察到SAM在人体研究中始终优于ViTDet。
假设,在COCO上掩码AP间隙较大,基本事实质量相对较低(正如人类研究所证实的那样),ViTDet了解COCO掩码的具体偏差。SAM是一种零样本方法,无法利用这些(通常不需要的)偏差。LVIS数据集具有更高质量的基本事实,但仍然存在特定的特性(例如,掩码不包含洞,它们是构造的简单多边形)和模态掩码与阿莫尔(amodal)掩码的偏差。同样,SAM没有接受过学习这些偏见的培训,而ViTDet可以利用这些偏见。
图11:对ViTDet和SAM的人体研究得出的掩码质量评级分布,均应用于LVIS真值。还可以看出LVIS和COCO真值质量。图例显示了评级平均值和95%置信区间。尽管SAM的AP较低(表5),但其评级高于ViTDet,这表明ViTDet利用了COCO和LVIS训练数据中的偏见。
7.5.零样本文本到掩码
方法最后,考虑一个更高层次的任务:从自由形式的文本中分割对象。这个实验证明了SAM处理文本提示的能力。虽然在之前的所有实验中都使用了完全相同的SAM,但对于这一次,SAM的训练过程被修改为具有文本意识,但不需要新的文本注释。具体地,对于每个面积大于1002的手动收集的掩模,提取CLIP图像嵌入。然后,在训练过程中,用提取的CLIP图像嵌入作为SAM的第一次交互来提示SAM。这里的关键观察是,因为CLIP的图像嵌入被训练为与文本嵌入对齐,所以可以使用图像嵌入进行训练,但使用文本嵌入进行推理。也就是说,在推理时,通过CLIP的文本编码器运行文本,然后将生成的文本嵌入作为SAM的提示(详见§D.5)。
后果在图12中显示了定性结果。12。SAM可以根据简单的文本提示(如“车轮”)以及短语(如“海狸齿格栅”)对对象进行分割。当SAM无法仅从文本提示中选择正确的对象时,额外的一点通常会修复预测,类似于[31]。
图12:零样本文本到掩码。SAM可以使用简单而细致的文本提示。当SAM无法做出正确的预测时,额外的点提示会有所帮助。
7.6消融
使用单中心点提示协议对23个数据集套件进行了多次消融。回想一下,单个点可能是模糊的,而这种模糊性可能不会在基本事实中表示,因为每个点只包含一个掩码。由于SAM在零触发传输设置中操作,SAM的顶级掩码与数据注释指南产生的掩码之间可能存在系统偏差。因此,还报告了关于真值的最佳掩码(“神谕”)。
图13(左)绘制了根据数据引擎阶段的累积数据进行训练时SAM的性能。每个阶段都会增加mIoU。在所有三个阶段的训练中,自动掩码的数量远远超过手动和半自动掩码。为了解决这个问题,发现在训练过程中对手动和半自动掩码进行10倍的过采样可以获得最佳效果。这种设置使训练变得复杂。因此,测试了第四种设置,它只使用自动生成的掩码。有了这些数据,SAM的性能仅略低于使用所有数据(~0.5 mIoU)。因此,默认情况下,只使用自动生成的掩码来简化训练设置。
在图13(中间)中,作者观察了数据量的影响。完整的SA-1B包含1100万图像,将其均匀地分为100万和10万进行消融。在1000张图像中,观察到在所有设置下mIoU都有很大的下降。然而,对于100万张图像,约占完整数据集的10%,观察到的结果与使用完整数据集相当。这个数据体系仍然包括大约1亿个掩码,对于许多用例来说可能是一个实用的设置。
最后,图13(右)显示了ViT-B、ViT-L和ViT-H图像编码器的结果。与ViT-B相比,ViT-H显著提高,但与ViT-L相比仅略有提高。此时,进一步的图像编码器缩放似乎没有取得成效。
图13:数据引擎阶段、图像编码器缩放和训练数据缩放的消融研究。(左)每个数据引擎阶段都会改进23个数据集套件,并且仅使用自动数据(默认值)进行训练会产生与使用所有三个阶段的数据类似的结果。(中间)使用~10%的SA-1B和完整的SA-1B训练的SAM具有可比性。默认情况下使用所有1100万图像进行训练,但使用1M图像是一个合理的实用设置。(右)缩放SAM的图像编码器显示出有意义但饱和的增益。然而,在某些设置中,较小的图像编码器可能是优选的
8.讨论
基础模型
自机器学习的早期以来,预先训练的模型已经适应了下游任务[99]。近年来,随着对规模的日益重视,这种范式变得越来越重要,这类模型最近被(重新)称为“基础模型”:即“在大规模的广泛数据上训练并适应广泛下游任务的模型”[8]。模型与这一定义有很好的相关性,尽管注意到图像分割的基础模型本质上是有限的,因为它代表了计算机视觉的一个重要但部分的子集。还将模型的一个方面与[8]进行了对比,后者强调了自我监督学习在基础模型中的作用。虽然模型是用自监督技术(MAE[47])初始化的,但其绝大多数能力来自大规模的监督训练。在数据引擎可以扩展可用注释的情况下,监督训练提供了一个有效的解决方案。
成分
经过预训练的模型可以提供新的能力,甚至超出训练时的想象。一个突出的例子是CLIP[82]如何在更大的系统中用作组件,如DALL·E[83]。目标是通过SAM使这种合成变得简单。目标通过要求SAM预测各种分割提示的有效掩码来实现这一点。其效果是在SAM和其他组件之间创建一个可靠的接口。例如,MCC[106]可以很容易地使用SAM来分割感兴趣的对象,并实现对看不见的对象的强泛化,以便从单个RGB-D图像进行3D重建。在另一个例子中,SAM可以通过可穿戴设备检测到的注视点来提示,从而启用新的应用程序。由于SAM能够推广到以自我为中心的图像等新领域,因此此类系统无需额外培训即可工作。
局限性
虽然SAM总体表现良好,但并不完美。它可能会错过精细的结构,有时会产生小的断开的组件的幻觉,并且不会像“放大”的计算密集型方法那样清晰地产生边界,例如[18]。通常,当提供许多点时,预计专用的交互式分割方法会优于SAM,例如[67]。与这些方法不同,SAM是为通用性和使用广度而设计的,而不是高IoU交互式分割。此外,SAM可以实时处理提示,但当使用重型图像编码器时,SAM的总体性能不是实时的。对文本屏蔽任务的尝试是探索性的,并不完全稳健,尽管可以通过更多的努力来改进。虽然SAM可以执行许多任务,但尚不清楚如何设计实现语义和全景分割的简单提示。最后,还有一些特定领域的工具,如[7],预计它们在各自的领域中会优于SAM。
结论
Segment Anything项目试图将图像分割提升到基础模型时代。主要贡献是一项新任务(可提示分割)、模型(SAM)和数据集(SA-1B),使这一飞跃成为可能。SAM是否达到了基础模型的地位,还有待于它在社区中的使用方式,但无论对这项工作的前景如何,超过1B个掩码的发布和可推广的细分模型都将有助于为未来铺平道路。