前言
从最开时候PS抠图到后来的在线智能抠图 到如今的AI抠图
科技发展 可谓是日新月异
工具的发展看似让人变得更懒, 实则让人变得更卷, 除非社会的发展停滞不前, 否则人类永远有学不完的东西
不禁思考 人类难道真的就是螺丝钉? 或者是迎接未来硅基生命的工蚁?
放长远一看 也许是真的 我们所谓的个人价值实现 其实到头来有可能就是个笑话
不过不管怎样 对于当下而言 饭总得吃 活好现在最重要
好了 回归正题 接下来聊聊如何使用ComfyUI
一键去除人物背景
需要安装的插件和模型
插件:
-
这里推荐使用
manage
来安装插件, 它会自动安装插件所需的依赖包如果是手动下载
zip
包安装, 如果遇到有requirements.txt
文件需要手动执行pip install -r requirements.txt
命令进行安装插件依赖
模型
-
需要下载以下五个文件, 并将它们放置到
ComfyUI/models/bert-base-uncased
目录下1
2
3
4
5config.json
model.safetensors
tokenizer_config.json
tokenizer.json
vocab.txt grounding-dino模型 : 放置到
ComfyUI/models/grounding-dino
目录下sams 模型 : 放置到
ComfyUI/models/sams
目录下
由于涉及的模型配置文件比较多, 这里推荐使用自动下载的模式, 只需要找到comfyui_segment_anything
插件目录下的node.py
文件, 将里面的https://huggingface.co
替换成https://hf-mirror.com
,
然后重启ComfyUI
, 当我们点击Queue Prompt
按钮时会自动下载缺失的grounding-dino
和sams
模型
工作流下载
两种下载方式, 任君选择:
点击网盘下载 (访问密码: 312306)
开始实现
启动
ComfyUI
, 浏览器输入http://127.0.0.1:8188/
将工作流
json
文件拖拽至浏览器面板打开检查模型是否选择正确
这里
SAM
模型我使用的是2.75G
的版本,grounding-dino
模型使用的是938M
的版本:上传需要去除背景的原始图片
点击
Queue Prompt
开始生成效果如下
这个工作流对于中规中矩的人物抠图效果还可以 但是如果碰上发丝凌乱的情况 效果可能差一些
相关问题
如果生成过程中报错
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")
即可:
其他实现方式
除了上述所说的segment_anything
插件去除背景的方式外 还可以使用python
开源库rembg来实现, 当然了ComfyUI
可以直接通过插件的方式使用该库, 具体流程如下:
安装
rembg
依赖库1
pip3 install rembg
下载U-2-Net模型
两种下载方式 任君选择
可以只下载
u2net.onnx
模型, 当然全部下载自然最佳将下载的模型放置到
ComfyUI/models/Rembg
目录下启动
ComfyUI
创建工作节点这里需要创建三个节点, 分别是
Load Image
: 用于输入需要处理的原始图片Image Rembg
: 核心节点 用于处理图片Preview Image
: 用于预览处理后的图片
我们可以双击鼠标左键根据关键字搜索相应节点:
点击
Queue Prompt
开始处理效果如下
使用Rembg
去除背景效率很快 但是效果差强人意 也许是我的图片关系 大家可以用不同模型尝试一下
总结
在ComfyUI
中去除人物背景的方式有很多种, 和写代码是一个道理, 同一个功能, 可以使用不同的写法来实现
在众多的方法中选一个适合自己的即可
本文为作者原创 转载时请注明出处 谢谢