# SAM 2 自动蒙版教程：平铺素材的候选筛选与独立裁切

从原创五件文具平铺图开始，保存自动蒙版的面积、框和评分，再筛选重叠候选，导出逐件素材与映射表。

已运行原创输入生成与离线文件校验；本页模型/桌面应用未实跑，比较脚本供你运行后使用。

## 逐步操作

### 1. 打开五件文具平铺图

flatlay.png 是代码绘制的原创输入，保留五个物件间空白。本页不预先把人工轮廓写入 SAM 2 输出；已知物件数只是验收参考，实际候选可能更多、重复或遗漏。

```bash
python3 verify.py
```

### 2. 核对官方小模型环境

安装官方 SAM 2 仓库和相匹配的 SAM 2.1 tiny 配置/权重。无 CUDA 扩展会跳过一部分孔洞后处理，要记录运行路径，不能把它说成所有环境结果一致。

```bash
git clone https://github.com/facebookresearch/sam2.git
cd sam2
git checkout 2b90b9f5ceec907a1c18123530e92e794ad901a4
pip install -e ".[notebooks]"
```

### 3. 设置有限点网格与面积阈值

本练习 points_per_side=16，以低分辨率输入先探路。pred_iou_thresh 与 stability_score_thresh 限制候选，不能依据“应该五个”硬造五个模型结果。

```bash
python run_sam_auto.py --repo /path/to/sam2 --checkpoint /path/to/sam2.1_hiera_tiny.pt --device cuda
```

### 4. 保存原始候选字段

annotations.json 记录 area、bbox、predicted_iou、stability_score 与对应文件名。bbox 是 x/y/width/height；转成裁切右下角时要加宽高，不能当作 x2/y2。

### 5. 把重叠和漏选作为人工复核任务

按面积和评分查看候选叠加。一个物件可能被拆成多个 mask，也可能与桌面一起选中；保存排除原因，不让固定数量筛选掩盖模型遗漏。

### 6. 逐件导出 RGBA 与映射表

选定候选后从原图裁切，alpha 使用对应 mask，并记录原图坐标 offset。局部图离开原画布后，offset 才能让后续设计恢复位置。

```bash
python3 verify.py --results output
```

### 7. 交付未筛选与筛选后的两个清单

保留完整 annotations.json，再另存 approved.json。下载包只包含原创输入、脚本与离线字段校验；官方自动蒙版图不作为本平铺素材的结果。

## 来源与边界

- [官方 AutomaticMaskGenerator 示例](https://github.com/facebookresearch/sam2/blob/main/notebooks/automatic_mask_generator_example.ipynb)
- [返回字段、点网格和候选筛选源码](https://github.com/facebookresearch/sam2/blob/main/sam2/automatic_mask_generator.py)

素材：照片样式输入由 apizt 原创生成；几何商品、积木、文具、纹理、线稿和透明标尺由代码原创绘制。输入/标注/官方示例均不是未运行模型的输出。
官方代码/模型、第三方依赖各保留其独立许可；包内不含模型权重或API凭证。
