ComfyUI 完全入门:AI抠图/去除背景/更换图片背景/更换视频背景

本文继续给大家分享ComfyUI的基本使用技巧:抠图,或者说去除背景。抠图是处理图片的一项常见工作,是设计师们的基本能力,现在有了AI,抠图的效率也得到了极大的提升。最近看到有小伙伴通过AI抠图赚了外国人1000美刀,怀着激动的心情,特别把这个技术给大家分享一下。

除了抠图,我还会介绍一下基于抠图的背景替换,不仅会介绍图片背景的替换,也会分享视频背景的替换方法。

大家抓好扶手,我们马上就要开车了。

image.png

ComfyUI 是什么?

有的同学可能还不知道 ComfyUI 是什么,我这里做一个简单的介绍。

ComfyUI 是一个基于扩散模型的AI绘画创作工具,扩散模型就是大家常说的 Stable Diffusioin,简称SD。

ComfyUI 使用工作流的方式,可定制性很强,可以让创作者们搞出各种新奇的玩意,也可以实现更高的自动化水平,创作方法更容易传播复现,发展势头特别迅猛。

不过 ComfyUI 的上手门槛有点高,用户需要对 Stable Diffusion 以及各种数字技术的原理有一定的了解才行。这个系列就会介绍 ComfyUI 的一些基础概念和使用方法,让大家更快的掌握 ComfyUI 的使用技巧,创作出自己独特的艺术作品。

到哪里使用 ComfyUI

安装 ComfyUI 的难处

ComfyUI 本身是一个开源软件,大家可以安装到自己的电脑上使用。

但是但是事情往往没有说起来这么简单:

  • 首先你要通过Github来下载程序,后续还要下载大量的模型,这需要特殊网络设置;
  • 然后你还要懂点电脑技术,需要执行一大堆的命令;
  • 最后你还要有一个牛逼的Nvidia显卡,显存8G起步,越大越好。

前两个花点小钱就能解决,最后这个要求可是要花大价钱的,差不多的3090显卡就需要七八千,玩起来没压力的4090更需要1.5个W左右。

云环境免费使用

你可能就是想试试,或者说就处理几张图片,没必要搞这么大的阵仗啊。怎么办?

使用云服务器。

  • 最近乘着AI的狂风,京东也大举进入AIGC领域了,新用户赠送两个小时的使用时长,足够我们应应急或者尝尝鲜了。
  • 我也在京东云上制作了一个 ComfyUI 的镜像,内置了常见的模型和工作流(包括本文介绍的抠图工作流),点点鼠标,就能开始创作。

也就是说你不用特殊网络,也不用自己安装,更不用花钱,就可以体验到这个强大的AI绘画工具。

京东云赠送的使用时长通过代金券的形式发放,给公众号“萤火遛AI”发消息:京东云,即可领取。

京东云官方地址:www.jdcloud.com/,注册登陆就不说了,相信大家应该都能搞定。

领取到代金券后,请在“费用”-“代金券管理”中激活代金券,操作如下图所示。

然后我们就可以去开AI服务器了,访问地址:gcs-console.jdcloud.com/instance/li…

请按照下边的步骤创建AI服务器:

1、首先在“实例列表”页面点击“创建”:

2、在打开的“购买GCS实例”页面点击“按配置”,这种就是按使用量计费,GCS目前按照分钟计费。页面上没有显示常见的显卡型号,不过经我实际测试,目前配置的是RTX 4090显卡的GPU实例。

3、还是在“购买GCS实例”页面,我们移动到下方,应用这里选择“ComfyUI”,注意其中提到这是“萤火遛AI定制版本”,是萤火君专门给大家定制的,填了很多坑。因为上边已经激活了代金券,所以直接点击“立即购买”就可以了。

4、返回到GCS实例列表页面,等待GCS实例创建成功。

实例启动成功后,状态会显示“运行中”,我们只要依次点击“应用”-“自定义应用”,就可以在浏览器中打开ComfyUI了,不用执行任何技术命令,是不是很爽!

当然如果你要进行一些技术操作,也可以通过实例提供的 JupyterLab 去完成。

目前京东云还没有停止服务器的功能(据打听正在开发中),用完了记得点击“释放”,以免继续扣费。

5、加载工作流:如下图所示,初次打开是英文界面,先切换到中文;然后“加载”按钮右侧有个下拉按钮,点击就可以加载镜像内置的工作流。如果你想加载本地工作流,点击“加载”按钮本身就可以了。

AI抠图

这个工作流很简单,我们直接看下吧。

左边有两个节点:

  • 加载图像:就是上传一张待处理的图片。点击“choose file to upload”按钮即可上传。
  • 图像缩放:这个不是必需的,只是如果图片太小不容易识别,图片太大则处理的太慢,所以我加了一个缩放,你可以根据自己的需要来,不想要就删掉。

这里分享一个小窍门,如果暂时不想用某个节点,我们可以在这个节点上点击右键,选择“忽略节点”,这个节点就被跳过了。如果想恢复,还是点击这个“忽略节点”。

这个工作流的右边,也有两个节点,其实是两种抠图的方法,很难说哪个更好,大家根据实际效果选择吧。

RemBG:比较老牌的抠图方式,介绍下它的几个参数:

model:有多个抠图模型可供选择:

  • u2net:通用的的预训练模型,通常用这个就行。
  • u2netp:u2net的轻量级版本。
  • u2net_human_seg:专门针对人像分割的预训练模型,只是分割人像时建议使用。
  • u2net_cloth_seg:专门从人像上抠衣服的预训练模型,它会把衣服分成三部分:上半身、下半身和全身。
  • silueta:和u2net相同,但是大小减少到43Mb,方便在小内存机器上使用。
  • isnet-general-use :一个新的通用的预训练模型。
  • isnet-anime:专门针对动画人物的高精度分割。

Alpha matting:Alpha遮罩,这是一个比较专业的图像处理术语。在图像处理中,有一个东西用来表示图像中每个像素点的透明度,这个东西称为Alpha通道;Alpha遮罩利用Alpha通道来控制图像的透明度,从而达到隐藏或显示某些部分的目的;在抠图这里就是努力让前景部分都显示出来,让背景部分都变透明。这个选项有三个参数:

    • Foreground threshold:前景图像的阈值,值过小背景可能被识别为前景,值过大前景可能被识别为背景。
    • Background threshold:背景图像的阈值,值小了前景可能被识别为背景,值大了背景可能识别为前景。
    • Erode size:Alpha抠图腐蚀尺寸,通过在图像中构建一个长宽为这个值的矩形进行腐蚀。太小了前景和背景分离不彻底,边缘有交叉;太大了前景和背景会腐蚀的太多,边缘缺损明显。

使用Alpha遮罩时可以先用这几个经验值:( 220, 100, 15),具体参数值再根据实际情况进行调整。

BRIA:新进的抠图模型,很多时候效果比RemBG要棒。没啥参数可以设置的,需要两个节点:

  • BRIA_RMBG Model Loader:用来加载模型。
  • BRIA RMBG:对图片进行抠图。

工作流,以及其中用到的插件、模型,我已经整理好了,需要的同学请到文末获取。

图片背景替换

图片背景替换就是在抠图的基础上再增加图片合成的能力,如下图所示:

其中增加的就是这个“图像混合模式节点”:

工作流,以及其中用到的插件、模型,我已经整理好了,需要的同学请到文末获取。

视频背景替换

视频背景替换的基本思路是,先把视频帧拆出来,然后一帧帧的替换背景。

我在抖音上找到了一个小姐姐的跳舞视频,准备把视频背景替换成蓝天白云草地。

这个工作流主要由3部分组成,分别介绍下:

加载素材

这里涉及三个节点:

加载视频:选择本地视频上传即可。注意这里的两个参数:

  • 强制频率:视频一般都是每秒30帧,但是帧数越多,我们拆出来的图片也越多,所以这里可以适当降低,不影响观看就行了。
  • 强制尺寸:太大视频处理起来慢,太小的视频可能效果不好,这里可以调整下。Custom Height 就是固定高度,宽度自适应。

视频信息:提取出视频的宽高、帧数、帧率等,后边合成新视频的时候会用到这个帧率,提取出来就不用手动设置了。

加载图像:这里就是要使用的视频新背景,注意和视频的宽高保持一致。

替换背景

主要节点和设置前边替换图片背景已经讲过了,注意这里增加了两个信息的节点:

图像批次到图像列表、图像列表到图像批次

主要是因为视频需要的是图像批次,而图像混合需要的是图像列表,做一个适配而已。

合成视频

最后就是合成视频了,注意选择格式为mp4, 别的没什么好讲的。

为了帮助大家更好地掌握 ComfyUI,我在去年花了几个月的时间,撰写并录制了一套ComfyUI的基础教程,共六篇。这套教程详细介绍了选择ComfyUI的理由、其优缺点、下载安装方法、模型与插件的安装、工作流节点和底层逻辑详解、遮罩修改重绘/Inpenting模块以及SDXL工作流手把手搭建。

这份完整版的资料我已经打包好,点击下方添加即可免费领取!

一、ComfyUI配置指南

  • 报错指南
  • 环境配置
  • 脚本更新
  • 后记

img

二、ComfyUI基础入门

  • 软件安装篇
  • 插件安装篇

img

三、 ComfyUI工作流节点/底层逻辑详解

  • ComfyUI 基础概念理解
  • Stable diffusion 工作原理
  • 工作流底层逻辑
  • 必备插件补全

img

四、ComfyUI节点技巧进阶/多模型串联

  • 节点进阶详解
  • 提词技巧精通
  • 多模型节点串联

img

五、ComfyUI遮罩修改重绘/Inpenting模块详解

  • 图像分辨率
  • 姿势

img

六、ComfyUI超实用SDXL工作流手把手搭建

  • Refined模型
  • SDXL风格化提示词
  • SDXL工作流搭建

img

img

这份完整版的资料我已经打包好,点击下方添加即可免费领取!

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 抠图更换背景是图像处理中的两个常见任务。Python中有许多图像处理库,可以帮助我们完成这些任务,其中最常用的是OpenCV和PIL。 抠图可以分为基于颜色和基于形状的方法。基于颜色的方法是通过选择颜色范围来分离前景和背景。基于形状的方法是通过选择前景和背景的边界来分离它们。 以下是使用OpenCV和PIL进行抠图更换背景的简单示例: ```python import cv2 from PIL import Image # 抠图 def remove_background(img_path): img = cv2.imread(img_path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, thresh = cv2.threshold(gray, 50, 255, cv2.THRESH_BINARY) contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnt = max(contours, key=cv2.contourArea) x, y, w, h = cv2.boundingRect(cnt) foreground = img[y:y+h, x:x+w] return foreground # 更换背景 def change_background(foreground_path, background_path, output_path): foreground = Image.open(foreground_path) background = Image.open(background_path).resize(foreground.size) background.paste(foreground, (0, 0), foreground) background.save(output_path) # 使用示例 foreground_path = 'path/to/foreground.png' background_path = 'path/to/background.png' output_path = 'path/to/output.png' foreground = remove_background(foreground_path) foreground.save('path/to/foreground.png') change_background('path/to/foreground.png', background_path, output_path) ``` 在此示例中,我们使用OpenCV提取前景,并使用PIL将前景粘贴到背景上。要使用此代码,您需要安装OpenCV和Pillow(PIL)库。 ### 回答2: Python视频抠图更换背景是指使用Python编程语言对视频中的对象进行抠图,并将其替换为不同的背景。 首先,我们需要使用Python中的图像处理库(如OpenCV)来从视频中提取每一帧图像。然后,我们将使用图像分割算法(如GrabCut算法)来识别和分离图像中的前景和背景。 一旦我们成功地将图像中的前景与背景分开,我们可以使用图像处理技术(如图像融合)将对象从原始背景中移除,并将其贴在新的背景上。 为了实现这个过程,我们可以按照以下步骤进行操作: 1. 导入所需的库,如OpenCV。 2. 从视频中获取每一帧图像。 3. 对每一帧图像进行图像分割,将前景和背景分离出来。 4. 使用图像处理技术将前景与新的背景进行融合。 5. 将处理后的图像保存为视频文件。 值得注意的是,在实际处理视频时,由于视频具有多个帧图像,我们需要对每一帧都进行处理,并将其合并为一个新的视频文件。 总结起来,Python视频抠图更换背景可以通过使用图像处理库和技术,将视频中的对象与背景进行分割和替换,从而实现。这为我们提供了广阔的应用领域,例如影视后期制作、虚拟现实等。 ### 回答3: Python的视频抠图更换背景是使用图像处理技术来实现的。具体步骤如下: 1. 首先,我们需要使用Python的图像处理库(如OpenCV)来读取视频,并提取视频中的每一帧图像。 2. 接着,将每一帧的图像进行背景抠图。可以使用图像分割算法(如GrabCut算法)来实现。该算法能够根据用户给定的初始前景和背景区域,自动分割出前景和背景。 3. 抠图后,将前景图像保存,并继续处理下一帧图像。 4. 接下来,我们需要准备一个新的背景图像。可以选择一张静态图片作为新的背景,或者使用视频中的某一帧图像作为新的背景。 5. 将前景图像与新的背景图像进行融合。可以使用图像合成技术(如透明度混合)来实现。这样就可以将前景图像放置在新的背景之上。 6. 最后,将融合后的图像保存,并继续处理下一帧图像,重复以上步骤,直到处理完所有帧。 使用Python进行视频抠图更换背景可以实现很多有趣的效果,如去除视频背景,替换为自定义的背景,或者将特定物体提取出来,放置到不同的环境中。这样可以为视频增加视觉吸引力,增强用户的观赏体验。同时,Python作为一种简洁易用的编程语言,具有丰富的图像处理库和算法,使得视频抠图更换背景变得更加简单和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值