本指南提供有关安装和设置 Segment Anything Model (SAM) 的分步说明,并演示了基本用法模式。在本指南结束时,您将能够使用 SAM 进行交互式和自动化的掩码生成。有关更高级的用法和自定义选项,请参阅高级主题或部署。
Segment Anything Model 需要
强烈建议安装支持 CUDA 的 PyTorch 和 TorchVision 以获得更好的性能。
来源: README.md30-32
您可以通过 pip 直接从 GitHub 存储库安装 SAM
或者,您可以克隆存储库并在本地进行安装
为获得全部功能,请安装这些可选依赖项
这些软件包支持掩码后处理、COCO 格式导出、可视化和 ONNX 模型导出。
来源: README.md34-51
来源: README.md53-78
SAM 提供三种具有不同骨干网大小的模型变体,在准确性和计算需求之间进行权衡
| 模型类型 | 描述 | 检查点链接 |
|---|---|---|
vit_h (默认) | ViT-H SAM 模型(最大) | sam_vit_h_4b8939.pth |
vit_l | ViT-L SAM 模型(中等) | sam_vit_l_0b3195.pth |
vit_b | ViT-B SAM 模型(最小) | sam_vit_b_01ec64.pth |
将所需的检查点文件下载到您的代码可访问的位置。
来源: README.md101-114
来源: README.md53-72
首先,使用您下载的检查点初始化 SAM 模型
将 "vit_h" 替换为您选择的模型类型,并提供相应检查点的路径。
来源: README.md58-59 README.md106-107
用于使用点、框或掩码作为提示进行交互式分割
predict() 方法可以接受不同类型的提示
来源: README.md57-63
生成图像中所有对象的掩码,无需用户提示
SamAutomaticMaskGenerator 会自动对图像中的点进行采样,并返回所有有效的掩码。
来源: README.md68-72
用于批量处理图像,无需编写 Python 代码
此脚本会处理单个图像或文件夹中的所有图像,并将掩码保存在指定的输出位置。
来源: README.md74-78
SAM 包含示例 Notebook,用于演示关键功能
这些 Notebook 提供了完整的示例和可视化代码,以帮助您理解模型的强大功能。
来源: README.md80-85
SAM 的掩码解码器可以导出为 ONNX 格式,以便在支持 ONNX 运行时环境中进行部署
有关使用导出的 ONNX 模型的信息,请参阅ONNX 导出以及示例 Notebook notebooks/onnx_model_example.ipynb。
来源: README.md87-95
在开始使用 SAM 后,您可能想探索
这些页面中的每一个都提供了有关 Segment Anything Model 特定方面的详细信息。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(dca509)