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(附论文和源码)

### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值