【视觉分割新SOTA|论文解读2】一种最先进的图像分割模型——Segment Anything Model (SAM)模型架构!
【视觉分割新SOTA|论文解读2】一种最先进的图像分割模型——Segment Anything Model (SAM)模型架构!
文章目录
- 【视觉分割新SOTA|论文解读2】一种最先进的图像分割模型——Segment Anything Model (SAM)模型架构!
- 2. Segment Anything Task
- 2.1 任务
- 2.2 预训练
- 2.3 零样本迁移
- 2.4 相关任务
- 2.5 讨论
- 3. Segment Anything Task
- 3.1 图像编码器
- 3.2 提示编码器
- 3.3 掩码解码器
- 3.4 解决歧义
- 3.5 效率
- 3.6 损失函数和训练
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议入口:https://ais.cn/u/mmmiUz
参考链接:https://ai.meta.com/research/publications/segment-anything/
2. Segment Anything Task
我们借鉴了自然语言处理(NLP)的启发,其中通过“下一个词预测”任务进行基础模型的预训练,并通过提示工程解决各种下游任务【10】。为了构建图像分割的基础模型,我们致力于定义一个具有类似能力的任务。
2.1 任务
我们首先将NLP中的提示概念转化为图像分割领域,在此背景下,提示可以是前景/背景点集、大致的框或掩膜、自由文本,或任何指示图像中需要分割对象的信息。因此,提示分割任务的目标是根据任意提示返回一个有效的分割掩膜。“有效”掩膜的要求意味着,即使提示信息存在歧义并可能指向多个对象(例如,T恤与穿T恤的人,参见图3),输出的掩膜至少应合理地对应其中一个对象。这一要求类似于语言模型在面对歧义提示时需要生成连贯的响应。我们选择这个任务,因为它能够自然地引导预训练算法,并通过提示工程为下游分割任务提供零样本迁移能力。
2.2 预训练
提示分割任务为预训练提供了一个自然的算法,模拟为每个训练样本生成一系列提示(例如,点、框、掩膜),并将模型预测的掩膜与真实标签进行对比。我们从交互式分割方法【109, 70】中借鉴了这一方法,但不同于交互式分割最终通过足够的用户输入来预测有效掩膜,我们的目标是始终为任何提示生成有效的掩膜,即使提示信息存在歧义。这确保了预训练的模型在涉及歧义的场景中依然有效,如我们在数据引擎中的自动标注任务§4。我们指出,完成这一任务具有挑战性,需进行专门的模型设计和损失函数选择,详见§3。
2.3 零样本迁移
直观上,我们的预训练任务赋予模型在推理时能够对任意提示做出适当响应的能力,从而可以通过提示工程解决下游任务。例如,如果有一个猫的边界框检测器,则可以通过将该检测器的框输出作为提示输入到我们的模型来完成猫实例分割。实际上,许多实际的分割任务都可以通过提示进行转换。除了自动数据集标注外,我们在§7 的实验中还探索了五个不同的示例任务。
2.4 相关任务
分割是一个广泛的研究领域,涵盖了交互式分割【57, 109】、边缘检测【3】、超像素分割【85】、目标提议生成【2】、前景分割【94】、语义分割【90】、实例分割【66】、全景分割【59】等。我们提出的提示分割任务旨在通过提示工程生成一个具备广泛适应能力的模型,能够应用于许多(尽管不是所有)现有和新兴的分割任务,这种能力体现了任务泛化的特性【26】。需要注意的是,这与之前的多任务分割系统有所不同。**在多任务系统中,单一模型执行固定的一组任务,例如联合语义分割、实例分割和全景分割【114, 19, 54】,但训练和测试任务保持一致。而我们工作的一个重要区别在于,训练用于提示分割的模型在推理时可以通过作为更大系统的组件执行全新的任务。**例如,为了进行实例分割,可以将提示分割模型与现有的目标检测器结合使用。
2.5 讨论
**提示和组合是强大的工具,使得单一模型能够以可扩展的方式应用,甚至完成在模型设计时未曾预见的任务。这种方法类似于其他基础模型的应用方式,**例如,CLIP【82】作为DALL·E【83】图像生成系统中的文本-图像对齐组件。我们预期,依赖提示工程等技术的可组合系统设计将比那些专门为固定任务集训练的系统能够实现更广泛的应用。此外,通过组合的视角对比提示分割与交互式分割也是有意义的:尽管交互式分割模型是为人类用户设计的,训练用于提示分割的模型同样可以作为更大算法系统的一部分,如我们接下来所展示的那样。
3. Segment Anything Task
我们接下来介绍用于提示分割的Segment Anything Model (SAM)。SAM包含三个组成部分,如图4所示:图像编码器、灵活的提示编码器和快速的掩码解码器。我们基于Transformer视觉模型【14, 33, 20, 62】进行构建,并做出一些权衡以实现(摊销的)实时性能。这里对这些组件进行高层次描述,详细内容见§A。
3.1 图像编码器
**出于可扩展性和强大的预训练方法的考虑,**我们采用了MAE【47】预训练的Vision Transformer (ViT)【33】,并进行了最小程度的调整以处理高分辨率输入【62】。图像编码器每张图像运行一次,可以在提示模型前应用。
3.2 提示编码器
我们考虑了两类提示:稀疏提示(点、框、文本)和密集提示(掩码)。稀疏提示通过位置编码【95】与每种提示类型的学习嵌入相加表示,自由文本则通过CLIP【82】中的现成文本编码器进行处理。密集提示(即掩码)通过卷积嵌入,并与图像嵌入进行逐元素相加。
3.3 掩码解码器
**掩码解码器有效地将图像嵌入、提示嵌入和输出token映射为掩码。**此设计受到【14, 20】的启发,采用了修改版的Transformer解码器模块【103】,后接动态掩码预测头。我们修改后的解码器模块使用了提示自注意力和双向交叉注意力(从提示到图像嵌入,反之亦然)来更新所有嵌入。经过两个模块后,我们对图像嵌入进行上采样,并通过MLP将输出token映射到动态线性分类器,随后计算每个图像位置的前景掩码概率。
3.4 解决歧义
当只有一个输出时,模型在遇到模糊提示时会对多个有效掩码取平均值。为解决此问题,我们修改模型使其能够针对单一提示预测多个输出掩码(见图3)。我们发现三个掩码输出足以应对大多数常见情况(嵌套掩码通常最多包含三层:整体、部分、子部分)。在训练过程中,我们仅对损失最小的掩码进行反向传播【15, 45, 64】。为了对掩码进行排序,模型会为每个掩码预测一个置信得分(即估计的IoU)。
3.5 效率
整个模型设计主要考虑了效率。对于预先计算的图像嵌入,提示编码器和掩码解码器可以在网页浏览器中运行,在CPU上耗时约50毫秒。这种运行性能使得模型能够实现无缝的实时交互式提示。
3.6 损失函数和训练
我们通过线性组合focal loss【65】和dice loss【73】来监督掩码预测,这些损失函数已在【14】中使用。我们通过几何提示的混合训练提示分割任务(关于文本提示,见§7和5)。参考【92, 37】,我们通过随机采样每个掩码的11轮提示,模拟了一个交互式设置,使得SAM可以无缝集成到我们的数据引擎中。
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议入口:https://ais.cn/u/mmmiUz