Meta "分割一切" 进化至2.0版本!全面追踪移动物体,完全开放代码及权重数据集。
编辑日期:2024年07月30日
网友热议:“真正的开放人工智能”
一经发布便开源共享!
在SIGGRAPH大会上,Meta推出了其“分割一切AI”的第二代产品——SAM2。
与前一代相比,它的功能从图像分割扩展到了视频分割。
它能够实时处理任意长度的视频,并能轻松识别并追踪视频中未曾见过的对象。
更重要的是,这次不仅开源了模型代码和权重,还共享了整个数据集!
该模型遵循Apache 2.0许可协议,与Llama系列相同,并且评估代码则基于BSD-3许可协议公开。
网友戏称:不知OpenAI作何感想?
Meta表示,此次开源的数据集包含了51,000个真实世界的视频和600,000个时空掩码(masklets),规模远超过之前最大的同类数据集。
同时,一个可供在线体验的演示版本也已上线,供所有人体验。
与SAM一代相比,SAM2的主要改进包括:
交互式分割过程大致分为两个步骤:选择和细化。
在第一帧中,用户通过点击来选择目标对象,SAM2会自动将分割应用到后续帧中,生成时空掩码。
如果SAM2在某些帧中未能正确追踪目标对象,用户可以在新的帧中提供额外的提示进行修正。
若需在第三帧重新恢复对象,只需在该帧点击即可。
SAM2的核心理念是将图像视为单一帧视频,这使得我们可以从SAM直接扩展到视频应用领域,同时支持图像和视频输入。
处理视频时的主要区别在于,模型需要利用内存来记住之前处理过的信息,以便在当前时间点准确地进行对象分割。
与静态图像分割不同,在视频分割中,物体可能会经历剧烈的移动、形变、遮挡以及光照变化。此外,为了正确分割视频中的对象,模型还需要理解这些实体在空间和时间维度上的位置关系。
基于此,Meta进行了三个主要方面的改进:
首先,研究团队设计了一种视觉分割任务,将图像分割任务扩展到了视频领域。
SAM被训练以通过图像中的输入点、框或掩码来定义目标,并预测分割掩码(segmentation mask)。
接下来,SAM被训练为能在视频的任意帧中接收提示(prompt),以此定义要预测的目标时空掩码(masklet)。
SAM2能够根据输入提示即时预测当前帧上的掩码,并进行临时传播,从而在所有帧上都能生成目标对象的掩码。
一旦预测出初始掩码,就可以通过在任何帧中向SAM2提供额外的提示来进行迭代改进,这一过程可以根据需要重复多次,直至获得所需的全部掩码。
通过引入流式内存(streaming memory)的概念,模型不仅能实现实时视频处理,而且还能更准确地分割和追踪目标对象。
它由记忆编码器、记忆库和记忆注意力模块构成。该模型对每一帧图像单独处理,同时利用前一帧的信息来辅助当前帧的分割任务。在分割图像时,由于没有历史帧信息,其行为类似于SAM。而在分割视频时,记忆组件能够储存关于目标对象及其过往交互的信息,使SAM2能够在整段视频中做出掩码预测。
如果有额外的提示出现在其他帧上,SAM2能够依据已存储的目标对象信息进行修正。
记忆编码器基于当前预测生成记忆,而记忆库则保存了关于视频中目标对象过往预测的相关信息。记忆注意力机制通过对当前帧特征进行条件化,并根据之前帧的特征进行调整以产生嵌入,随后将这些嵌入传递给掩码解码器来生成该帧的掩码预测,这一过程会在后续帧中重复执行。
这样的设计使模型能够处理任意长度的视频,这对于SA-V数据集的标注收集至关重要,同时也对机器人领域等应用具有重要影响。
当分割的对象较为模糊时,SAM2会输出多个可能的掩码。例如,如果用户点击了自行车的轮胎,模型可能会理解为多种掩码,既可能是轮胎本身,也可能是整个自行车,并据此输出多个预测结果。
在视频中,如果某帧仅显示轮胎,那么分割的目标很可能是轮胎;但如果后续多帧中出现了完整的自行车,那么分割的目标更有可能是整个自行车。
如果无法确定用户意图分割的具体部分,模型将根据置信度进行选择。
此外,视频中经常会出现目标被遮挡的情况。为了应对这一挑战,SAM2增加了一个额外的模型输出——“遮挡头”(occlusion head),用于预测目标对象是否出现在当前帧中。
在数据集方面,
SA-V中的视频数量是目前最大同类数据集的4.5倍,而注释量更是达到了53倍之多。
为了搜集大量所需数据,研究团队开发了一款数据引擎。通过人工使用 SAM2 在视频中对时空掩模进行标注,这些新生成的标注随后被用于更新 SAM2。此过程被反复循环执行,以此来持续迭代数据集与模型。
如同 SAM 一样,研究团队并未对时空掩模实施语义限制,而是更侧重于整个物体的完整性。
这种方法极大地提高了视频对象分割掩模的收集速度,比 SAM 快约 8.4 倍。
相比之下,SAM2 能够很好地解决过度分割的问题。
实验结果显示,在与半监督 SOTA 方法的对比中,SAM2 的各项性能表现出色。
然而,研究团队也指出 SAM2 存在一些局限性:
例如,可能会丢失追踪的对象。当摄像机视角变化较大或处于拥挤场景时,这种情况更容易发生。为此,他们设计了一种实时互动模式,允许手动修正。
此外,当目标物体移动过快时,可能会出现细节上的遗漏。
最后值得注意的是,该模型不仅开源且可供免费使用,并已在 Amazon SageMaker 等平台上托管。
有趣的是,有人注意到论文中提及 SAM2 的训练是在 256 块 A100 显卡上耗时 108 小时完成的,而 SAM1 则耗时 68 小时。
从图像分割技术延伸到视频应用领域,其成本竟如此之低?
相关链接:[1]https://ai.meta.com/blog/segment-anything-2/[2]https://x.com/swyx/status/1818074658299855262
四年过后,又将对外开放。
最低只需2070即可运行。
对于开发搜索、推荐等深度学习应用更为友好。
该方法已经开源。
总计六个模型全部开放。