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

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)。

相关推荐
Doctor老王9 小时前
TR3:Pytorch复现Transformer
人工智能·pytorch·transformer
CSDN云计算21 小时前
性能高于Transformer模型1.7-2倍,彩云科技发布基于DCFormer架构通用大模型云锦天章
大模型·transformer·dcformer·彩云天气·彩云小梦·云锦天章
小毕超1 天前
基于 PyTorch 从零手搓一个GPT Transformer 对话大模型
pytorch·gpt·transformer
小言从不摸鱼1 天前
【AI大模型】ELMo模型介绍:深度理解语言模型的嵌入艺术
人工智能·深度学习·语言模型·自然语言处理·transformer
irrationality2 天前
昇思大模型平台打卡体验活动:项目5基于MindSpore实现Transformer机器翻译
深度学习·transformer·机器翻译
神奇的布欧2 天前
TransFormer--注意力机制:位置编码
人工智能·python·深度学习·学习·transformer
陌上阳光3 天前
动手学深度学习68 Transformer
人工智能·深度学习·transformer
deephub3 天前
TSMamba:基于Mamba架构的高效时间序列预测基础模型
人工智能·深度学习·transformer·时间序列·mamba
Lor :)3 天前
深入浅出 ChatGPT 底层原理:Transformer
深度学习·chatgpt·transformer
Jacob_AI3 天前
P-tuning、Prompt-tuning和Prefix-tuning区别是什么?
语言模型·nlp·prompt·transformer