Segment Anything:SAM系列模型(SAM、EfficientSAM、MobileSAM、MobileSAM-v2、FastSAM)

Segment Anything | Meta AIicon-default.png?t=N7T8https://segment-anything.com/

Segment Anything(sam)项目整理汇总 - 知乎0.背景sam是一个无监督的分割图像的基础模型,分割效果非常好,具体细节可看论文解读。 https://zhuanlan.zhihu.com/p/620355474自从sam模型发布以来,基于sam的二次应用及衍生项目越来越多,将其应用于各种任务,…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/630529550

SAM

https://arxiv.org/pdf/2304.02643.pdf

  • 新的图像分割任务:这样的任务需要实现零样本泛化。
  • 新的模型:Segment Anthing Model。目前分为vit_b,vit_l,vit_h
  • 新的数据集:SA-1B。其中包括10亿个掩码和1100万张图像

 

图像编码器 作者使用经过MAE预训练的Vision Transformer (ViT) ,并对其进行微调以处理高分辨率输入 。图像编码器在每张图像上运行一次,并可以在对模型进行提示之前应用。 

提示编码器 作者考虑两种类型的提示:稀疏提示(点、框、文本)和密集提示(掩码)。使用位置编码表示点和框,与每种提示类型的学习嵌入相加,而对于自由文本,则使用来自CLIP的现成文本编码器。密集提示(即掩码)使用卷积进行嵌入,并与图像嵌入进行逐元素求和。

掩码解码器 掩码解码器高效地将图像嵌入、提示嵌入和输出标记映射到一个掩码上。这种设计受到《基于Trasformers的端到端目标检测》和Maskformer的启发,使用了一个修改的Transformer解码器block,后跟一个动态掩码预测头。修改后的解码器block在两个方向(提示到图像嵌入和图像嵌入到提示)上使用自注意力和交叉注意力来更新所有嵌入。在运行两个Block后,对图像嵌入进行上采样,并通过MLP层将输出标记映射到一个动态线性分类器(该分类器用于计算每个图像位置的掩码前景概率)。

相关解读链接:

【Paper日记】Segment Anything - 知乎

EfficientSAM

 图2-EfficientSAM框架概述。我们提出的EfficientSAM包含两个阶段:ImageNet上的SAMI预训练(上)和SA-1B上的SAM调优(下)。

对于SAMI预训练,掩码自编码器以SAM图像编码器的特征嵌入作为重构目标。SAMI预训练完成后,丢弃解码器,将轻量级编码器作为EfficientSAM的图像编码器,在SA-1B上进行微调。

 

EfficientViT-SAM

论文链接:https://arxiv.org/abs/2402.05008

代码和预训练:https://github.com/mit-han-lab/efficientvit

 轻量化EfficientViT-SAM开源,清华&MIT&英伟达发布,速度提升48.9倍

MobileSAM

MobileSAM模型是在2023年6月27日发布的

将原始SAM中的图像编码器ViT-H提取到轻量级图像编码器中,可以自动与原始SAM中的mask解码器相兼容。训练可以在不到一天的时间内完成,由此产生的轻量级SAM被称为MobileSAM,它要小60倍以上,但性能与原来的SAM相当。就推理速度而言,MobileSAM每张图像的运行时间约为10ms:图像编码器为8ms,掩码解码器为2ms。凭借卓越的性能和更高的通用性,我们MobileSAM比同期的FastSAM小7倍,快4倍,使其更适合移动端的应用。

直接把 ViT-H 蒸馏到小型的图像编码器中 

相关解读链接:

论文解读:MobileSAM | FASTER SEGMENT ANYTHING: TOWARDS LIGHTWEIGHT SAM FOR MOBILE APPLICATIONS-CSDN博客

MobileSAM-v2

感觉就是yolov8目标检测框作为提示+SAM分割SegEvery

采用目标检测算法的边界框作为提示框来进行分割

SegEvery与SAM的效率瓶颈在于其掩模解码器,因为它需要首先使用冗余的网格搜索提示生成大量掩模,然后执行过滤以获得最终的有效掩模。

文章作者提出通过直接使用仅包含有效提示的方法生成最终的掩模(检测边界框),从而提高其效率,这可以通过目标发现获得有效提示。作者提出的方法不仅能够将掩模解码器的总时间减少至少16倍,而且还能够实现卓越的性能。

mask解码器随着分割的点个数增多,时间也在增多

作者提出了具有对象感知的框提示,以替代默认的网格搜索点提示,从而显著提高了其速度,同时实现了整体上更优越的性能。用对象感知提示采样替换默认的网格搜索提示采样

FastSAM

网络结构上和SAM基本上没什么关系

在线demo链接Examples – casia-iva-lab/fastsam – Replicate

将SAM分成两个相对独立的任务:实例分割和prompt。因此使用yolo这种CNN的模型就可以完成类似SAM的任务。

  • 基于YOLOv8-seg实现了FastSAM,它比SAM快50倍,且训练数据只有SAM的1/50,同时运行速度不受point输入数量的影响
  • FastSAM定义Segment Anything Task(SAT)为根据提示进行语义分割任务,提示指:前景|背景点、bounding boxes、mask、text;
  • 将SAT分解为2阶段,第一阶段为对输入图像的全景实例分割,第二阶段为根据提示输入对全景实例分割结果进行稀疏化选择
     

相关解读链接:论文解读:FastSAM | Fast Segment Anything | 基于yolov8-seg实现 比SAM快50倍-CSDN博客

EdgeSAM

SlimSAM

Tokenize Anything via Prompting

顶配版SAM,由分割一切迈向感知一切

近日,智源研究院视觉团队推出以视觉感知为中心的基础模型 TAP (Tokenize Anything via Prompting), 利用视觉提示同时完成任意区域的分割、识别与描述任务。将基于提示的分割一切基础模型 (SAM) 升级为标记一切基础模型 (TAP),高效地在单一视觉模型中实现对任意区域的空间理解和语义理解。相关的模型、代码均已开源,并提供了 Demo 试用,更多技术细节请参考 TAP 论文。

论文地址:https://arxiv.org/abs/2312.09128
项目&代码:
https://github.com/baaivision/tokenize-anything
模型地址:
https://huggingface.co/BAAI/tokenize-anything
Demo:
https://huggingface.co/spaces/BAAI/tokenize-anything

简单点击或涂鸦图片中感兴趣的目标,TAP 即可自动生成目标区域的分割掩码、类别标签、以及对应的文本描述,实现了一个模型同时完成任意的分割、分类和图像描述。

SAM-Lightening

论文链接:https://arxiv.org/pdf/2403.09195.pdf

代码:https://anonymous.4open.science/r/SAM-LIGHTENING-BC25/

比SAM快30倍,SAM-Lightening开源!推理一张图仅需7ms(附论文和源码)

  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SCSI架构(SAM)即SCSI-3命令和传递模型,是一种用于管理和控制SCSI(Small Computer System Interface)设备的标准。 SAM提供了一套规范,用于描述SCSI设备之间的通信和命令传递。它定义了一系列的SCSI命令和对应的数据传输模型,可以通过这些命令和模型来进行数据的读取、写入、删除、复制和管理等操作。 SAM包括了一种层次结构,其中包含了多个逻辑单元(logical units),每个逻辑单元可以看作是一个SCSI设备。逻辑单元可以是硬盘驱动器、磁带驱动器、光驱、打印机等等。 在SAM中,每个逻辑单元都有一个唯一的标识符(LUN)用于区分不同设备。通过发送SCSI命令和控制信息给指定的LUN,可以对该设备进行各种操作。 此外,SAM还定义了一个命令集,包括了基本的SCSI命令和数据传输模型,还包括了一些特殊的命令和模型用于特定的设备类型或功能。 SAM的架构提供了标准的接口和协议,使得SCSI设备之间可以互相通信和协作。它为SCSI设备的管理和控制提供了一种统一的方法,使得不同厂商的设备可以在同一环境下协同工作。 总之,SCSI架构(SAM)为SCSI设备的管理和控制提供了一种标准的规范和方法,使得不同的SCSI设备可以在同一系统中协同工作,并通过标准的命令和传递模型进行通信和数据传输。 ### 回答2: SCSI架构(SAM)是一种用于梳理存储设备通信的协议,它规定了存储设备之间的连接和通信方式。SAM是美国电子工程师协会(IEEE)和国际标准化组织(ISO)共同开发和维护的一个标准。 SAM的主要目标是定义并管理SCSI命令集,这些命令是用于在计算机系统和存储设备之间进行数据传输和控制的。它提供了一种统一的方式,使得不同厂商的设备可以互操作,并能够在不同的操作系统下运行。 SAM定义了多种设备类型,包括主机适配器、外部设备、磁盘驱动器、磁带驱动器等。每个设备类型都有其特定的命令和功能,以满足各种应用场景的需求。 SAM使用逻辑单元号(LUN)标识存储设备中的逻辑单元。它允许通过共享同一物理设备的多个逻辑单元,实现存储资源的更好管理和利用。 除了定义命令和设备类型,SAM还提供了一些管理功能,包括故障管理、安全性和访问控制、性能优化等。它可以帮助管理员识别故障设备、进行故障隔离,并提供一些安全策略,以保护存储系统的数据。 总之,SAM是一种用于管理SCSI命令集的协议,通过定义命令和设备类型,实现不同厂商的设备互操作,并提供一些管理功能,以满足数据存储和传输的需求。 ### 回答3: SCSI体系结构(SAM)是一种用于SCSI(Small Computer System Interface)设备通信的标准化架构。它定义了SCSI设备的命令和控制机制,使各种设备可以互相通信和交换数据。 SCSI体系结构(SAM)的主要目的是提供一个统一的接口标准,以便SCSI设备可以在不同的计算机系统上进行兼容和互操作。通过使用SAM,不同的SCSI设备如硬盘驱动器、光盘驱动器、打印机等可以在同一SCSI总线上进行连接,并与主机系统交换数据。 在SCSI体系结构中,主机系统通过发送具体的命令来控制SCSI设备的操作。这些命令可以是读取、写入、查询设备信息等。SAM定义了这些命令的格式和规则,以确保不同设备之间的兼容性和可互操作性。 此外,SAM还定义了SCSI设备的状态和模式,以及相应的状态转换规则。例如,设备可能处于空闲状态、忙碌状态、错误状态等。根据设备的状态,主机系统可以采取不同的操作来控制设备的行为。 总之,SCSI体系结构(SAM)是一个重要的标准化架构,用于定义SCSI设备之间的命令和控制机制。它使得不同类型的SCSI设备可以在同一总线上进行连接,并与主机系统进行数据交换。通过使用SAM,可以实现设备的兼容性和互操作性,提高系统的扩展性和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值