【深度学习】15. Segment Anything Model (SAM) :基于提示的分割新时代

article/2025/6/19 2:37:05

Segment Anything Model (SAM) :基于提示的分割新时代

基本介绍

The first foundation model for promptable segmentation.

Segment Anything Model(简称 SAM)是 Meta AI 于 2023 年提出的一种通用型图像分割基础模型。与以往分割模型不同,SAM 是首个支持多种交互提示(prompt)方式进行分割的模型,可以在不训练的前提下实现多种图像分割任务,是典型的 zero-shot promptable segmentation 模型。

模型能力概览

  • 只需简单点击图像、框选区域、画掩码或提供文字提示,即可自动生成目标分割结果;
  • 可对不确定区域生成多个有效掩码;
  • 可对整张图像进行全目标检测和分割;
  • 在对图像嵌入进行预计算后,SAM可以即时为任何提示提供分割掩码,实现与模型的实时交互。
  • 分割速度极快,预计算 embedding 后能实时响应提示

SAM由三个相互连接的组件构建:任务、模型和数据引擎

在这里插入图片描述

  • Task: Promptable Segmentation

    • 在这种情况下,提示符是分割任务,可以是前景/背景点、粗框或蒙版、点击、文本,或者一般情况下,指示图像中要分割的内容的任何信息。该任务也被用作模型的预训练目标。
  • 模型: Segment Anything Model (SAM)

    • 重量级图像编码器输出图像嵌入。
    • 一个轻量级的提示编码器有效地查询图像嵌入。
    • 轻量级掩码解码器生成对象掩码和置信度分数。

SAM 的结构组成

SAM 的结构由三个核心模块构成:

模块名称作用说明
图像编码器使用 ViT 结构对整张图像生成 embedding(图像特征向量)
提示编码器编码前景点、背景点、框、掩码等用户提示信息
掩码解码器综合图像和提示信息,生成分割掩码及其置信度评分

整体流程是:图像 → ViT → 图像 embedding + 提示 embedding → 解码 → 分割掩码

支持的提示类型(Prompt Types)

提示类型示例说明
点提示单点/多点点击指定前景或背景区域
框提示粗略框定区域生成与框中物体一致的掩码
掩码提示传入已有掩码,进一步优化支持迭代式修正
多模态提示(实验)如文本:“segment the dog”未来可能支持文本指令(暂不稳定)

示例:通过点击分割一只猫

假设你上传了一张猫的照片并点击了猫的头部,SAM 的工作如下:

  1. 将整张图像通过 ViT 编码为高维 embedding;
  2. 对点击坐标编码为提示 embedding;
  3. 解码器融合两种信息,生成多个候选掩码;
  4. 输出包含:
    • 最可能的掩码;
    • 多个备选掩码(适用于歧义区域);
    • 每个掩码的置信度(IoU score 估计);

支持多掩码、多粒度分割

SAM 特别支持 ambiguity-aware segmentation,即:

  • 输出多个粒度层级的掩码,如 “整只狗”、“狗的头”、“狗的耳朵”;

    SAM旨在为单个提示预测多个掩码(即3个掩码:整体、部分、子部分)。

  • 对每个掩码预测一个 置信度分数(IoU 估计);

    为了对掩码进行排名,该模型预测每个掩码的置信度分数(即估计的IoU(交集/联合))

  • 训练时仅对损失最小的掩码反向传播,提升鲁棒性。

数据引擎:SA-1B 数据集

为了训练 SAM,Meta 构建了迄今为止最大的分割数据集:

  • 名称:SA-1B(Segment Anything 1 Billion)
  • 数据量:包含 1100 万张图像,11 亿个分割掩码,比任何先前的分割数据集多400倍的掩码
  • 用途:用于训练、评估通用分割模型
  • 开放性:仅限研究使用,开源访问:https://segment-anything.com/dataset

分割任何10亿掩码(SA-1B)数据集是迄今为止最大的标记分割数据集。它是专门为开发和评估高级分割模型而设计的。

数据集将是训练和微调未来通用模型的重要组成部分

实验表现与优势

  • SAM的结果具有开创性的原因之一是,与其他技术(如ViTDet)相比,分割掩码的效果非常好。
  • 在 23 个数据集上进行评测,尤其在 单点 zero-shot 分割 上表现优异;
  • 使用 1 个点提示时,性能已超越传统模型(RITM,SIMPLECLICK,FOCALCLICK)使用多个提示点的效果;
  • 分割边缘细腻、结构自然,是当前最强的基础模型之一。

局限性

虽然 SAM 很强大,但仍存在一些限制:

  • 对复杂结构或细小物体容易漏检或产生错误边界;
  • 在多点交互下可能不如专门的交互式分割模型(如 SimpleClick);
  • SAM在文本到掩码任务上的表现并不完全稳健。
  • SAM的性能预计会被特定于领域的工具超越(例如,ilastik)。
  • SAM是用自监督技术初始化的(即,MAE),它的绝大部分能力来自大规模的监督训练。

总结

SAM 引领了 promptable segmentation 的新范式,具备以下特征:

  • 可迁移性强:一次训练,支持多任务、多场景;
  • 交互式强:支持实时反馈和多种交互方式;
  • 数据基础强大:配合 SA-1B 具备强泛化能力;
  • 未来可拓展至多模态分割、3D 分割、视频分割等更广泛应用。

你现在就可以通过官方 demo 在线体验:

Segment Anything Demo


http://www.hkcw.cn/article/ADQcbfxKbQ.shtml

相关文章

Rk3568驱动开发_GPIO点亮LED_12

需求: 用配置寄存器方式控制点灯非常原始,现在采用更方便的Linux提供的pctrl和gpio子系统编写字符驱动 1.设备树配置: 现将开发板中呼吸灯关闭掉防止占用到我需要使用的引脚 /* Narnat 2025-5-29 RK3568 GPIO 无需设置pinctrl*/gpioled{co…

Compose原理 - 整体架构与主流程

一、整体架构 在官方文档中(Jetpack Compose 架构层 | Android Developers),对Compose的分层有所阐述: 其中 Runtime:提供Compose的基础运行能力,包括State、Side-effects、CompositionLocal、Compositio…

LeetCode 高频 SQL 50 题(基础版)之 【聚合函数】部分

题目:620. 有趣的电影 题解: select * from cinema where description !boring and id%21 order by rating desc题目:1251. 平均售价 题解: select p.product_id product_id,round(ifnull(sum(p.price*u.units)/sum(u.units),0)…

雪花算法的实际应用

什么场景下用雪花算法? 软件项目开发中,主键自动生成是基本需求。而各个数据库对于该需求也提供了相应的支持,比如:数据库自增(MySql,oracle)。但是在分布式环境中,分库分表之后,不同表生成全局唯一的ID是非…

Thinkphp6实现websocket

项目需要连接一台自动售货机&#xff0c;售货机要求两边用websocket连接,监听9997端口。本文实现了一个基于PHP的WebSocket服务器&#xff0c;用于连接自动售货机&#xff0c;支持start/stop/restart命令操作 1.新建文件 新建文件 /command/socket.php <?php namespace a…

痉挛性斜颈带来的困扰

当颈部不受控制地扭转歪斜&#xff0c;生活便被打乱了节奏。颈部肌肉异常收缩&#xff0c;导致头部不自觉偏向一侧或后仰&#xff0c;不仅让外观明显异于常人&#xff0c;还会引发持续的酸痛与僵硬感。长时间保持扭曲姿势&#xff0c;肩颈肌肉过度紧绷&#xff0c;甚至会牵连背…

【中国・珠海】2025 物联网与边缘计算国际研讨会(IoTEC2025)盛大来袭!

2025 物联网与边缘计算国际研讨会&#xff08;IoTEC2025&#xff09;盛大来袭&#xff01; 科技浪潮奔涌向前&#xff0c;物联网与边缘计算已成为驱动各行业变革的核心力量。在此背景下&#xff0c;2025 物联网与边缘计算国际研讨会&#xff08;IoTEC2025&#xff09;即将震撼…

一周学会Pandas2之Python数据处理与分析-数据重塑与透视-pivot() - 透视 (长 -> 宽,有限制)

锋哥原创的Pandas2 Python数据处理与分析 视频教程&#xff1a; 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili pivot() 是 pandas 中用于数据重塑的核心方法&#xff0c;它将长格式数据转换为宽格式数据&#xff0c;与 melt() 方…

WordPress通过简码插入bilibili视频

发布于&#xff1a;Eucalyptus-Blog 一、前言 B站是国内非常受欢迎的视频分享平台&#xff0c;上面不仅内容丰富&#xff0c;而且很多视频制作精良、趣味十足。很多人&#xff0c;比如我&#xff0c;就喜欢将B站的视频通过 iframe 嵌入到自己的网页中&#xff0c;但这段代码又…

【Unity博客节选】Timeline 的 Traversal mode参数

注&#xff1a;软件版本Unity 6.0 Timeline 1.8.7 作者&#xff1a;CSDN RingleaderWang 原文&#xff1a;《Unity第25期——Timeline结构及其源码浅析》 文章首发Github&#x1f44d;&#xff1a;《Timeline结构及其源码浅析》 Bilibili 视频版&#x1f44d;&#x1f44d;&a…

Constraints and Triggers

目录 Kinds of Constraints Single-Attribute Keys Multiattribute Key Foreign Keys Expressing Foreign Keys Enforcing Foreign-Key Constraints Actions Taken Attribute-Based Checks Timing of Checks Tuple-Based Checks Assertions Timing of Assertion Ch…

免费且好用的PDF水印添加工具

软件介绍 今天要给大家推荐一款超实用的PDF添加水印工具&#xff0c;它能够满足用户给PDF文件添加水印的需求&#xff0c;而且完全免费。 这款PDF添加水印的软件有着简洁的界面&#xff0c;操作简便&#xff0c;无需安装&#xff0c;解压后即可使用。 在使用前&#xff0c;先…

设计模式——面向对象设计六大原则

摘要 本文详细介绍了设计模式中的六大基本原则&#xff0c;包括单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则和合成复用原则。每个原则都通过定义、理解、示例三个部分进行阐述&#xff0c;旨在帮助开发者提高代码的可维护性和灵活性。通过具体代码…

DO指数GPU版本

大指数下DO指数模型计算优化 DO指数模型概述 DO指数&#xff08;Duranton-Overman Index&#xff09;是由Duranton和Overman于2005年提出的产业空间集聚测度方法&#xff0c;它通过分析企业间的精确地理距离分布来识别产业集聚模式。与传统集聚指标相比&#xff0c;DO指数具有…

工业物联网中的事件驱动采样架构及优化

论文标题 Event-Based Sampling Architecture and Optimization for Industrial Internet of Things 工业物联网中的事件驱动采样架构及优化 作者信息 Tejas Thosani Process Control Systems, Micron Technology Inc., Manassas, USA tthosanimicron.com Andres Prado Esp…

Windows | 总误按Num Lock?修改注册表永久禁用Numlk键使小键盘一直输入数字

先说需修改注册表的位置与键值 路径&#xff1a;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\ 二进制键&#xff1a;Scancode Map 键值&#xff1a; 00 00 00 00 00 00 00 00 01 00 00 00 00 00 45 00 00 00 00 00 00 00 00 00如下图&#xff1a; …

c#与halcon环境配置,导出算法库,使用halcon环境编程

目录 1. C#配置halcon运行环境 2.导出halcon算法库 3.使用方法 记录下C#配置halcon环境的方法&#xff0c;以及halcon导出库的使用方法。 1. C#配置halcon运行环境 VS版本&#xff1a; vs2019 halcon版本: 20.11 创建c#工程&#xff0c;点击“创建新项目”&#xff0c;…

tomcat yum安装

使用yum安装 yum install -y java-1.7.0-openjdk* tomcat* --disablerepoepel## java-1.7.0-openjdk* 注意&#xff1a;最终安装的是java-1.8.0版本## --disablerepoepel 禁用&#xff1a;EPEL源&#xff0c;防止版本冲突 java -version (2) 启停&#xff1a;Tomcat 7 s…

时间的基本概念与相关技术三

1.5 守时技术 所谓守时&#xff08;time keeping&#xff09;是指一个时频系统&#xff08;包括频标和分频钟&#xff09;对时间信号和时间信息的保持。频率标准&#xff08;简称频标&#xff09;的频率准确度、频率稳定度和守时系统的环境条件是决定守时能力的三个关键因素。…

云原生安全基石:Kubernetes 核心概念与安全实践指南

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. Kubernetes 架构全景 Kubernetes&#xff08;简称 K8s&#xff09;采用主从架构&#xff0c;由控制平面&#xff08;Control Plane&…