返回模型
说明文档
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 是一款桌面标注工具,内置模型管理器,可自动下载、缓存并运行这些模型 — 无需编写代码。
- 安装:
pip install anylabeling - 启动:
anylabeling - 点击 Brain 按钮 → 从下拉菜单中选择一个 SAM 模型
- 使用点或矩形提示来分割对象
使用 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
