前言
从最开时候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中去除人物背景的方式有很多种, 和写代码是一个道理, 同一个功能, 可以使用不同的写法来实现
在众多的方法中选一个适合自己的即可
本文为作者原创 转载时请注明出处 谢谢