这个项目能做什么

SAM 2(Segment Anything Model 2)是 Meta AI / FAIR 推出的基础模型,用于图像和视频中的可提示视觉分割。它将图像视为单帧视频,扩展了原始 SAM 的方法,采用带流式记忆的 Transformer 架构,支持实时视频处理。该代码库提供官方推理代码、可下载的预训练检查点、示例笔记本、训练/微调代码以及可本地部署的 Web 演示。 README 中描述的主要功能: - 图像预测:SAM2ImagePredictor 类提供与 SAM 类似的接口,用于静态图像上的基于提示的分割,包括自动掩码生成。 - 视频预测:视频预测器支持添加点或框提示、优化提示,并在视频中传播掩码片段(masklet),支持多目标跟踪和每个目标的独立推理状态。 - 模型检查点:2024 年 9 月发布的 SAM 2.1 检查点(tiny、small、base_plus、large),以及 2024 年 7 月发布的早期 SAM 2 检查点,附带了在 SA-V、MOSE 和 LVOS v2 上的规模、速度和基准数据。 - Hugging Face 加载:可通过 from_pretrained 加载图像和视频预测器模型。 - 训练与微调:提供在自定义图像、视频或混合数据集上进行训练或微调的代码。 - Web 演示:提供前端和后端代码,可本地部署与托管版 SAM 2 演示类似的演示。 - SA-V 数据集:目前最大的视频分割数据集,通过模型在环(model-in-the-loop)数据引擎构建,包含数据集文档。 安装要求 Python 3.10+、PyTorch 2.5.1+ 和 TorchVision 0.20.1+,并需要 CUDA 工具包来编译自定义内核;建议 Windows 用户使用 WSL。可选依赖为笔记本安装 Jupyter 和 matplotlib。README 指出,CUDA 扩展构建失败可以忽略,仅对后处理影响有限。2024 年 12 月的更新增加了完整模型编译以加速视频对象分割,并更新了 SAM2VideoPredictor,支持每个对象的独立推理以及在跟踪开始后添加新对象。 许可:模型检查点、演示代码和训练代码采用 Apache 2.0 许可证,Inter 字体和 Noto Color Emoji 采用 SIL 开源字体许可证 1.1。第三方 GPU 连通组件代码改编自 cc_torch,并附带其自己的许可证文件。