![[任何分割] 零镜头分割模型](https://aisholar.s3.ap-northeast-1.amazonaws.com/media/June2024/segment_anything.png)
[任何分割] 零镜头分割模型
三个要点
✔️ 建立一个可在零镜头中执行分割的模型
✔️ 提供一个由 1,100 万张图像和 11 亿个遮罩构建的大型分割数据集
✔️ 实验显示了新图像分布和各种任务的零镜头性能
Segment Anything
written by Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick
(Submitted on 5 Apr 2023)
Comments: Project web-page: this https URL
Subjects: Computer Vision and Pattern Recognition (cs.CV); Artificial Intelligence (cs.AI); Machine Learning (cs.LG)
code:![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
概述
Segment Anything 项目涉及三个要素:任务、模型和数据,目的是利用 Meta 建立图像分割的基础模型。
该项目提供了一个大型分割数据集 SA-1B,该数据集由 1,100 万张图像和 11 亿个遮罩构建而成。此外,还设计并训练了可提示的 "任意分割模型"(Segment Anything Model,SAM),允许零镜头转换到新的图像分布和任务。
通过在下文所述的一些任务中进行实验,对其潜力进行了评估,发现其零镜头性能非常出色。
工作
鉴于 NLP 通过解决标记预测任务预先学习基本模型,并通过提示工程解决各种下游任务,一个与建立图像分割基本模型功能类似的任务就是可提示分割任务。作为一项任务提出。
可提示分割任务的目标是在给出分割提示时返回有效的分割掩码。这里的提示指的是要对图像进行分割的信息,如前景和背景点组合、边界框、分割掩码和自由格式文本。
这里对有效分割掩码的要求是,即使给定的提示模棱两可(如图 1 所示),可以指示多个对象(如全身、上半身和头部),至少其中一个对象可以输出有效的掩码。
图 1 SAM 从单点输出的掩码。
通过提示创建一个可用于各种现有或新的分割任务的模型,是与以往多任务系统的主要区别。多任务系统执行一组固定的任务,如联合分割、实例分割和全视角分割,但训练和测试任务是相同的。为可提示分割任务训练的模型则是更大系统中的元素,可在推理过程中执行不同的新任务。
模型
如图 2 所示,我们提出了一个由图像编码器、提示编码器和掩码解码器三部分组成的可提示分割模型(SAM)。
图 2 "分段什么都做 "模式概览
第一个图像编码器使用的是带有 MAE(屏蔽自动编码器)的预训练 ViT。这种图像编码器每幅图像运行一次,并在提示模型之前应用。
提示编码器将稀疏提示(即点、边界框和文本)与密集提示(即分割掩码)分开。点和框使用位置编码,文本则使用 CLIP 文本编码器编码。掩码使用卷积法嵌入,并对图像嵌入的每个元素求和。
掩码解码器从图像嵌入、文本嵌入和输出标记生成掩码。转换解码器程序经过修改,使用提示自注意和交叉注意双向更新所有嵌入:提示到图像嵌入,反之亦然。采样,MLP(多层感知器)计算每个图像位置的掩码前景概率。
在单个输出的情况下,如果给出的提示模棱两可,模型会对单个提示做出多个掩码预测,因为它会对多个有效掩码进行平均。在一般情况下,我们发现三个掩码输出--整体、部分和更细粒度--就足够了。(见图 1)
数据集
由于互联网上的分割蒙版并不丰富,因此我们建立了一个数据引擎来收集数据。该数据引擎通过三个阶段对图像进行分割掩码标注,分别是手动阶段、半自动阶段和全自动阶段。数据集 SA-1B 由 1,100 万张图像和 11 亿个分割掩码组成,均来自全自动阶段。
在第一人工阶段,专业标注人员使用基于浏览器的交互式分割工具 SAM,通过点击前景和背景对象点来标注遮罩。他们还使用像素精确的笔刷和橡皮擦来增强遮罩。
在这一阶段的开始,SAM 在一个通用的分割数据集上进行训练,一旦数据集得到充分注释,就使用新注释的数据进行再训练,以改进模型。
下一个半自动阶段旨在增加遮罩的多样性,以提高分割能力。首先,自动检测遮罩,然后注释者对未检测到的对象进行额外注释。与第一阶段一样,这一阶段也会进行定期再学习。
在最后一个阶段,注释工作是自动进行的,因为在前几个阶段已经收集了足够的掩码,而且还开发了一个模型,即使在模棱两可的情况下也能预测有效的掩码。该模型可预测 32 x 32 点网格中 1024 个点的有效对象可能对应的掩码。如果该点是一个部分或更精细的部分,模型将尝试输出三种遮罩:整体、部分和更精细的部分。模型的 IoU 预测模块用于选择置信度高且更稳定的掩膜。最后,模型使用 NMS(非最大抑制)来消除重复。
每个阶段使用的图像和掩膜如下表所示。
表 1 每个阶段的图像和注释掩码数量
图像数量 | 面具数量 | |
手动舞台 | 12 万张 | 430 万件。 |
半自动平台 | 180,000 张。 | 590 万件。 |
全自动平台 | 1100 万件。 | 11 亿件 |
试验
实验使用了五种不同的任务。
从单点推断面具的评估。
使用 23 个不同的数据集和不同的图像,评估从单个前景点进行物体分割的效果。评估结果与 RITM 进行了比较。大多数数据集的地面实况并没有列举所有可检测的掩码,因此注释器通过 mIoU 来评估掩码质量,mIoU 是具有预测掩码和地面实况的所有 IoU 的平均值。 在 23 个数据集中,SAM 有 16 个数据集的表现优于 RITM。胜过 RITM。
图 3 SAM 和 RITM 在 23 个不同数据集上的比较
边缘检测
利用 BSDS500 数据集,在边缘检测任务中对 SAM 进行了评估:从一个 16 × 16 的网格中,SAM 预测出 768 个掩码,并通过 NMS 去除多余的掩码。然后通过边缘 NMS 从索贝尔滤波器中计算出边缘图。如图 4 所示,尽管 SAM 没有经过边缘检测训练,但它仍能检测出边缘,包括地面实况中没有的边缘。
图 4 零镜头边缘检测结果(输入图像、地面实况、SAM)。
object proposal
评估在物体检测中发挥重要作用的物体建议任务中的 SAM。我们使用 LVIS 数据集 v1,计算了平均重现率,并在表 2 中将结果与 ViTDet-H 进行了比较。 ViTDet-H 是在 LVIS 上训练出来的,与 SAM 不同不同,因此总体性能更高。不过,在中型和大型物体以及异常物体上,SAM 的表现也优于 ViTDet-H。
表 2 LVIS 数据集的对象建议结果 v1
实例分割
使用 ViTDet 的物体检测边界框作为提示,在 SAM 中进行实例分割:我们使用 COCO 和 LVIS 数据集,将其掩码与 ViTDet 预测的掩码进行比较。表 3 显示,SAM 的掩码 AP 低于 ViTDet。不过,如图 5 所示,与 ViTDet 相比,SAM 往往能生成质量更高、边界更清晰的掩码。从图 6 中还可以看出,在人工评估中,SAM 的表现始终优于 ViTDet。
表 3:实例分割结果
图 5 语义分割检测结果(Grand Truth、ViTDet 和 SAM)。
图 6 人类对面具的评估。
根据文本生成掩码
考虑从自由格式文本中分割的任务。本实验之前使用的是相同的 SAM,但本任务的训练方式是识别文本,而不需要新的文本注释:为每个区域超过 100 像素平方的掩码提取 CLIP 的图像嵌入。然后将训练过程中提取的图像嵌入作为第一次交互提示给 SAM;由于 CLIP 的图像嵌入经过训练与文本嵌入相匹配,因此 SAM 在图像嵌入的基础上进行训练,但使用文本嵌入进行推理。推理使用文本嵌入。这意味着在推理过程中,通过 CLIP 的文本编码器执行文本,并将结果作为提示嵌入到 SAM 中。
图 7 中的结果表明,根据简单的文本(如 "车轮")和短语(如 "海狸的牙齿格栅")进行分段是可行的。即使 SAM 无法仅根据文本提示进行正确的分段,附加点也能让他们修改预测。
图 7 根据文本生成掩码的结果。
摘要
新任务(可提示分割)、新模型(SAM)和新数据集(SA-1B)是 Segment Anything 项目的主要贡献,尽管 SAM 可以用零镜头完成许多任务、虽然 SAM 可以在零拍摄的情况下完成许多任务,但如何设计简单的提示来实现语义和全视角分割尚不清楚。
该论文指出,SAM 是否能获得基本模型的地位将取决于其在社区中的使用情况,但可以看到,自出版以来,它已被纳入各种工具中,预计未来这一趋势将继续下去。
与本文相关的类别