核心要点

  • 三件套:重型图像编码器(ViT)、轻量提示编码器、轻量 mask 解码器,编码器只算一次可复用。

  • 提示形式:点、框、掩码(甚至文本),输出对应区域的分割掩码,支持交互式细化。

  • 用 SA-1B 海量掩码数据(约 11 亿掩码)训练,获得跨域零样本泛化能力。

  • 设计目标是「可提示分割」基础模型,下游靠提示而非重新训练即可适配新任务。

标准回答

任务定位

SAM(Segment Anything Model)是一个「可提示分割」基础模型:给定一张图和一个提示(点/框/掩码),输出该提示指向区域的分割掩码,无需针对新类别重新训练。

架构三部分

  • 图像编码器:重型 ViT,将整图编码为特征,对每张图只计算一次,可被多次提示复用。
  • 提示编码器:把点、框、掩码等稀疏/稠密提示编码为嵌入
  • mask 解码器:轻量结构,融合图像特征与提示嵌入,快速输出掩码,并预测多个候选以应对歧义。

训练与泛化

在 SA-1B 数据集(约 1100 万图、11 亿掩码)上训练,规模化掩码标注带来强零样本泛化:对未见过的物体和领域也能分割。下游只需给提示即可,是「分割界的基础模型」范式。

常见误区

⚠️ 常见踩坑

SAM 做的是类别无关的「分割一切」,本身不输出语义标签;要得到「这是猫」需配合检测/分类模型给出框或文本提示。

追问

追问 1SAM 的图像编码器为什么设计得比解码器重很多?

因为图像编码只需对每张图算一次且可缓存复用,把算力集中在这里能得到高质量特征;而交互式分割要求对每次提示快速响应,所以 mask 解码器做得很轻、毫秒级出结果。

追问 2mask 解码器为什么要输出多个候选掩码?

单个点提示天然有歧义(点在衣服上,可能指衣服、人或整体)。输出多个掩码并各带置信度,可覆盖不同粒度的合理解释,由用户或下游按 IoU 预测分数挑选,缓解歧义问题。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。