引言

Stable Difussion的作用主要是生图,而图片之所以能产生价值,一定是符合应用落地的某些需求,这就要求咱们从”随机生成”逐步迈向”精准控制”。

目前在comfyUI中,大致有这么几个主要方式可以进行控图。

  • 模型本身,提示词,LoRA,TI
  • IPAdapter
  • ControlNet & InstantID

本文主要就图像条件可控-IPAdapter进行总结。

一、初步认识IPAdapter

维度
描述
定位
图像风格/内容转化师。它通过图像来影响 AI 绘画的风格、身份或视觉元素。
理解全名,辅助理解其作用Image Prompt Adapter。
输入/输出
输入
  • 图像提示词 (Image):你想提取风格或特征的参考图片
  • CLIP图像编码器(CLIP Vision Encoder):(内置或需要选择编码器类型)将人类肉眼能看见的图片信息转化成赛博雕塑世界能理解的信息,可能包含:物体概念、行为概念、色彩搭配、笔触、光影特点、艺术流派、边缘、纹理、基本形状甚至人物身份信息等。
  • 模型 (MODEL):基础的 Stable Diffusion 模型 (UNet),好比一个雕塑家。
  • IPAdapter 模型 (IPAdapter Model):IP-Adapter 自身的权重文件,负责转换和注入图像特征。好比定向训练官,拿着转化好的图片信息,定向筛选(风格 或 脸部信息)让雕塑家进行学习。
输出
  • 一个被适配过的 MODEL,即被图像引导能力“增强”了的 UNet 模型。好比接收过定向参考训练的雕塑家。
作用点
主要作用于 UNet 模型的注意力层,让 UNet 在去噪过程中能“看到”并融合图像的视觉特征。
与pormpt关系
与文本 Prompt 并行工作,Prompt 定义“什么”,IP-Adapter 定义“像什么”

二、IPAdapter基本工作流

2.1 工作流图示

2.2 基本节点介绍及参数理解

节点名称
描述
IPAapter Advanced
好比一个训练场
核心输入
  • img(参考图片)
  • CLIP Vision Encoder(图像编码器):它可以将图片转为为embedding。好比将人类世界的图片转换为赛博雕塑世界能理解的视觉信息。
  • model:unet模型,好比雕塑家。
  • IPAdapter:IPAdapter模型,好比一个定向训练官,筛选视觉信息中需要训练的部分,然后让雕塑家进行学习。
额外参数输入
  • weight(影响权重):控制图片风格对生成结果的总体影响强度,可以理解成雕塑家的遵循程度,0.5-0.8(平衡)
  • weight type(影响权重策略):在start at和start end间,weight的变化方式,如linear,就是从0到指定权重,如ease in,就是开始的时候低,后续强,依次类推。
  • noise(图像embedding噪声):在对人类世界的图片进行视觉信息提取后,会在此基础上增加微量的噪声随机扰动,目的是保持整体风格的基础上,让细节表现有所不同,一般0.2以下。
  • start_at / end_at (指令生效时间段):控制去噪过程中什么时候开始/结束参照风格,由于去噪过程中,前面时间通常是构图,后续增加细节,而参考的图片中也会有构图信息,为了防止构图过程中采纳风格图片,可以将开始设置延后。
  • embeds_scaling:图像引导的“适应性缩放”,可以理解成图像embedding的是筛选融合规则。一般选V,更多需探索。
Load CLIP VISION
加载CLIP Vision Encoder,需要选择 CLIP Vsion Encoder,作为IPAapter Advanced的核心输入之一。
  • ViT-L/14(Vision Transformer, Large, Patch size 14),示例文件:clip-vit-large-patch14.safetensors,clip-vit-l-14.ckpt
  • ViT-H/14(Vision Transformer, Huge, Patch size 14),示例文件:clip-vit-huge-patch14.safetensors,ViT-H.safetensors
  • ViT-G/14(Vision Transformer, Giant, Patch size 14),示例文件:clip_g.safetensors,ViT-g-14-laion2B-s12B-b42K.safetensors
原则上G>H>L,越大能识别的信息更多。
Load Image
参考风格图片,通过CLIP Vision Encoder将其提取成视觉信息,作为IPAapter Advanced的核心输入之一。
IPAdapter Model Loader
定向训练官,用于将视觉信息定向筛选并让雕塑家(模型)学习,作为IPAapter Advanced的核心输入之一。
值得一提的是,既然是从转换后的视觉信息中筛选,很大可能IPAdapter Model和CLIP Vision Encoder有匹配关系,事实也确实如此。
命名形如*-h的模型通常对应ViT/H
命名形如*-g的模型通常对应ViT/G
其他依次类推,无特殊信息的话,如果报错,可以先尝试用ViT/H的视觉编码器。
Rescale_CFG
控制最终所有条件引导强度的核心参数。它通过校准 Prompt 和 Adapter 共同产生的“合力引导方向”的强度,来平滑高 CFG Scale 和强 Adapter 可能带来的过度引导问题,减少伪影,使图像更自然、美观。
同时,在某种意义上也能达到这种效果:
  • 越低,模型自由发挥空间越高,IPAdapter的引导相对变弱。
  • 越高,模型自由发挥空间越低,IPAdapter的引导相对变强。

三、IPAdapter-FaceID

在生成图像时,除了参考风格外,常常还有这么一个场景,即:生成的作品中,如何精确地保持人物的脸部身份和特征

3.1 基本工作流

3.2 基本节点和参数理解

节点
描述
IPAdapter FaceID
与IPAdapter Advanced类似,输入有:
  • imge,Model略
  • CLIP Vision Encoder略
  • IPAdapter模型,这其中,就有FaceID类型,又可以迁移风格,又能保留脸部特征。
  • 与FaceID配套的LoRA:据官方要求,使用FaceID的时候,一般要配合一个指定的LoRA,命名形如IPAdapter模型_lora。
  • Insightface:在保留脸部特征过程中,使用了insightface的能力,所以还需指定insightface。
IPAdapter Model Loader
略,同基本工作流
Load Image
略,同基本工作流
Load CLIP Vsion

略,同基本工作流
LoraLoaderModelOnly
ComfyUI,SD小白入门篇》中提到,LoRA即会影响Unet Model,又会影响CLIP,但FaceID这里只需要影响UnetModel,如果还是通过原有的Load LoRA节点进行加载,工作流的线条连结会变得更复杂,因此,这里推荐使用LoraLoaderModelOnly节点。