《博主简介》
小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。
✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~
👍感谢小伙伴们点赞、关注!
《------往期经典推荐------》
二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】,持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~
《------正文------》
SAM2简介
项目地址:https://github.com/facebookresearch/segment-anything-2
SAM 2是Meta Segment Anything Model(SAM)的下一代产品,主要是是用于解决图像和视频中提示视觉分割问题的基础模型
。将 SAM 扩展到视频,方法是将图像视为具有单帧的视频。该模型设计是一个简单的 transformer 架构,具有用于实时视频处理的流式内存。
SAM 2模型是实时、可提示的,性能优于以往,特别是在视频分割方面。可以分割任何视频或图像中的任何对象,包括以前未见过的对象和视觉域。该模型在图像分割精度方面超越了以前的能力,并实现了比现有工作更好的视频分割性能。
从SAM 到SAM2 结构演变
SAM结构
SAM2结构
SAM 2 架构可以看作是 SAM 从图像域到视频域的泛化。SAM 2 可以通过单击(正或负)、边界框或蒙版来提示,以定义给定帧中对象的范围。轻量级掩码解码器采用当前帧的图像嵌入和编码提示以输出帧的分割掩码。在视频设置中,SAM 2 将此掩码预测传播到所有视频帧,以生成掩码。然后,可以在任何后续帧上迭代添加提示,以优化 masklet 预测。
为了准确预测所有视频帧的掩码,引入了一种由内存编码器、内存组和内存注意力模块组成的内存机制
。当应用于图像时,内存组件是空的,模型的行为类似于 SAM。对于视频,内存组件可以存储有关该会话中对象和先前用户交互的信息,从而允许 SAM 2 在整个视频中生成 masklet 预测。如果在其他帧上提供了其他提示,SAM 2 可以根据对象的存储内存上下文有效地纠正其预测。
采用流式架构
,这是SAM对视频域的自然泛化,一次处理一个视频帧,并在内存中存储有关分割对象的信息。
SAM 引入了在面对图像中要分割的对象的歧义时输出多个有效蒙版的功能。例如,当一个人点击自行车的轮胎时,模型可以将此点击解释为仅指轮胎或整个自行车,并输出多个预测。在视频中,这种模糊性可能会延伸到视频帧。例如,如果在一个帧中只有轮胎可见,则轮胎上的咔嗒声可能仅与轮胎有关,或者随着更多自行车在后续帧中变得可见,此咔嗒声可能适用于整个自行车。为了处理这种歧义,SAM 2 在视频的每个步骤都创建了多个蒙版。如果进一步的提示不能解决歧义,模型将选择置信度最高的掩码,以便在视频中进一步传播。
使用的数据集
模型训练使用的SA-V数据集
,包含约51,000个真实世界视频和超过600,000个masklet注释
。视频数量是现有最大视频分割数据集的4.5倍,注释数量是53倍。收集了以地理上多样化的真实场景为特色的视频。这是迄今为止最大的视频分割数据集。使用我们的数据训练的 SAM 2 在广泛的任务和视觉领域中提供了强大的性能。
局限性
在长时间遮挡后、拥挤的场景中或在扩展视频中,可能会丢失对物体的跟踪。有时会在拥挤的场景中混淆多个看起来相似的物体。对于复杂的快速移动物体,可能会遗漏精细的细节。
未来应用
- 与生成视频模型结合使用,创建新的视频效果。
- 加速视觉数据注释工具的使用,构建更好的计算机视觉系统。
- 用于海洋科学中声纳图像的分割、救灾卫星图像分析、医疗领域的细胞图像分割等。
- 可应用于多个学科领域,包括Instagram上的应用、科学、医学等。
- 用作更大的AI系统的一部分,通过AR眼镜识别日常用品。可能用于辅助科学和医学研究,如在无人机镜头中跟踪濒临灭绝的动物。
本文是对SAM2的基本介绍,后续会出SAM2的使用教程,感谢点赞关注!
关于SAM2项目源码及模型
都已打包好,供需要的小伙伴们学习,获取方式如下: