项目地址:https://github.com/facebookresearch/segment-anything-2
前言
Segment Anything Model 2(SAM 2)是由Meta公司发布的一个先进的图像和视频分割模型。它是Segment Anything Model(SAM)的升级版本,SAM是Meta的FAIR实验室发布的一款用于图像分割的基础模型,能够在给定提示的情况下生成高质量的对象mask。
1.特点
- 准确性提升:SAM 2相比原始的SAM模型在分割精度上有所提高。
- 速度加快:SAM 2的处理速度提高了大约六倍,可以更快地生成分割mask。
- 支持视频分割:除了图像分割之外,SAM 2还支持视频中的对象分割。
- 实时处理:非常适合于需要快速响应的应用场景,如增强现实(AR)和虚拟现实(VR)应用。
- Zero-Shot泛化:良好的zero-shot迁移能力,可以在未见过的数据上工作而不需要额外的训练。
- 可提示的模型架构:SAM 2继承了SAM的特性,可以根据不同的提示(如点、框、甚至是文本)来生成分割结果。
2.结构
- 编码器-解码器架构:SAM 2很可能会继续使用编码器-解码器架构,其中编码器负责提取特征,解码器则用于生成分割掩模。
- 高效网络设计:为提高处理速度,SAM 2可能采用了优化过的网络结构或计算效率更高的组件。
- 适应性强的分割头:模型可能包含了一个高度灵活的分割头,能够根据不同的提示生成相应的掩模。
- 多模态输入支持:除了传统的图像输入外,SAM 2还可能支持视频帧序列作为输入,以实现视频分割。
- 训练数据集:SAM 2的训练数据集可能包含了大量多样化的图像和视频样本,以确保模型的泛化能力和鲁棒性。
3.应用场景
- 增强现实(AR)和虚拟现实(VR):SAM 2可以用于实时分割用户周围的环境,从而增强用户体验。
- 自动驾驶:在自动驾驶系统中,SAM 2可以帮助车辆识别和理解道路场景中的不同元素。
- 医学影像分析:SAM 2可以用来自动分割医学影像中的器官或病变区域。
提示:以下是本篇文章正文内容,下面案例可供参考
一、原理
1.1 引言
图像只是真实世界的静态快照,在其中视觉片段可以表现出复杂的运动。AR/VR、机器人技术、自动驾驶汽车和视频编辑中的许多重要应用都需要在图像级分割之外的时间定位。因此,一个通用的视觉分割系统应该同时适用于图像和视频。
图像之外的挑战:由于运动、变形、遮挡、照明变化和其他因素,实体可以在外观上发生显著的变化。由于摄像机的运动、模糊度和较低的分辨率,视频的质量通常低于图像。
SAM 2配备了一个记忆注意模块,关注目标对象之前的记忆,存储关于对象和之前交互的信息,这允许它在整个视频中生成mask预测,并且根据之前观察到的帧中存储的对象记忆上下文有效地纠正这些预测。当应用于图像时,内存为空。
SAM 2使用一个数据引擎(5),在循环中使用SAM2来交互式地注释新的和具有挑战性的数据,包括分割任何具有有效边界的对象,包括部分和子部分。最终的Segment Anything Video(SA-V)数据集包含50.9K个视频的35.5M掩码。SA-V对小物体和部分被遮挡和重新出现的挑战。
1.2 任务:可提示的视觉分割
PVS任务允许在视频的任何一帧上向模型提供提示。提示可以是正/负单击、边界框或mask ,既可以定义要分割的对象,也可以细化模型预测的对象。在接收到初始(一个或多个)提示(在同一帧或不同帧上)后,模型应该传播这些提示,以获得整个视频中的对象mask,其中包含目标对象在每个视频帧上的分割掩码。
1.3 模型
对于图像输入,该模型的行为与SAM类似。一个可提示的轻量级 mask decoder 接受当前帧上的 frame embedding 和 prompts(如果有),并输出该帧的mask。提示可以在帧上迭代添加,以细化掩码。 SAM 2解码器使用的frame embedding 并不是直接来自图像编码器,而是基于对过去预测和提示帧的记忆。 相对于当前帧,提示帧也有可能来自“来自未来” 。帧的记忆是由内存编码器根据当前的预测创建的,并放置在内存库中,以便在后续的帧中使用。记忆注意操作从图像编码器中获取每一