摘要:
本文提出Segment Anything(SA,分割一切)项目:一套面向图像分割的全新任务范式、模型与数据集。借助高效模型的数据采集闭环流程,我们构建了迄今为止规模最大的分割数据集:在1100万张经过授权、保护隐私的图像上,拥有超过10亿掩码。 该模型经过专门设计与训练,支持提示输入,能够对全新图像分布与任务实现零样本迁移。我们在大量任务上评测模型能力,发现它的零样本表现十分亮眼——往往能够媲美甚至超越以往全监督方法的结果。 我们开源Segment Anything Model(SAM)以及对应的SA‑1B数据集(10亿掩码、1100万图像),项目地址:https://segment‑anything.com,以此推动计算机视觉基础模型方向的研究。
1 引言
在网页级海量数据集上预训练得到的大语言模型,凭借强大的零样本、少样本泛化能力正在重塑自然语言处理领域。这类基础模型可以泛化到训练阶段从未见过的任务与数据分布。该能力通常依靠提示工程实现:使用人工设计的文本提示,引导大模型输出符合当前任务的文本结果。 当模型规模、数据集规模、训练计算量扩大,在海量网页文本语料上训练得到的大模型,它的零样本、少样本性能,甚至可以和微调后的模型比肩。实验趋势表明,模型性能会随模型规模、数据集大小、总训练计算量提升而变好。
基础模型同样也被应用于计算机视觉领域,但相关探索还比较有限。其中最具代表性的工作,是利用互联网图文配对数据。例如CLIP、ALIGN利用对比学习训练文本‑图像编码器,对齐两种模态。模型训练完成后,通过设计文本提示,就可以对从未见过的视觉概念、数据分布做零样本泛化。这类编码器还可以和其他模块组合,实现下游任务,比如图像生成模型DALL·E。
尽管图文编码器取得不少进展,但计算机视觉还有大量任务不在该范畴内,而很多任务并没有充足的训练数据。
本文目标:构建图像分割领域的基础模型。即设计一个支持提示输入的模型,在大规模多样化数据集上预训练,获得强大泛化能力;依靠提示工程,在全新数据分布上完成各类下游分割任务。
要实现该目标,离不开三大要素:任务、模型、数据。围绕图像分割,我们提出三个核心问题:
- 什么样的任务可以实现零样本泛化?
- 对应的模型架构该如何设计?
- 需要什么样的数据来支撑这套任务与模型?
三者相互耦合,需要一套完整解决方案。本文首先定义可提示分割任务:该任务既要能够作为强大的预训练目标,又可以适配大量下游应用。该任务要求模型支持灵活提示输入,并且接收到提示后可以实时输出分割掩码,实现交互式使用。 想要训练这个模型,就需要大规模多样化数据。但是互联网并不天然存在海量分割掩码,为此我们搭建数据引擎:循环迭代,一方面用模型辅助数据标注,另一方面用新标注的数据迭代优化模型。下文依次介绍这三个相互耦合的组件,再介绍构建的数据集,以及验证整套方案有效性的实验。
任务(第2节):借鉴NLP以及近期CV基础模型思路,基础模型依靠提示技术完成新数据集、新任务的零/少样本学习。本文提出可提示分割任务:输入任意分割提示,输出合法有效的分割掩码(见图1a)。提示用来告诉模型需要分割图像中的哪一部分,可以包含空间信息或者文本信息,用来指定目标物体。 “输出有效掩码”含义:即使提示存在歧义,对应多个物体(例如点击一件衬衫上的点,既可以代表衬衫本身,也可以代表穿衬衫的人),模型输出至少要对应其中一个物体的合理掩码。 我们把可提示分割任务既当做预训练目标,也依靠提示工程去解决各类下游分割任务。
模型(第3节):可提示分割任务以及现实使用场景对模型架构提出约束:支持多种提示输入;掩码推理要达到近似实时速度,支持交互;能够处理歧义。令人惊喜的是,一套简单设计即可全部满足:重量级图像编码器输出图像嵌入;提示编码器对提示做嵌入表示;两者送入轻量掩码解码器,预测分割掩码。我们将该模型命名为SAM(Segment Anything Model),见图1b。 SAM把图像编码器与轻量的提示编码器‑掩码解码器解耦:同一张图像的图像嵌入只需要计算一次,可以复用给不同提示。图像嵌入预先算好后,在浏览器CPU环境中,提示编码器+掩码解码器完成一次掩码预测仅需约50毫秒。 本文重点研究点、框、掩码提示,同时也给出自由文本提示的初步实验结果。 为了处理歧义,SAM对单条提示输出多个掩码。例如上面衬衫与人的歧义样例,模型可以同时输出多个候选结果。
数据引擎(第4节):为了在全新数据分布上获得强泛化,SAM需要远超现有分割数据集规模、多样性的掩码数据。基础模型的常规做法是互联网爬取数据,但分割掩码在互联网中并不丰富,需要别的方案。 我们的方案就是搭建数据引擎:模型参与标注闭环迭代,协同迭代模型与数据集标注(见图1c)。数据引擎分为三阶段:辅助人工标注、半自动标注、全自动标注。
- 辅助人工阶段:SAM辅助标注员标注掩码,类似传统交互式分割。
- 半自动阶段:给模型输入物体候选位置,自动生成一部分掩码,标注员只标注剩下物体,提升掩码多样性。
- 全自动阶段:使用规则网格前景点作为提示,每张图像平均产出约100个高质量掩码。
数据集(第5节):最终得到SA‑1B数据集,包含1100万张授权且保护隐私的图像,总计超过11亿高质量掩码(见图2)。SA‑1B完全由数据引擎第三阶段全自动产出,掩码数量是现有最大分割数据集的400倍。经过大量验证,掩码拥有很高质量与多样性。除了训练鲁棒通用的SAM之外,我们希望SA‑1B能够成为社区研发新基础模型的宝贵资源。
负责任的AI(第6节):研究并报告SA‑1B与SAM潜在的公平性与偏见问题。SA‑1B图像覆盖地理、经济上多元的国家;实验发现SAM对不同人群组别性能表现接近。希望这套工作能够更好落地现实应用。附录中提供数据集卡片、模型卡片。
实验(第7节):我们对SAM做全面评测。首先使用23套多样化分割数据集,实验表明:仅输入单个前景点提示,SAM就可以输出高质量掩码,质量仅仅略低于人工真值标注。 其次,在零样本迁移协议下,依靠提示工程,SAM在大量下游任务上取得稳定优秀的定量、定性结果:包括边缘检测、物体候选框生成、实例分割,同时做文本生成掩码的初步探索。 实验证明SAM开箱即用,通过提示工程就可以处理很多训练阶段没有见过物体、图像分布的任务。当然模型仍存在改进空间,详见第8节。
开源发布:SA‑1B数据集面向研究用途开放;SAM采用宽松的Apache 2.0开源协议,发布于https://segment‑anything.com,同时上线在线演示demo。
图2:新数据集SA‑1B掩码叠加效果图例。SA‑1B包含1100万张多样化高分辨率授权隐私保护图像,11亿高质量分割掩码。全部掩码由SAM全自动生成。经过人工打分与大量实验验证,掩码具备很高质量和多样性。图中按照每张图像掩码数量分组可视化;数据集平均每张图像有约100个掩码。
2 可提示分割任务
借鉴NLP:大语言模型用“预测下一个token”作为预训练目标,再通过提示工程解决大量下游任务。为构建分割基础模型,我们希望定义一个具备同等能力的分割任务。
任务定义
把NLP的提示思想迁移到分割领域:提示可以是一组前/背景点、粗略框、掩码、自由文本;广义来说,任何用来告诉模型“分割图像中哪个目标”的信息,都属于提示。可提示分割任务:输入任意提示,输出有效分割掩码。 “有效掩码”:即便提示存在歧义,可以对应多个物体(前文衬衫与人例子,见图3),输出掩码至少要合理对应其中一个物体。这和大语言模型面对歧义提示输出通顺回复的要求类似。 选择该任务的理由:它天然适配预训练算法;同时依靠提示实现对下游分割任务的零样本迁移。
图3:每一列展示:同一个有歧义的点提示(绿色圆点)输入给SAM,生成3个合法掩码。
预训练
可提示分割任务带来一套自然预训练流程:对每一个训练样本,模拟一系列提示(点、框、掩码),对比模型预测掩码与真值。该思路借鉴交互式分割工作。 交互式分割目标:提供足够多用户输入后输出有效掩码;但我们目标不一样:无论提示是否存在歧义,任意提示输入都要输出有效掩码。这样预训练好的模型,才可以适配包含歧义的场景,包括数据引擎需要的自动标注。 该任务训练存在难度,需要专门建模策略与损失函数设计,详见第3节。
零样本迁移
预训练之后,模型推理阶段可以响应各类提示,下游任务可以通过构造提示实现。 举例:如果有猫检测器输出边界框,把检测框当做提示送入SAM,就完成猫的实例分割。 大量实际分割任务都可以转化为提示范式。除了自动数据集标注,第7节实验选取5个不同类型任务进行验证。
和已有相关任务对比
分割领域已有大量任务:交互式分割、边缘检测、超像素、物体候选生成、前景分割、语义分割、实例分割、全景分割等。 本文的可提示分割任务目标:产出一个能力广泛的模型,依靠提示工程适配现有大量(并非全部)分割任务以及全新任务,这属于任务泛化能力。
和多任务分割系统的关键区别: 传统多任务模型,同时学习一套固定任务集合,训练集与测试集任务完全相同。 而经过可提示分割任务训练的SAM,推理阶段可以作为组件嵌入更大系统,完成训练时没有见过的新任务。例如做实例分割,只需要把SAM和现成目标检测器组合起来即可。
讨论
提示与组件化是强大工具,同一个模型可以拓展完成模型设计阶段没有想到的任务。这种范式和其他基础模型相通:例如CLIP作为组件嵌入DALL·E图像生成系统。 我们预期:基于提示工程的组件化系统设计,会带来比“为固定任务专门训练”的系统更加丰富的应用。 对比可提示分割与交互式分割:交互式分割面向人类使用者;而可提示分割训练出来的SAM,既可以给人交互使用,也可以直接嵌入算法流水线。
3 Segment‑Anything Model(SAM模型)
本节介绍用于可提示分割任务的SAM。SAM包含三大组件:图像编码器、灵活提示编码器、快速掩码解码器(图4)。 我们基于视觉Transformer做开发,针对近似实时交互做取舍。本节只做高层介绍,详细实现见附录A。
图4 SAM总览:重量级图像编码器输出图像嵌入;多种输入提示可以高效查询这份嵌入,以近似实时速度输出物体掩码。对于对应多个物体的歧义提示,SAM输出多个合法掩码以及对应的置信分数。
- 图像编码器考虑可扩展性与强大预训练,我们使用MAE掩码自编码器预训练的ViT视觉Transformer,少量修改适配高分辨率输入。图像编码器每张图像只运行一次,可以在接收提示之前就完成计算。
- 提示编码器提示分为两类:稀疏提示(点、框、文本)、稠密提示(掩码)。
- 点、框:位置编码,叠加对应提示类型的可学习嵌入。
- 自由文本:直接复用CLIP现成文本编码器。
- 稠密提示(掩码):使用卷积做嵌入,再与图像嵌入逐元素相加。
- 掩码解码器掩码解码器高效融合图像嵌入、提示嵌入、输出token,最终输出掩码。设计思路参考Transformer分割模型。使用修改版Transformer解码器块,包含双向交叉注意力(提示到图像嵌入,图像嵌入到提示),更新全部嵌入。 经过两层解码器块后,上采样图像嵌入;MLP将输出token映射为动态线性分类器,计算图像每个位置的前景掩码概率。
歧义消解
如果只输出单个掩码,面对歧义提示,模型输出会把多个合理掩码做平均融合。为了解决这点,模型修改为:单提示输出多个掩码(见图3)。 我们发现输出3个掩码就足以处理绝大多数嵌套歧义场景(整体、局部、子局部三层嵌套)。训练阶段,只反向传播多个预测掩码中损失最小的那一个。 模型额外输出置信分数(预估IoU交并比),用来对多个掩码排序。
推理效率
整套模型设计高度看重效率。图像嵌入预计算完成后,提示编码器+掩码解码器在浏览器CPU环境下仅需约50ms完成推理,实现流畅的实时交互式提示。 本文主要实验点、框、掩码提示;文本提示实验见7.5节。
损失函数与训练
掩码预测损失:Focal损失 + Dice损失的线性加权组合,参考已有工作。 训练可提示分割任务时,混合采样各类几何提示(文本提示训练见7.5)。 借鉴交互式分割训练方案:对每个真值掩码,随机模拟11轮提示采样,方便SAM无缝接入数据引擎流水线。
4 Segment Anything数据引擎
互联网缺少现成海量分割掩码,因此我们搭建数据引擎,最终产出SA‑1B数据集(11亿掩码)。 数据引擎三阶段:
- 辅助人工标注阶段;2.半自动标注阶段;3.全自动标注阶段。
阶段一:辅助人工标注
和传统交互式分割场景类似,专业标注人员在浏览器交互工具中,点击前/背景点,依靠SAM辅助标注掩码;还可以使用画笔、橡皮擦像素级修正掩码。 本阶段不施加语义类别约束,标注“物体”与“材质”两类目标。鼓励标注人员标注可以命名、可以描述的对象;不采集物体类别标签文本。优先标注画面显著物体;如果标注一个掩码耗时超过30秒,就切换下一张图。 阶段初期SAM基于公开分割数据集训练。积累一定标注数据后,使用新掩码重新训练SAM。随着掩码数量上涨,图像编码器从ViT‑B升级到ViT‑H,一共完整重训模型6次。 随着模型能力变强,单掩码平均标注耗时从34秒下降到14秒。对比COCO数据集掩码标注,速度提升6.5倍;仅仅比极值点画框标注慢2倍。 每张图像平均掩码数量从20上涨到44。 本阶段:12万张图像,合计产出430万掩码。
阶段二:半自动标注
本阶段目标:提升掩码多样性,让SAM分割能力覆盖更多物体。 为了让标注员专注画面中不显眼的物体:先用检测器自动生成高置信度掩码,预填充到图像中;标注员只需要标注剩下没有被覆盖的物体。 检测器:使用阶段一全部掩码训练通用“物体”类别边界框检测器。 本阶段新增18万张图像,新增590万掩码,累计掩码总数1020万。 和上阶段一样,周期性用新收集数据重训练模型(共5次)。 由于剩下待标注物体难度更高,排除自动生成掩码之后,单掩码标注耗时回升到34秒。算上自动掩码,单张图像平均掩码数从44提升至72。
阶段三:全自动标注
最终阶段完全不需要标注人员介入。能够做到全自动依赖两点:
- 前两阶段积累海量多样化掩码,模型能力大幅提升;
- 完成歧义感知模型改造,歧义场景也可以输出合理掩码。
具体做法:使用32×32均匀网格点作为提示,每个点预测一组候选掩码。歧义感知模型会输出子部件、部件、整体物体。利用模型预测IoU筛选高置信掩码;引入掩码稳定性筛选:将概率图分别用0.5‑δ、0.5+δ做阈值二值化,两张掩码IoU足够高即为稳定掩码。 筛选完成后使用NMS非极大抑制去除重复掩码。 为提升小物体掩码质量,额外处理多组重叠放大图像裁剪块。详细流程见附录B。 对全部1100万图像运行全自动掩码生成,最终产出11亿高质量掩码。
5 Segment‑Anything数据集SA‑1B
SA‑1B数据集:1100万张多样化高分辨率授权隐私保护图像,11亿高质量掩码,全部来自数据引擎。对比现有数据集,分析掩码质量与属性。SA‑1B面向计算机视觉基础模型研究开放(受许可协议约束)。
图像
图片来自商业图库摄影师授权。原始图像平均分辨率3300 × 4950。原始文件体积巨大,因此发布版本做下采样,短边统一缩放到1500像素;即便下采样,分辨率依然显著高于COCO这类数据集(COCO约480×640)。发布版本图像做处理:人脸、车牌全部做模糊脱敏。
掩码
全部掩码中99.1%来自全自动生成。因此自动掩码质量至关重要。 我们对比自动掩码和专业人工修正掩码:随机抽取500张图像(约5万掩码),交给专业标注员用画笔橡皮擦全部修正。计算自动掩码与人工修正掩码IoU:
- 94%掩码IoU大于90%;
- 97%掩码IoU大于75%。 作为参考:以往文献中不同标注员之间标注一致性IoU为85‑91%。 第7节实验和人工打分同样验证自动掩码质量很高;只用全自动掩码训练SAM,效果和使用全阶段混合数据几乎持平。因此SA‑1B最终只发布全自动生成掩码。
掩码属性分析
图5展示物体掩码中心空间分布对比。所有数据集都存在摄影师构图带来的中心偏好;对比LVIS、ADE20K,SA‑1B物体掩码更多分布在图像角落;COCO、Open Images物体更集中在画面中心。 图6对比数据集规模:SA‑1B图像数量是第二大数据集Open Images的11倍;掩码数量是它的400倍。平均每张图像掩码数量是Open Images的36倍;对比ADE20K也高出3.5倍。
- 掩码尺寸:SA‑1B单图掩码数量多,中小尺寸掩码占比更高。
- 掩码凹度(形状复杂度):控制掩码尺寸分层采样后,SA‑1B掩码形状复杂度分布和主流数据集接近。
图7 SA‑1B图像地理分布预估:世界绝大多数国家拥有超过1000张图片;图片数量前三的国家分属不同大洲。
6 负责任AI分析(RAI)
本节分析SA‑1B与SAM潜在公平性、偏见风险。分析维度:数据集地理与收入分布;SAM在不同人群属性下分割性能。附录F提供数据集卡片、标注卡片、模型卡片。
地理、收入分布
基于图片标题文本实体识别推断拍摄国家。表1对比SA‑1B、COCO、Open Images的地域、收入层级分布。 SA‑1B欧洲、亚大地区、中等收入国家图像占比显著更高。所有数据集都存在非洲、低收入国家样本不足的问题。但即便如此,SA‑1B非洲区域掩码总量依然有2800万,超过以往任何数据集全部掩码总和。 不同地区、不同收入层级下,单张图像平均掩码数稳定在94‑108之间。
表1 地理与收入分布对比
| 区域 | 国家数 | SA‑1B图片数 | SA‑1B掩码数 | SA‑1B占比 | COCO占比 | Open Images占比 |
|---|---|---|---|---|---|---|
| 非洲 | 54 | 300k | 28M | 2.8% | 3.0% | 1.7% |
| 亚洲&大洋洲 | 70 | 3.9M | 423M | 36.2% | 11.4% | 14.3% |
| 欧洲 | 47 | 5.4M | 540M | 49.8% | 34.2% | 36.2% |
| 拉美加勒比 | 42 | 380k | 36M | 3.5% | 3.1% | 5.0% |
| 北美 | 4 | 830k | 80M | 7.7% | 48.3% | 42.8% |
| 高收入国家 | 81 | 5.8M | 598M | 54.0% | 89.1% | 87.5% |
| 中等收入国家 | 108 | 4.9M | 499M | 45.0% | 10.5% | 12.0% |
| 低收入国家 | 28 | 100k | 9.4M | 0.9% | 0.4% | 0.5% |
SA‑1B在欧洲、亚大、中等收入国家占比更高。非洲、拉美、低收入国家在全部三个数据集都代表性不足。
人物分割公平性评估
使用MIAP数据集与私有肤色标注数据集,评测SAM在感知性别表达、年龄分组、菲茨帕特里克肤色等级上的分割性能。模拟交互式分割,采样1点、3点提示做评测。
- 感知性别表达:不同组别性能置信区间互相重叠,SAM表现接近;
- 感知年龄:老年组mIoU略高;
- 感知肤色(1最浅~6最深):各组没有显著性能差异。
注意:该结论针对SAM本身;当SAM作为组件嵌入更大系统,下游系统依然可能引入偏见。附录C补充衣物分割任务,发现单点点提示下,衣物分割存在微弱性别相关偏差。
表2 针对人的分割:不同感知性别、年龄、肤色下mIoU(附带95%置信区间)
| 感知性别表达 | 1点 | 3点 | 感知肤色 | 1点 | 3点 |
|---|---|---|---|---|---|
| 偏女性 | 54.4 ±1.7 | 90.4 ±0.6 | 1 | 52.9 ±2.2 | 91.0 ±0.9 |
| 偏男性 | 55.7 ±1.7 | 90.1 ±0.6 | 2 | 51.5 ±1.4 | 91.1 ±0.5 |
| 感知年龄分组 | 3 | 52.2 ±1.9 | 91.4 ±0.7 | ||
| 老年 | 62.9 ±6.7 | 92.6 ±1.3 | 4 | 51.5 ±2.7 | 91.7 ±1.0 |
| 中年 | 54.5 ±1.3 | 90.2 ±0.5 | 5 | 52.4 ±4.2 | 92.5 ±1.4 |
| 青年 | 54.2 ±2.2 | 91.2 ±0.7 | 6 | 56.7 ±6.3 | 91.2 ±2.4 |
除老年对比中年之外,其余各组置信区间全部互相覆盖。
7 零样本迁移实验
本节开展SAM零样本迁移实验,共5项任务,其中4项和训练时的可提示分割任务本身差异很大。测试数据集、图像分布都是训练阶段完全没有见过(零样本定义沿用CLIP论文)。数据集包含水下、第一人称视角这类SA‑1B训练集不存在的图像。
实验顺序:
- 基础能力:单前景点提示输出有效掩码(点提示容易产生歧义);
- 低层视觉:边缘检测;
- 中层视觉:物体候选生成;
- 高层视觉:实例分割;
- 概念验证:自由文本生成掩码。
实验默认配置:SAM图像编码器MAE预训练ViT‑H,使用SA‑1B全自动掩码训练。其他超参数见附录A。
7.1 零样本:单点提示生成掩码
任务:仅输入物体内部单个前景点做分割。该任务本身病态,一个点可以对应多个物体。常规数据集真值掩码不会枚举全部合理目标,自动指标存在缺陷。 因此我们除mIoU之外增加人工打分评测,打分区间1(完全无效)‑10(像素级完美)。 评测协议:采样真值掩码内部距离变换最大点作为提示点(交互式分割标准做法)。SAM输出3个掩码,默认取置信度最高的掩码评测;基线模型都只输出单掩码。主要对比基线RITM,该交互式模型在我们基准上表现最优。
数据集:新构建包含23套不同图像分布的分割数据集。mIoU在全部23套数据集跑通;人工打分选取其中子集。
结果: 自动mIoU指标:23套数据集中,SAM在16套数据集上超过RITM,最高提升IoU达47。 增加“先知Oracle”设定:从SAM输出3个掩码里,挑选和真值最匹配的那一个(模拟消除歧义),此时SAM在全部23个数据集全部优于RITM。该现象体现歧义对自动指标的干扰。
人工打分实验:标注员持续给SAM掩码打出显著高于最强基线RITM的分数;消融版本(只能输出单个掩码的SAM)分数略低,但依然高于RITM。SAM平均分落在7‑9区间,代表:物体可识别,仅有少量微小错误。
即便某些数据集上SAM自动mIoU不如RITM,人工感知掩码质量依然更高。
增加对比SimpleClick、FocalClick基线:单点条件下SAM优势巨大;随着提示点数量增加,各个模型之间差距缩小。把采样策略从“真值中心点”改成随机点,SAM相对基线的优势进一步扩大。
7.2 零样本边缘检测
数据集BSDS500。SAM从未见过BSDS500图像与标注。 方法:使用16×16网格点作为提示,得到768个预测掩码,NMS去冗余;对掩码概率图做Sobel滤波,再做标准后处理、边缘NMS得到边缘图。
图10 BSDS500零样本边缘预测。SAM没有针对边缘检测做训练,训练集没有BSDS图片。
表3 BSDS500边缘检测指标
| 方法 | 年份 | ODS | OIS | AP | R50 |
|---|---|---|---|---|---|
| HED | 2015 | 0.788 | 0.808 | 0.840 | 0.923 |
| EDTER | 2022 | 0.840 | 0.858 | 0.896 | 0.930 |
| 零样本方法 | |||||
| Sobel | 1968 | 0.539 | - | - | - |
| Canny | 1986 | 0.600 | 0.640 | 0.580 | - |
| Felz‑Hutt | 2004 | 0.610 | 0.640 | 0.560 | - |
| SAM | 2023 | 0.768 | 0.786 | 0.794 | 0.928 |
定性效果:SAM可以输出合理边缘,但会输出比真值更多的边缘;高召回R50很高,但精度会下降。对比专门在BSDS上训练SOTA方法存在差距,但显著优于传统零样本边缘算法。
7.3 零样本物体候选生成
物体候选框是目标检测经典中间任务。数据集使用LVIS v1(类别数量多,难度高),指标AR@1000掩码平均召回。 对比基线ViTDet‑H(DMP策略,检测器直接输出候选,该方案会在AR指标上刷分,是很强对比)。 SAM零样本,没有在LVIS训练。
表4 LVIS v1物体候选生成 AR@1000
| 方法 | 全部 | 小物体 | 中物体 | 大物体 | 高频类 | 普通类 | 稀有类 |
|---|---|---|---|---|---|---|---|
| ViTDet‑H | 63.0 | 51.7 | 80.8 | 87.0 | 63.1 | 63.3 | 58.3 |
| SAM(单输出消融) | 54.9 | 42.8 | 76.7 | 74.4 | 54.7 | 59.8 | 62.0 |
| SAM | 59.3 | 45.5 | 81.6 | 86.9 | 59.1 | 63.9 | 65.8 |
结果:专门训练的ViTDet‑H总体最优;但SAM在中等、大物体,普通类别、稀有类别上表现超过ViTDet‑H。SAM短板:小物体、训练集中高频类别。消融实验证明多掩码输出对该任务增益巨大。
7.4 零样本实例分割
方案:目标检测器ViTDet‑H输出检测框,将框当做提示送入SAM得到掩码。展示SAM如何作为模块嵌入更大系统。
表5 COCO、LVIS实例分割掩码AP
| COCO | LVIS v1 | |||||||
|---|---|---|---|---|---|---|---|---|
| AP | AP‑S小 | AP‑M中 | AP‑L大 | AP | AP‑S小 | AP‑M中 | AP‑L大 | |
| ViTDet‑H全监督 | 51.0 | 32.0 | 54.3 | 68.9 | 46.6 | 35.0 | 58.0 | 66.3 |
| SAM(框提示零样本) | 46.5 | 30.8 | 51.0 | 61.7 | 44.7 | 32.5 | 57.6 | 65.5 |
定量AP指标上,全监督ViTDet‑H依然高于零样本SAM。但是人工打分实验结果反转:SAM掩码视觉质量评分高于ViTDet‑H。 分析原因:COCO、LVIS数据集标注本身带有独特偏差;ViTDet在训练中学会拟合这些数据集特有的标注习惯,拿到更高AP;SAM零样本无法学习数据集特有的标注偏见,但是掩码边缘视觉质量更好。LVIS真值掩码质量更高,两者之间AP差距也会缩小。
7.5 零样本文本转掩码
概念验证,实现文本提示分割。
训练思路:不需要文本标注。对面积大于100²像素的训练掩码,抠取物体crop,送入CLIP图像编码器拿到图像嵌入;训练阶段使用该CLIP图像嵌入作为提示。 推理阶段:输入自由文本,经过CLIP文本编码器,输出文本嵌入直接当做SAM提示。原理:CLIP图文嵌入空间对齐。
定性结果:SAM可以响应简单文本“a wheel”,也可以响应复杂短语“beaver tooth grille”。纯文本提示失效的时候,叠加一个点提示往往就可以修正结果。
图12 零样本文本‑掩码。SAM可以处理简单、复杂文本提示。文本提示预测出错时,额外增加点提示可以修复结果。
7.6 消融实验
在23数据集基准、单点提示协议下做消融。
- 数据引擎各阶段数据的影响:每一阶段新增数据都带来性能提升。只用全自动掩码训练,效果相比混合全部阶段数据仅仅下降约0.5 mIoU。因此本文默认训练配置直接使用全自动掩码,简化训练流程。
- 数据集规模消融:完整SA‑1B共11M图像;下采样至1M图像(约1亿掩码)性能几乎和全集持平;降到0.1M图像性能大幅下跌。提示:10%规模数据集就可以拿到接近满配的效果,对算力有限场景很实用。
- 模型规模消融ViT‑B / ViT‑L / ViT‑H:ViT‑H相比ViT‑B提升明显;ViT‑H对比ViT‑L收益边际递减,继续扩大图像编码器收益有限。
8 讨论
基础模型视角
基础模型定义:在大规模广谱数据训练,能够适配大量下游任务的预训练模型。本文工作符合该定义,但只覆盖计算机视觉中的图像分割子领域。 对比经典基础模型思路大量依靠自监督学习:SAM初始化来自MAE自监督,但绝大部分能力来自大规模监督训练。当我们可以通过数据引擎低成本获取海量标注,监督训练是一条可行有效的路线。
组件化
预训练模型可以完成训练阶段没有设想过的任务,CLIP‑DALL·E就是典型例子。本文希望SAM可以做到方便的组件化复用:只要输入提示,输出合法掩码,对外提供稳定接口。 举例:MCC三维重建工作可以直接调用SAM做单RGB‑D图像物体分割;可穿戴设备输出注视点,直接作为SAM提示,完成第一人称图像分割,无需重新训练模型。
局限性
SAM能力依然存在短板:
- 细小结构容易丢失;偶尔会幻觉出微小零散掩码碎片;想要极致锐利边界,需要放大迭代的专用方法;
- 在提示点非常多的交互式分割场景,专门优化交互的模型(SimpleClick等)IoU上限会超过SAM。SAM追求通用性,而不是交互式场景极致IoU;
- 图像编码器计算量大,虽然提示推理很快,但整张图整体处理达不到全程实时;
- 文本提示能力还处在初步探索,鲁棒性不足;
- 很难靠简单提示直接完成语义分割、全景分割;
- 部分垂直领域专用工具,在特定领域表现会优于SAM。
结论
Segment Anything项目,尝试把图像分割带入基础模型时代。核心贡献:全新的可提示分割任务、SAM模型、SA‑1B大规模数据集。 SAM是否真正成为领域公认基础模型,还需要社区大量使用来检验。但无论如何,我们发布的超10亿掩码数据集与可提示分割模型,会为后续研究铺平道路。
致谢
感谢Aaron Adcock、Jitendra Malik的讨论;感谢Li Yanghao等在模型规模扩展;感谢团队在标注平台、推理优化、演示demo、数据集浏览器等大量工程实现工作。
参考文献部分省略。
附录(A‑G,简要翻译核心内容)
附录A SAM模型与任务细节
图像编码器:MAE预训练ViT‑H/16,窗口注意力+全局注意力块;输入1024×1024,输出64×64嵌入;1×1、3×3卷积调整通道至256。提示编码器
- 稀疏提示:点=位置编码+前景/背景二选一可学习嵌入;框=左上角、右下角两套位置编码+对应角点嵌入;文本使用CLIP‑ViT‑L/14@336px。
- 稠密掩码提示:多层卷积降采样到256通道,与图像嵌入逐元素相加;无掩码输入使用“无掩码”可学习嵌入。
掩码解码器(两层Transformer解码器)每一层执行:
- 提示token自注意力;
- token到图像嵌入交叉注意力;
- token维度MLP;
- 图像嵌入向token做交叉注意力(更新图像嵌入)。
输出token类比ViT的class token。解码器输出之后,转置卷积4倍上采样;MLP把输出token映射向量,与上采样图像嵌入逐点相乘,输出掩码概率图。歧义处理:单提示输出3个掩码;多提示只输出1个掩码;IoU预测头输出掩码质量分数。损失:Focal损失:Dice损失=20:1;IoU预测头MSE损失,权重系数1。训练流程:模拟交互式流程,每张掩码一共11轮提示迭代,模拟用户不断增加点击。训练超参:AdamW,256GPU分布式训练,batch=256;ViT‑H迭代90k。
附录B 全自动掩码生成细节(SA‑1B生成流程)
- 裁剪策略:原图使用32×32网格;额外2×2、4×4重叠放大crop分别使用16×16、8×8点网格;
- NMS分crop内、跨crop两阶段,阈值0.7;
- 三层过滤:预测IoU≥88;掩码稳定性阈值IoU≥95;过滤占图像95%以上超大掩码;
- 后处理:去除小于100像素的孤立连通域;填充小于100像素的小孔洞;
- 专门训练一套用于全自动生成的SAM变体:解码器3层、训练迭代更多,牺牲速度换取掩码质量。
附录C RAI补充
地理信息:图片无GPS,从图片标题用实体识别推断国家;COCO/Open Images地理位置只拿到部分Flickr元数据。 收入等级映射世界银行标准。 人物公平性:MIAP数据集;衣物分割发现单点提示下,偏男性外观人物的衣物分割mIoU更高;增加点提示后差距缩小。
附录D 实验实现细节
D.1 单点掩码评测
23套数据集,覆盖显微X光、水下航拍、第一人称、绘画仿真、自动驾驶等多种图像领域。 两种点采样策略:①距离变换最远点(中心点);②完全随机点。 基线RITM / SimpleClick / FocalClick。 Oracle设定:从SAM输出3掩码选与真值最匹配的那个,消除歧义干扰评测。
D.2 边缘检测
BSDS500测试集;16×16点网格,不做IoU稳定性过滤;NMS后Sobel求梯度,边缘非极大抑制。SAM倾向输出更多边缘。
D.3 物体候选生成
不使用图像crop;64×64点网格,NMS阈值0.9,每张图最多保留1000候选掩码;消融“单输出SAM”需要提升点网格密度。
D.4 实例分割
检测器框送入SAM之后,再把预测掩码回传给解码器做一次迭代细化;SAM倾向输出“模态掩码”,而LVIS真值大量是无孔洞的非模态掩码,造成指标差距。
D.5 文本‑掩码训练推理
训练只使用前两阶段手动、半自动掩码,过滤小掩码;CLIP‑ViT‑L/14@336px;训练时把物体crop送入CLIP得到图像嵌入当做提示;推理直接送入CLIP文本编码。
关键点:训练用图像嵌入,推理用文本嵌入,利用CLIP图文对齐,不需要文本标签。
D.6 SAM隐空间初探
把掩码区域图像嵌入做平均得到掩码表征;同一张图中查询掩码,检索隐空间最近邻,能找到部分形状、语义相似物体,即便SAM训练没有任何语义类别标签。
附录E 人工研究实验设计
为什么需要人工打分:
- 歧义输入下模型输出合法但不等于真值,IoU会错误扣分;
- 数据集真值本身带有标注偏见,全监督模型可以拟合偏见拿高IoU,但掩码视觉质量未必更好。
打分规则1‑10分:
- 1:完全不知道掩码对应什么物体;
- 2‑4:物体可辨认,但错误巨大;
- 5‑6:大体正确,但存在显著边界/语义错误;
- 7‑9:物体识别正确,错误微小稀少;
- 10:像素完美,无肉眼可见错误。
单点实验选7套代表性数据集,实例分割使用LVIS v1。每个样本交给标注员看原图、提示、预测掩码,独立打分。 统计检验:配对t‑test、bootstrap,实验证明SAM显著优于RITM、ViTDet‑H基线;多输出的SAM显著优于只能输出单掩码的消融版本。
附录F 数据集卡片、标注卡片、模型卡片
F.1 SA‑1B数据集卡片
- 目的:构建超大规模分割数据集,图片做人脸车牌模糊脱敏,地理多样性更强;
- 来源:Meta FAIR,图片商业图库授权;掩码全部SAM全自动生成;没有物体类别标签;平均每张图约100掩码;
- 限制:不对外释放图片原始标题caption;数据集面向科研使用;
- 风险:依然无法完全消除全部偏见,非洲低收入国家样本不足;使用者需要自行评估下游公平性风险。
F.2 数据标注卡片
前两阶段人工标注由肯尼亚外包标注团队完成;没有强制类别,目标标注图像内一切可分辨物体;不对外发布前两阶段人工标注掩码。
F.3 SAM模型卡片
- 版本1.0,Meta FAIR,Apache2.0协议;
- 用途:点、框、掩码提示分割;零样本迁移边缘检测、物体候选、实例分割、文本提示分割;
- 局限:歧义输入多解;容易丢失精细结构;会出现小碎片幻觉;文本提示能力有限;
- 训练资源:256张A100,训练约68小时,估算碳排放约2.8吨CO₂;
- 公平提醒:SAM本身评测跨组别性能差距不大,但下游应用依然会引入新偏见,建议使用者自己做公平性评估。
附录G 人工标注打分完整指南
图19、图20为标注员全部操作指南,列举各类掩码错误样例:错误包含其他物体部件、缺失物体部件、掩码孔洞错误、孤立杂散像素、边缘质量差;歧义点输入允许多个合法掩码,不判定为错误;框提示需要整体匹配框内目标。
(文中图19、图20是大量样例插图,说明各种错误情形与分数对应关系。)