ComfyUI抠图之人物背景移除

前言

从最开时候PS抠图到后来的在线智能抠图 到如今的AI抠图

科技发展 可谓是日新月异

工具的发展看似让人变得更懒, 实则让人变得更卷, 除非社会的发展停滞不前, 否则人类永远有学不完的东西

不禁思考 人类难道真的就是螺丝钉? 或者是迎接未来硅基生命的工蚁?

放长远一看 也许是真的 我们所谓的个人价值实现 其实到头来有可能就是个笑话

不过不管怎样 对于当下而言 饭总得吃 活好现在最重要

好了 回归正题 接下来聊聊如何使用ComfyUI一键去除人物背景

需要安装的插件和模型

插件:

  • comfyui_segment_anything

    这里推荐使用manage来安装插件, 它会自动安装插件所需的依赖包

    image-20240521125914962

    如果是手动下载zip包安装, 如果遇到有requirements.txt文件需要手动执行pip install -r requirements.txt命令进行安装插件依赖

模型

  • bert-base-uncased

    需要下载以下五个文件, 并将它们放置到ComfyUI/models/bert-base-uncased目录下

    1
    2
    3
    4
    5
    config.json
    model.safetensors
    tokenizer_config.json
    tokenizer.json
    vocab.txt

    image-20240521133533172

  • grounding-dino模型 : 放置到ComfyUI/models/grounding-dino目录下

  • sams 模型 : 放置到ComfyUI/models/sams目录下

由于涉及的模型配置文件比较多, 这里推荐使用自动下载的模式, 只需要找到comfyui_segment_anything插件目录下的node.py文件, 将里面的https://huggingface.co替换成https://hf-mirror.com,

image-20240521125402187

然后重启ComfyUI, 当我们点击Queue Prompt按钮时会自动下载缺失的grounding-dinosams 模型

工作流下载

两种下载方式, 任君选择:

点击网盘下载 (访问密码: 312306)

点击本地下载

开始实现

  1. 启动ComfyUI, 浏览器输入http://127.0.0.1:8188/

  2. 将工作流json文件拖拽至浏览器面板打开

  3. 检查模型是否选择正确

    这里SAM模型我使用的是2.75G的版本,grounding-dino模型使用的是938M的版本:

    image-20240521134733466

  4. 上传需要去除背景的原始图片

    image-20240521134434368

  5. 点击Queue Prompt开始生成

    image-20240521134527288

  6. 效果如下

    image-20240521134554714

这个工作流对于中规中矩的人物抠图效果还可以 但是如果碰上发丝凌乱的情况 效果可能差一些

image-20240521140410603

相关问题

  1. 如果生成过程中报错If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU

    如果你使用Mac平台, 那么大概率会出现这种情况, Mac只能用CPU运算, 而SAMModelLoader节点默认使用GPU进行加载

    这里我们只需要找到comfyui_segment_anything插件目录下build_sam_hq.py文件,并将里面的torch.load(f)改成torch.load(f, map_location="cpu")即可:

    image-20240521132334722

其他实现方式

除了上述所说的segment_anything插件去除背景的方式外 还可以使用python开源库rembg来实现, 当然了ComfyUI可以直接通过插件的方式使用该库, 具体流程如下:

  1. 安装was-node-suite-comfyui插件

  2. 安装rembg依赖库

    1
    pip3 install rembg
  3. 下载U-2-Net模型

    两种下载方式 任君选择

    点击网盘下载

    image-20240521144359685

    点击GitHub下载

    可以只下载u2net.onnx模型, 当然全部下载自然最佳

    将下载的模型放置到ComfyUI/models/Rembg目录下

  4. 启动ComfyUI 创建工作节点

    这里需要创建三个节点, 分别是

    • Load Image: 用于输入需要处理的原始图片
    • Image Rembg : 核心节点 用于处理图片
    • Preview Image : 用于预览处理后的图片

    我们可以双击鼠标左键根据关键字搜索相应节点:

    image-20240521145214399

  5. 点击Queue Prompt开始处理

  6. 效果如下

    image-20240521145520541

使用Rembg去除背景效率很快 但是效果差强人意 也许是我的图片关系 大家可以用不同模型尝试一下

总结

ComfyUI中去除人物背景的方式有很多种, 和写代码是一个道理, 同一个功能, 可以使用不同的写法来实现

在众多的方法中选一个适合自己的即可

本文为作者原创 转载时请注明出处 谢谢

ACG作坊– 分享动漫制作的博客站

0%