菜单

快速入门

相关源文件

本指南提供有关安装和设置 Segment Anything Model (SAM) 的分步说明,并演示了基本用法模式。在本指南结束时,您将能够使用 SAM 进行交互式和自动化的掩码生成。有关更高级的用法和自定义选项,请参阅高级主题部署

安装要求

Segment Anything Model 需要

  • Python 3.8或更高版本
  • PyTorch 1.7 或更高版本
  • TorchVision 0.8 或更高版本

强烈建议安装支持 CUDA 的 PyTorch 和 TorchVision 以获得更好的性能。

来源: README.md30-32

安装步骤

您可以通过 pip 直接从 GitHub 存储库安装 SAM

或者,您可以克隆存储库并在本地进行安装

为获得全部功能,请安装这些可选依赖项

这些软件包支持掩码后处理、COCO 格式导出、可视化和 ONNX 模型导出。

来源: README.md34-51

SAM 工作流概述

来源: README.md53-78

下载模型检查点

SAM 提供三种具有不同骨干网大小的模型变体,在准确性和计算需求之间进行权衡

模型类型描述检查点链接
vit_h (默认)ViT-H SAM 模型(最大)sam_vit_h_4b8939.pth
vit_lViT-L SAM 模型(中等)sam_vit_l_0b3195.pth
vit_bViT-B SAM 模型(最小)sam_vit_b_01ec64.pth

将所需的检查点文件下载到您的代码可访问的位置。

来源: README.md101-114

SAM 模型架构和组件

来源: README.md53-72

基本用法

初始化模型

首先,使用您下载的检查点初始化 SAM 模型

"vit_h" 替换为您选择的模型类型,并提供相应检查点的路径。

来源: README.md58-59 README.md106-107

使用 SamPredictor 进行交互式掩码生成

用于使用点、框或掩码作为提示进行交互式分割

predict() 方法可以接受不同类型的提示

  • 具有相应标签的点坐标
  • 一个边界框
  • 上一个掩码

来源: README.md57-63

自动化掩码生成

生成图像中所有对象的掩码,无需用户提示

SamAutomaticMaskGenerator 会自动对图像中的点进行采样,并返回所有有效的掩码。

来源: README.md68-72

命令行掩码生成

用于批量处理图像,无需编写 Python 代码

此脚本会处理单个图像或文件夹中的所有图像,并将掩码保存在指定的输出位置。

来源: README.md74-78

示例 Notebook

SAM 包含示例 Notebook,用于演示关键功能

  1. 交互式预测: notebooks/predictor_example.ipynb - 展示了如何使用不同类型的提示来使用 SAM
  2. 自动化掩码生成: notebooks/automatic_mask_generator_example.ipynb - 演示了生成和可视化整个图像的掩码

这些 Notebook 提供了完整的示例和可视化代码,以帮助您理解模型的强大功能。

来源: README.md80-85

ONNX 导出

SAM 的掩码解码器可以导出为 ONNX 格式,以便在支持 ONNX 运行时环境中进行部署

有关使用导出的 ONNX 模型的信息,请参阅ONNX 导出以及示例 Notebook notebooks/onnx_model_example.ipynb

来源: README.md87-95

下一步

在开始使用 SAM 后,您可能想探索

这些页面中的每一个都提供了有关 Segment Anything Model 特定方面的详细信息。