2024年7月29日,Meta在官网发布SAM2开源消息:segment-anything-2
- 开源地址:https://github.com/facebookresearch/segment-anything-2
- paper:sam-2-segment-anything-in-images-and-videos
- demo体验:https://ai.meta.com/sam2/
要点:
- 继图像元分割模子(SAM) 取得成功之后,最新发布SAM 2,这是一个用于在图像和视频中实时提示对象分割的统一模子,可实现最先进的性能。
- 开源SA-V 数据集,此中包罗约莫51,000 个真实天下视频和超过 600,000 个 masklet(时空掩模)。
- SAM 2 可以分割任何视频或图像中的任何对象
- 即使对于从前从未见过的对象和视觉域也是云云,从而无需进行自定义调整即可实现多种利用案例。
- SAM 2 具有许多潜在的现实应用。比方,SAM2 的输出可与生成视频模子一起利用,以创建新的视频效果并解锁新的创意应用。
- 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 提供额外提示来迭代细化它。这可以根据需要重复多次,直到得到所需的蒙版小片。
从SAM 到 SAM 2 的架构演变:
SAM 2 架构可视为 SAM 从图像到视频范畴的推广。SAM 2 可通过点击(正或负)、边界框或掩码来提示,以定义给定帧中对象的范围。轻量级掩码解码器采用当前帧的图像嵌入和编码提示来输出该帧的分割掩码。在视频设置中,SAM 2 将此掩码猜测传播到所有视频帧以生成掩码。然后可以在任何后续帧上迭代添加提示以优化掩码猜测。
为了在所有视频帧中正确猜测掩码,引入了一种记忆机制,由记忆编码器、记忆库和记忆留意模块组成。当应用于图像时,记忆组件为空,模子的举动雷同于 SAM。对于视频,记忆组件可以存储有关该会话中对象和先前用户交互的信息,从而使 SAM 2 可以或许在整个视频中生成掩码猜测。如果在其他帧上提供了其他提示,SAM 2 可以根据存储的对象记忆上下文有效地纠正其猜测。
记忆编码器根据当前掩码猜测创建帧记忆,并将其放置在记忆库中,用于分割后续帧。记忆库由来自前一帧和提示帧的记忆组成。记忆留意操作从图像编码器获取每帧嵌入,并在记忆库上对其进行条件处理以生成嵌入,然后将其转达给掩码解码器以生成该帧的掩码猜测。对所有后续帧重复此操作。
采用流式架构,这是 SAM 在视频范畴的自然推广,一次处理一个视频帧并将有关分割对象的信息存储在内存中。在每个新处理的帧上,SAM 2 利用记忆留意模块来关注目标对象的先前记忆。这种计划允许实时处理任意长的视频,这不光对于收集 SA-V 数据集的注释效率很重要,而且对于现实天下的应用(比方呆板人技术)也很重要。
SAM 引入了在图像中分割对象存在歧义时输出多个有效掩码的功能。比方,当一个人点击自行车轮胎时,模子可以将这次点击解释为仅指轮胎或整辆自行车,并输出多个猜测。在视频中,这种歧义可以扩展到视频帧中。比方,如果在一帧中只有轮胎可见,则点击轮胎可能只与轮胎有关,或者随着自行车的更多部门在后续帧中变得可见,这次点击可能是针对整辆自行车的。为了处理这种歧义,SAM 2 在视频的每个步调中创建多个掩码。如果进一步的提示不能办理歧义,模子将选择置信度最高的掩码在视频中进一步传播。
SAM 2 架构中的遮挡头用于猜测物体是否可见,即使在物体临时被遮挡时也有助于分割物体。
在图像分割任务中,只要有积极的提示,帧中总会有一个有效的对象可供分割。在视频中,特定帧上可能不存在有效对象,比方由于对象被遮挡或从视野中消散。为相识释这种新的输出模式,添加了一个额外的模子输出(“遮挡头”),用于猜测当前帧中是否存在感爱好的对象。这使 SAM 2 可以或许有效地处理遮挡。
SA-V:构建最大的视频分割数据集
将“分割任何内容”功能扩展到视频的挑战之一是用于训练模子的注释数据有限。当前的视频分割数据集很小,缺乏对各种对象的充实覆盖。现有的数据集注释通常覆盖整个对象(比方人),但缺少对象部门(比方人的夹克、帽子、鞋子),而且数据集通常以特定对象种别为中心,比方人、车辆和动物。
为了收集大量多样化的视频分割数据集,构建了一个数据引擎,利用带有人工注释者的交互式模子在环设置。注释者利用 SAM 2 以交互方式注释视频中的 masklet,然后利用新注释的数据依次更新 SAM 2。多次重复此循环,以迭代方式改进模子和数据集。与 SAM 雷同,不对注释的 masklet 施加语义约束,而是同时关注整个对象(比方,一个人)和对象部门(比方,一个人的帽子)。
利用 SAM 2,收集新的视频对象分割掩码的速度比以往更快。利用的SAM 2 在循环中进行注释的速度比利用 SAM 每帧的速度快约 8.4 倍,也比将 SAM 与现成的跟踪器相结合的速度快得多。
发布的 SA-V 数据集比现有的视频对象分割数据集包含多一个数量级的注释和约莫 4.5 倍的视频。
SA-V 数据集的亮点包罗:
- 规模: 50.9K 个视频,642.6K 个 masklet(35.5M 个 mask),比任何现有视频分割数据集大 53 倍。
- 多样性:涵盖不同的场景(室内、室外)、物体(整个物体和部门)和活动模式,包罗遮挡和重现。
- 地理和生齿统计代表性:视频由来自 47个国家的众包工作者收集,确保涵盖广泛的真实场景并最大限度地减少偏见。
效果
这两个模子都是用第一帧中的 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 的主要贡献:
- 将可提示的分割扩展到视频:允许用户利用熟悉的提示(点击、框、蒙版)与视频进行交互。
- 引入具有内存的流式架构:可以或许实时处理任意长度的视频并保持对象的时间上下文。
- 提供SA-V数据集:提供迄今为止最大、最多样化的视频分割数据集,加快该范畴的研究。
未来,SAM 2 可以作为更大型 AI 系统的一部门,通过 AR 眼镜识别日常物品,并向用户提供提醒和阐明。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |