详细分析 ▾
运行时依赖
版本
- "sam-segmentation" 技能初次发布,用于背景移除和图像分割。 - 使用 Meta 的 Segment Anything Model (SAM) 从图像中提取前景主体并保存为透明 PNG。 - 支持多种模型尺寸(`vit_b`、`vit_l`、`vit_h`)以满足不同的速度和质量需求。 - 允许前景提示点、网格扫描模式以提取所有不同元素,以及各种掩码过滤参数。 - 首次使用时自动安装所需依赖项(`segment_anything`、Pillow、numpy、torch、torchvision)。 - 如果未提供模型检查点,则自动下载。
安装命令 点击复制
技能文档
使用 Meta 的 Segment Anything Model 从图像中提取前景主体,输出透明 PNG。
快速开始
python3 scripts/segment.py
默认以图像中心作为前景提示点——适用于主体居中的人像和产品照片。
参数
| 参数 | 描述 | 默认值 |
|---|---|---|
input | 输入图像路径 | 必填 |
output | 输出 PNG 路径(单模式)或目录(--all 模式) | 必填 |
--model | 模型尺寸:vit_b(快速)· vit_l(中等)· vit_h(最佳质量) | vit_h |
--checkpoint | 本地检查点路径;如省略则自动下载 | 自动 |
--points | 前景提示点,格式为 x,y,可多个 | 中心 |
--all | 网格扫描模式:提取所有不同元素 | 关闭 |
--grid | --all 的网格密度;16 表示 16×16=256 个探测点 | 16 |
--iou-thresh | 接受掩码的最小预测 IoU(--all) | 0.88 |
--min-area | 最小掩码面积占图像的比例(--all) | 0.001 |
示例
# 基础背景移除(自动下载 vit_h 约 2.5GB)
python3 scripts/segment.py photo.jpg output.png# 主体偏离中心时指定提示点
python3 scripts/segment.py photo.jpg output.png --points 320,240
# 多个提示点配合轻量级模型
python3 scripts/segment.py photo.jpg output.png --model vit_b --points 320,240 400,300
# 提取所有元素(每个元素一个 PNG)
python3 scripts/segment.py photo.jpg ./elements/ --all
# 更密集的网格以捕获小物体
python3 scripts/segment.py photo.jpg ./elements/ --all --grid 32
# 使用本地检查点
python3 scripts/segment.py photo.jpg output.png --checkpoint /path/to/sam_vit_h_4b8939.pth
依赖项
首次运行时自动安装 segment_anything,或手动安装:
pip install git+https://github.com/facebookresearch/segment-anything.git
pip install pillow numpy torch torchvision
工作流程
1.用户提供图像路径
2.询问是否需要提示点(当主体偏离中心时)
3.运行脚本;首次使用时检查点自动下载到 ~/.cache/sam/
4.输出透明背景 PNG
模型选择
| 模型 | 尺寸 | 速度 | 质量 |
|---|---|---|---|
vit_b | 约 375 MB | 最快 | 良好 |
vit_l | 约 1.25 GB | 中等 | 更好 |
vit_h | 约 2.5 GB | 较慢 | 最佳 |
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制