SAM2论文解读-既实现了视频的分割一切,又比图像的分割一切SAM更快更好

code:https://github.com/facebookresearch/sam2/tree/main
demo:https://sam2.metademolab.com/
paper:https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/

这是SAM
SAM
这是SAM2
在这里插入图片描述

Facebook出品,继SAM在图像上分割一切后,SAM2实现了效果优异的视频上的分割一切

  • 构建了能通过用户交互持续改进模型与数据的数据引擎,收集了迄今为止规模最大的视频分割数据集。
  • 该模型采用简单的Transformer架构,配备流式内存以实现实时视频处理。
  • 在视频分割方面,SAM2准确度优于现有方法,且交互次数减少至三分之一;
  • 在图像分割领域,相比"可分割任意模型"(SAM),SAM2精度更高且速度提升6倍(1024分辨率下实现130 FPS的图像分割速度)。

针对的核心问题

  1. 图像分割向视频领域的扩展不足
    现有图像分割模型(如SAM)无法直接处理视频中的时空动态特性,如物体运动、变形、遮挡、光照变化等,且视频数据具有时间维度,需要高效处理长序列帧。

  2. 视频分割数据集的局限性
    传统视频分割数据集(如DAVIS、YouTube-VOS)规模较小,主要覆盖完整物体,缺乏对物体部分遮挡/重现场景的覆盖,难以支持“分割任意物体”的泛化能力。

  3. 交互式视频分割的效率与精度平衡
    现有方法需大量人工交互(如多次点击或重新标注),且模型难以在实时处理中保持高精度,尤其在复杂场景下容易丢失目标。

数据:交互式数据收集框架

  • 三阶段迭代优化
    • Phase 1:基于SAM的逐帧手动标注,确保高质量空间掩码。
    • Phase 2:引入SAM 2 Mask进行掩码传播,减少手动标注工作量(速度提升5.1倍)。
    • Phase 3:全功能SAM 2支持点/掩码混合提示,利用内存机制进一步提升效率(速度提升8.4倍)。
  • 自动掩码生成(Auto Masklet)
    • 通过网格点提示自动生成掩码,覆盖小物体和背景区域,提升数据多样性。
    • 最终构建SA-V数据集:包含50.9K视频、3550万掩码,是现有最大视频分割数据集(比YouTube-VOS多53倍掩码)。

任务定义

  • 核心目标:给定输入视频,通过在任意视频帧上提供交互式提示(如点、框、掩码),分割并跟踪目标对象的时空掩码(masklet),即生成覆盖整个视频的时空一致分割结果。
  • 交互性:用户可在任意帧添加提示以迭代优化分割结果。例如,在某一帧纠正分割错误后,模型会将修正传播到整个视频,减少重复标注成本。
  • 对比半监督视频对象分割(VOS)
    VOS通常仅在第一帧提供掩码提示,且聚焦于完整物体跟踪;PVS支持多帧任意提示,并可分割物体部分(如“人的手臂”),覆盖更广泛的“任意物体”场景。

模型

在这里插入图片描述
(其中红色线是手绘的,因为原图中没标注这部分,图像编码器的部分特征通过跳跃连接直接输给mask decoder,来提高掩码精度)

一、总体设计

  • 统一框架:SAM 2是首个统一处理图像和视频分割的基础模型,将图像视为单帧视频,通过**流内存机制(Streaming Memory)**扩展SAM的静态分割能力至动态视频场景。
  • 输入与输出:接受视频中任意帧的点、框、掩码提示,输出目标对象的时空掩码(masklet),支持通过迭代提示逐步优化分割结果。

二、核心组件

1. 图像编码器(Image Encoder)
  • 采用23年的层次化视觉Transformer(Hiera),基于MAE预训练,支持多尺度特征提取(共4各stage),其中高分辨率的1,2stage特征直接输给mask decoder,3,4stage输给memory attention。
2. 内存注意力模块(Memory Attention)
  • 通过Transformer块实现当前帧与Memory Bank中的历史内存的交互。
  • 其中自注意力(Self-Attention)处理当前帧特征,交叉注意力(Cross-Attention)关联Memory Bank中的空间特征对象指针(Object Pointers)
3. 提示编码器与掩码解码器(Prompt Encoder & Mask Decoder)
  • 提示编码器:与SAM完全兼容,支持稀疏提示(点/框)和密集提示(掩码),通过位置编码和卷积嵌入提示信息。
  • 掩码解码器
    • 多掩码预测:处理歧义提示时输出多个掩码,如果后续提示仍存在歧义,则选择最高IoU的掩码进行传播。
    • 遮挡预测头:新增分支预测目标是否在当前帧可见,辅助内存更新和分割校正。
    • 跳跃连接(Skip Connections):引入图像编码器的高分辨率特征,提升掩码细节精度(图中手绘的红色线)。
4. 内存编码器

内存编码器的实际输入是预测得到的mask,以及image encoder得到的图像嵌入,将mask下采样后跟图像嵌入逐元素相加,并经过一个轻量的卷积层得到最终的编码信息。

5.Memory Bank
  • FIFO队列:存储最近N帧的内存M个提示帧的信息,统称为spatial features,平衡时间上下文和计算成本。
  • 对象指针:轻量级向量存储每帧的语义摘要,增强跨帧语义一致性,用以捕获高层语义信息(如掩码解码器输出的token),后续实验验证这个指针很有效。

与SAM的对比

维度SAMSAM 2
处理对象单帧图像图像+视频(时空序列)
核心机制静态提示-分割流内存+时间注意力+迭代提示优化
速度(FPS)21.7(ViT-H)130(Hiera-B+,图像)/43.8(视频)
交互效率依赖单帧多次点击跨帧内存复用,交互次数减少3倍
数据集规模SA-1B(11M图像)SA-V(50.9K视频,3550万掩码)

训练策略:图像与视频联合优化

1. 预训练(图像优先)
  • 数据:SA-1B图像数据集(11M图像)。
  • 目标:学习基础视觉特征和提示响应能力,与SAM初始化一致。
  • 技术细节
    • 损失函数:焦点损失 + 骰子损失(比例20:1),L1损失监督IoU预测。
    • 数据增强:水平翻转,Resize至1024×1024,过滤掩码面积>90%的样本。
2. 全训练(图像+视频联合)
  • 数据混合
    • 图像数据:15.2% SA-1B;
    • 视频数据:70% SA-V + 14.8% Internal数据集 + 开源VOS数据集(如DAVIS/YouTube-VOS)。
  • 交替训练策略:按数据规模比例交替采样图像和视频批次,视频批次处理8帧序列,图像批次处理单帧。
  • 模拟交互式提示
    • 采样8帧的序列,并随机选择最多2帧进行提示,在训练期间根据真实掩模和模型预测的概率性接收矫正点击(模拟用户迭代优化),初始提示及概率为掩码(50%)、正点击(25%)或框(25%)
  • 数据增强
    • 视频:水平翻转、仿射变换、颜色抖动、随机灰度化;
    • 马赛克变换(10%概率):将视频帧拼接为2×2网格,强制模型区分相似目标(附录D.2.2)。
3. 微调(长视频优化)
  • 目标:提升长视频中的长时依赖建模能力。
  • 方法
    • 采样16帧长序列,仅使用SA-V和Internal数据中“高编辑帧”样本(前50%最难样本);
    • 冻结图像编码器,仅微调内存和注意力模块,学习率降至原值1/2,训练50k迭代。

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

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

相关文章

WPF 的RenderTransform使图标旋转180°

只是记录一下思想&#xff1a; 本来想找两个对称的图标给按钮用&#xff0c;但是另一个找不到&#xff0c;就想到可不可以旋转180实现另一个图标的效果&#xff0c;问了一下DeepSeek&#xff1a; <Path Width"30" Height"30" Margin"1"Data…

Matplotlib 绘图库使用技巧介绍

目录 前言 Matplotlib 简介 快速入门 图形结构解剖 常用绘图函数 子图与布局 单行多列子图&#xff1a; 网格布局&#xff1a; 自定义位置&#xff1a; 样式与标注 中文字体与科学计数 图例、网格、坐标轴 动态图与动画 三维绘图 常见问题与技巧 前言 Matplotli…

【Java基础算法】1.相向指针练习

📘博客主页:程序员葵安 🫶感谢大家点赞👍🏻收藏⭐评论✍🏻 一、两数之和 Ⅱ(167) 1.1 题目介绍 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 nu…

“开放原子园区行”太原站:openKylin以开源之力,赋能产业发展

在数字化与智能化浪潮驱动下&#xff0c;开源技术已成为全球科技创新与产业升级的核心引擎&#xff0c;并为培育新质生产力开辟关键路径。为加速开源生态建设&#xff0c;赋能区域经济高质量发展&#xff0c;由开放原子开源基金会、山西省工业和信息化厅、山西转型综合改革示范…

【Elasticsearch】自定义相似性算法

在 Elasticsearch 中&#xff0c;可以通过自定义相似度算法来优化搜索结果的相关性。以下是几种常见的自定义相似度算法的方法&#xff1a; 1. 使用内置相似度算法 Elasticsearch 默认使用 BM25 算法&#xff0c;但也可以切换到其他内置的相似度算法&#xff0c;如 TF-IDF 或布…

【对比】DeepAR 和 N-Beats

1. DeepAR 1.1 核心思想 提出者&#xff1a;亚马逊&#xff08;Amazon&#xff09;团队于2018年提出。目标&#xff1a;针对多变量时间序列进行概率预测&#xff08;Probabilistic Forecasting&#xff09;&#xff0c;输出预测值的分布&#xff08;如均值、方差、置信区间&a…

Spring Boot单元测试终极指南:从环境搭建到分层测试实战

Spring Boot测试终极指南&#xff1a;从环境搭建到分层测试实战 掌握MockMvc与分层测试策略&#xff0c;让你的代码质量提升一个维度 一、环境搭建&#xff1a;Maven依赖深度解析 Spring Boot测试的核心依赖在pom.xml中配置如下&#xff1a; <dependencies><!-- 核心…

卷积类型总结

1. 标准卷积 (Convolution) 原理&#xff1a; 一个包含 K 个滤波器的卷积层&#xff08;每个滤波器大小为 FxF x C_in&#xff09;在输入特征图上滑动。在每个位置&#xff0c;滤波器与输入图像的局部区域进行逐元素相乘再求和&#xff08;点积运算&#xff09;&#xff0c;得到…

HP iLO使用实例:Integrated Lights-Out

文章目录 参考名词解释iLODMTF SMASH CLP命令HP提供的命令VSPBIOS启动顺序BIOS指令启动时报的电源错误如果ilo登陆不上去参考 ilo命令 https://support.hpe.com/hpesc/public/docDisplay?docId=c03334058 名词解释 iLO 从字面理解:Integrated Lights-Out,就是整合灯出;…

【前端隐蔽 Bug 深度剖析:SVG 组件复用中的 ID 冲突陷阱】

前端隐蔽 Bug 深度剖析&#xff1a;SVG 组件复用中的 ID 冲突陷阱 创建时间: 2025/6/20 类型: &#x1f50d; Bug 深度分析 难度: ⭐⭐⭐⭐⭐ 高级 关键词: SVG、ID 冲突、Vue 组件、隐蔽 Bug、技术分析 &#x1f4d6; 引言 在前端开发的世界里&#xff0c;有一类 Bug 特别令…

IDEA 中 Tomcat 部署 Java Web 项目(Maven 多模块 非 Maven 通用版)

引言 Java Web 开发中&#xff0c;Tomcat 是最常用的 Servlet 容器&#xff0c;而项目类型通常分为 Maven 管理&#xff08;依赖自动处理、多模块聚合&#xff09; 和 非 Maven 纯手工管理&#xff08;手动引入 jar 包、配置项目结构&#xff09;。本文覆盖 两种项目类型 的 T…

当建筑学会“行走”:MiC建筑如何重塑医疗空间

当塔吊林立的工地被智能化工厂取代&#xff0c;当混凝土现浇的轰鸣被精密模块的无声拼接覆盖&#xff0c;建筑行业正经历着自钢筋混凝土革命以来最深刻的范式转移。模块化集成建筑&#xff08;MiC&#xff09;技术&#xff0c;这场以“制造组装”为核心的新型工业化浪潮&#x…

计算机网络八股第二期

计算机网络八股第二期 1.讲一讲从输入网址到网页显示之间发生了什么&#xff08;从网络的角度&#xff09; 想想一下你从网店买一本书&#xff0c;从输入网址到网页显示其实和你从网店买一本书差不多&#xff0c;网店发给你的是实体而网络传输的是文字&#xff0c;图片等等资…

FPGA基础 -- Verilog 的值变转储文件(VCD:Value Change Dump)

Verilog 的“值变转储文件&#xff08;VCD&#xff1a;Value Change Dump&#xff09;”&#xff0c;这是一项在仿真调试中至关重要的技术&#xff0c;可以帮助你“看见”RTL中每个信号随时间的变化过程。 一、什么是 Verilog 的值变转储文件&#xff08;VCD&#xff09; VCD …

流水灯芯片74HC138 → 74HC164 → 74HC595核心功能、引脚作用及芯片定位

一、74HC138&#xff1a;精准的“8选1开关” 核心作用 用3根控制线&#xff08;A0-A2&#xff09;实现8路严格单选&#xff0c;同一时刻仅1路输出低电平&#xff08;其他7路高电平&#xff09;。 &#x1f4cc; 本质&#xff1a;二进制地址译码器&#xff0c;不是数据寄存器。…

鸿蒙Next仓颉语言开发实战教程:懒加载

今天要分享的是仓颉开发语言中的懒加载。 先和初学者朋友们解释一下什么是懒加载。懒加载在代码中叫做LazyForEach&#xff0c;看到名字你一定能猜到它和ForEach的功能类似。只不过和ForEach的一次性加载所有数据不同&#xff0c;懒加载会根据屏幕可使区域按需加载数据&#x…

Linux 内核同步管理全解:原理 + 实战 + 考点

&#x1f525; 推荐&#xff1a;《Yocto项目实战教程&#xff1a;高效定制嵌入式Linux系统》 京东正版促销&#xff0c;欢迎支持原创&#xff01; 链接&#xff1a;https://item.jd.com/15020438.html 一、为什么需要同步机制&#xff1f; Linux 是一个支持 多核并发 抢占式调…

效果成本双突破!快手提出端到端生成式推荐系统OneRec!

近日&#xff0c;快手推荐模型团队提出了一个端到端生成式推荐系统OneRec&#xff0c;该系统采用Encoder-Decoder架构&#xff0c;引入了基于奖励机制的偏好对齐方法&#xff0c;借助强化学习增强模型效果&#xff0c;可在奖励模型引导下直接生成契合用户偏好的视频内容。通过极…

flex布局 项目属性

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>flex布局 项目属性</title> <link href"css/k.css" rel"stylesheet" /> </head> <bod…

SpringBoot扩展——应用Web Service!

应用Web Service Web Service是一个SOA&#xff08;面向服务的编程&#xff09;架构&#xff0c;这种架构不依赖于语言&#xff0c;不依赖于平台&#xff0c;可以在不同的语言之间相互调用&#xff0c;通过Internet实现基于HTTP的网络应用间的交互调用。Web Service是一个可以…