SAM2:在图像和视频中分割任何内容

news2025/1/10 16:05:46

SAM 2: Segment Anything in Images and Videos

在这里插入图片描述

一、关键信息

1. SAM 2概述:

  1. SAM 2 是一种基础模型,设计用于在图像和视频中实现可提示的视觉分割。
  2. 该模型采用变压器架构和流式内存进行实时视频处理。
  3. 它在原始的Segment Anything Model(SAM)的基础上进行了改进,具备更高的准确性和速度。

2. 数据引擎和数据集:

  1. 创建了一个新的数据引擎,用于收集大规模视频分割数据集,即Segment Anything Video(SA-V)数据集。
  2. SA-V数据集包含3550万个掩码,涵盖50900个视频。

3. 可提示视觉分割(PVS):

  • PVS允许在任何视频帧上提供提示(点、框、掩码)以分割对象。
  • 模型使用这些提示在整个视频中生成和优化分割掩码。

4. 模型架构:

  1. 图像编码器(Image Encoder):基于MAE(Masked Autoencoders)和Hiera架构进行预训练,以提取帧嵌入。
  2. 记忆注意力(Memory Attention):使用自注意力和交叉注意力机制,根据过去的帧和预测对当前帧特征进行调整。
  3. 提示编码器和掩码解码器(Prompt Encoder and Mask Decoder):使用帧嵌入和提示对分割掩码进行解码。

二、摘要

这篇论文探讨了视频对象分割(VOS)的任务。VOS是一种计算机视觉任务,旨在从视频中提取和跟踪特定的目标对象。传统方法通常需要大量的标注数据和计算资源来训练模型,但本文提出了一种高效的新方法,显著提升了分割的速度和精度。

主要贡献包括:

  1. 提出的模型是一个简单的转换器架构,具有用于实时视频处理的流式内存。
  2. 视频分割中,有更高的准确性,交互更少。在图像分割方面,模型比 Segment Anything Model (SAM) 更准确,速度更快 6 倍。
  3. 建立了一个数据引擎,通过用户交互来改进模型和数据,以收集迄今为止最大的视频分割数据集。

实验结果显示,该方法在多个标准基准数据集上取得了优异的性能,证明了其在实际应用中的潜力。

三、引言

1. 背景

  • SA模型在图像分割中取得成功,但图像只是静态快照,无法处理视频中的复杂动态。
  • 视频数据在多媒体内容中占据重要位置,许多应用需要时间定位能力。

2. 视频分割的挑战:

  • 视频中的实体会因运动、遮挡、光照变化等而改变外观。
  • 视频质量通常低于图像,并且需要高效处理大量帧。

3. SAM 2模型的提出:

  • SAM 2是一个统一的视频和图像分割模型,将图像视为单帧视频。
  • 引入了可提示视觉分割(PVS)任务,扩展了图像分割的能力。
  • 模型通过存储和利用对象的记忆,生成并校正视频中的分割掩码。

任务:可提示视觉分割(PVS)

允许用户在视频的任何帧上向模型提供提示(如点、边界框或预定义的掩码),用于帮助模型识别和分割感兴趣的对象。

模型

图像编码器:对于任意长视频的实时处理,采用流媒体方法,在视频帧可用时使用它们。图像编码器在整个交互过程中只运行一次,它的作用是提供表示每个帧的无条件标记(特征嵌入)。我们使用MAE (He et al., 2022)预训练的Hiera (Ryali et al., 2023;Bolya,2023)图像编码器,它是分层的,允许在解码过程中使用多尺度特征。

记忆注意力(Memory Attention):记忆注意力的作用是将当前帧特征与过去的帧特征、预测以及任何新的提示条件起来。我们堆叠了L个变换器块,第一个块将当前帧的图像编码作为输入。每个块执行自注意力操作,然后执行跨注意力操作,将(提示/未提示)帧的记忆和对象指针存储在记忆池中,最后是一个多层感知器(MLP)。我们使用基本的注意力操作(self-attention和cross-attention),这样我们就可以从高效注意力核的最新发展中受益(Dao, 2023)。

提示编码器和掩码解码器: 我们的提示编码器与SAM的相同,可以通过点击(正或负)、边界框或蒙版来提示,以定义给定帧中对象的范围。稀疏提示由位置编码表示,并对每种提示类型的学习嵌入求和,而掩码则使用卷积嵌入并使用帧嵌入求和。我们的解码器设计很大程度上遵循SAM。我们堆叠“双向”变压器块来更新提示符和框架嵌入。与SAM中一样,对于可能存在多个兼容目标掩码的模糊提示(即,一次单击),我们预测多个掩码。这种设计对于确保模型输出有效掩码非常重要。在视频中,模糊性可以跨视频帧扩展,该模型预测每帧上的多个掩码。如果没有后续提示解决歧义,则模型仅传播具有当前帧的最高预测IoU的掩码。与SAM不同的是,在给定积极提示的情况下,总是有一个有效的对象可以分割,而在PVS任务中,在某些帧上可能没有有效的对象存在(例如由于遮挡)。为了解释这种新的输出模式,我们添加了一个额外的头部,用于预测感兴趣的对象是否出现在当前帧中。与SAM的另一个区别是,我们使用分层图像编码器的跳过连接(绕过 memory attention)来合并高分辨率信息用于掩码解码。

记忆编码器(Memory encoder):记忆编码器通过使用卷积模块对输出掩码进行下采样,并对其进行元素级相加,生成记忆,然后通过轻量级卷积层将信息融合在一起。

记忆银行(Memory bank):记忆银行通过维护最多N个最近帧的FIFO队列和最多M个触发帧的FIFO队列来存储关于目标对象在视频中过去预测的信息。例如,在VOS任务中,初始掩模是唯一的触发帧,记忆银行会始终保留第一帧的记忆以及最多N个未触发帧的记忆。两组记忆都以空间特征图的形式存储。除了空间记忆外,我们还基于每帧掩码解码器输出的标记(Meinhardt等人,2022)存储一个对象指针列表,用于表示要分割的对象的高层语义信息。我们的记忆注意力机制同时关注空间记忆特征和这些对象指针。我们将时间位置信息嵌入到最近的N个帧的记忆中,使模型能够表示短期物体运动,但不会嵌入到提示帧的记忆中,因为提示帧的训练信号较稀疏,而且很难将它推广到推理设置中,因为提示帧可能来自与训练期间所见完全不同的时间范围。

训练:该模型是同时在图像和视频数据上进行训练的。类似于之前的工作(Kirillov 等人,2023;Sofiiuk 等人,2022),模拟了对模型的交互式提示。采样8帧的序列,并随机选择最多2帧进行提示,然后根据训练过程中使用的真实掩码块(masklet)和模型预测结果,以概率方式接收校正点击。训练任务是顺序地(并“交互式地”)预测真实掩码块。模型最初接收的提示可以是真实掩码(概率为0.5),从真实掩码中采样的一个正点击(概率为0.25),或者一个边界框输入(概率为0.25)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自用 K8S 资源对象清单 YAML 配置模板手册-1

Linux 常用资源对象清单配置速查手册-1 文章目录 1、Pod 容器集合2、Pod 的存储卷3、Pod 的容器探针4、ResourceQuota 全局资源配额管理5、PriorityClass 优先级类 管理多个资源对象清单文件常用方法: 使用 sed 流式编辑器批量修改脚本键值进行资源清单的创建&am…

【高中数学/函数/值域】求f(x)=(x^2+1)^0.5/(x-1) 的值域

【问题】 求f(x)(x^21)^0.5/(x-1) 的值域 【来源】 《高中数学解题思维策略》P3 例1-1 杨林军著 天津出版传媒集团出版 【解答】 表达式说明f(x)(x^21)^0.5/(x-1)f(x)((x^21)/(x-1)^2)^0.5准备采用配方法f(x)(12/(x-1)2/(x-1)^2)^0.5(1)式f(x)(2*(1/(x-1)1/2)^21/2)^0.5(2)…

Pytorch系列-张量的类型转换

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 张量转换为NumPy数组 使用Tensor.numpy()函数可以将张量转换为ndarray数组 # 1.将张量转换为numpy数组 data_tensortorch.tensor([2,3,4]) # 使用张量对象中的numpy函数进行转…

LiveNVR监控流媒体Onvif/RTSP常见问题-页面上传SSL证书配置开启 HTTPS 服务?什么时候必须要开启HTTPS服务?

LiveNVR常见问题-页面上传SSL证书配置开启 HTTPS 服务?什么时候必须要开启HTTPS服务? 1、配置开启HTTPS1.1、准备https证书1.2、配置HTTPS端口1.3、配置证书路径1.3、 页面上传SSL证书 2、验证HTTPS服务3、为什么要开启HTTPS4、RTSP/HLS/FLV/RTMP拉流Onv…

Vue3+TS+element plus实现一个简单列表页面

期望完成效果 1.创建一个api api内容: 根据接口: 修改 url 和 函数的参数 以及 params里的内容 import { request } from "/utils/service" /** 查 */ export function getDyLogDataApi(page: any, limit: any, campaign_id: any, adgroup_id…

使用Packer构建镜像

什么是Packer Packer 是一个强大的工具,它可以帮助我们轻松地构建各种类型的镜像,如虚拟机镜像、Docker 镜像等。 Packer 的工作原理是通过定义一个配置文件,该文件描述了要构建的镜像的特征和要求。然后 Packer 使用这个配置文件来执行一系…

思迈特软件与海量数据库、红莲花安全浏览器完成兼容互认证

近期,思迈特软件信创认证喜讯传来,思迈特商业智能与数据分析软件[简称:Smartbi Insight] V11在数据库、浏览器产品兼容互认取得新突破,Smartbi Insight V11分别同海量数据库G100管理系统[简称:Vastbase G100] V2.2、红…

Java中的线性搜索

一.介绍 在本文中,我们将讨论或描述 Java 线性搜索。这是最简单的搜索方法。在此方法中,在列表中按顺序搜索要搜索的元素。此方法可应用于已排序或未排序的列表。 二.线性搜索(顺序搜索) 列表/数组的顺序搜索从列表/数组的开头…

Coco-LIC基于ubuntu的vscode进行断点调试

1、下vscode和插件 参考这个也行 https://zhuanlan.zhihu.com/p/704522656 2、编译debug版本并修改json 要在 Visual Studio Code (VSCode) 中进行断点调试 ROS 任务,你需要进行以下几个步骤: ### 1. 安装所需插件 - **C/C 插件**: 提供对 C 代码的调试…

day13-测试自动化之Selenium的元素定位

一、如何进行元素定位 1.1.元素定位作用 让程序操作指定元素,就必须先找到此元素 1.2.html页面组成格式 1.3.元素定位的概念 元素定位就是通过元素的信息或元素层级结构来定位元素的。 二、浏览器开发者工具 2.1.作用 快速定位元素,查看元素信息 2.2.谷…

《Advanced RAG》-06-探索RAG技术 Query Rewriting

摘要 详细阐述了多种查询重写技术,这些技术用于在检索增强生成(RAG)中优化查询和文档之间的语义匹配。 首先,介绍了假设文档嵌入(HyDE)方法,它通过生成假设文档并将其与原始查询结合&#xff0c…

卡码网KamaCoder 104. 建造最大岛屿

题目来源:104. 建造最大岛屿 C题解:先用深度优化算法计算每个孤岛的面积,然后给每个孤岛编号(如果孤岛是U型的,防止面积加重复了),再去遍历每个海水区域,计算最大面积。 #include &…

jenkins+gitlab实现微服务的差异化部署

前景: Jenkins 和 GitLab 结合实现微服务的差异化部署具有多方面的意义和优势,主要包括以下几点: 自动化和持续集成:通过 Jenkins 可以实现从代码提交到部署的全自动化流程。这种自动化确保了每次代码变更都能够快速、可靠地构建…

【Python】数据类型之集合

集合是一个无序、可变、不允许元素重复的容器。 1、定义 v1{11,22,33} 1))无序:集合无法通过索引取值。 2))可变:可以添加和删除集合中的元素。 3))集合不允许元素重复。 例如…

GD32 MCU碰到IIC总线卡死怎么办?

大家在使用MCU IIC通信时,若碰到设备复位或者总线干扰等情况,可能会导致IIC总线卡死,表现上总线上SDA或者SCL其中一根线为低电平,IIC总线一直处于busy状态。此时若代码上一直等待总线空闲,则可能导致软件死机&#xff…

PCL Chaikin曲线逼近型细分算法

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Chaikin 逼近型细分算法是一种生成平滑曲线的方法,常用于计算机图形学和曲线建模。它基于 Paul Chaikin 于 1974 年提出的算法,通过迭代地插入新的控制点并移动原始控制点来细分曲线,从而逐渐逼近光滑曲线。具体…

Flamingo: a Visual Language Model for Few-Shot Learning

发表时间:NeurIPS 2022 论文链接:https://proceedings.neurips.cc/paper_files/paper/2022/file/960a172bc7fbf0177ccccbb411a7d800-Paper-Conference.pdf 作者单位:DeepMind Motivation:仅使用少量注释示例可以快速适应新任务…

谈基于大语言模型的图数据库路径检索

随着微软已经开源了GraphRAG项目的代码,基于图数据库的RAG 热度迅速升温。关注基于大语言模型与图模型数据库相结合的技术的人多了起来。 本文提出了一种类似人工搜索的“顺藤摸瓜”方法,实现图数据库的智能搜索方法。 本地私有数据存储和查询 本地私有…

大数据面试SQL(一):合并日期重叠的活动

文章目录 合并日期重叠的活动 一、题目 二、分析 三、SQL实战 四、样例数据参考 合并日期重叠的活动 一、题目 已知有表记录了每个品牌的活动开始日期和结束日期,每个品牌可以有多个活动。请编写一个SQL查询合并在同一个品牌举行的所有重叠的活动&#xff0c…

Canvas简历编辑器-图形绘制与状态管理(轻量级DOM)

Canvas简历编辑器-图形绘制与状态管理(轻量级DOM) 在前边我们聊了数据结构的设计和剪贴板的数据操作,那么这些操作都还是比较倾向于数据相关的操作,那么我们现在就来聊聊基本的图形绘制以及图形状态管理。 在线编辑: https://windrunnermax.github.io/…