segment anything(sam)
Segment Anything
- 论文:《Segment Anything》
- 链接:https://arxiv.org/pdf/2304.02643.pdf
- 模型链接:Segment Anythingsegment-anything.com/
- 机构:Meta
- 来源:ICCV-2023
- 目标:构建一个用于图像分割的基础模型,通过设计一个Prompt输入可以实现新视觉概念和数据分布的零样本泛化。开发一个可提示的模型,并在广泛的语料库这通过一种能够实现强大泛化能力的任务进行预训练。借助该模型,可以通过提示工程解决一系列下游分割任务,在新的数据分布上实现应用。
- 这个Prompt可以是一个(文本提示,mask
图,坐标框,点图),用于确定所谓感兴趣区域(ROI,regions of interest)
- 什么任务能够实现零样本泛化?
- 对应的模型架构是什么?
- 什么数据可以赋能这个任务和模型?
任务
提示词学习(Prompt Learning)是一种有前景的方式,能够通过Prompt技术实现新数据集和新任务的零样本和少样本学习。提出一个可提示分割任务,目标是——更具任意的分割提示词返回一个有效的mask,一个Prompt指明图像中需要分割的内容。Prompt是模糊,并可能指向多个对象,输出也至少是一个对象的合理掩码。
模型
SAM更倾向于训练到一个类似LLM这样的能够用于下游任务微调的可提示模型,同时希望模型能够用于实时服务中,选择了Encoder-Decoder的比较主流的结构,encoder包含独立的两个部分,分别为提示encoder和图像encoder,生成深度内容后一同传入decoder推理计算,得到最终的分割结果
数据引擎
构建了一套数据引擎解决缺乏大规模数据源的问题,动态使用模型进行数据收集,并利用新采集数据来改善模型的迭代。将模型和“模型在循环的数据集标注”共同开发,如图1-c,包括三个阶段:
- 辅助人工,进行掩码标注,类似交互式分割设置。
- 半自动,通过提示可能的物体位置自动生成掩码,标注人员标注剩余物体
- 全自动,使用SAM标注每张图~100个高质量掩码
数据集
最终的数据集包括10亿个mask,来自1100w图像。是使用数据引擎标注的,mask数量比任何现有数据集多出400倍。具有高质量和多样性。对构建新基础模型的研究人员具有价值。
公平和非歧视
SA-1B对于不同人群和国家表现相似。希望这项工作为实际应用场景带来更加公平的结果。
具体实现方法
- 给出的Prompt可能是模糊的。如给出一个模糊的点Prompt提示,可能会出现多种合法的mask。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.




