YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
SAM2 ONNX 独立推理包
模型: sam2-hiera-base-plus (Segment Anything Model 2)
文件清单
| 文件 | 大小 | 说明 |
|---|---|---|
vision_encoder.onnx |
264 MB | Vision Encoder (Hiera backbone + FPN) |
mask_decoder.onnx |
16 MB | Mask Decoder (点/bbox prompt → mask) |
conv_s0.npz |
33 KB | FPN conv 权重 (256→32 ch) |
conv_s1.npz |
65 KB | FPN conv 权重 (256→64 ch) |
prompt_encoder.npz |
29 KB | Prompt Encoder 权重 (位置编码 + 类型嵌入) |
preprocessor_config.json |
— | 预处理配置 |
infer.py |
— | 独立推理脚本 |
依赖
pip install numpy opencv-python onnxruntime
无需 torch / CUDA
用法
# 单点分割
python infer.py --image photo.jpg --point 500 400
# 多点分割 (每 2 个点自动分组)
python infer.py --image photo.jpg --point 500 400 --point 600 300
# bbox 中心点分割
python infer.py --image photo.jpg --bbox 100 200 500 600
# 保存结果
python infer.py --image photo.jpg --point 500 400 --save result.png --save-mask mask.png
模型规格
Vision Encoder
- 输入:
pixel_values— (1, 3, 1024, 1024) float32 - 输出 (7 个):
- last_hidden_state, fpn_0 (256ch, 256×256), fpn_1 (256ch, 128×128), fpn_2 (256ch, 64×64)
- pos_0, pos_1, pos_2 (对应位置编码)
Mask Decoder
- 输入: image_embeddings, image_pos_enc, sparse_prompt_emb (B,1,2,256), dense_prompt_emb, high_res_feat_0/1
- 输出: iou_scores, pred_masks, object_score_logits
推理流程
- 图像预处理: resize longest edge → 1024, pad → 1024×1024, ImageNet normalize
- Vision Encoder: 1 次调用 → 图像特征缓存 (可复用多次分割)
- Prompt Encoder: 点坐标 → sinusoidal 位置编码 + 类型嵌入
- Mask Decoder: 生成 256×256 mask → resize 回原始尺寸
坐标系
- 输入坐标使用 原始图像像素坐标 (自动缩放到 1024 空间)
- 支持前景点 (label=1) 和背景点 (label=0)
限制
- ONNX mask_decoder 固定 n_points=2 (单点自动填充 not-a-point)
- 仅支持 batch_size=1
- 固定输入尺寸 1024×1024
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support