SuperAPI AI 工具集

segment-anything-model

设计与创作

查看项目

更新于 10-16 07:24

技能介绍

用途:SAM 用于零样本图像分割,无需任务特定训练即可分割图像中的任意对象,适合交互式标注工具、为其他视觉模型生成训练数据、跨新图像域迁移,以及医学、卫星等特定领域图像处理。

主要能力:支持点(前景/背景)、边界框、已有掩码等灵活提示;可自动生成全部对象掩码;提供 ViT-B(最快)、ViT-L、ViT-H(最准)三种规模;支持 ONNX 导出以便浏览器和边缘设备部署。模型基于 1100 万张图像的 11 亿个掩码训练。

使用方式:安装可执行 pip install git+https://github.com/facebookresearch/segment-anything.git,可选依赖 pip install opencv-python pycocotools matplotlib,或使用 HuggingFace transformers。需下载对应检查点,如 ViT-H 的 sam_vit_h_4b8939.pth(2.4GB)、ViT-L 的 sam_vit_l_0b3195.pth(1.2GB)、ViT-B 的 sam_vit_b_01ec64.pth(375MB)。通过 SamPredictor 设置图像并调用 predict 传入点、框或掩码提示;也可用 SamAutomaticMaskGenerator 自动生成掩码,输出含 segmentation、bbox、area、predicted_iou、stability_score 等字段。

适用场景:交互式分割、对象提取、医学图像分割、批量推理、ONNX 部署等。

限制与替代:实时带类别目标检测宜用 YOLO/Detectron2;语义/全景分割宜用 Mask2Former;文本提示分割宜用 GroundingDINO + SAM;视频分割宜用 SAM 2。显存不足可改用 ViT-B 或缩小图像,推理慢可减少 points_per_side。