集成segment anything,实现图片分割快速标注。
项目持续更新中,更新日志,欢迎大家提出建议
演示视频:bilibili
Demo Video:youtube
- 支持同时标注语义分割与实例分割
- 集成SAM(segment anything model)实现图像分割交互式半自动标注。
- 交互式修正mask,通过鼠标左(右)键点击感兴趣(不感兴趣)区域,指引模型修正mask。
- 支持手动标注多边形。
- 支持标注二次修改。
- 支持多目标之间调整遮挡关系,高图层目标会遮挡低图层目标。
- 支持标注结果预览。
- ISAT生成特有格式json,包含更多信息。
- 兼容labelme标注的json文件,支持开打并进行二次修改(打开前请先备份一份)。
- 支持将ISAT格式json转换为VOC格式(单通道png)。
- 支持将ISAT格式json转换为COCO格式json(会丢失图层信息)。
- 支持将COCO格式json转换为ISAT格式json,进行二次修改。
conda create -n sam python==3.8.15
conda activate sam
cd segment-anything
pip install -e .
cd ..
git clone https://github.com/yatengLG/ISAT_with_segment_anything.git
cd ISAT_with_segment_anything
pip install -r requirements.txt
下载任一模型,并将模型存放于ISAT_with_segment_anything/segment_any目录下 请按照硬件下载合适的模型.
-
模型最大,效果也最好,显存至少需求8G,演示时软件实际占用7305M;
-
模型适中,效果也适中,显存至少需求8G,演示时软件实际占用5855M;
-
模型最小,效果也最差,显存至少需求6G,演示时软件实际占用4149M;
python main.py
- 通过鼠标左键(或右键)提示感兴趣区域(或不感兴趣区域),自动形成目标分割掩码。
- 可通过多次左右键提示,提升掩码质量。
- E键结束标注,选择类别,得到多边形标注区域。
- 拖拽多边形顶点,精细化调整标注。
- 通过目标图层高低,调整目标之间遮挡关系(多目标之间存在重叠区域时)。
- 自动分割效果受segment anything模型分割效果限制,如需更为精确的分割效果,可通过手动绘制多边形实现。
- 如果没有GPU或只需要使用手动绘制多边形标注,推荐使用ISAT。
- 软件对GPU显存有最低限制:
- h模型最大,效果也最好,显存至少需求8G,演示时软件实际占用7305M;
- l模型适中,效果也适中,显存至少需求8G,演示时软件实际占用5855M;
- b模型最小,效果也最差,显存至少需求6G,演示时软件实际占用4149M;
@misc{ISAT with segment anything,
title={{ISAT with segment anything}: Image segmentation annotation tool with segment anything},
url={https://github.com/yatengLG/ISAT_with_segment_anything},
note={Open source software available from https://github.com/yatengLG/ISAT_with_segment_anything},
author={yatengLG and horffmanwang},
year={2023},
}