推出 SAM 2:适用于视频和图像的下一代 Meta Segment Anything 模型

继图像元分割模型(SAM) 取得成功之后,我们发布了SAM 2,这是一个用于在图像和视频中实时提示对象分割的统一模型,可实现最先进的性能。

为了秉承我们的开放科学方针,我们通过宽松的 Apache 2.0 许可证共享代码和模型权重。

我们还分享了SA-V 数据集,其中包括大约 51,000 个真实世界视频和超过 600,000 个 masklet(时空掩模)。

SAM 2 可以分割任何视频或图像中的任何对象 - 即使对于以前从未见过的对象和视觉域也是如此,从而无需进行自定义调整即可实现多种使用案例。

SAM 2 具有许多潜在的实际应用。例如,SAM 2 的输出可与生成视频模型一起使用,以创建新的视频效果并解锁新的创意应用。SAM 2 还可以帮助更快地注释视觉数据,以构建更好的计算机视觉系统。

SAM 2 网络演示的预览,允许分割和跟踪视频中的对象并应用效果。

今天,我们宣布推出 Meta Segment Anything Model 2 (SAM 2),这是Meta Segment Anything Model的下一代,现在支持视频和图像中的对象分割。我们根据 Apache 2.0 许可证发布 SAM 2,因此任何人都可以使用它来构建自己的体验。我们还根据 CC BY 4.0 许可证分享了 SA-V(我们用于构建 SAM 2 的数据集),并发布了基于 Web 的演示体验,每个人都可以试用我们的模型版本。

对象分割(识别图像中与感兴趣对象相对应的像素)是计算机视觉领域的一项基本任务。去年发布的Meta Segment Anything 模型(SAM) 为图像上的这项任务引入了一个基础模型。

我们的最新模型 SAM 2 是第一个用于实时、可提示的图像和视频对象分割的统一模型,它使视频分割体验发生了重大变化,并可在图像和视频应用程序中无缝使用。SAM 2 在图像分割精度方面超越了之前的功能,并且实现了比现有工作更好的视频分割性能,同时所需的交互时间减少了三倍。SAM 2 还可以分割任何视频或图像中的任何对象(通常称为零样本泛化),这意味着它可以应用于以前从未见过的视觉内容,而无需进行自定义调整。

在 SAM 发布之前,要为特定图像任务创建准确的对象分割模型,需要技术专家进行高度专业的工作,他们必须能够访问 AI 训练基础设施和大量经过仔细注释的领域内数据。SAM 彻底改变了这一领域,通过提示技术,可以将其应用于各种现实世界的图像分割和开箱即用的用例——类似于大型语言模型无需自定义数据或昂贵的调整即可执行一系列任务。

自我们推出 SAM 以来的一年里,该模型已在各个学科领域产生了巨大影响。它启发了 Meta 系列应用(例如Instagram 上的 Backdrop 和 Cutouts)中新的 AI 体验,并催化了科学、医学和众多其他行业的各种应用。许多最大的数据注释平台已将 SAM 集成为图像中对象分割注释的默认工具,节省了数百万小时的人工注释时间。SAM 还用于海洋科学中分割声纳图像和分析珊瑚礁、用于救灾的卫星图像分析以及医学领域中分割细胞图像和辅助检测皮肤癌。

正如马克·扎克伯格上周在一封公开信中指出的那样,开源人工智能“比任何其他现代技术都更具有潜力,可以提高人类的生产力、创造力和生活质量”,同时还能加速经济增长并推动突破性的医学和科学研究。人工智能社区利用 SAM 取得的进展给我们留下了深刻的印象,我们预计 SAM 2 将释放更多令人兴奋的可能性。

SAM 2 可立即应用于各种各样的实际用例 - 例如,跟踪物体以创建视频效果(左)或分割显微镜捕获的视频中的移动细胞以辅助科学研究(右)。

为了秉承我们的开放科学方法,我们与社区分享了我们对 SAM 2 的研究成果,以便他们探索新功能和用例。我们今天分享的成果包括:

  • SAM 2 代码和权重,根据宽松的 Apache 2.0 许可证开放源代码。我们根据 BSD-3 许可证共享我们的 SAM 2 评估代码。

  • SA-V 数据集,其视频数量是现有最大视频分割数据集的 4.5 倍,注释数量是现有最大视频分割数据集的 53 倍。此版本包含约 51,000 个真实视频,包含超过 600,000 个 masklet。我们根据 CC BY 4.0 许可共享 SA-V。

  • 一个网络演示,可实现短视频的实时交互式分割,并将视频效果应用于模型预测。

作为统一模型,SAM 2 可以无缝支持图像和视频数据中的用例,并扩展到以前未见过的视觉领域。对于人工智能研究社区和其他人来说,SAM 2 可以作为更大的人工智能系统的一部分,用于更广泛地理解世界。在工业界,它可以为视觉数据提供更快的注释工具,以训练下一代计算机视觉系统,例如自动驾驶汽车中使用的系统。SAM 2 的快速推理能力可以激发实时或现场视频中选择和与对象交互的新方式。对于内容创建者,SAM 2 可以实现视频编辑中的创意应用,并为生成视频模型增加可控性。SAM 2 还可用于辅助科学和医学研究 - 例如,在无人机镜头中追踪濒危动物或在医疗过程中定位腹腔镜摄像机馈送中的区域。我们相信可能性是广泛的,我们很高兴与人工智能社区分享这项技术,看看他们能创造和学习什么。

我们如何打造 SAM 2

SAM 能够学习图像中物体的一般概念。然而,图像只是动态现实世界的静态快照,其中视觉片段可以表现出复杂的运动。许多重要的现实世界用例需要在视频数据中进行准确的对象分割,例如在混合现实、机器人、自动驾驶汽车和视频编辑中。我们相信通用分割模型应该适用于图像和视频。

图像可以看作是一段只有一帧的非常短的视频。我们采用这种观点来开发一个统一的模型,无缝支持图像和视频输入。处理视频的唯一区别是,模型需要依靠内存来回忆该视频之前处理过的信息,以便在当前时间步准确分割对象。

成功分割视频中的对象需要了解实体在空间和时间中的位置。与图像中的分割相比,视频带来了重大的新挑战。物体运动、变形、遮挡、光线变化和其他因素可能会在每一帧之间发生巨大变化。由于相机运动、模糊和分辨率较低,视频质量通常低于图像,这增加了难度。因此,现有的视频分割模型和数据集无法为视频提供类似的“分割任何内容”功能。我们在构建 SAM 2 和新 SA-V 数据集的工作中解决了许多这些挑战。

与我们用于 SAM 的方法类似,我们在实现视频分割功能方面的研究涉及设计新任务、模型和数据集。我们首先开发可提示的视觉分割任务,并设计一个能够执行此任务的模型 (SAM 2)。我们使用 SAM 2 来帮助创建视频对象分割数据集 (SA-V),该数据集比目前存在的任何数据集都要大一个数量级,并用它来训练 SAM 2 以实现最先进的性能。

可提示的视觉分割

SAM 2 支持选择和细化任何视频帧中的对象。

我们设计了一个可提示的视觉分割任务,将图像分割任务推广到视频领域。SAM 经过训练,可以将图像中的点、框或蒙版作为输入,以定义目标对象并预测分割蒙版。借助 SAM 2,我们训练它接受视频任意帧中的输入提示,以定义要预测的时空蒙版(即“蒙版小片”)。SAM 2 根据输入提示立即预测当前帧上的蒙版,并将其在时间上传播以生成所有视频帧中的目标对象的蒙版小片。一旦预测了初始蒙版小片,就可以通过在任意帧中向 SAM 2 提供额外提示来迭代细化它。这可以根据需要重复多次,直到获得所需的蒙版小片。

统一架构中的图像和视频分割

,时长00:32

从 SAM 到 SAM 2 的架构演变。

SAM 2 架构可视为 SAM 从图像到视频领域的推广。SAM 2 可通过点击(正或负)、边界框或掩码来提示,以定义给定帧中对象的范围。轻量级掩码解码器采用当前帧的图像嵌入和编码提示来输出该帧的分割掩码。在视频设置中,SAM 2 将此掩码预测传播到所有视频帧以生成掩码。然后可以在任何后续帧上迭代添加提示以优化掩码预测。

为了在所有视频帧中准确预测掩码,我们引入了一种记忆机制,由记忆编码器、记忆库和记忆注意模块组成。当应用于图像时,记忆组件为空,模型的行为类似于 SAM。对于视频,记忆组件可以存储有关该会话中对象和先前用户交互的信息,从而使 SAM 2 能够在整个视频中生成掩码预测。如果在其他帧上提供了其他提示,SAM 2 可以根据存储的对象记忆上下文有效地纠正其预测。

记忆编码器根据当前掩码预测创建帧记忆,并将其放置在记忆库中,用于分割后续帧。记忆库由来自前一帧和提示帧的记忆组成。记忆注意操作从图像编码器获取每帧嵌入,并在记忆库上对其进行条件处理以生成嵌入,然后将其传递给掩码解码器以生成该帧的掩码预测。对所有后续帧重复此操作。

我们采用流式架构,这是 SAM 在视频领域的自然推广,一次处理一个视频帧并将有关分割对象的信息存储在内存中。在每个新处理的帧上,SAM 2 使用记忆注意模块来关注目标对象的先前记忆。这种设计允许实时处理任意长的视频,这不仅对于收集 SA-V 数据集的注释效率很重要,而且对于现实世界的应用(例如机器人技术)也很重要。

SAM 引入了在图像中分割对象存在歧义时输出多个有效掩码的功能。例如,当一个人点击自行车轮胎时,模型可以将这次点击解释为仅指轮胎或整辆自行车,并输出多个预测。在视频中,这种歧义可以扩展到视频帧中。例如,如果在一帧中只有轮胎可见,则点击轮胎可能只与轮胎有关,或者随着自行车的更多部分在后续帧中变得可见,这次点击可能是针对整辆自行车的。为了处理这种歧义,SAM 2 在视频的每个步骤中创建多个掩码。如果进一步的提示不能解决歧义,模型将选择置信度最高的掩码在视频中进一步传播。

,时长00:09

SAM 2 架构中的遮挡头用于预测物体是否可见,即使在物体暂时被遮挡时也有助于分割物体。

在图像分割任务中,只要有积极的提示,帧中总会有一个有效的对象可供分割。在视频中,特定帧上可能不存在有效对象,例如由于对象被遮挡或从视野中消失。为了解释这种新的输出模式,我们添加了一个额外的模型输出(“遮挡头”),用于预测当前帧中是否存在感兴趣的对象。这使 SAM 2 能够有效地处理遮挡。

SA-V:构建最大的视频分割数据集

,时长00:22

来自 SA-V 数据集的视频和 masklet 注释。

将“分割任何内容”功能扩展到视频的挑战之一是用于训练模型的注释数据有限。当前的视频分割数据集很小,缺乏对各种对象的充分覆盖。现有的数据集注释通常覆盖整个对象(例如人),但缺少对象部分(例如人的夹克、帽子、鞋子),并且数据集通常以特定对象类别为中心,例如人、车辆和动物。

为了收集大量多样化的视频分割数据集,我们构建了一个数据引擎,利用带有人工注释者的交互式模型在环设置。注释者使用 SAM 2 以交互方式注释视频中的 masklet,然后使用新注释的数据依次更新 SAM 2。我们多次重复此循环,以迭代方式改进模型和数据集。与 SAM 类似,我们不对注释的 masklet 施加语义约束,而是同时关注整个对象(例如,一个人)和对象部分(例如,一个人的帽子)。

使用 SAM 2,收集新的视频对象分割掩码的速度比以往更快。使用我们的工具和 SAM 2 在循环中进行注释的速度比使用 SAM 每帧的速度快约 8.4 倍,也比将 SAM 与现成的跟踪器相结合的速度快得多。

我们发布的 SA-V 数据集比现有的视频对象分割数据集包含多一个数量级的注释和大约 4.5 倍的视频。

SA-V 数据集的亮点包括:

  • 约 51,000 个视频上有超过 600,000 个 masklet 注释。

  • 视频展现了来自 47 个国家/地区的不同地理区域的真实场景。

  • 注释涵盖整个对象、对象部分以及对象被遮挡、消失和重新出现的困难实例。

结果

,时长00:13

这两个模型都是用第一帧中的 T 恤蒙版初始化的。对于基线,我们使用来自 SAM 的蒙版。与过度分割并包括人的头部而不是仅跟踪 T 恤的基线相比,SAM 2 能够在整个视频中准确跟踪物体部分。

为了创建统一的图像和视频分割模型,我们将图像视为单帧视频,在图像和视频数据上联合训练 SAM 2。我们利用去年作为 Segment Anything 项目的一部分发布的 SA-1B 图像数据集、SA-V 数据集以及额外的内部许可视频数据集。

图片

SAM 2(右)提高了 SAM(左)图像中的物体分割精度。

我们在研究论文中详述的重点包括:

  • SAM 2 在 17 个零样本视频数据集的交互式视频分割方面表现明显优于以前的方法,并且所需的人机交互减少了大约三倍。

  • SAM 2 在 23 个数据集零样本基准测试套件上的表现优于 SAM,而且速度快了六倍。

  • 与之前的最先进模型相比,SAM 2 在现有的视频对象分割基准(DAVIS、MOSE、LVOS、YouTube-VOS)上表现出色。

  • 使用 SAM 2 进行推理感觉很实时,速度大约为每秒 44 帧。

  • 循环中使用 SAM 2 进行视频分割注释的速度比使用 SAM 进行手动每帧注释快 8.4 倍。

我们必须努力打造适合所有人的 AI 体验。为了衡量 SAM 2 的公平性,我们对特定人口群体的模型性能进行了评估。结果表明,该模型在感知性别的视频分割方面性能差异很小,在我们评估的三个感知年龄组中差异很小:18-25 岁、26-50 岁和 50 岁以上。

限制

虽然 SAM 2 在图像和短视频中分割对象方面表现出强大的性能,但模型性能还可以进一步提高——尤其是在具有挑战性的场景中。

SAM 2 可能会在摄像机视点发生剧烈变化、长时间遮挡、场景拥挤或视频过长时丢失对物体的跟踪。我们在实践中缓解了这个问题,方法是将模型设计为交互式的,并允许在任何帧中通过单击校正进行手动干预,以便恢复目标物体。

SAM 2 有时会混淆拥挤场景中的多个看起来相似的物体。

当仅在一帧中指定目标物体时,SAM 2 有时会混淆物体,无法正确分割目标,如上图视频中的马匹所示。在许多情况下,通过在未来帧中添加额外的细化提示,可以完全解决此问题,并在整个视频中获得正确的 masklet。

虽然 SAM 2 支持同时分割多个单独对象,但模型的效率会大大降低。在底层,SAM 2 单独处理每个对象,仅使用共享的每帧嵌入,而无需对象间通信。虽然这简化了模型,但合并共享的对象级上下文信息可能有助于提高效率。

SAM 2 的预测可能会错过快速移动物体的精细细节。

对于复杂的快速移动物体,SAM 2 有时会错过精细的细节,并且预测在各个帧之间可能不稳定(如上图自行车手的视频所示)。在同一帧或其他帧中添加进一步的提示来优化预测只能部分缓解此问题。在训练期间,如果模型预测在帧之间抖动,我们不会对模型预测施加任何惩罚,因此无法保证时间平滑度。改进此功能可以促进需要详细定位精细结构的实际应用。

虽然我们的数据引擎在循环中使用了 SAM 2,并且我们在自动 masklet 生成方面取得了重大进展,但我们仍然依赖人工注释者执行某些步骤,例如验证 masklet 质量和选择需要更正的帧。未来的发展可能包括进一步自动化数据注释过程以提高效率。

为进一步推动这项研究,我们还有更多工作要做。我们希望人工智能社区能够加入我们,利用 SAM 2 和我们发布的资源进行构建。我们可以共同加速开放科学,打造造福人类和社会的强大新体验和用例。

让 SAM 2 发挥作用

虽然公开演示中使用的许多 Meta FAIR 模型都托管在 Amazon SageMaker 上,但 SAM 2 模型基于会话的要求超出了我们团队认为以前在 AWS AI Infra 上可以实现的界限。得益于 Amazon SageMaker 提供的高级模型部署和托管推理功能,我们得以发布 SAM 2 — 专注于构建最先进的 AI 模型和独特的 AI 演示体验。

未来,SAM 2 可以作为更大型 AI 系统的一部分,通过 AR 眼镜识别日常物品,并向用户提供提醒和说明。

我们鼓励人工智能社区下载该模型、使用数据集并试用我们的演示。通过分享这项研究,我们希望为加速通用视频和图像分割以及相关感知任务的进展做出贡献。我们期待看到将这项研究发布给社区将创造的新见解和有用的经验。

——完——

下载模型:https://github.com/facebookresearch/segment-anything-2

获取数据集:https://ai.meta.com/datasets/segment-anything-video/

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

使用演示:https://sam2.metademolab.com/

访问SAM2网站:https://ai.meta.com/SAM2/

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

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

相关文章

传奇游戏为何采用多渠道发布如何有效利用论坛资源?

揭秘传奇游戏多渠道发布策略,探讨手机游戏发布论坛如何助力品牌形象塑造 游戏发布平台|手机游戏发布平台|公益服游戏发布站 问题:传奇游戏为何采用多渠道发布策略?这些渠道各自有何优劣势? 回答:传奇游戏采用多渠道发…

Github 2024-08-14 C开源项目日报Top10

根据Github Trendings的统计,今日(2024-08-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目10Objective-C项目1PHP项目1Python项目1PHP:流行的Web开发脚本语言 创建周期:4710 天开发语言:C, PHP协议类型:OtherStar数量:37340 …

JAVA中new Object对象占用多少字节,Java对象的组成是哪些?Java对象头的组成又是哪些,MarkWord是什么,有什么作用?

Java对象头的组成_java对象头结构-CSDN博客 JAVA中new Object对象占用多少字节,Java对象的组成是哪些?Java对象头的组成又是哪些,MarkWord是什么,有什么作用? 一、JAVA对象的结构组成 JAVA Object对象的结构组成&…

FreeRTOS的任务创建和删除

1、任务创建和删除的API函数 任务的创建和删除本质就是调用FreeRTOS的API函数。 和任务创建和删除有关的函数主要有三: xTaskCreate():动态方式创建任务。 xTaskCreateStatic():静态方式创建任务。 vTaskDelete():删除任务。 那又有思考了 2、动态方式创建任…

实验五之用Processing绘画

1.案例代码如下: import generativedesign.*; import processing.pdf.*; import java.util.Calendar; Tablet tablet; boolean recordPDF false; float x 0, y 0; float stepSize 5.0; PFont font; String letters "Sie hren nicht die folgenden Gesnge…

超级字符串技能:提升你的编码游戏

嘿嘿,uu们,今天咱们来详解字符函数与字符串函数,好啦,废话不多讲,开干! 1.:字符分类函数 C语言中又一系列的函数是专门做字符分类的,也就是一个字符属于什么类型的字符的,这些函数的使用需要包含头文件ctype.h 这些函数的使用方法都十分类似,博主在这里就举两到三个…

【C语言篇】C语言常考及易错题整理DAY3

文章目录 选择题整形提升与算术转换左移右移操作符操作符优先级与结合性后置指针变量基本知识 编程题最大连续1的个数完全数计算单词倒排面试题.珠玑妙算两数之和 选择题 整形提升与算术转换 声明以下变量,则表达式: ch/i (f*d – i) 的结果类型为( &…

<Qt> 系统 - 网络编程 | 音视频

目录 前言: 一、QUdpSocket (一)核心 API 概览 (二)设计一个UDP回显服务器 二、QTCPSocket (一)核心 API 概览 (二)设计一个TCP回显服务器 三、HTTP Client 四、…

msgqueue.hpp队列模块

目录 一.MsgQueue模块介绍 二.MsgQueue类的实现 成员变量 构造函数与析构函数 成员函数 参数设置函数 setArgs 参数获取函数 getArgs 三.MsgQueueMapper类的实现 成员变量 构造函数 成员函数 创建表格函数 createTable 删除表格函数 dropTable 插入数据函数 inse…

GPT-4o:开启多模态AI识别新纪元

GPT-4o功能简介 在人工智能的演变历程中,图像识别技术始终占据着核心地位。技术的发展日新月异,使得AI不仅能够识别图像内容,还能将其转化为文字描述。特别值得一提的是,OpenAI在春季发布的GPT-4o模型,将图像识别技术…

微软Detours Hook库编译与使用

Detours 是微软开发的一个强大的Windows API钩子库,用于监视和拦截函数调用。它广泛应用于微软产品团队和众多独立软件开发中,旨在无需修改原始代码的情况下实现函数拦截和修改。Detours 在调试、监控、日志记录和性能分析等方面表现出色,已成…

shell命令行解释器—既陌生有熟悉的东西

今天做一个感性的认识来,用一个生活的例子。 你生活在有一条村子里面,在村的东边就是王婆,王婆呢?她主要做什么呢啊?她在村儿里面呢,也不种地啊,那她干什么呢?他主要做帮别人进行婚嫁…

【TabBar嵌套Navigation案例-发现页面-按钮上的图片旋转 Objective-C语言】

一、接下来,我们来做这个,点击以后,让它出一个蓝色的View 1.就是我们示例程序的这种效果, 一点击,让这个按钮旋转,然后呢,再让它出来一个蓝色的View, 首先,我们要去监听它的点击事件,这是第一,我点击以后,我要做一些什么样的操作,要有点击事件, 所以呢,我要把…

JS基础进阶Webs-API、HTML 、DOM

一、JS中的API 1. 定义 JavaScript API是指为JavaScript提供的一组编程接口和对象,用以允许开发者访问和操作Web浏览器或其他JavaScript环境(如Node.js)提供的特定功能。这些API使得开发者能够编写更加动态和交互式的Web应用程序。 2. 主要…

服务器数据恢复—raid5阵列热备盘未全部启用导致阵列崩溃的数据恢复案例

服务器存储数据恢复环境: 一台EMC某型号存储中有一组RAID5磁盘阵列。该raid5阵列中有12块硬盘,其中2块硬盘为热备盘。 服务器存储故障: 该存储raid5阵列中有两块硬盘离线,只有1块热备盘启用替换掉其中一块离线盘,另外…

​产品经理-​你如何理解“互联网思维(35)

在产品规划和功能改版中,确实非常重视用户需求和体验。产品需求是互联网产品的核心 用户体验是互联网产品的重点。在互联网新产品规划中,会非常重视用户验证环节 确保做出来的东西确实是用户想要的;而在已经上线的产品中,往往会有…

人工智能与机器学习原理精解【12】

文章目录 分级聚类理论分级聚类的详细说明1. 定义2. 算法3. 计算4. 例子5. 例题 皮尔逊相关系数 julia实现 参考文献 分级聚类 理论 分级聚类的详细说明 1. 定义 分级聚类(Hierarchical Clustering),又称为层次聚类,是一种通过…

谷歌反垄断官司败诉后,或又面临被拆分风险?

KlipC报道:上周8月5日,美国法院裁定谷歌的搜索业务违反了美国反垄断法,非法垄断在线搜索和搜索文本广告市场。据悉,胜诉的美国司法部正在考虑拆分谷歌。其他选项包括强制谷歌与竞争对手分享更多数据,以及防止其在人工智…

【二叉树进阶】--- 根据二叉树创建字符串

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 数据结构 从本篇文章开始,博主将分享一些结合二叉树的进阶算法题。 🏠 根据二叉树创建字符串 📌 题目内容 根据二叉…

从行为面试问题(behavioral questions)看中美程序员差异。

中美程序员在职场中的工作状态和职能、福利等有很大区别,从面试中的BQ轮就可见一斑。 中美程序员的面试轮差异? 国内的面试轮在不同公司间差异很大,但总体的问题类型包含笔试面试(算法题、概念题、项目深挖、职业目标、职场文化…