【视觉分割新SOTA|论文解读2】一种最先进的图像分割模型——Segment Anything Model (SAM)模型架构!

【视觉分割新SOTA|论文解读2】一种最先进的图像分割模型——Segment Anything Model (SAM)模型架构!

【视觉分割新SOTA|论文解读2】一种最先进的图像分割模型——Segment Anything Model (SAM)模型架构!


文章目录

  • 【视觉分割新SOTA|论文解读2】一种最先进的图像分割模型——Segment Anything Model (SAM)模型架构!
  • 2. Segment Anything Task
    • 2.1 任务
    • 2.2 预训练
    • 2.3 零样本迁移
    • 2.4 相关任务
    • 2.5 讨论
  • 3. Segment Anything Task
    • 3.1 图像编码器
    • 3.2 提示编码器
    • 3.3 掩码解码器
    • 3.4 解决歧义
    • 3.5 效率
    • 3.6 损失函数和训练


欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议入口:https://ais.cn/u/mmmiUz

参考链接:https://ai.meta.com/research/publications/segment-anything/

2. Segment Anything Task

我们借鉴了自然语言处理(NLP)的启发,其中通过“下一个词预测”任务进行基础模型的预训练,并通过提示工程解决各种下游任务【10】。为了构建图像分割的基础模型,我们致力于定义一个具有类似能力的任务。
在这里插入图片描述

2.1 任务

我们首先将NLP中的提示概念转化为图像分割领域,在此背景下,提示可以是前景/背景点集、大致的框或掩膜、自由文本,或任何指示图像中需要分割对象的信息。因此,提示分割任务的目标是根据任意提示返回一个有效的分割掩膜。“有效”掩膜的要求意味着,即使提示信息存在歧义并可能指向多个对象(例如,T恤与穿T恤的人,参见图3),输出的掩膜至少应合理地对应其中一个对象。这一要求类似于语言模型在面对歧义提示时需要生成连贯的响应。我们选择这个任务,因为它能够自然地引导预训练算法,并通过提示工程为下游分割任务提供零样本迁移能力。

2.2 预训练

提示分割任务为预训练提供了一个自然的算法,模拟为每个训练样本生成一系列提示(例如,点、框、掩膜),并将模型预测的掩膜与真实标签进行对比。我们从交互式分割方法【109, 70】中借鉴了这一方法,但不同于交互式分割最终通过足够的用户输入来预测有效掩膜,我们的目标是始终为任何提示生成有效的掩膜,即使提示信息存在歧义。这确保了预训练的模型在涉及歧义的场景中依然有效,如我们在数据引擎中的自动标注任务§4。我们指出,完成这一任务具有挑战性,需进行专门的模型设计和损失函数选择,详见§3。

2.3 零样本迁移

直观上,我们的预训练任务赋予模型在推理时能够对任意提示做出适当响应的能力,从而可以通过提示工程解决下游任务。例如,如果有一个猫的边界框检测器,则可以通过将该检测器的框输出作为提示输入到我们的模型来完成猫实例分割。实际上,许多实际的分割任务都可以通过提示进行转换。除了自动数据集标注外,我们在§7 的实验中还探索了五个不同的示例任务。

2.4 相关任务

分割是一个广泛的研究领域,涵盖了交互式分割【57, 109】、边缘检测【3】、超像素分割【85】、目标提议生成【2】、前景分割【94】、语义分割【90】、实例分割【66】、全景分割【59】等。我们提出的提示分割任务旨在通过提示工程生成一个具备广泛适应能力的模型,能够应用于许多(尽管不是所有)现有和新兴的分割任务,这种能力体现了任务泛化的特性【26】。需要注意的是,这与之前的多任务分割系统有所不同。**在多任务系统中,单一模型执行固定的一组任务,例如联合语义分割、实例分割和全景分割【114, 19, 54】,但训练和测试任务保持一致。而我们工作的一个重要区别在于,训练用于提示分割的模型在推理时可以通过作为更大系统的组件执行全新的任务。**例如,为了进行实例分割,可以将提示分割模型与现有的目标检测器结合使用。

2.5 讨论

**提示和组合是强大的工具,使得单一模型能够以可扩展的方式应用,甚至完成在模型设计时未曾预见的任务。这种方法类似于其他基础模型的应用方式,**例如,CLIP【82】作为DALL·E【83】图像生成系统中的文本-图像对齐组件。我们预期,依赖提示工程等技术的可组合系统设计将比那些专门为固定任务集训练的系统能够实现更广泛的应用。此外,通过组合的视角对比提示分割与交互式分割也是有意义的:尽管交互式分割模型是为人类用户设计的,训练用于提示分割的模型同样可以作为更大算法系统的一部分,如我们接下来所展示的那样。

3. Segment Anything Task

我们接下来介绍用于提示分割的Segment Anything Model (SAM)。SAM包含三个组成部分,如图4所示:图像编码器、灵活的提示编码器和快速的掩码解码器。我们基于Transformer视觉模型【14, 33, 20, 62】进行构建,并做出一些权衡以实现(摊销的)实时性能。这里对这些组件进行高层次描述,详细内容见§A。
在这里插入图片描述

3.1 图像编码器

**出于可扩展性和强大的预训练方法的考虑,**我们采用了MAE【47】预训练的Vision Transformer (ViT)【33】,并进行了最小程度的调整以处理高分辨率输入【62】。图像编码器每张图像运行一次,可以在提示模型前应用。

3.2 提示编码器

我们考虑了两类提示:稀疏提示(点、框、文本)和密集提示(掩码)稀疏提示通过位置编码【95】与每种提示类型的学习嵌入相加表示,自由文本则通过CLIP【82】中的现成文本编码器进行处理。密集提示(即掩码)通过卷积嵌入,并与图像嵌入进行逐元素相加。

3.3 掩码解码器

**掩码解码器有效地将图像嵌入、提示嵌入和输出token映射为掩码。**此设计受到【14, 20】的启发,采用了修改版的Transformer解码器模块【103】,后接动态掩码预测头。我们修改后的解码器模块使用了提示自注意力和双向交叉注意力(从提示到图像嵌入,反之亦然)来更新所有嵌入。经过两个模块后,我们对图像嵌入进行上采样,并通过MLP将输出token映射到动态线性分类器,随后计算每个图像位置的前景掩码概率。

3.4 解决歧义

当只有一个输出时,模型在遇到模糊提示时会对多个有效掩码取平均值。为解决此问题,我们修改模型使其能够针对单一提示预测多个输出掩码(见图3)我们发现三个掩码输出足以应对大多数常见情况(嵌套掩码通常最多包含三层:整体、部分、子部分)。在训练过程中,我们仅对损失最小的掩码进行反向传播【15, 45, 64】。为了对掩码进行排序,模型会为每个掩码预测一个置信得分(即估计的IoU)。

3.5 效率

整个模型设计主要考虑了效率。对于预先计算的图像嵌入,提示编码器和掩码解码器可以在网页浏览器中运行,在CPU上耗时约50毫秒。这种运行性能使得模型能够实现无缝的实时交互式提示。

3.6 损失函数和训练

我们通过线性组合focal loss【65】和dice loss【73】来监督掩码预测,这些损失函数已在【14】中使用。我们通过几何提示的混合训练提示分割任务(关于文本提示,见§7和5)。参考【92, 37】,我们通过随机采样每个掩码的11轮提示,模拟了一个交互式设置,使得SAM可以无缝集成到我们的数据引擎中。

欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议入口:https://ais.cn/u/mmmiUz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/445825.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab详细学习教程 MATLAB使用教程与知识点总结

Matlab语言教程 章节目录 一、Matlab简介与基础操作 二、变量与数据类型 三、矩阵与数组操作 四、基本数学运算与函数 五、图形绘制与数据可视化 六、控制流与逻辑运算 七、脚本与函数编写 八、数据导入与导出 九、Matlab应用实例分析 一、Matlab简介与基础操作 重点内容知识…

DM8数据库用户和表空间管理

1 说明 DM8用户管理和表空间管理常用的管理命令,包括创建、修改和查看信息操作等。 2 用户管理 2.1 创建用户 创建一个用户lu9up,密码为"admin2024.",未制定表空间,使用默认的表空间main。 SQL> create user lu…

八大排序--08快速排序

现有 arr {4,8,9,2,7}数组,请用快速排序的方式实现从小到大排序: 方法: 1.定义待排序数组中的第一个值为基准数; 2.定义j游标,从后向前移动找到第一个比基准数小的值停下; 3.定义i游标,从后向…

黑马程序员-redis项目实践笔记1

目录 一、 基于Session实现登录 发送验证码 验证用户输入验证码 校验登录状态 Redis代替Session登录 发送验证码修改 验证用户输入验证码 登录拦截器的优化 二、 商铺查询缓存 缓存更新策略 数据库和缓存不一致解决方案 缓存更新策略的最佳实践方案 实现商铺缓…

大数据毕业设计选题推荐-音乐数据分析系统-音乐推荐系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

【C语言】使用结构体实现位段

文章目录 一、什么是位段二、位段的内存分配1.位段内存分配规则练习1练习2 三、位段的跨平台问题四、位段的应用五、位段使用的注意事项 一、什么是位段 在上一节中我们讲解了结构体,而位段的声明和结构是类似的,它们有两个不同之处,如下&…

Kubernetes(K8s)部署

主机名ip角色docker-harbor.revkarl.org172.25.254.250harbor仓库k8s-master172.25.254.100master,k8s集群控制节点k8s-node1172.25.254.10worker,k8s集群工作节点k8s-node2172.25.254.20worker,k8s集群工作节点 注意: 所有节点禁…

信息系统运维管理方案,运维建设文档,运维平台建设方案,软件硬件中间件运维方案,信息安全管理(原件word,PPT,excel)

建设方案目录: 1、智慧运维系统建设背景 2、智慧运维系统建设目标 3、智慧运维系统建设内容 4、智慧运维系统建设技术 5、智慧运维系统建设流程 6、智慧运维系统建设收益 企业对运维管理的需求: 1、提高运维效率:降低运维成本,提高…

vue从0开始的项目搭建(含环境配置)

一、环境准备 下载node.js 检查node.js版本 替换npm下载源 1.下载node.js: Node.js — 在任何地方运行 JavaScript (nodejs.org) 2.查看版本: windowsr输入cmd进入输入node -v命令查看版本号是否出现确认是否安装 2.替换npm下载源: npm config set registry https://reg…

【JS试题】对象键排序问题的神仙试题

前言 题目如下: const obj { a: 0 } obj[1] 0 obj[obj.a] obj.a const values Object.values(obj) obj[values[1]] obj.a console.log(obj);在此之前需要先了解 JS 对象键的排序问题,JS会对对象的属性进行处理,把所有 Number类型 和 数…

c++基础-去掉空格

#include <algorithm> #include <string> #include <cctype> // 用于std::isspace std::string removeSpaces(std::string str) {str.erase(std::remove_if(str.begin(), str.end(), ::isspace), str.end());return str; }int main() {string str &quo…

沉浸式娱乐新纪元,什么是5G+实时云渲染VR大空间解决方案?

近年来&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在娱乐、教育、医疗等多个领域展现出巨大的潜力&#xff0c;尤其是VR大空间体验&#xff0c;更是以其沉浸式和互动性的特点&#xff0c;迅速成为市场的新宠。据Statista数据显示&#xff0c;2023年&#xff0c;全球虚…

关于 文件操作详解 笔记 (含代码解析)

文件 磁盘&#xff08;硬盘&#xff09;上的⽂件是⽂件。 程序设计中&#xff0c;我们⼀般谈的⽂件有两种&#xff1a;程序⽂件、数据⽂件&#xff08;从⽂件功能的⻆度来分类 &#xff09; 程序⽂件 程序⽂件包括源程序⽂件&#xff08;后缀为.c&#xff09;,⽬标⽂件&#…

MATLAB实现AM调制解调

1.基本概念 1.1 AM调制原理 调幅就是使载波的振幅随调制信号的变化规律而变化。基带信号m(t)与直流分量A0相加&#xff0c;然后和高频载波相乘实现AM信号的调制&#xff0c;如图1所示。 1.2 AM解调原理 AM信号经过信道传输&#xff0c;引入噪声后&#xff0c;再和载波相乘&…

Redis主从复制机制详解

目录 一、主从复制介绍二、搭建主从复制三、主从复制流程四、关于Replication ID五、主从复制核心知识六、主从复制应用场景七、主从复制的注意事项八、读写分离实战 一、主从复制介绍 1、什么是主从复制&#xff1f; 2、为什么要使用主从复制&#xff1f; redis-server单点…

TDC上YARN Web-UI 查看application日志方法

方法一 #通过浏览器访问tdc&#xff0c;访问的工作节点对于TDC都是外部节点。在提交给yarn任务后&#xff0c;YarnRM的Web UI 可以展示yarnnm上运行的application日志&#xff0c;但是由于跳转的svc地址&#xff0c;无法直接访问。 #在tdc界面上找到yarn实例&#xff0c;进入ya…

【MySQL】mysql导出数据WPS科学计数法解决方法

导出的长串数字 id 会导致科学计数法&#xff0c;修改 WPS 单元格格式可以解决 数字太长还是有问题&#xff0c;最后有个数字会变成 0 可以 直接用 python脚本转换一下 vim convert_txt_xlsx.py #!/usr/bin/env python3# 使用方法# 安装库 # pip3 install pandas openpyxl…

微信小程序后台搭建—node+mysql

想必大家都有一个困扰&#xff0c;想要用微信小程序作为前端&#xff0c;但是后端不知道如何用node连接微信小程序&#xff0c;我最近也一直困扰许久&#xff0c;所以我就想用node写后端接口在连接微信小程序&#xff0c;记录一下学习笔记 前言 前端:微信小程序 后端:nodeexpr…

MYSQL-windows安装配置两个或多个版本MYSQL

安装第一个mysql很简单&#xff0c;这里不再赘述。主要说说第二个怎么安装&#xff0c;服务怎么配置。 1. 从官网下载第二个MySQL并安装 一般都是免安装版了&#xff0c;下载解压到某个文件目录下(路径中尽量不要带空格或中文)&#xff0c;再新建一个my.ini文件&#xff08;或…

怎么看待数字化转型是大势所趋?

怎么看到数字化转型是大势所趋&#xff1f;下面我结合最新数据给大家讲明白这个事。 近日&#xff0c;我通过大量的数据相关性分析&#xff0c;有了一些关键发现。 【数字化转型】之所以势在必行&#xff0c;主要是因为数字化转型为各个国家数字经济发展提供了重要的参考依据。…