
Semantic-Segment-Anything SSA 安装教程4 步让 SAM 掩码自动带上语义类别【免费下载链接】Semantic-Segment-AnythingAutomated dense category annotation engine that serves as the initial semantic labeling for the Segment Anything dataset (SA-1B).项目地址: https://gitcode.com/gh_mirrors/se/Semantic-Segment-AnythingSemantic-Segment-Anything简称 SSA是复旦张视觉组开源的自动化密集标注引擎SAM 负责出掩码它为每块掩码补上语义类别标签。项目提供闭集语义分割与开放词汇自动标注两种模式适合两类人想提升现有语义分割模型边界精度的人以及需要为 SA-1B 这类无类别掩码库批量造标注的人。掩码很准类别在哪两个场景比较典型。你训过一个语义分割模型类别对得上但边缘毛糙重训一套代价太高或者你刚下完 SA-1B几千万个精细掩码在手却因为没有类别信息无法直接训练语义分割模型。SSA 用同一套流程处理这两个问题前者把 SAM 换成你的掩码来源后者直接用标注引擎批量产出类别。SSA 原理一个掩码分支加一个语义分支一句话讲清机制SAM 回答物体在哪语义分割模型回答它是什么投票模块把两者拼起来。具体做法是对 SAM 输出的每一块掩码统计掩码覆盖像素上语义模型预测的类别出现最多的那个类别就是这块掩码的标签。语义分支边界不准没关系它只需要分类可靠边界精度由 SAM 兜底。标注引擎 SSA-engine 在此之上多了一层先用 COCO 与 ADE20K 两个闭集模型给出粗类别再让 BLIP 图像描述模型对每个掩码区域生成开放词汇候选最后经 CLIP 过滤出 top-k 合理类别。每个掩码因此在标注 JSON 里多出class_name与class_proposals两个字段可视为初版标注 人工复核的工作流。SSA 安装要求清单Python 3.8environment.yaml 锁定的版本官方最低要求 3.7Conda环境文件直接可用CUDA 11.1依赖中的 PyTorch 1.9.1 与 mmcv 均为 cu111 编译的 wheelNVIDIA GPUADE20K 闭集推理官方实测约 9 GB 显存Cityscapes 约 19 GBSSA-engine-base 带 SAM 约 30 GB建议 24 GB 以上关键依赖transformers、spacy、OpenCV、pycocotools、mmdet完整版本见 environment.yamlsegment-anything 源码包需以 editable 模式安装从零到首次运行4 个步骤1️⃣ 环境与依赖克隆项目并按锁定版本建好环境再安装 SAM 依赖包。git clone https://gitcode.com/gh_mirrors/se/Semantic-Segment-Anything cd Semantic-Segment-Anything conda env create -f environment.yaml conda activate ssa python -m spacy download en_core_web_sm # 先在上一级目录克隆 segment-anything 仓库facebookresearch/segment-anything然后执行 cd ../segment-anything pip install -e . cd ../Semantic-Segment-Anything预期结果conda activate ssa后python -c import segment_anything无报错。2️⃣ 摆放数据按 README 的目录约定解压 ADE20K 或 Cityscapes 到data/下图像与标注分目录存放跑 SSA-engine 时只需一个装满图片的文件夹。3️⃣ 下载 SAM 权重放到ckp/目录。mkdir -p ckp wget -P ckp https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth预期结果ckp/sam_vit_h_4b8939.pth存在。4️⃣ 首次推理与评估以 8 卡跑 ADE20K 验证集输出 mIoU。python scripts/main_ssa.py --ckpt_path ./ckp/sam_vit_h_4b8939.pth --save_img --world_size 8 --dataset ade20k --data_dir data/ade20k/ADEChallengeData2016/images/validation/ --gt_path data/ade20k/ADEChallengeData2016/annotations/validation/ --out_dir output_ade20k python scripts/evaluation.py --gt_path data/ade20k/ADEChallengeData2016/annotations/validation --result_path output_ade20k/ --dataset ade20k预期结果output_ade20k/生成带类别的标注结果与可视化图评估命令打印 mIoU。卡数不同时改--world_size即可8 卡可并行跑完整个验证集。SSA 效果展示看街道场景里车辆、行人、道路标志的贴合程度类别颜色由语义分支给出边缘轮廓由 SAM 修正。ADE20K 单张图类别密集关注相邻小物体之间是否串色。这张图展示 SSA-engine 的开放词汇模式掩码之外还附带候选类别列表可用作标注复核的参考。SSA 避坑指南常见问题对照表现象可能原因处理方式引擎推理 OOMengine-base 带 SAM 官方实测约 30 GB 显存加--light_mode切换小模型组合或降低输入图像分辨率mmcv / torch 安装报错environment.yaml 锁定 cu111 wheel自行升级过 PyTorch不要改 torch 与 CUDA 版本严格按 environment.yaml 重建环境ModuleNotFoundError: segment_anythingSAM 依赖包未以 editable 模式安装回到同级目录的 segment-anything 执行pip install -e .推理找不到图像或输出为空数据目录结构与 README 约定不符核对data/下图像与标注子目录文件名需与 README 示例一致单图推理明显偏慢--world_size为 0 时未启用多卡按实际卡数设置--world_size多卡并行分摊数据集关键文件索引scripts/main_ssa.py闭集 SSA 推理入口支持 ade20k、cityscapes、foggy_driving 三个数据集scripts/main_ssa_engine.py开放词汇标注引擎入口--sam指定用 SAM 出掩码还是读 SA-1B 已有掩码scripts/evaluation.pymIoU 评估scripts/pipeline.py投票融合等核心处理流程scripts/configs/ADE20K、Cityscapes、COCO 的类别 ID 映射收尾SSA 的核心价值在于不动任何现有模型的权重就能把语义模型的掩码来源换成 SAM边界和 mIoU 同时受益。建议的下一步先按上面的步骤跑通 ADE20K 验证集并记下 mIoU 基线再换你自己的数据集把语义分支换成你现有的模型做一次对照。【免费下载链接】Semantic-Segment-AnythingAutomated dense category annotation engine that serves as the initial semantic labeling for the Segment Anything dataset (SA-1B).项目地址: https://gitcode.com/gh_mirrors/se/Semantic-Segment-Anything创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考