ONNX 模型库
返回模型

说明文档


license: apache-2.0 tags:

  • image-segmentation
  • segment-anything
  • onnx
  • onnxruntime library_name: onnxruntime

Segment Anything (SAM + MobileSAM) — ONNX 模型

Meta 的 Segment Anything Model (SAM)MobileSAM 的 ONNX 导出版本,可直接使用 ONNX Runtime 进行 CPU/GPU 推理 — 运行时无需 PyTorch。

这些模型被 AnyLabeling 用于 AI 辅助图像标注,并由 samexporter 导出。

可用模型

文件 变体 编码器大小 备注
sam_vit_b_01ec64.zip SAM ViT-B ~90 MB 最快,精度最低
sam_vit_b_01ec64_quant.zip SAM ViT-B (量化) ~25 MB 量化 — 更小更快
sam_vit_l_0b3195.zip SAM ViT-L ~330 MB 平衡之选
sam_vit_l_0b3195_quant.zip SAM ViT-L (量化) ~83 MB 量化 — 更小更快
sam_vit_h_4b8939.zip SAM ViT-H ~630 MB 精度最高
sam_vit_h_4b8939_quant.zip SAM ViT-H (量化) ~158 MB 量化 — 更小更快
mobile_sam_20230629.zip MobileSAM ~9 MB 超轻量级

每个 zip 文件包含两个 ONNX 文件:一个编码器(每张图像运行一次)和一个解码器(每个提示交互运行一次)。

提示类型

  • (+point / -point):点击以包含/排除区域
  • 矩形:在目标对象周围绘制边界框

配合 AnyLabeling 使用(推荐)

AnyLabeling 是一款桌面标注工具,内置模型管理器,可自动下载、缓存并运行这些模型 — 无需编写代码。

  1. 安装:pip install anylabeling
  2. 启动:anylabeling
  3. 点击 Brain 按钮 → 从下拉菜单中选择一个 SAM 模型
  4. 使用点或矩形提示来分割对象

AnyLabeling demo

使用 ONNX Runtime 编程调用

import urllib.request, zipfile, pathlib
# Download and extract
url = "https://huggingface.co/vietanhdev/segment-anything-onnx-models/resolve/main/sam_vit_b_01ec64.zip"
urllib.request.urlretrieve(url, "sam_vit_b_01ec64.zip")
with zipfile.ZipFile("sam_vit_b_01ec64.zip") as z:
    z.extractall("sam_vit_b_01ec64")

然后使用 samexporter 的推理模块:

pip install samexporter
python -m samexporter.inference \
    --encoder_model sam_vit_b_01ec64/sam_vit_b_encoder.onnx \
    --decoder_model sam_vit_b_01ec64/sam_vit_b_decoder.onnx \
    --image photo.jpg \
    --prompt prompt.json \
    --output result.png

从源码重新导出

使用 samexporter 重新导出或自定义模型:

pip install samexporter
# Export SAM ViT-H encoder + decoder
python -m samexporter.export_encoder \
    --checkpoint original_models/sam_vit_h_4b8939.pth \
    --output output_models/sam_vit_h_4b8939.encoder.onnx \
    --model-type vit_h --use-preprocess
python -m samexporter.export_decoder \
    --checkpoint original_models/sam_vit_h_4b8939.pth \
    --output output_models/sam_vit_h_4b8939.decoder.onnx \
    --model-type vit_h --return-single-mask
# Or convert all SAM variants at once:
bash convert_all_meta_sam.sh

相关仓库

仓库 描述
vietanhdev/samexporter 导出脚本、推理代码、转换工具
vietanhdev/anylabeling 基于这些模型的桌面标注应用
facebookresearch/segment-anything Meta 原始 SAM
ChaoningZhang/MobileSAM 原始 MobileSAM

许可证

ONNX 模型源自 Meta 的 SAM 和 MobileSAM,两者均在 Apache 2.0 许可证下发布。 导出代码属于 samexporter 的一部分,在 MIT 许可证下发布。

vietanhdev/segment-anything-onnx-models

作者 vietanhdev

image-segmentation onnxruntime
↓ 0 ♥ 3

创建时间: 2023-04-20 17:22:48+00:00

更新时间: 2026-02-21 15:07:41+00:00

在 Hugging Face 上查看

文件 (10)

.gitattributes
README.md
mobile_sam_20230629.zip
mobile_sam_20230629_quant.zip
sam_vit_b_01ec64.zip
sam_vit_b_01ec64_quant.zip
sam_vit_h_4b8939.zip
sam_vit_h_4b8939_quant.zip
sam_vit_l_0b3195.zip
sam_vit_l_0b3195_quant.zip