SAM(2023)-分割万物

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


论文: 《Segment Anything》
github: https://github.com/facebookresearch/segment-anything

摘要

作者构建到目前为止最大分割数据集,包括1billion mask及11M image,该模型训练过程是可提示的,所有可以进行zero-shot任务,甚至超越之前全监督结果。

算法

SAM(2023)-分割万物

SAM结构如图4,包括:图像编码器、灵活的prompt编码器、mask解码器
Image encoder:
使用MAE预训练的ViT

Prompt encoder:
prompt分为两种:sparse (points, boxes, text) and dense (masks)。使用位置编码与可学习embedding相加表征points及boxes,使用clip中文本编码器编码text;对于稠密prompt(masks),使用卷积embedding并与image embedding逐像素相加。

Mask decoder:
映射image embedding、prompt embedding、output token至mask。Transformer decoder跟随一个动态mask预测头,decoder block使用prompt self-attention及cross-attention(prompt2img、img2prompt)更新所有embedding。两个block结束后上采样image embedding,通过MLP映射output token至动态线性分类器,计算每个像素前景概率。

Resolving ambiguity:
仅有一个输出,对于模棱两可prompt,模型将平均多个有效mask。为解决此问题,对于一个prompt,作者进行预测多个输出,如图3.分为三个层级:whole、part、subpart。训练过程中仅反向传播最小loss。为了对mask排序,模型对每个mask预测置信度得分(比如估计IoU)
SAM(2023)-分割万物

Efficiency:
给出处理过的image embedding,在web浏览器prompt encoder及mask encoder运行在50ms内,达到实时交互。

Losses and training:
作者使用focal loss与dice loss的线性结合监督预测mask。作者使用混合prompt训练提示性分割任务,每个mask中随机采样11轮prompt来模拟交互,使 SAM能够无缝集成到数据引擎中。

数据引擎

数据引擎有三个阶段:
1、模型辅助的人工标注;
2、自动化预测mask及模型辅助标注;
3、模型生成mask,无需人工;

Assisted-manual stage
借助基于SAM的交互分割工具,人工点击前景或背景目标点进行标注mask。仅标注能够命名及描述的目标,无需收集这些文本信息,按照重要性进行顺序标定目标。
该阶段的SAM使用开源分割数据集训练,当收集足够多数据后,使用新标注数据训练。锁着数据的收集,image encoder逐渐扩大,作者训练了6次模型,每个mask标注耗时从34秒下降到14秒**。该过程收集了4.3M mask及120k image**。

Semi-automatic stage
为了增加模型分割万物的能力,让标注者关注不太重要目标,即模型未预测mask。该阶段收集5.9M mask及180k image

Fully automatic stage
该阶段标注可完全自动化,归因于模型的两个强化点:收集足够多的mask改进模型;关注模棱两可目标的模型,使用32*32个网格点,每个点预测一系列有效目标相关的mask。

实验

7.1 零样本单点生成mask

SAM(2023)-分割万物

真值mask在所有数据集上并未全部标注,因此原始评估结果不可信,作者补充标准mIoU评估方案,其中标注者对mask质量进行打分。
在23个数据集上,使用常规评估方案mIoU,SAM与RITM结果对比如图9a,SAM在16个数据集超越RITM,如果选用最相关的3个mask,而不是置信度最高的mask,性能够将全部超越RITM,如图9a中圆点所示,说明模棱两可目标对评估方案影响。
图9b展示标注人员对mask人工评分结果
图9c展示选取目标中心点,SimpleClick、FocalClick、RITM及SAM结果。
图9d展示随机选取点生成mask效果。

7.2 零样本边缘检测

使用16*16个规则网格前景点提示SAM生成768个预测mask,通过NMS除去多余mask,利用Soble算子计算边缘map。可视化结果如图10,
SAM(2023)-分割万物
在BSDS500数据集实验结果如表3。
SAM(2023)-分割万物

7.3. 零样本目标Proposals

以SAM输出mask作为proposal,最大1000个进行评估,实验结果如表4,ViTDet-H整体效果最佳,但是其在LVIS数据集训练过
SAM(2023)-分割万物

7.4. 零样本实例分割

通过目标检测器(ViTDet)生成预测框,以此提示SAM输出mask。实验结果如表5,SAM比ViTDet效果略差,但SAM未在该数据集训练
SAM(2023)-分割万物

7.5. 零样本文本生成Mask

SAM训练过程作者进行更改使其关注文本。具体地:对于100*100以上mask,使用CLIP提取image embedding,训练过程中使其提示SAM,因此推理时可使用CLIP文本embedding进行提示SAM生成mask。【个人认为不合理,image embedding与text embedding之间存在gap,因此效果不佳】
实验结果如图12,对于一些prompt难以分割正确目标,需要增加point辅助。
SAM(2023)-分割万物

7.6. 消融实验

SAM(2023)-分割万物
图13左展示仅使用自动标注数据比三阶段逐步训练效果低0.5,但训练复杂度降低
图13中展示数据规模影响,使用SA-1B数据集10%数据训练与全量训练效果相当;
图13右展示图像编码器使用VIT-H改善明显。

讨论

基础模型新范式:在大规模数据集训练,自适应小规模数据集下游任务;

限制:

  1. SAM泛化性不足;
  2. 由于复杂image encoder原因SAM无法做到实时;
  3. 文本引导mask仅进行初步探索,不够鲁棒;
  4. 目前还不清楚如何设计简单提示实现语义及全景分割;

结论:

SAM是语义分割基础模型时代的一次尝试;
本文贡献主要为:文章来源地址https://www.toymoban.com/news/detail-426590.html

  1. 一个新任务:提示性分割;
  2. 模型:SAM
  3. 数据集:SA-1B

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

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

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

相关文章

  • 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】- Meta 开源万物可分割 AI 模型

    论文地址1 论文地址2 项目地址 Demo 地址 SA-1B数据集 参考链接 论文翻译 展望未来 Meta 在论文中发布的新模型名叫 Segment Anything Model (SAM) 。 如标题所述,这篇论文只做了一件事情:(零样本)分割一切。类似 GPT-4 已经做到的「回答一切」。 将 NLP 的 prompt 范式引入了 CV 领域,

    2023年04月20日
    浏览(48)
  • Meta的分割一切模型SAM( Segment Anything )测试

    Meta不久前开源发布了一款图像处理模型,即分割一切模型:Segment Anything Model,简称 SAM,号称要从任意一张图片中分割万物,源码地址为: 打开后看到目录结构大概这样: 一般一个开源项目中都会有项目介绍和示例代码。本示例中的文件 README.md 即为项目概况介绍,主要说明

    2023年04月27日
    浏览(51)
  • 【Python&语义分割】Segment Anything(SAM)模型介绍&安装教程

    1.1 概况         Meta AI 公司的 Segment Anything 模型是一项革命性的技术,该模型能够根据文本指令或图像识别,实现对任意物体的识别和分割。这一模型的推出,将极大地推动计算机视觉领域的发展,并使得图像分割技术进一步普及化。         论文地址:https://arxiv.org/

    2024年02月05日
    浏览(55)
  • Segment Anything论文详解(SAM)

    论文名称:Segment Anything 论文地址:https://arxiv.org/abs/2304.02643 开源地址:https://github.com/facebookresearch/segment-anything demo地址: Segment Anything | Meta AI 主要贡献:开发一个可提示的图像分割的基础模型,在一个广泛的数据集上预训练,解决新数据分布上的一系列下游分割问题 1. In

    2024年02月06日
    浏览(49)
  • Segment Anything Model (SAM)——分割一切,具有预测提示输入的图像分割实践

    不得不说,最近的AI技术圈很火热,前面的风头大都是chatGPT的,自从前提Meta发布了可以分割一切的CV大模型之后,CV圈也热起来了,昨天只是初步了解了一下SAM,然后写了一篇基础介绍说明的博客,早上一大早起来已经有2k左右的阅读量了。  我果断跑去官方项目地址看下:

    2023年04月19日
    浏览(64)
  • 【Python&语义分割】Segment Anything(SAM)模型全局语义分割代码+掩膜保存(二)

    我上篇博文分享了Segment Anything(SAM)模型的基本操作,这篇给大家分享下官方的整张图片的语义分割代码(全局),同时我还修改了一部分支持掩膜和叠加影像的保存。 1.1 概况         Meta AI 公司的 Segment Anything 模型是一项革命性的技术,该模型能够根据文本指令或图像

    2024年02月03日
    浏览(54)
  • 【计算机视觉 | 目标检测 | 图像分割】Grounded Segment Anything:Grounding DINO + Segment Anything Model (SAM)介绍

    集成SAM,可以通过文本提示做检测/分割等任务。 我们计划通过结合 Grounding DINO 和 Segment Anything 来创建一个非常有趣的演示,旨在通过文本输入检测和分割任何内容! 并且我们会在此基础上不断完善它,创造出更多有趣的demo。 我们非常愿意帮助大家分享和推广基于Segment-A

    2024年02月04日
    浏览(50)
  • 【Python&语义分割】Segment Anything(SAM)模型详细使用教程+代码解释(一)

    1.1 概况         Meta AI 公司的 Segment Anything 模型是一项革命性的技术,该模型能够根据文本指令或图像识别,实现对任意物体的识别和分割。这一模型的推出,将极大地推动计算机视觉领域的发展,并使得图像分割技术进一步普及化。         论文地址:https://arxiv.org/

    2024年02月05日
    浏览(51)
  • 【多模态】14、Segment Anything | Meta 推出超强悍可分割一切的模型 SAM

    论文:Segment Anything 官网:https://segment-anything.com/ 代码:https://github.com/facebookresearch/segment-anything 出处:Meta、FAIR 时间:2023.04.05 贡献点: 首次提出基于提示的分割任务,并开源了可以分割一切的模型 SAM 开源了一个包含 1100 万张图像(约包含 10 亿 masks)的数据集 SA-1B,是目前

    2024年02月16日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包