ComfyUI系列教程(6)--ComfyUI基础节点IPAdapter

2.ComfyUI基础节点IPAdapter

本节主要介绍ComfyUI中IPAdapter节点的用法。

2.3. Ipadapter

2.3.1. Ipadapter简介

Ipadapter是一种利用图像提示生成图像的方法,能够迁移已有图片风格、结构等到生成图片上。IP-Adapter的关键设计是解耦的交叉注意力机制,将交叉注意力层分离为文本特征和图像特征,实现了图像提示的能力。
它与SD图生图的区别在于,SD图生图相当于将参考图进行VAE编码,使整个扩散模型的去噪过程基于该图像进行,如果去噪程度低,就会与参考图越接近,去噪程度高则会与参考图无关。Ipadapter图生图的原理是,将扩散模型中的交叉注意力层解耦成文本和图像特征,直接新增了一个交叉注意力层引入参考图特征,从而让生成图像学习参考图特征,而不是直接基于参考图进行去噪。
举例:使用提示词:正向:an american man,realistic,best quality,face close up反向:blurry,worse quality;参考图像如下。
在这里插入图片描述
使用SD图生图,使用不同的denoise去噪程度,获得的结果如下。
在这里插入图片描述
使用ipadapter进行参考图风格迁移,使用不同的参考图强度,获得的结果如下。
在这里插入图片描述
对比可以看出,SD图生图在原图的基础上进行改动;而ipadapter是在生成图像的过程中,逐渐学习参考图像的风格。整体来说,使用ipadapter的图像效果通常更自然,可扩展性也更高。

2.3.2. Ipadapter工作流

节点及模型下载:https://github.com/cubiq/ComfyUI_IPAdapter_plus

2.3.2.1. 基本使用方法

在这里插入图片描述
基本使用方法需要三个节点,Ipdapter Advanced用于应用Ipadapter,Ipadapter Unified Loader 用于加载相关的模型,load image节点上传参考图像。然后通过model连接到Load checkpoint和ksmapler之间,实现ipadapter加入基础的文生图工作流。7-1 ipadapter基础图生图(工作流见附件)。
在这里插入图片描述
在Ipadapter Unified Loader中,可以选择不同的参数组合(注意与大模型型号保持一致),能够实现强参考到弱参考,或者换脸的操作(需要下载好对应的CLIP等模型放在对应文件夹,参考https://github.com/cubiq/ComfyUI_IPAdapter_plus网页)。
在这里插入图片描述在这里插入图片描述
在Ipdapter Advanced节点中,可以控制参考图像的作用方式、时间等(如下左图)。Weight表示参考图像的权重,权重越大,生成图像越接近参考图。Start_at和end_at表示在整个生成过程0-1中,ipadapter作用的时机,可以根据需求调试。比如实验中发现,如果仅希望参考图片细节,将start_at参数调大会有更好的效果。在Ipdapter Advanced节点中,可以控制参考图像的作用方式、时间等(如下左图)。
在这里插入图片描述
在weight_type选项中(如上右图),可以看到有多种权重作用的方式。通常情况下,linear是效果最强的,参考图像作用随着生成过程呈线性关系,ease in和ease out分别是在开始时强调、在将要结束时强调。可以根据不同的需求进行选择。Styler transfer仅参考图像风格,composition仅参考图像结构。需要注意的是,目前(2024年6月),style transfer及之后的选项仅支持SDXL型号的模型。

2.3.2.2. 换脸

下载必要的模型之后,因为Ipadapter换脸使用了insightface库,所以需要在环境中手动配置insightface环境。推荐根据自己的python版本,下载insightface的whl(3.103.11)文件到\python_embeded文件夹,然后运行:

python -m pip install -U pip
python.exe -m pip install insightface-0.7.3-cp311-cp311-win_amd64.whl

在这里插入图片描述
IPAdapter换脸工作流结合了图生图技术、IPAdapter节点的技术,同时还用到了给图片添加Mask的方法(如下图)。
在这里插入图片描述

换脸的IPAdapter实现主要用到4个节点,IPAdapter FaceID 、IPAdapter Unified Loader FaceID、IPAdapter InsightFace Loader、Load Image,4个节点如下图。
在这里插入图片描述
可以通过Model连接到基础文生图模块中,为了保证与原图的相似性,还增加了set latent noise mask模块。

  • 在VAE Encode后面增加Set Latent Noise Mask节点,连接LATENT和samples(如下图)
  • 将加载原图的Load image的MASK连到Set Latent Noise Mask节点的mask上
  • Set Latent Noise Mask节点的LATENT连接到Ksampler
    在这里插入图片描述
    最终实现仅仅换脸的操作:
    在这里插入图片描述
    完整IPAdapter换脸工作流参考7-2 ipadapter换脸(见附件)。
2.3.2.3 IPAdapter分区域遮罩

IPAdapter可以通过遮罩的方式,在生成一张图片时,实现指定不同区域参考不同图片。可以参考Openart或esheep网站链接进行深入理解。

  • https://openart.ai/workflows/-/-/F2zThOrGNJ1VayEXn6zf
  • https://www.esheep.com/app/10687?utm_source=app_tab

2.3.3附件

提及的ComfyUI工作流已经全部放入,均为基础工作流,欢迎交流:
通过百度网盘分享的文件:ComfyUI学习工作流
链接:https://pan.baidu.com/s/1LRnj56uy1ZLkRuFaC4JLMw
提取码:6vjr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值