SAM 2——视频和图像实时实例分割的全新开源模型

news2024/11/28 15:42:05

引言

源码地址:https://github.com/facebookresearch/segment-anything-2
过去几年,人工智能领域在文本处理的基础人工智能方面取得了显著进步,这些进步改变了从客户服务到法律分析等各个行业。然而,在图像处理方面,我们才刚刚开始。视觉数据的复杂性以及训练模型以准确解释和分析图像的挑战带来了重大障碍。随着研究人员继续探索图像和视频的基础人工智能,人工智能图像处理的未来有望为医疗保健、自动驾驶汽车等领域带来创新。

对象分割是计算机视觉中的一项关键任务,它涉及精确定位图像中与感兴趣对象相对应的像素。传统上,这涉及创建专门的 AI 模型,这需要广泛的基础设施和大量带注释的数据。去年,Meta 推出了 分段任何模型(SAM),以 基础人工智能 模型简化了这一过程,允许用户通过简单的提示分割图像。这项创新减少了对专业知识和大量计算资源的需求,使图像分割更容易实现。

现在,Meta 又迈进了一步, SAM 2。这一新版本不仅增强了 SAM 现有的图像分割功能,还将其进一步扩展到视频处理。SAM 2 可以分割图像和视频中的任何对象,甚至是它以前从未遇到过的对象。这一进步是计算机视觉和图像处理领域的一次飞跃,为分析视觉内容提供了更通用、更强大的工具。在本文中,我们将深入探讨 SAM 2 令人兴奋的进步,并探讨其重新定义计算机视觉领域的潜力。

引入“任意细分模型”(SAM)

传统的分割方法要么需要手动细化(称为交互式分割),要么需要大量带注释的数据才能自动分割成预定义的类别。SAM 是一种基础 AI 模型,支持使用多种提示(如点击、框或文本输入)进行交互式分割。它还可以使用最少的数据和计算资源进行微调,以实现自动分割。SAM 经过超过 1 亿个不同的图像注释的训练,可以处理新对象和图像,而无需自定义数据收集或微调。

SAM 有两个主要组件:一个用于处理图像的图像编码器和一个用于处理点击或文本等输入的提示编码器。这些组件与一个轻量级解码器一起用于预测分割掩码。处理完图像后,SAM 可以在 Web 浏览器中仅用 50 毫秒创建一个片段,使其成为实时交互式任务的强大工具。为了构建 SAM,研究人员开发了一个三步数据收集过程:模型辅助注释、自动和辅助注释的混合以及全自动掩码创建。这个过程导致了 SA-1B 数据集,其中包括 1.1 万张获得许可的隐私保护图像上的超过 11 亿个蒙版,比任何现有数据集都大 400 倍。SAM 的出色表现源于这个广泛而多样化的数据集,与之前的数据集相比,它确保了各个地理区域的更好代表性。
在这里插入图片描述

揭开 SAM 2 的面纱:从图像到视频分割的飞跃

SAM 2 以 SAM 为基础,旨在实时、可提示地分割图像和视频中的对象。与仅专注于静态图像的 SAM 不同,SAM 2 通过将每一帧视为连续序列的一部分来处理视频。这使 SAM 2 能够更有效地处理动态场景和不断变化的内容。对于图像分割,SAM 2 不仅提高了 SAM 的功能,而且在交互式任务中的运行速度提高了三倍。

SAM 2 保留了与 SAM 相同的架构,但引入了用于视频处理的记忆机制。此功能允许 SAM 2 跟踪来自先前帧的信息,从而确保无论运动、光照或遮挡如何变化,都能实现一致的对象分割。通过参考过去的帧,SAM 2 可以在整个视频中完善其掩码预测。

该模型是在新开发的数据集上进行训练的, SA-V数据集,其中包括来自 600,000 个国家/地区的 51,000 个视频的 47 多个 masklet 注释。这个多样化的数据集涵盖了整个对象及其部分,提高了 SAM 2 在现实世界视频分割中的准确性。

SAM 2 是 Apache 2.0 许可下的开源模型,可用于各种用途。Meta 还根据 CC BY 2 许可共享了用于 SAM 4.0 的数据集。此外,还有一个 基于网络的演示 让用户探索模型并查看其性能。
在这里插入图片描述

潜在用例

SAM 2 在图像和视频的实时、可提示对象分割方面的能力已解锁了不同领域的众多创新应用。例如,其中一些应用如下:

  • 医疗保健诊断: SAM 2 可通过分割解剖结构和识别手术室实时视频中的异常情况,显著改善实时手术辅助。它还可在医学扫描中准确分割器官或肿瘤,从而增强医学成像分析。
  • 自动驾驶汽车: SAM 2 可通过在视频帧中连续分割和跟踪行人、车辆和路标来提高物体检测精度,从而增强自动驾驶汽车系统。其处理动态场景的能力还可通过实时识别和响应环境变化来支持自适应导航和防撞系统。
  • 互动媒体和娱乐: SAM 2 可通过实时精确分割对象来增强增强现实 (AR) 应用,使虚拟元素更容易与现实世界融合。它还可通过自动分割素材中的对象来简化视频编辑,从而简化背景移除和对象替换等流程。
  • 环境监测: SAM 2 可通过分割和监控视频片段中的动物来协助野生动物追踪,支持物种研究和栖息地研究。在灾难响应中,它可通过准确分割视频中受影响的区域和物体来评估损失并指导响应工作。
  • 零售和电子商务: SAM 2 可通过在图像和视频中对产品进行交互式细分来增强电子商务中的产品可视化。这可以让客户从各个角度和环境查看商品。对于库存管理,它可以帮助零售商实时跟踪和细分货架上的产品,从而简化盘点并改善整体库存控制。

克服 SAM 2 的局限性:实用解决方案和未来增强功能

虽然 SAM 2 在图像和短视频方面表现良好,但在实际使用中还是有一些局限性。在通过显著的视点变化、长时间遮挡或拥挤场景(尤其是在长视频中)跟踪物体时,它可能存在困难。通过交互式点击进行手动校正可以帮助解决这些问题。

在物体外观相似的拥挤环境中,SAM 2 偶尔会误识别目标,但后续帧中的额外提示可以解决此问题。尽管 SAM 2 可以分割多个物体,但由于它分别处理每个物体,因此效率会降低。未来的更新可能会受益于集成共享上下文信息来提高性能。

SAM 2 还可能错过快速移动物体的精细细节,并且预测在各个帧之间可能不稳定。不过,进一步的训练可以解决这一限制。虽然自动生成注释的功能已经得到改进,但人工注释者对于质量检查和帧选择仍然是必要的,进一步的自动化可以提高效率。

底线

SAM 2 在其前身奠定的基础之上,代表了实时图像和视频对象分割的重大飞跃。通过增强功能并将功能扩展到动态视频内容,SAM 2 有望改变从医疗保健和自动驾驶汽车到互动媒体和零售等各个领域。尽管仍存在挑战,特别是在处理复杂和拥挤的场景方面,但 SAM 2 的开源性质鼓励持续改进和适应。凭借其强大的性能和可访问性,SAM 2 有望推动创新并扩大计算机视觉及其他领域的可能性。

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

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

相关文章

Python高手如何做到一键更新代码?

声明:此篇为 ai123.cn 原创文章,转载请标明出处链接:https://ai123.cn/2186.html ​Hey,Python搞手们,👋,你们是否也头疼代码维护的重重难关?别担心,今天就给你们带来一手…

【功能】Lua层的全局事件管理系统

1.EventManager 全局的管理类 2.EventType 事件类型 3..Lua层Common工具目录去require对应文件目录的脚本文件 --事件类型 local EventType {TestMsg 1, }return EventType local EventManager class(); EventManager.msgMap {}local function HaveSameFunc(…

Linux 搜索历史命令Ctrl+R

最近使用CtrlR来搜索历史命令,对比速度比history 快一下,且看起来高级。记录如下:命令1:history 功能:显示当前Linux终端输入过的历史命令。案例:使用history 出来的结果很多,通常和grep 过滤&a…

抗菌肽LL-37;LLGDFFRKSKEKIGKEFKRIVQRIKDFLRNLVPRTES;CAS:154947-66-7

【抗菌肽LL-37 简介】 LL-37是一种由37个氨基酸残基组成的抗菌肽,它是人类cathelicidin家族中的唯一成员。LL-37具有广泛的抗菌活性,能够对抗革兰氏阳性菌和革兰氏阴性菌,以及真菌和病毒。除了直接的抗菌作用,LL-37还具有免疫调节…

你是如何克服编程学习中的挫折感的?(-@-^-0-)

在编程学习中遇到挫折感是极为常见且正常的现象,因为编程往往涉及解决复杂问题、理解抽象概念以及不断试错的过程。 以下是一些建议,帮助你在面对挫折时调整心态,继续前行: 接受失败是成长的一部分:首先要认识到&#…

linux之网络子系统-tcpdump 原理

一、tcpdump 的用途 tcpdump是Linux系统抓包工具,tcpdump基于libpcap库,根据使用者的定义对网络上的数据包进行截获,tcpdump可以将网络中传送的数据包中的"头"完全截获下来提供分析,支持针对网络层、协议、主机、网络或…

刷题篇 - 03

题目一: 203. 移除链表元素 - 力扣(LeetCode) public ListNode removeElements(ListNode head, int val) {//1. 如果链表为null,直接返回headif (head null) {return head;}//2. 定义快慢指针ListNode pre head;ListNode del …

工业数据采集网关简介-天拓四方

随着工业4.0和物联网(IoT)技术的深入发展,工业数据采集网关作为连接现场设备与上层管理系统的关键节点,其在智能工厂中的作用愈发凸显。本文将深入探讨工业数据采集网关的功能、特点、应用场景及其实操性,以期为读者提…

【JPCS出版】第三届机械、航天技术与材料应用国际学术会议 (MATMA 2024)

第三届机械、航天技术与材料应用国际学术会议(MATMA 2024)定于2024年08月30-9月1日在中国呼和浩特隆重举行。 本会议由内蒙古工业大学主办,主要围绕“机械工程”、“航天技术”与“材料应用”等最新研究领域展开研讨,为来自国内外高等院校、科学研究所、…

【SpringCloud】(一文通)SpringCloud 环境和工程搭建

目 录 一. 开发环境安装二. 案例介绍2.1 需求2.2 服务拆分 三. 数据准备四. 工程搭建4.1 构建父子工程4.1.1 创建父工程4.1.2 创建子项目-订单服务4.1.3 创建子项目-商品服务 4.2 完善订单服务4.2.1 完善启动类, 配置文件4.2.2 业务代码4.2.3 测试 4.3 完善商品服务4.3.1 完善启…

Cesium实现单个无人机飞行

通过一组坐标,实现平滑的无人机飞行效果 测试步骤: 1、手动填写坐标并记录坐标(可通过点击球面查看坐标信息) 2、点击初始化,载入相应的坐标信息 3、点击漫游,镜头会平滑演进 低配置云服务器,首次加载速度较慢&…

设备状态图表-甘特图

1.背景&#xff1a;设备状态监控图表&#xff0c;监控不同状态的时间段&#xff0c;可以使用甘特图来展示效果 鼠标经过时的数据提示框 2、代码实现 <template><divref"ganttChartRefs":style"{ height: 6.2rem, width: 100% }"class"bg…

利用ai写作软件,一键智能改写文案很简单

在当今快节奏的时代&#xff0c;科技的发展日新月异&#xff0c;人工智能&#xff08;AI&#xff09;已经逐渐融入到我们生活的各个方面。其中&#xff0c;AI写作工具的出现为文案创作带来了极大的便利&#xff0c;让一键智能改写文案变得简单而高效。 AI写作工具利用先进的算法…

项目技巧1

目录 创建项目工程的技巧 示例&#xff1a;创建父工程 第一步&#xff1a;初始化maven项目 第二步&#xff1a;使用标签 抽取依赖的资源版本号&#xff0c;方便后续调整 第三步&#xff1a;配置父工程锁定的版本&#xff0c;使用 该标签的作用&#xff1a;锁定资源的版本号&…

初探Raft算法

在分布式系统有一个经典的CAP理论&#xff0c;C&#xff1a;一致性&#xff0c;即集群中所有节点都应该是一致的。A&#xff1a;可用性&#xff0c;集群一直处于可用状态。P&#xff1a;分区容错性&#xff1a;即复制所有数据到集群的所有节点&#xff0c;保证即使出现网络分区…

TQRFSOC开发板47DR,LMK04832更新配置

在利用RFSOC开发板进行项目开发时&#xff0c;面对多样化的时钟需求&#xff0c;巧妙地配置LMK04832时钟管理芯片以输出精确的时钟信号显得尤为重要。本期内容将讲解如何通过ZYNQ更新LMK04832的配置&#xff0c;以满足您的特定时钟需求。 每次配置成功后&#xff0c;配置文件都…

电路笔记(PCB):JLC PCB布局和走线基础教程笔记

对立创EDA 四层板PCB设计保姆级教程的笔记看完才发现是个虚假的教程&#xff0c;除了没教四层板咋画其它教了&#xff08;中间的两层全是GND的作用&#xff09; PCB布局 转换原理图 使用USB模块&#xff08;3.0集线器&#xff09;中的原理图。设计- - -》更新/转换原理图到P…

CSP内容安全策略

目录 CSP内容安全策略 一、引入 二、CSP内容安全策略 1、通过 HTTP 响应头信息的 Content-Security-Policy 的字段 2、通过网页的 meta 标签 3、在security的read.php页面&#xff0c;增加以下响应头 4、report-uri安全报告 5、其他安全配置 6、Web服务器全局配置 三…

机器学习:逻辑回归处理手写数字的识别

1、获取数据, 图像分割该数据有50行100列&#xff0c;每个数字占据20*20个像素点&#xff0c;可以进行切分,划分出训练集和测试集。 import numpy as np import pandas as pd import cv2 imgcv2.imread("digits.png")#读取文件 graycv2.cvtColor(img,cv2.COLOR_BGR2G…

8月20日

思维导图 面试题整理&#xff1a; 数据结构中顺序表和链表的区别? 顺序表&#xff1a; 1、存储方式&#xff1a;顺序表是一系列连续的内存空间&#xff0c;每个元素的地址可以通过索引计算出&#xff1b; 2、访问速度&#xff1a;由于不需要遍历查找&#xff0c;访问速度较…