Segment Anything论文详解(SAM)

这篇具有很好参考价值的文章主要介绍了Segment Anything论文详解(SAM)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文名称:Segment Anything

论文地址:https://arxiv.org/abs/2304.02643

开源地址:https://github.com/facebookresearch/segment-anything

demo地址:Segment Anything | Meta AI

主要贡献:开发一个可提示的图像分割的基础模型,在一个广泛的数据集上预训练,解决新数据分布上的一系列下游分割问题

1. Introduction

Segment Anything论文详解(SAM)1.1 任务

通过使用‘prompt’技术对新的数据集和任务执行zero shot和few shot学习受到启发,提出可交互式图像分割模型,目标是在给定任何分割提示下返回一个有效的分割掩码(见图1a)。提示只是指定要在图像中分割的内容,可以有效的输出,即使提示是模棱两可的,可以指多个对象,输出应该是一个合理的至少一个对象的mask。使用提示分割任务作为训练前的目标,并通过提示工程来解决一般的下游分割任务。

1.2 模型

提示词编码器嵌入提示+图像编码器计算图像嵌入+轻量级掩码解码器中来预测分割掩码=Segment Anything,SAM(见图1b)。通过将SAM分离为一个图像编码器和一个快速提示编码器/掩码解码器,相同的图像嵌入可以用不同的提示被重用。给定一个图像嵌入,提示编码器和掩码解码器在web浏览器中以50毫秒的提示预测掩码。关注点、框和掩码提示,并使用自由形式的文本提示显示初始结果。

1.3 数据

数据用于模型训练,模型检测未知数据,构建一个“数据引擎”。在第一阶段,SAM协助注释器对掩码进行注释,类似于经典的交互式分割设置。在第二阶段,SAM可以通过提示可能的对象位置来为对象子集自动生成掩码,注释器专注于对其余对象的注释,帮助增加掩码的多样性。在最后一个阶段,我们用一个规则的前景点网格提示SAM,平均每张图像产生100个高质量的掩模。最终得到1100万张授权的图片上有超过10亿个尊重隐私的掩码数据。

2. Segment Anything Task

2.1 任务
首先将提示的想法从 NLP 转换为分割,其中提示可以是一组前景/背景点、粗略框或掩码、自由形式的文本,或者任何指示图像中分割什么的信息。根据提示返回一个有效的分割掩码。“有效”意味着,即使提示模棱两可,可以引用多个对象(例如衬衫与人的例子),输出也至少是其中一个合理的掩码。类似于期望一个语言模型对一个模糊的提示输出一个一致的响应。该任务导向了一种自然的预训练算法和一种通过提示将zero shot 转移到下游分割任务的通用方法。

2.2 预训练

可提示的分割任务提出了一种自然的预训练算法,该算法模拟每个训练样本的一系列提示(例如,点、框、掩码),并将模型的掩码预测与基本事实进行比较。我们采用交互分割的方法,与旨在最终在足够的用户输入后预测有效掩码的交互分割不同,我们的目标是始终为任何提示预测有效的掩码,即使提示不明确。这确保了预训练模型在涉及歧义的用例中是有效的,包括数据引擎所需的自动注释。

2.3 zero shot transfer

预训练任务赋予模型在推理时对任何提示做出适当反应的能力,因此下游任务可以通过工程适当的提示来解决。例如,如果一个有猫的目标检测器,则可以通过提供检测框输出作为我们模型的提示来解决猫实例分割。一般来说,广泛的实用分割任务可以被视为提示。

2.4 相关任务

分割是一个广泛的领域:交互式分割,边缘检测,超像素化,目标区域生成,前景分割,语义分割,实例分割,全景分割等。我们的可提示分割任务的目标是建立一种能力广泛的模型,可以通过提示工程适应许多(尽管不是全部)现有和新的分割任务该能力是任务泛化的一种形式。不同于多任务系统(单个模型执行一组固定的任务,如联合语义、实例和全光分割,训练和测试任务相同),我们的可提示分割的模型,可以作为一个更大的系统中的一个组件,在推理时执行一个新的、不同的任务,例如,执行实例分割,一个可提示分割模型与现有的目标检测器相结合。

2.5讨论
提示和组合是一种强大的工具,它使单个模型能够以可扩展的方式使用,并有可能完成在模型设计时未知的任务。类似于其他基础模型的使用方式,例如,CLIP如何使DALL·E图像生成系统的文本-图像对齐组件。

3. Segment Anything Model

SAM有三个组件,如图4所示:图像encoder、灵活的提示encoder和快速掩码decoder。我们建立在Vision Transformer上,对实时性能进行特定的权衡。如图

Segment Anything论文详解(SAM)3.1 图像编码器

基于可扩展和强大的预训练方法,我们使用MAE预训练的ViT,最小限度地适用于处理高分辨率输入。图像编码器对每张图像运行一次,在提示模型之前进行应用。

3.2 提示编码器

考虑两组提示:稀疏(点、框、文本)和密集(掩码)。通过位置编码来表示点和框,并将对每个提示类型的学习嵌入和自由形式的文本与CLIP中的现成文本编码相加。密集的提示(即掩码)使用卷积进行嵌入,并通过图像嵌入进行元素求和。

3.3 掩码解码器

掩码解码器有效地将图像嵌入、提示嵌入和输出token映射到掩码。该设计的灵感来自于DETR,采用了对(带有动态掩模预测头的)Transformer decoder模块的修改。

3.4 解决歧义

对于一个输出,如果给出一个模糊的提示,该模型将平均多个有效的掩码。为了解决这个问题,我们修改了模型,以预测单个提示的多个输出掩码(见下图,绿色点为输入的提示点)。我们发现3个掩模输出足以解决大多数常见的情况(嵌套掩模通常最多有三个深度:整体、部分和子部分)。在训练期间,我们只支持mask上的最小损失[匈牙利损失]。为了对掩码进行排名,该模型预测了每个掩码的置信度分数(即估计的IoU)

4. SAM Data engine

4.1 模型辅助手动注释阶段

4.2 包含自动预测掩码和模型辅助注释的半自动化阶段

4.3全自动阶段

5. 数据集

1100万张新图产生了1.1B个mask

7. Zero-Shot Transfer Experiments(熟悉的名称他来了)

7.1 zero shot 单点有效掩模评估

任务:评估从单个前景点分割一个对象,因为一个点可以指代多个对象。大多数数据集中的标签掩码不会枚举所有可能的掩码,这可能会使自动度量不可靠。因此,我们补充了标准mIoU度量(即预测和标签掩模之间的所有IoU的平均值),在该研究中,注释者将掩码质量从1(无意义)评级到10(像素完美)。

数据集:使用一套新编译的23个具有不同图像分布的数据集,来进行mIoU评估

7.2 zero shot 目标 proposal

接下来,我们评估了SAM在对象提案生成的中级任务上的作用。这项任务在目标检测研究中发挥了重要的作用,作为开创性系统的中间步骤。为了生成对象建议,我们运行一个稍微修改的自动掩码生成管道的版本,并将掩码输出为提案。
我们计算了LVIS v1 上的标准平均召回率(AR)度量。我们关注LVIS,因为它的大量类别是一个具有挑战性的测试。我们与作为ViTDet 检测器(带有级联掩模R-CNN ViT-H)实现的强基线进行了比较。

SAM在中型和大型物体以及稀有和普通物体上都优于ViTDet-H,在小对象和频繁对象上的表现低于ViTDet-H,其中ViTDet-H可以很容易地学习LVIS特定的注释偏差,因为它是在LVIS上训练的。我们还比较了消融的模糊模糊版本的SAM,它在所有AR指标上的表现都明显低于SAM。

7.3 zero shot 文本到掩码

最后,我们考虑一个更高层次的任务:从自由形式的文本中分割对象。这个实验证明了SAM处理文本提示的能力。SAM的训练过程被修改以使其能够感知文本,但其方式不需要新的文本注释。具体来说,对于每个手动收集的面积大于1002的掩模,我们提取了CLIP图像嵌入。然后,在训练过程中,我们将提取的CLIP图像嵌入作为第一次交互,提示SAM。这里的关键观察结果是,由于CLIP的图像嵌入被训练成与文本嵌入对齐,所以我们可以使用图像嵌入进行训练,但要使用文本嵌入进行推理。也就是说,在推理时,我们通过CLIP的文本编码器运行文本,然后将生成的文本嵌入作为提示符提供给SAM。当SAM不能仅从文本提示中选择正确的对象时,一个额外的点提示可以提供帮助。

Segment Anything论文详解(SAM)

 8.总结

目标检测and分割什么的已经到顶了,研究点别的吧哈哈哈



 文章来源地址https://www.toymoban.com/news/detail-459575.html

到了这里,关于Segment Anything论文详解(SAM)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文阅读】Segment Anything(SAM)——可分割一切的CV大模型

    【前言】随着ChatGPT席卷自然语言处理,Facebook凭借着Segment Anything在CV圈也算扳回一城。迄今为止,github的star已经超过3万,火的可谓一塌糊涂。作为AI菜鸟,可不得自己爬到巨人肩膀上瞅一瞅~ 论文地址:https://arxiv.org/abs/2304.02643 代码地址:GitHub - facebookresearch/segment-anything: T

    2024年02月15日
    浏览(44)
  • 【自用】SAM模型论文笔记与复现代码(segment-anything-model)

    一个 prompt encoder ,对提示进行编码, image encoder 对图像编码,生成embedding, 最后融合2个 encoder ,再接一个轻量的 mask decoder ,输出最后的mask。 模型结构示意图: 流程图: 模型的结构如上图所示. prompt会经过 prompt encoder , 图像会经过 image encoder 。然后将两部分embedding经过一个

    2024年01月24日
    浏览(46)
  • Segment Anything论文翻译,SAM模型,SAM论文,SAM论文翻译;一个用于图像分割的新任务、模型和数据集;SA-1B数据集

    论文链接: https://arxiv.org/pdf/2304.02643.pdf https://ai.facebook.com/research/publications/segment-anything/ 代码连接:https://github.com/facebookresearch/segment-anything 论文翻译: http://t.csdn.cn/nnqs8 https://blog.csdn.net/leiduifan6944/article/details/130080159 本文提出Segment Anything (SA)项目:一个用于图像分割的新任务

    2023年04月19日
    浏览(51)
  • 【论文阅读笔记】Sam3d: Segment anything model in volumetric medical images[

    Bui N T, Hoang D H, Tran M T, et al. Sam3d: Segment anything model in volumetric medical images[J]. arXiv preprint arXiv:2309.03493, 2023.【开源】 本文提出的SAM3D模型是针对三维体积医学图像分割的一种新方法。其核心在于将“分割任何事物”(SAM)模型的预训练编码器与一个轻量级的3D解码器相结合。与

    2024年01月20日
    浏览(45)
  • 【论文笔记】SAM3D: Zero-Shot 3D Object Detection via Segment Anything Model

    原文链接:https://arxiv.org/pdf/2306.02245.pdf   分割一切模型(SAM)作为视觉领域的基石模型,有强大的泛化性,能解决很多2D视觉问题。但是SAM是否可以适用于3D视觉任务,仍需要被探索。   目前几乎没有关于3D目标检测的零样本学习,如何使SAM的零样本能力适用于3D目标检测

    2024年02月16日
    浏览(40)
  • 使用Segment Anything(SAM)模型进行自动标注

    1.下载项目 项目1:https://github.com/zhouayi/SAM-Tool 项目2:https://github.com/facebookresearch/segment-anything 下载 SAM 模型:https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth 2.把数据放置在 dataset_path/images/* 这样的路径中,并创建空文件夹 dataset_path/embeddings 3.将项目1中的 helpers 文件夹复

    2024年02月04日
    浏览(55)
  • 图像分割之SAM(Segment Anything Model)

    论文:Segment Anything Github:https://github.com/facebookresearch/segment-anything 论文从zero-shot主干网络的基础出发,提出了SAM(Segment Anything Model)模型。该模型有别于传统的分割模型。传统分割模型只能输入原图输出固定的分割结果,SAM在设计上可以同时输入原图和特定提示(点、框、

    2024年02月07日
    浏览(54)
  • SAM(segment anything model)本地部署复现

    源码位置:https://github.com/facebookresearch/segment-anything 或者 直接下载,解压到当前文件夹,并把解压出的文件夹名字改成segment-anything 1、进入segment-anything文件夹 2、安装 3、安装其他依赖 4、下载模型文件到segment-anything文件夹内 default or vit_h: vit_l: vit_b: 5、下载数据集 或者用自己

    2024年02月11日
    浏览(50)
  • Segment Anything(SAM)全图分割做mask

    项目的源码和模型下载以及环境配置等可参考我的上一篇文章,这里不再赘述。  文章链接:https://blog.csdn.net/m0_63604019/article/details/130221434 在项目中创建一个名为segment-everything.py的文件,文件中写入如下代码: 然后右键点击【Run \\\'segment-everyting\\\'】运行segment-everyting.py文件,运

    2024年02月10日
    浏览(48)
  • 【模型解读】【代码复现】Segment Anything Model(SAM)

    Segment Anything Model论文 Segment Anything Model官网 Segment Anything Model官网demo网页端 Segment Anything Model模型源码 SAM应用:生成包含语义信息的遥感图像分割结果 We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we bu

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包