Meta SAM 3:图像分割的下一跳
Meta 在今年初发布了 Segment Anything Model 3(SAM 3),三月底又更新了 SAM 3.1。作为 SAM 系列的长期关注者,趁这个机会整理一下这次更新带来了什么。
SAM 是什么
Segment Anything 系列是 Meta 做的图像/视频分割基础模型。「分割」的意思是给定一张图,把里面的物体精确地圈出来——不只是画个框,而是像素级别地勾出轮廓。
SAM 1(2023)解决的核心问题是:你点一下图里的某个位置,它能自动把对应的物体给你分割出来。SAM 2(2024)把这个能力扩展到了视频,可以跨帧跟踪目标。
SAM 3 在此基础上迈出了关键一步:加入了开放词汇的文本和样例提示。
SAM 3 做到了什么
从点到文字
之前你要告诉 SAM 「分割这里」,需要在图上点一个点、画一个框,或者涂一个大概的区域。这意味着你必须先知道目标在哪里。
SAM 3 开始接受文本提示,比如「把图里所有穿红衣服的人分割出来」——它会自己找到所有符合条件的目标,逐一分割。这个看起来不大的改变,实际上打通了「看」和「说」之间的壁垒。
开放词汇:不被标签束缚
传统分割模型通常依赖固定的类别标签(「猫」「车」「人」),遇到「那把条纹红雨伞」就无能为力了。SAM 3 专门为此构建了 SA-Co 基准,包含 27 万个独特概念,是现有基准的 50 倍以上。在这个测试集上,SAM 3 达到了人类表现的 75-80%。
支撑这个能力的是一个自动化数据引擎,自动标注了超过 400 万个独特概念,这个数据集规模在开放词汇分割领域目前是最大的。
架构上的新设计
SAM 3 引入了一个叫 presence token 的设计,专门用来区分描述相近但不同的概念,比如「穿白衣服的球员」和「穿红衣服的球员」。这个细节很重要——之前的模型对这类相近文本提示容易产生混淆。
此外,SAM 3 把检测器和跟踪器解耦,两个模块独立训练、独立扩展,减少了任务间的相互干扰,也让模型在数据量增加时扩展更高效。
SAM 3.1:速度的飞跃
三月底发布的 SAM 3.1 没有改变能力边界,主要是工程优化。
核心改动是引入了 Object Multiplex(对象多路复用):之前跟踪多个目标时,每个目标需要独立过一遍模型;3.1 把最多 16 个目标打包在一次前向传播里处理,消除了重复计算和内存瓶颈。
实测结果:在单张 H100 GPU 上,视频处理吞吐量从 16 FPS 提升到 32 FPS,翻倍。这让 SAM 3.1 在多目标场景下达到了真正意义上的实时处理。
实际用在哪里
Meta 自家已经在落地了:
- Facebook Marketplace 的「View in Room」功能,用 SAM 3 把商品从背景中抠出来,叠加到用户家里的空间里,帮助购物决策
- Instagram Edits(短视频创作 App),即将上线基于 SAM 3 的特效——可以对视频里的特定人物或物体一键添加动效
- Meta AI App 和 meta.ai 的视觉创作工具
另外 Meta 还和 Conservation X Labs 合作,用 SAM 3 建了一个野生动物监测数据集,算是一个意想不到的应用方向。
想法
SAM 系列每一代的升级路径很清晰:图片 → 视频 → 开放文本,每次跨越都不只是性能提升,而是打开了新的使用场景。
SAM 3 对我来说最有意思的不是性能数字,而是「文本 + 视频 + 开放词汇」同时成立这件事本身。以前这三个要素只能三选一或者两选一,现在能一起用了,很多原本需要复杂 pipeline 的应用突然变得简单了。
模型权重和评估代码都已经开源:github.com/facebookresearch/sam3,SAM 3.1 的 checkpoint 在 Hugging Face 上也可以直接下载。
参考资料:Meta AI Blog · 论文 · GitHub