基于Segment Anything Model(SAM)图片元素提取器
若不清楚SAM的功能,建议体验其Demo进行了解,本仓库实现了本地版本的对应功能,并优化了图片分割的体验
建议安装miniconda管理python环境
- 本地部署SAM,参考segment-anything
- 安装依赖,建议
python=3.10
,pip install -r requirement.txt
- 修改
marker.py
中sam_root = ""
为本地SAM根目录,并将模型文件放在本地SAM根目录的models下(这步如果不确定具体位置,可以先进行下一步,会有相关提示) python marker.py
启动ui界面
(有条件的朋友建议安装cuda,cudnn,torch-cuda)
-
选择【导入模型】左侧的具体模型(质量h > l > b),并点击导入模型
-
选择导入图片,或直接将图片拖入框内,这一步会耗费一些时间(10s-20s,视GPU能力)
-
开始抠图:
- 框选模式:利用box选择分割区域
- 点选模式(非框选模式)
- 左键加入前景点(需要提取的部分)
- 右键加入后景点(希望剔除的部分)
- 中键删除前景点、后景点
-
保存:按住Ctrl,并用左键点击选择想保存的区域(如果没有选中对应的mask区域,没有反应)