0%

SAM1(Segment Anything Model 1):计算机视觉基础模型的新范式

引言

在自然语言处理(NLP)领域,基于网络规模数据预训练的大型语言模型(LLM)正以其强大的零样本和少样本泛化能力掀起一场技术革命。这些被称为“基础模型”的技术,能够处理训练阶段未曾见过的新任务和数据分布。然而,将这一成功范式迁移至计算机视觉领域却面临着独特的挑战,尤其是许多视觉任务缺乏类似NLP中海量的、现成的训练数据。在此背景下,为核心视觉任务构建基础模型已成为推动领域发展的战略性需求。

Segment Anything (SA)项目应运而生,其核心目标正是为图像分割这一基础视觉任务构建一个强大的基础模型。该项目的实现依赖于三个盘根错节、相互依赖的核心支柱,它们共同构成了一个无法分割的完整解决方案:

  • 一项新任务:项目团队定义了“可提示分割”(promptable segmentation)任务,它通过引入灵活的提示机制,使模型能够实现对未知图像分布和任务的零样本泛化。
  • 一个新模型:为专门解决上述任务,项目团队设计了Segment Anything Model (SAM)。该模型架构经过精心优化,以支持灵活提示、实时交互和歧义感知。
  • 一个新数据集:为了训练SAM,项目团队构建了迄今为止全球规模最大的分割数据集SA-1B。该数据集包含超过1100万张图像和11亿个分割掩码,其构建过程本身就是一个模型与数据协同进化的创新实践。

下文将对这三个核心组件——任务、模型和数据——进行系统性的详细阐述,揭示Segment Anything项目如何为计算机视觉开创一个全新的基础模型范式。

“可提示”分割任务:定义新范式

为了构建一个具备广泛泛化能力的分割模型,首先需要定义一个合适的预训练任务。受到NLP领域“提示工程”(prompt engineering)的启发,SA项目提出了一种全新的“可提示分割”(promptable segmentation)任务。该任务的设计旨在为模型提供一个强大的预训练目标,并赋予其一种通用的、可通过提示进行引导的下游任务迁移能力,从而摆脱传统“为特定任务训练特定模型”的局限。

“可提示分割”任务的核心定义是:给定任何形式的分割提示,模型需返回一个有效的分割掩码。这里的“提示”可以是任何能够指示图像中待分割区域的信息,主要分为两类:

  • 空间信息提示:例如前景/背景点集、粗略的边界框(bounding box)或手绘的掩码草图。
  • 文本信息提示:例如自由格式的文本描述。

该任务定义中,“有效掩码”(valid mask)的要求至关重要。它意味着即使提示本身存在歧义,模型也应输出一个合理的分割结果。例如,当用户在一个穿着衬衫的人身上点击一个点时,这个点既可以指代“衬衫”,也可以指代“这个人”。在这种情况下,一个合格的模型不应因困惑而失败,而是应该输出一个合理的掩码,无论是衬衫还是整个人。这种设计确保了模型的鲁棒性和实用性,使其在面对不精确或模糊的用户输入时依然能够表现出色。

为了更好地理解其独特性,我们可以将其与其它相关分割任务进行对比:

特性 可提示分割(Promptable Segmentation) 传统多任务分割(Multi-Task Segmentation) 交互式分割(Interactive Segmentation)
核心目标 通过提示工程实现对未知任务和数据的零样本泛化 在一组固定的预定义任务上同时表现良好 在用户持续输入下最终得到一个精确掩码
任务泛化 模型可作为组件,解决训练时未见过的新任务 训练任务与测试任务是固定的 主要面向人机交互,而非算法组合
设计哲学 组合性与可扩展性 单一模型的联合训练 以人为中心的迭代优化

Segment Anything模型(SAM):架构与原理

“可提示分割”任务对模型架构提出了明确的约束。一个理想的模型必须能够:1) 支持灵活多样的提示输入;2) 具备摊销后的实时(amortized real-time)性能以支持交互式应用;3) 能够理解并处理提示的歧义性。Segment Anything Model (SAM) 的设计正是为了精准地满足这些核心要求,其架构巧妙地平衡了性能、速度与智能。

SAM由三个核心组件构成:

图像编码器 (Image Encoder)

图像编码器的职责是对输入图像进行一次性计算,生成一个高质量的图像嵌入(image embedding)。SAM选用了一个经过MAE(Masked Autoencoders)方法预训练的视觉Transformer(ViT)作为其骨干网络。这一选择主要基于其强大的性能和可扩展性,能够从高分辨率图像中提取丰富的视觉特征。由于这一步骤计算量较大,其战略价值在于“一次计算,多次复用”。图像嵌入生成后,其高昂的计算成本被摊销到后续的多次、快速的提示交互中。

提示编码器 (Prompt Encoder)

提示编码器负责将用户提供的各种提示转换为模型可以理解的嵌入向量。它能够高效处理两类提示:

  • 稀疏提示 (Sparse Prompts):对于点、框和文本等稀疏提示,编码器使用位置编码结合学习到的嵌入来表示其空间信息和类型。例如,点坐标被编码并与一个代表“前景点”或“背景点”的嵌入向量相加。文本提示则利用现成的CLIP文本编码器进行嵌入。
  • 密集提示 (Dense Prompts):对于掩码这类密集提示,编码器通过卷积网络将其嵌入,并与图像嵌入进行逐元素相加,从而将掩码信息融入到特征图中。

轻量级掩码解码器 (Mask Decoder)

掩码解码器是SAM实现实时性能的关键。它是一个非常高效的模块,能够快速地将图像嵌入和提示嵌入映射为最终的分割掩码。该解码器借鉴了Transformer的解码器结构,通过自注意力和交叉注意力机制,在图像特征和提示信息之间进行高效交互。其卓越的效率使其能够在普通CPU驱动的Web浏览器中,于约50毫秒内从给定的提示生成掩码,完全满足了实时交互的需求。

SAM模型架构与数据流

整个工作流程体现了“摊销实时”的设计哲学:首先,重量级的图像编码器处理输入图像,生成一个可复用的特征嵌入。这一步是离线或一次性完成的。随后,当用户提供一个或多个提示(如点击一个点)时,轻量级的提示编码器将其实时转换为嵌入向量。最后,同样轻量级的掩码解码器将图像嵌入和提示嵌入结合,实时预测出分割掩码。这种将重量级计算与轻量级计算分离的设计,是SAM实现高性能和实时响应的核心工程洞察。

歧义感知机制

为满足“可提示分割”任务中关于处理模糊提示并返回“有效掩码”的核心要求,SAM集成了一种专门的歧义感知机制。当接收到一个可能对应多个有效对象的模糊提示时(例如,单一前景点),模型被设计为同时预测三个不同层次的掩码。这三个掩码通常对应着一个对象的不同层级(例如,整体、部分、子部分)。在训练过程中,模型会计算这三个预测掩码与真实掩码之间的损失,但仅反向传播其中损失最小的一个。这种策略鼓励模型在面对不确定性时,探索并输出多个可能合理的解释,而不是被迫生成一个妥协的、平均化的无效结果。

总而言之,SAM的架构设计在效率、灵活性和智能性之间取得了精妙的平衡,使其成为一个能够胜任“可提示分割”任务的强大工具。而训练这样一个模型,则离不开海量高质量数据的支持。

SA-1B数据集:构建与特性

基础模型的成功离不开海量、高质量的训练数据。然而,在图像分割领域,并不存在现成的网络规模数据集。为了解决这一瓶颈,SA项目团队从零开始,构建了迄今为止规模最大的分割数据集——SA-1B。它包含1100万张图像和11亿个分割掩码,其规模和质量都达到了前所未有的高度。

数据引擎:模型与数据的协同进化

SA-1B的构建并非通过传统的人工标注,而是依赖于一个创新的“数据引擎”——一个模型与数据标注相互促进、协同进化的闭环系统。这个过程大致分为三个阶段:

  1. 手动辅助标注阶段:初期,专业标注员在模型的辅助下进行交互式标注,快速产出第一批数据来训练一个基础模型。
  2. 半自动阶段:随着模型能力的提升,模型可以自动识别并分割出置信度高的对象。标注员的任务转变为在模型预填充的掩码基础上,补充标注那些更具挑战性、模型未能识别的物体,从而提升数据的多样性和模型的泛化能力。
  3. 全自动生成阶段:最终,经过前两个阶段的迭代优化,SAM模型变得足够强大,能够全自动地为图像生成高质量的掩码。SA-1B数据集中所有11亿个掩码,最终都是由SAM模型全自动生成的,这一过程无需任何人工干预。这不仅证明了模型的卓越能力,也使得数据集的规模能够达到前所未有的量级。

值得注意的是,在训练最终发布的SAM模型时,研究团队发现仅使用全自动生成的掩码进行训练,其性能与使用全部(手动、半自动、全自动)数据训练相比仅有微不足道的下降(约0.5 mIoU)。因此,为了简化训练流程,最终模型仅在自动生成的11亿个掩码上进行训练,这进一步凸显了数据引擎的成功。

数据集规模、特性与多样性

SA-1B在多个关键指标上远超现有的主流分割数据集。

特性 SA-1B COCO Open Images
图像数量 1100 万 ~12 万 ~190 万
掩码总数 11 亿 - -
图像分辨率 高(发布版短边 1500 px) 中(~480 × 640) -
隐私保护 人脸和车牌已模糊处理 - -
授权方式 许可授权,尊重隐私 - -

在多样性方面,研究团队对SA-1B的地理和收入水平分布进行了分析。如Table 1和Figure 7所示,与COCO和Open Images相比,SA-1B在欧洲、亚洲及大洋洲以及中等收入国家的图像占比较高,显示出更广泛的全球代表性。然而,研究也承认,该数据集在非洲及低收入国家的代表性依然不足,这反映了所有现有大规模数据集中普遍存在的数据偏差问题。尽管如此,SA-1B在所有地区(包括非洲)都拥有至少2800万个掩码,这在数量级上仍然是巨大的进步。

负责任的人工智能(RAI)分析

为了评估模型的公平性,研究团队对SAM在不同人群亚组中的分割性能进行了负责任的人工智能(RAI)分析。

  • 对人的分割:根据Table 2的数据,SAM在分割不同感知性别、年龄组和肤色的人时,表现出良好的一致性。各组别之间的性能差异很小,大部分置信区间相互重叠,表明模型在这些受保护属性上没有表现出明显的偏见。
  • 对衣物的分割:分析也发现了一个潜在的偏见。在分割“衣物”这一特定场景下,当使用单个点作为提示时,模型在分割男性着装时的性能显著高于女性着装。这一发现提醒了潜在用户,在特定应用场景下需要注意并评估模型可能存在的偏见。

SA-1B数据集不仅在规模上实现了历史性的突破,其创新的构建方法、详尽的多样性分析和负责任的公平性评估,也为未来计算机视觉领域的数据集研究树立了新的标杆。

零样本迁移能力评估

一个模型是否能被称为“基础模型”,其核心衡量标准在于它是否具备强大的“零样本迁移”能力,即在未经任何微调的情况下,直接应用于新任务和新数据集的能力。本章通过一系列严格的实验,全面评估了SAM在这方面的表现。

交互式分割性能

研究团队在23个不同的公开分割数据集上对SAM进行了零样本评估。这些数据集涵盖了各种领域,如驾驶场景、显微图像、水下垃圾、艺术绘画等,以测试模型的泛化能力。

  • 与基线对比:实验结果显示,SAM在23个数据集中有16个的性能表现优于当前强大的交互式分割基线模型RITM。
  • 歧义性的影响:为了探究歧义处理对评估的影响,研究人员进行了一项“神谕”(oracle)实验。在该实验中,系统会从SAM输出的三个掩码中,选择与真实掩码最匹配的一个进行评估。结果显示,在这种理想情况下,SAM在所有23个数据集上的性能均超越了RITM。这一结果意义重大,它揭示了SAM的歧义感知能力是一种强大特性,但其优势无法被仅考虑单个“最佳”预测的标准评估指标完全捕获。
  • 性能权衡:尽管SAM在单点或少数几点提示下表现出色,但当交互点数增加时(例如,增加到9个点),其与专门的交互式分割方法的性能差距会缩小。这符合SAM的设计目标,即追求广泛的泛化能力而非在需要大量提示点的高精度交互场景下达到极致性能。

下游任务泛化应用

SAM不仅在通用的交互式分割任务上表现出色,其能力还可以通过“提示工程”被零样本迁移到多种下游任务中,展现了其作为可组合组件的巨大潜力。

  • 边缘检测:在经典的BSDS500边缘检测基准上,尽管SAM从未针对此任务进行训练,但它生成的边缘图在质量上是合理的。与早期专门为此任务训练的深度学习方法(如HED)相比,SAM的性能具有竞争力,远超传统的非学习方法。
  • 对象提议生成:在具有大量类别(1203个)的LVIS v1数据集上,SAM被用来生成对象提议。评估结果表明,SAM在生成中型、大型、稀有和常见物体的提议方面表现出色,其性能甚至优于在LVIS上经过完全监督训练的强大基线模型ViTDet-H。这证明了SAM强大的泛化能力和识别未知物体的潜力。
  • 文本到掩码分割:SAM展示了处理文本提示的初步能力。它既能理解简单的文本提示(如“一个轮子”),也能处理更细致的短语(如“海狸牙齿格栅”)。更有趣的是,当仅使用文本提示失败时,额外增加一个点提示往往能够修正预测结果,这充分展示了其融合多模态提示的巨大潜力。

这些实验结果有力地证明了SAM作为基础模型的价值。其强大的零样本迁移能力验证了Segment Anything项目的设计理念,即通过定义一个通用的“可提示”任务,并辅以大规模数据训练,可以构建出一个具备广泛适用性的强大视觉模型。

讨论与局限性

本章将从更宏观的视角,探讨Segment Anything项目对计算机视觉基础模型的贡献,并客观地分析当前模型存在的局限性,为未来的研究指明方向。

对基础模型的贡献与展望

Segment Anything项目成功地将图像分割这一基础视觉任务带入了“基础模型”时代。其核心贡献不仅在于模型本身的强大性能,更在于其设计理念所带来的深远影响。

  • 组合性 (Compositionality):这是SAM最核心的价值之一。与CLIP模型可以作为DALL·E等大型系统的组件类似,SAM也被设计成一个可靠、通用的接口。通过预测各种提示下的有效掩码,SAM可以被轻松地集成到更庞大的系统中,从而催生出在模型设计之初未曾预想到的新应用。例如,将SAM与一个3D重建模型结合,或与可穿戴设备检测到的注视点结合,都能在无需额外训练的情况下实现强大的新功能。

模型局限性分析

尽管SAM展现了卓越的能力,但它并非完美无缺。研究团队诚实地指出了当前模型存在的局限性,这些局限性为未来的改进提供了明确的方向:

  • 细节与精度:模型有时可能会忽略物体的精细结构,或者在分割结果中产生微小的、不连贯的“幻觉”组件。
  • 交互性能:在需要大量提示点来精确勾勒复杂对象的场景下,专门为高精度交互式分割设计的模型性能可能会优于SAM。
  • 实时性限制:尽管掩码解码器非常快,但当使用重量级的图像编码器时,从输入原始图像到输出掩码的整个流程并非完全实时。
  • 文本提示能力:当前的文本到掩码功能尚处于探索阶段,不够稳健,有待进一步完善。
  • 高级语义任务:如何通过简单的提示来实现更复杂的语义分割和全景分割任务,目前尚不明确。

尽管存在这些局限性,但SAM所展示的强大泛化能力和其背后的设计理念,无疑为计算机视觉领域提供了宝贵的资产和深刻的启示,推动着该领域向着更通用、更智能的方向发展。

结论

Segment Anything (SA)项目通过系统性地提出一项新任务(可提示分割)、一个新模型(SAM)和一个新数据集(SA-1B),成功地为图像分割领域构建了一个功能强大的基础模型。这一里程碑式的工作将图像分割带入了基础模型的新时代。

SAM的核心能力在于其卓越的零样本泛化性能,使其能够直接应用于训练阶段未曾见过的新数据和新任务。更重要的是,其“可提示”的设计理念赋予了它作为可组合组件的巨大潜力,能够被灵活地集成到更复杂的系统中,从而催生出无限的应用可能性。

最后,SA项目向研究社区公开发布了其模型和包含超过11亿个掩码的SA-1B数据集。这一举措无疑将极大地推动计算机视觉领域的研究,为探索下一代视觉模型铺平了道路。