首页 > 其他分享 >小模型也可以「分割一切」,Meta改进SAM,参数仅为原版5%

小模型也可以「分割一切」,Meta改进SAM,参数仅为原版5%

时间:2023-12-08 13:46:06浏览次数:31  
标签:编码器 SAM SAMI EfficientSAM Meta ViT 图像 5%

前言 Segment Anything 的关键特征是基于提示的视觉 Transformer(ViT)模型,该模型是在一个包含来自 1100 万张图像的超过 10 亿个掩码的视觉数据集 SA-1B 上训练的,可以分割给定图像上的任何目标。这种能力使得 SAM 成为视觉领域的基础模型,并在超出视觉之外的领域也能产生应用价值。尽管有上述优点,但由于 SAM 中的 ViT-H 图像编码器有 632M 个参数(基于提示的解码器只需要 387M 个参数),因此实际使用 SAM 执行任何分割任务的计算和内存成本都很高,这对实时应用来说具有挑战性。后续,研究者们也提出了一些改进策略:将默认 ViT-H 图像编码器中的知识提炼到一个微小的 ViT 图像编码器中,或者使用基于 CNN 的实时架构降低用于 Segment Anything 任务的计算成本。在最近的一项研究中,Meta 研究者提出了另外一种改进思路 ——利用 SAM 的掩码图像预训练 (SAMI)。这是通过利用 MAE 预训练方法和 SAM 模型实现的,以获得高质量的预训练 ViT 编码器。

本文转载自机器之心

仅用于学术分享,若侵权请联系删除

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!

动图封面  

Meta四月份发布的「分割一切模型(SAM)」效果,它能很好地自动分割图像中的所有内容

这一方法降低了 SAM 的复杂性,同时能够保持良好的性能。具体来说,SAMI 利用 SAM 编码器 ViT-H 生成特征嵌入,并用轻量级编码器训练掩码图像模型,从而从 SAM 的 ViT-H 而不是图像补丁重建特征,产生的通用 ViT 骨干可用于下游任务,如图像分类、物体检测和分割等。然后,研究者利用 SAM 解码器对预训练的轻量级编码器进行微调,以完成任何分割任务。

为了评估该方法,研究者采用了掩码图像预训练的迁移学习设置,即首先在图像分辨率为 224 × 224 的 ImageNet 上使用重构损失对模型进行预训练,然后使用监督数据在目标任务上对模型进行微调。

通过 SAMI 预训练,可以在 ImageNet-1K 上训练 ViT-Tiny/-Small/-Base 等模型,并提高泛化性能。对于 ViT-Small 模型,研究者在 ImageNet-1K 上进行 100 次微调后,其 Top-1 准确率达到 82.7%,优于其他最先进的图像预训练基线。

研究者在目标检测、实例分割和语义分割上对预训练模型进行了微调。在所有这些任务中,本文方法都取得了比其他预训练基线更好的结果,更重要的是在小模型上获得了显著收益。

论文作者 Yunyang Xiong 表示:本文提出的 EfficientSAM 参数减少了 20 倍,但运行时间快了 20 倍,只与原始 SAM 模型的差距在 2 个百分点以内,大大优于 MobileSAM/FastSAM。

在 demo 演示中,点击图片中的动物,EfficientSAM 就能快速将物体进行分割:

动图封面  

EfficientSAM 还能准确标定出图片中的人:

动图封面  

试玩地址:https://ab348ea7942fe2af48.gradio.live/

 

方法

EfficientSAM 包含两个阶段:1)在 ImageNet 上对 SAMI 进行预训练(上);2)在 SA-1B 上微调 SAM(下)。

EfficientSAM 主要包含以下组件:

交叉注意力解码器:在 SAM 特征的监督下,本文观察到只有掩码 token 需要通过解码器重建,而编码器的输出可以在重建过程中充当锚点(anchors)。在交叉注意力解码器中,查询来自于掩码 token,键和值源自编码器的未掩码特征和掩码特征。本文将来自交叉注意力解码器掩码 token 的输出特征和来自编码器的未掩码 token 的输出特征进行合并,以进行 MAE 输出嵌入。然后,这些组合特征将被重新排序到最终 MAE 输出的输入图像 token 的原始位置。

线性投影头。研究者通过编码器和交叉注意力解码器获得的图像输出,接下来将这些特征输入到一个小型项目头(project head)中,以对齐 SAM 图像编码器中的特征。为简单起见,本文仅使用线性投影头来解决 SAM 图像编码器和 MAE 输出之间的特征维度不匹配问题。

重建损失。在每次训练迭代中,SAMI 包括来自 SAM 图像编码器的前向特征提取以及 MAE 的前向和反向传播过程。来自 SAM 图像编码器和 MAE 线性投影头的输出会进行比较,从而计算重建损失。

经过预训练,编码器可以对各种视觉任务的特征表示进行提取,而且解码器也会被废弃。特别是,为了构建用于分割任何任务的高效 SAM 模型,本文采用 SAMI 预训练的轻量级编码器(例如 ViT-Tiny 和 ViT-Small)作为 EfficientSAM 的图像编码器和 SAM 的默认掩码解码器,如图所示 2(底部)。本文在 SA-1B 数据集上对 EfficientSAM 模型进行微调,以实现分割任何任务。

 

实验

图像分类。为了评估本文方法在图像分类任务上的有效性,研究者将 SAMI 思想应用于 ViT 模型,并比较它们在 ImageNet-1K 上的性能。

如表 1 将 SAMI 与 MAE、iBOT、CAE 和 BEiT 等预训练方法以及 DeiT 和 SSTA 等蒸馏方法进行了比较。

SAMI-B 的 top1 准确率达到 84.8%,比预训练基线、MAE、DMAE、iBOT、CAE 和 BEiT 都高。与 DeiT 和 SSTA 等蒸馏方法相比,SAMI 也显示出较大的改进。对于 ViT-Tiny 和 ViT-Small 等轻量级模型,SAMI 结果与 DeiT、SSTA、DMAE 和 MAE 相比有显著的增益。

目标检测和实例分割。本文还将经过 SAMI 预训练的 ViT 主干扩展到下游目标检测和实例分割任务上,并将其与在 COCO 数据集上经过预训练的基线进行比较。如表 2 所示, SAMI 始终优于其他基线的性能。

这些实验结果表明,SAMI 在目标检测和实例分割任务中所提供的预训练检测器主干非常有效。

语义分割。本文进一步将预训练主干扩展到语义分割任务,以评估其有效性。结果如表 3 所示,使用 SAMI 预训练主干网的 Mask2former 在 ImageNet-1K 上比使用 MAE 预训练的主干网实现了更好的 mIoU。这些实验结果验证了本文提出的技术可以很好地泛化到各种下游任务。

表 4 将 EfficientSAMs 与 SAM、MobileSAM 和 SAM-MAE-Ti 进行比较。在 COCO 上,EfficientSAM-Ti 的性能优于 MobileSAM。EfficientSAM-Ti 具有 SAMI 预训练权重,也比 MAE 预训练权重表现更好。

此外, EfficientSAM-S 在 COCO box 仅比 SAM 低 1.5 mIoU,在 LVIS box 上比 SAM 低 3.5 mIoU,参数减少了 20 倍。本文还发现,与 MobileSAM 和 SAM-MAE-Ti 相比,EfficientSAM 在多次点击(multiple click)方面也表现出了良好的性能。

表 5 展示了零样本实例分割的 AP、APS、APM 和 APL。研究者将 EfficientSAM 与 MobileSAM 和 FastSAM 进行了比较,可以看到,与 FastSAM 相比,EfficientSAM-S 在 COCO 上获得了超过 6.5 个 AP,在 LVIS 上获得了 7.8 个 AP。就 EffidientSAM-Ti 而言,仍然远远优于 FastSAM,在 COCO 上为 4.1 个 AP,在 LVIS 上为 5.3 个 AP,而 MobileSAM 在 COCO 上为 3.6 个 AP,在 LVIS 上为 5.5 个 AP。

而且,EfficientSAM 比 FastSAM 轻得多,efficientSAM-Ti 的参数为 9.8M,而 FastSAM 的参数为 68M。

图 3、4、5 提供了一些定性结果,以便读者对 EfficientSAMs 的实例分割能力有一个补充性了解。

 

 

更多研究细节,可参考原论文。

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

分享一个CV知识库,上千篇文章、专栏,CV所有资料都在这了

明年毕业,还不知道怎么做毕设的请抓紧机会了

LSKA注意力 | 重新思考和设计大卷积核注意力,性能优于ConvNeXt、SWin、RepLKNet以及VAN

CVPR 2023 | TinyMIM:微软亚洲研究院用知识蒸馏改进小型ViT

ICCV2023|涨点神器!目标检测蒸馏学习新方法,浙大、海康威视等提出

ICCV 2023 Oral | 突破性图像融合与分割研究:全时多模态基准与多交互特征学习

听我说,Transformer它就是个支持向量机

HDRUNet | 深圳先进院董超团队提出带降噪与反量化功能的单帧HDR重建算法

南科大提出ORCTrack | 解决DeepSORT等跟踪方法的遮挡问题,即插即用真的很香

1800亿参数,世界顶级开源大模型Falcon官宣!碾压LLaMA 2,性能直逼GPT-4

SAM-Med2D:打破自然图像与医学图像的领域鸿沟,医疗版 SAM 开源了!

GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR

Meta推出像素级动作追踪模型,简易版在线可玩 | GitHub 1.4K星

CSUNet | 完美缝合Transformer和CNN,性能达到UNet家族的巅峰!

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

标签:编码器,SAM,SAMI,EfficientSAM,Meta,ViT,图像,5%
From: https://www.cnblogs.com/wxkang/p/17886957.html

相关文章

  • AMD 锐龙5 7500F VS. Intel 酷睿i5-14600K对比:整机价格相差2000 游戏性能基本持平
    一、前言:ITX主机是该选Intel还是AMD平台?时代在进步,随着机械硬盘逐渐淡出主流市场,再加上主板的集成度越来越高,ATX机箱早已不是刚需。相反,越来越多的人开支搭建自己喜欢的ITX平台,而一台高颜值的ITX主机放在书桌上,也是一道亮丽的风景线。当然,受限于散热能力,ITX主机需要合理的控制......
  • 【THM】Metasploit: Meterpreter
    Meterpreter简介Meterpreter是一种Metasploit上的有效负载(payload),它通过许多有价值的组件支持渗透测试过程。Meterpreter将在目标系统上运行并充当命令和控制架构中的代理。使用Meterpreter时,你将与目标操作系统和文件进行交互,并能使用Meterpreter的专用命令。Meterpreter......
  • [ABC254Ex] Multiply or Divide by 2
    [ABC254Ex]MultiplyorDivideby2题意:给定大小为$n$的集合$A$和$B$,你可以对集合$A$中的元素$a_i$进行两种操作,分别为$a_i\leftarrow\lfloor\dfrac{a_i}{2}\rfloor$,和$a_i\leftarrowa_i\times2$。你需要操作集合$A$直至集合$A,B$完......
  • Power BI - 5分钟学习拆分列
    每天5分钟,今天介绍PowerBI拆分列功能。什么是拆分列?有时导入PowerBI的数据表中,某列内容都包含同样的特殊字符如@/&/-/_等,可以利用这个特殊字符进行拆分列的操作,获得我们想要的信息。操作举例:首先,导入一张【Sales】样例表(Excel数据源导入请参考每天5分钟第一天)。样例列内容......
  • Paper Reading: Oversampling with Reliably Expanding Minority Class Regions for I
    目录研究动机研究背景研究目的文章贡献本文方法可靠的扩展少数类区域的过采样方法描述方法分析多分类的OREM-MOREM和Boosting的结合计算复杂度实验结果二分类数据集实验实验设置对比实验消融实验调参实验多分类数据集实验对比实验消融实验OREMBoost实验实验设置对比实验优点......
  • 文心一言 VS 讯飞星火 VS chatgpt (152)-- 算法导论12.2 8题
    八、用go语言,证明:在一棵高度为h的二叉搜索树中,不论从哪个结点开始,k次连续的TREE-SUCCESSOR调用所需时间为O(k+h)。文心一言:要证明在一棵高度为h的二叉搜索树中,不论从哪个结点开始,k次连续的TREE-SUCCESSOR调用所需时间为O(k+h),我们可以采用数学归纳法来进行证明。首先,我......
  • 豪掷1.5亿!网飞拍摄儿童版《盗梦空间》
    作者:独木桥电影是造梦的艺术。梦,也是电影钟爱的题材。近年来,关于梦境题材的影片佳作不断,《红辣椒》《盗梦空间》《穆赫兰道》等一系列烧脑神作,让无数影迷奉之为经典。(《盗梦空间》)去年,Netflix再次投资梦境,斥资1.5亿美元,打造冒险奇幻电影《梦乡》。影片由弗朗西斯·劳伦斯(《......
  • 「杂题乱刷」洛谷P2285
    题目传送门一道小清新动态规划题,直接设\(dp[i]\)表示前\(i\)个鼹鼠最多能打到几个,然后状态转移方程也很好想了。参考代码:点击查看代码#include<bits/stdc++.h>usingnamespacestd;longlongn,m,ans,dp[10010],x[10010],y[10010],times[10010];#definelowbit(x)x&-......
  • CH582 CH592 CH573 IO功能映射
    CHBLE系列芯片IO功能脚都是固定的,不可以随意指定。但是部分功能脚有映射功能,可以固定映射到某个对应IO(寄存器设置的固定映射)功能脚有默认的IO,通过映射可以映射到对应固定的IO上,如下所示:在引脚图上标记显示(以TXD0和RXD0为例,默认在PB4PB7,可以映射到PA14PA15,这两个脚名称是TX......
  • https://avoid.overfit.cn/post/548ad625830a4645beba60a37a2b59d6
    本文从数据科学家的角度来研究检索增强生成(retrieve-augmentedGeneration,RAG)管道。讨论潜在的“超参数”,这些参数都可以通过实验来提高RAG管道的性能。与本文还将介绍可以应用的不同策略,这些策略虽然不是超参数,但对性能也会产生很大的影响。本文将介绍以下索引阶段的“超......