稳定扩散webui的Segment Anything安装和使用教程

释放双眼,带上耳机,听听看~!
本文详细介绍了如何安装和使用稳定扩散webui的Segment Anything插件,包括插件的安装步骤、手动方式的图片标注方法、分割结果的处理和扩充,以及使用教程中的效果展示和总结。

安装

  1. continue-revolution/sd-webui-segment-anything安装插件
  2. 分割模型下载后放到这个位置:${sd-webui}/extension/sd-webui-segment-anything/models/sam下,可以下载3个不同大小的模型,从大到小如下:vit_h is 2.56GB, vit_l is 1.25GB, vit_b is 375MB。如果显存不够的话,可以考虑使用小模型。当然效果也可能会有损失。
    经过上述步骤后,插件就安装好了。

使用教程

图片分割

安装

  1. continue-revolution/sd-webui-segment-anything安装插件
  2. 分割模型下载后放到这个位置:${sd-webui}/extension/sd-webui-segment-anything/models/sam下,可以下载3个不同大小的模型,从大到小如下:vit_h is 2.56GB, vit_l is 1.25GB, vit_b is 375MB。如果显存不够的话,可以考虑使用小模型。当然效果也可能会有损失。
    经过上述步骤后,插件就安装好了。

使用教程

图片分割

手动方式

  • 标注图片

稳定扩散webui的Segment Anything安装和使用教程

左键标记成黑点代表想要的物体,右键标记成红点代表不需要分割的物体

  • 分割结果
    使用Preview Segmentation按钮生成分割图

稳定扩散webui的Segment Anything安装和使用教程
根据分割的多个结果中选择1个最满意的节点

使用GroundingDINO加提示词自动识别分割物

稳定扩散webui的Segment Anything安装和使用教程

勾选Enable GroundingDINO,就会出现下面的GroundingDINO Model (Auto download from huggingface)GroundingDINO Detection Prompt,其中GroundingDINO Detection Prompt填上想要分割的物体,比如”dress”
点击Generate bounding box按钮,就可以看到分割效果,如下所示:

稳定扩散webui的Segment Anything安装和使用教程

  • 分割结果
    使用Preview Segmentation按钮生成分割图,和上面一样。

稳定扩散webui的Segment Anything安装和使用教程

  • 扩充(可选)

稳定扩散webui的Segment Anything安装和使用教程

如果分割图里面会有一些点没有完全覆盖的话,可以考虑扩充mask来使分割结果更好。比如上面手动分割图中裙子会有一些点没有覆盖到,可以考虑扩充像素。

点击Switch to Inpaint Upload,接下来就是使用【局部重绘(上传蒙版)】来做局部重绘了。

局部重绘(上传蒙版)

  • 除了把“重绘区域”修改成“仅蒙版”,这里大部分使用默认的参数。

稳定扩散webui的Segment Anything安装和使用教程

  • 选择对应的controlNet,比如上面选择的是第1个分割结果,那就选择ControlNet Unit 1:
  1. 勾选启用、勾选Pixel Perfect,如果显存不够可以勾选低显存优化
  2. 选择预处理:inpait_global_harmonious,模型:control_v11_sd15_inpaint
  3. 其他参数默认

稳定扩散webui的Segment Anything安装和使用教程

效果

使用X/Y/Z Plot脚本来替换提示词,如下:

red dress, pink dress,white dress,blue dress, frilled dress

效果如下:

稳定扩散webui的Segment Anything安装和使用教程

可以看到还是比较完美的做了换装。

总结

本文简单使用了stable diffusion webui的Segment Anything来实验了换装操作,整体效果还是比较好的,当然目前选择的还是比较简单的图片,如果比较复杂的图片,是否还有这么好的效果,还需继续研究和试验。
当然作者认为它主要是为了方便做局部重绘时需要手动标记重绘区域时的不便,有了Segment Anything可以提高标记效率。

附录

遇到的问题

  1. 显存不够
torch.cuda.OutOfMemoryError: CUDA out of memory. ......

查看后台运行程序可能会时长出现上面的问题,这就是显存不够导致的,可以尝试把SAM Model修改成最小的vit_b,让流程跑起来。当然也可能目前该扩展还有一些显存的问题,看Issue上面也有挺多人遇到类似问题。

稳定扩散webui的Segment Anything安装和使用教程

  1. 安装的版本不对
The detected CUDA version (12.1) mismatches the version that was used to compile PyTorch (11.7). Please make sure to use the same CUDA versions.
  • 需要保证保证nvcc --version显示的版本和nvidia-smi显示的版本保持一致。如果不一致,可能需要重新编译cuda版本。

参考

Stable-Diffusion-WebUI相关实践篇2:SD-webui-segment-anything,分割一切+自由创作一切

Segment Anything 安装与使用教程,分割万物,修改万物。(附安装教程)

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

快速找到卫星图像上的船只

2023-12-19 21:38:14

AI教程

国内服务器上搭建chat GPT和后端Spring Boot集成chat GPT教程

2023-12-19 21:50:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索