SAM2论文核心速览

news2024/11/13 12:50:13

官方博客:

https://ai.meta.com/blog/segment-anything-2/

官方论文:​​​​​​https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/

一、研究背景

  1. 研究问题:这篇文章要解决的问题是如何在图像和视频中进行可提示的视觉分割(Promptable Visual Segmentation, PVS)。具体来说,研究目标是构建一个能够处理视频帧序列并生成时空分割掩码的基础模型。

  2. 研究难点:该问题的研究难点包括:视频中的实体可能会因运动、变形、遮挡、光照变化等因素而发生显著外观变化;视频质量通常低于图像,且处理大量帧效率低下;现有的视频分割模型和数据集在处理视频分割任务时表现不佳。

  3. 相关工作:该问题的研究相关工作有:Segment Anything(SA)模型在图像分割中的应用;交互式视频对象分割(iVOS)任务;半监督视频对象分割(VOS)方法;现有的视频分割数据集如DAVIS、YouTube-VOS等。

二、研究方法

这篇论文提出了Segment Anything Model 2(SAM 2),用于解决视频和图像的可提示视觉分割问题。具体来说,

  1. 模型架构:SAM 2是一个简单的Transformer架构,配备了流式内存以进行实时视频处理。该模型能够在单个图像和视频帧中生成分割掩码,并通过存储对象的先前交互信息来在整个视频中生成掩码预测。

  2. 数据引擎:为了收集训练数据,研究团队开发了一个数据引擎,该引擎通过与标注者交互来注释新的和具有挑战性的数据。数据引擎不限制特定类别的对象,而是旨在提供任何具有有效边界的对象的训练数据。

  3. 训练策略:模型在图像和视频数据上联合训练。模拟交互式提示,随机选择多达2帧进行提示,并概率为性地接收正确的点击。初始提示可以是真实掩码、从真实掩码中采样的正点击或边界框输入。

三、实验设计

  1. 数据收集:研究团队通过数据引擎收集了50.9K个视频,总计642.6K个掩码。视频包括室内和室外场景,平均时长为14秒,覆盖了多种日常场景和地理区域。

  2. 数据标注:数据标注分为三个阶段:SAM每帧、SAM+SAM 2 Mask、SAM 2。每个阶段的标注时间和精度逐步提升,最终使用SAM 2进行标注,每帧标注时间降至4.5秒。

  3. 验证步骤:为了确保标注质量,研究团队引入了一个验证步骤,由另一组标注者检查每个掩码的质量,确保其正确且一致地跟踪目标对象。

  4. 自动掩码生成:为了增加注释的多样性,研究团队使用自动生成的掩码来补充手动注释的掩码。自动生成的掩码经过验证后添加到数据集中。

4、结果与分析

  1. 视频分割性能:SAM 2在视频分割任务中表现出色,使用比现有方法少3倍的交互次数就能获得更好的分割精度。在多个视频对象分割基准测试中,SAM 2优于现有的基线方法。

  2. 图像分割性能:在图像分割基准测试中,SAM 2比Segment Anything Model(SAM)快6倍,同时表现出更高的准确性。

  3. 零样本测试:在17个视频分割和37个单图像分割的零样本基准测试中,SAM 2表现出色,特别是在视频分割任务中,SAM 2在9个密集标注的视频数据集中均优于现有的基线方法。

  4. 公平性评估:在性别和年龄群体的公平性评估中,SAM 2在3次点击和真实掩码提示下的准确性差异较小,表明模型在不同群体上的表现一致。

五、总体结论

这篇论文提出了Segment Anything Model 2(SAM 2),一个用于视频和图像可提示视觉分割的统一模型。通过构建一个大规模的数据集并使用数据引擎进行交互式注释,SAM 2在视频和图像分割任务中表现出色。研究结果表明,SAM 2在视频分割中比现有方法少用3倍的交互次数,同时在图像分割中比SAM快6倍。SAM 2的发布为视频分割和相关感知任务提供了一个重要的里程碑。

六、论文评价

优点与创新

  1. 数据集规模:提出了迄今为止最大的视频分割数据集SA-V,包含50.9K个视频和642.6K个masklets,比现有任何视频分割数据集都要大53倍。

  2. 模型架构:SAM 2采用了一个简单的Transformer架构,并配备了流式内存,用于实时视频处理。该模型在图像和视频分割任务中表现出色。

  3. 交互性:SAM 2能够通过在一个或多个视频帧上的提示(点击、框或掩码)进行交互式区域分割,并使用流式内存存储先前提示和预测的信息。

  4. 训练效率:通过在循环中与标注者一起使用模型生成训练数据,SAM 2的数据引擎比现有方法快8.4倍。

  5. 多任务能力:SAM 2不仅适用于视频分割,还可以处理图像分割任务,并且在图像分割任务中比Segment Anything Model (SAM)快6倍。

  6. 零样本性能:SAM 2在多个零样本基准测试中表现出色,包括17个视频分割和37个单图像分割基准。

  7. 公平性评估:评估表明,SAM 2在视频分割任务中基于性别和年龄的表现差异最小。

七、不足与反思

  1. 场景变化:模型可能在镜头变化时难以分割对象,或在长时间遮挡或长时间视频中失去对象跟踪。

  2. 细节丢失:模型在跟踪具有非常细或精细细节的快速移动对象时可能会遇到困难。

  3. 相似物体区分:在有相似外观的附近物体的情况下(例如,多个相同的抛球),模型可能会犯错误。引入更明确的运动建模可以缓解这种情况的错误。

  4. 多物体处理:尽管SAM 2可以同时跟踪视频中的多个对象,但它分别处理每个对象,没有对象级上下文信息的共享,这可能会影响效率。

  5. 自动化验证:数据引擎依赖于人工标注者验证masklet质量并选择需要纠正的帧。未来的发展可以包括自动化这一过程以提高效率。

八、关键问题及回答

问题1:SAM 2的内存机制是如何设计的?它在视频分割中起到了什么作用?

SAM 2的内存机制通过一个内存模块来实现,该模块存储了过去帧的预测和提示信息。具体来说,帧嵌入不是直接从图像编码器获取的,而是基于过去预测和提示帧的记忆。记忆模块通过卷积模块下采样输出掩码,并将其与图像编码器的无条件帧嵌入逐元素相加,然后通过轻量级卷积层融合信息。这种内存机制使得SAM 2能够在视频处理过程中记住之前的对象状态和交互信息,从而在生成掩码预测时能够考虑到这些历史信息,提高视频分割的准确性和效率。

问题2:SAM 2在数据收集和标注过程中是如何设计的?各阶段的具体流程是什么?

SAM 2的数据收集和标注过程通过一个数据引擎来实现,分为三个阶段:SAM每帧、SAM+SAM 2 Mask、SAM 2。

  1. SAM每帧:在这个阶段,使用基于图像的交互式SAM来辅助人工标注。标注者使用SAM在每个视频帧中标注目标对象的掩码,使用像素级编辑工具(如“画笔”和“橡皮擦”)进行手动编辑。这个阶段收集了16K个掩码。

  2. SAM+SAM 2 Mask:在这个阶段,SAM 2仅接受掩码作为提示。标注者首先使用SAM生成第一帧的空间掩码,然后使用SAM 2 Mask将掩码传播到其他帧,以获得完整的时空掩码。标注者可以手动编辑中间帧的预测,并使用SAM 2 Mask重新传播。这个阶段收集了63.5K个掩码。

  3. SAM 2:在这个阶段,SAM 2接受各种类型的提示(包括点和掩码),并利用跨帧的对象记忆生成掩码预测。标注者只需偶尔提供细化点击来编辑中间帧的预测。这个阶段收集了197.0K个掩码。

每个阶段的标注时间和效率逐步提升,最终SA-V数据集包含50.9K个视频和642.6K个掩码。

问题3:SAM 2在零样本视频分割任务中表现如何?与其他基线方法相比有哪些优势?

SAM 2在零样本视频分割任务中表现出色。具体来说,SAM 2在17个密集标注的视频数据集和37个单图像分割数据集中均表现出显著的性能提升。

  1. 交互式离线评估:在9个密集标注的视频数据集中,SAM 2在交互式离线评估中使用了3次点击,平均J&F指标优于现有的XMem++和Cutie基线方法,显示出更高的分割准确性和更少的交互次数。

  2. 半监督VOS评估:在17个视频数据集中,使用1次、3次或5次点击以及边界框和真实掩码作为提示,SAM 2在所有这些提示类型下均优于XMem++和Cutie基线方法,特别是在使用真实掩码作为提示时表现最佳。

  3. 公平性评估:在性别和年龄群体的公平性评估中,SAM 2在3次点击和真实掩码提示下的准确性差异较小,表明模型在不同群体上的表现一致。

总体而言,SAM 2在视频分割任务中能够从少量点击生成高质量的分割结果,并且具有良好的跨帧预测能力,显著优于现有的最先进方法。

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

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

相关文章

公式编辑器 -vue-formula-editor

前言 公式编辑旨在帮助用户使用可视化的前提,能便捷的使用平台,例如低代码平台使用广泛 vue-formula-editor vue-formula-editor是一款开源的Vue公式计算组件,可以帮助开发者快速集成公式编辑 在线体验 demo & 源码 安装 npm i vue-form…

CentOS 上安装 Java 17

要在 CentOS 上安装 Java 17,您可以使用多种方法。这里我将向您展示如何通过下载 Oracle 提供的 Java 开发工具包 (JDK) 或使用其他开源 JDK 版本(如 Adoptium 或 OpenJDK)来完成安装。 方法一:使用 Oracle JDK 17 下载 JDK 17&a…

HTB-BoardLight靶机笔记

BoardLight靶机笔记 概述 HTB的靶机BoardLight 靶机地址:https://app.hackthebox.com/machines/BoardLight 一、nmap扫描 1)端口扫描 -sT tcp全连接扫描 --min-rate 以最低速率10000扫描 -p- 扫描全端口 sudo nmap -sT --min-rate 10000 -p- -o p…

【论文写作】怎么写一篇学术论文

文章目录 (一)非匀速地写论文(二)弄清期刊的投稿要求以及使用论文模板(三)论文各个部分撰写的顺序(四)图表比你想象中的要重要许多(五)结果和讨论&#xff08…

Java | Leetcode Java题解之第349题两个数组的交集

题目: 题解: class Solution {public int[] intersection(int[] nums1, int[] nums2) {Arrays.sort(nums1);Arrays.sort(nums2);int length1 nums1.length, length2 nums2.length;int[] intersection new int[length1 length2];int index 0, index…

CPU占用异常分析

文章目录 问题现象二次排查参考资料 问题现象 执行文件解压,执行过程中被kill掉了,两次均如此。 [rootlocalhost demo_2]# gzip -d demo.sql.gz Killed网上查资料,可能是磁盘不足、系统资源不足; 磁盘查看没有问题,内…

Matlab2021b通过CNN、CNN-LSTM模型实现对声音信号的二分类与四分类

1、利用Matlab2021b训练CNN、CNN-LSTM模型,对采集的一维时序信号进行分类二分类与四分类 2. 声音信号每个样本数据长度3001个采样点,对其进行归一化处理 3、CNN时序信号多分类执行结果截图 3.1 二分类: CNN模型: 训练集损失值…

Linux装ifort环境

下载完成之后,需要解压文件 t tar zxvf IPSXE2020u4Linux.tgz 解压完成之后进入文件夹,我们使用GUI界面安装。 键入./install_GUI.sh 启动安装程序 收集用户信息,选择同意或者不同意都可以 这一步需要等待十几秒 核验不通过 这是缺少运行程…

牛客JS题(四十五)数组去重

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; set的灵活用法去除的判别标准 题干&#xff1a; 我的答案 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><style>/* 填写样式 */</style></head><bo…

★ C++基础篇 ★ vector 类

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C基础篇第六章----vector类 ~ 目录 一 vector的介绍及使用 1.1 vector的介绍 1.2 vector的使用 1.2.1 vector的定义 1.2.2 vector iterator 的使用 1.2.3 vector 空间增长问题 1.2.4 vecto…

网站配置了https证书,但浏览器访问时却访问了http

是由于缺少强制将 HTTP 请求重定向到 HTTPS 的规则 # HTTP 到 HTTPS 重定向配置 server {listen 80;server_name www.xlqd.site xlqd.site;return 301 https://$host$request_uri; } # 那么你原来的server块就要删除 listen 80;

【学习笔记】A2X通信的协议(十二)- PC5信令协议数据错误处理

目录 10. 处理未知、未预见和错误的PC5信令协议数据 10.1 总则 10.2 消息过短或过长 10.2.1 消息过短 10.2.2 消息过长 10.3 未知或未预见的消息类型 10.4 非语义性强制信息元素错误 10.5 非命令性消息部分中的未知和未预见的IE 10.5.1 消息中未知的IEI 10.5.2 乱序的…

虚幻蓝图 | 游戏开发 Randomize Height

当地图上有无数个收集物【如水晶】&#xff0c;一键随机化高度 应用前 应用后 同理带seed的随机化位置摆放如下&#xff1a; https://www.youtube.com/watch?vkGpsMEMDrjQ

【Hot100】LeetCode—142. 环形链表 II

目录 1- 思路快慢指针推导 2- 实现⭐142. 环形链表 II——题解思路 3- ACM 实现 原题连接&#xff1a;141. 环形链表 1- 思路 快慢指针推导 ① 利用快慢指针&#xff0c;定位环② 根据环&#xff0c;从头出发一个指针&#xff0c;从环处出发一个指针 两者相遇的地方就是环的入…

文献引用数据集分类(GCN)

#基于点的任务 from torch_geometric.datasets import Planetoid from torch_geometric.transforms import NormalizeFeatures import matplotlib.pyplot as plt from sklearn.manifold import TSNE import torch import torch.nn.functional as F from torch.nn import Linear…

Mysql原理与调优-事务与MVCC

目录 1.事务 1.1 什么是事务 1.2 事务隔离级别 1.2.1 事务并发执行可能出现的问题 1.2.2 隔离级别 1.2.3 如何查看和设置事务的隔离级别 1.2.3 快照读和当前读 2.MVCC 2.1 版本链机制 2.2 Read View 2.2.1 Read View读取事务的原则 2.4 Read Committed级别查询 2.5…

ACM MM 2024,复旦腾讯优图等提出MDT-A2G,可根据说话语音同步生成手势

复旦&腾讯优图等提出MDT-A2G&#xff0c;这是一个专门用来生成与语音同步手势的先进模型。想象一下&#xff0c;当我们说话时&#xff0c;身体自然会做出手势。这个模型的目的是让计算机也能像人类一样&#xff0c;根据说话的内容来生成合适的手势。它的运作方式像是一个人…

python的多线程实现高速下载PDB数据集

多线程下载数据 最近在某个网站上写了个shell脚本来下载数据集&#xff0c;内容量不大&#xff0c;但是下载的特别的慢&#xff0c;于是想到用多线程下载&#xff0c;发现快了很多。本文主要让大家清楚python中的几个模块区别和关于程序加速的一些方法&#xff0c;以及多线程下…

YOLOv8_det/seg/pose/obb推理流程

本章将介绍目标检测、实例分割、关键点检测和旋转目标检测的推理原理,基于onnx模型推理,那么首先就需要了解onnx模型的输入和输出,对输入的图片需要进行预处理的操作,对输出的结果需要进行后处理的操作,这部分内容在我的另一个专栏《YOLOv8深度剖析》中也有介绍,如果对YO…

【数学建模备赛】Ep06:多元线性回归分析

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、多元线性回归分析&#xff1a;☀️☀️☀️1. 回归分析的介绍和分类1.1相关性1.2 相关性≠因果性1.3 因变量Y1.4 自变量X 2. 回归分析的三条使命3. 数据的分类以及数据的来源 后序还在更新中~~~三、总结&#xff…