在生图工作流中,K采样器无疑是一个至关重要的组件。尽管我们可能对K采样器已有所了解,但对其工作原理及参数设置的掌握或许还不够深入。本节教程将深入探讨K采样器的核心原理,助您更全面地理解并掌握其工作机制,进而优化生图结果。下图展示了K采样器在工作流中的位置和角色:
接下来,我们来详细对K采样器的输入、输出、参数详细的进行一个说明:
输入条件: 模型
模型的选取对于图像生成的方式与风格起着决定性作用。不同的模型架构在生成图像时,会对其质量、多样性及真实性产生深远影响。在探讨AI绘画工作流的工作原理时,我们可以形象地将模型比作沙画师,每位沙画师都拥有自己独特的绘画风格。同样地,模型决定了最终输出图像的风格,例如,若采用动漫风格的模型,最终生成的图像便会呈现出鲜明的动漫特色。
我们可以在https://www.liblib.art上搜索我们想要的模型:右侧筛选模型类型为Checkpoint,你就可以看到各种各样的大模型,每一种模型其风格都不一样。
除了https://www.liblib.art/,这里列举另外3个比较常用的模型共享平台:
https://www.seaart.ai/zhCN
https://civitai.com/
https://www.shakker.ai/
点击模型可以进入模型的详细信息页面,在右侧版本详情里,你会发现有一个基础算法,这个指的是这个模型是基于哪个基础模型衍生出来的。同时我们可以点击【下载】按钮将这个模型下载下来,Lib上有些模型是免费的,有些是会员才能下载,黄色背景表示会员才能下载。
基础模型
在Lib上我们可以通过下面方式查看基础模型有哪些,它这里列举的模型有图像模型,也有视频模型。
不过在AI绘画场景,我们主要使用的基础模型有:
SD
基础算法v1.5: 版本越高,出图效果越好,但是速度越慢
v3.5M和v3.5L是v3的改进版本,M,L表示在该版本在模型规模或训练数据量上进行了扩展
M: Medium(中等规模)
L:Large(大规模)
基础算法v2.1
基础算法v3.5M
基础算法v3.5L
SDXL
基础算法XL
FLUX
基础算法F.1
基础模型的下载地址,同时在教程底部也有对应的网盘地址提供您下载。
基础模型
下载地址
基础算法v1.5
官方:https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/tree/main
Comfy-org: https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/tree/main
基础算法v2.1
官方:https://huggingface.co/stabilityai/stable-diffusion-2-1/tree/main
基础算法v3.5M
https://huggingface.co/Comfy-Org/stable-diffusion-3.5-fp8/blob/main/sd3.5_medium_incl_clips_t5xxlfp8scaled.safetensors
基础算法v3.5L
https://huggingface.co/Comfy-Org/stable-diffusion-3.5-fp8/blob/main/sd3.5_large_fp8_scaled.safetensors
基础算法XL
https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main
基础算法F.1
后续FLUX章节讲解,这里暂不赘述
下载完成后,将模型文件放置在:models\checkpoints文件夹下,在搭建文生图工作流那节,我们已经对这些基础大模型进行了官方下载, 这份完整版的comfyui整合包已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
衍生模型
除了基础模型,其他的都属于衍生模型,衍生模型是在基础模型基础之上训练得到,通常具备某一方面突出的表现。
在Lib中,左上角标识Checkpoint字样的都属于这一类模型。
通过【Checkpoint加载器(简易)】节点就可以加载模型了,我们可以从中选择我们需要的大模型来完成不同画风的出图效果:
输入条件:正面条件/负面条件
正面条件是指你希望图像中包含的元素或特征。它们帮助模型明确知道哪些内容是需要重点呈现的,需要提供英文的自然语言描述,也可以是英文的单词描述。
负面条件用于排除不希望出现在图像中的内容。通过指定这些负面因素,模型可以更好地避免生成不符合预期的元素。
我们可以在正面条件和负面条件输入框中输入正面提示词和负面提示词,来控制想要什么和不想要什么。针对提示词这块,后续会有一节专门的教程教大家更高阶的用法。
输入条件:Latent
潜空间,既可以是空白潜空间,也可以是某个图像转换的潜空间。
当输入的是空白Latent的时候,这个工作流是文生图工作流。(具体搭建过程后续我们详讲)
当输入的Latent是图像转换的潜空间,这个工作流就是图生图图工作流。(具体搭建过程后续我们详讲)
输出Latent
完成采样之后的潜空间,需要通过VAE解码器解码转换为图像,我们才能看到。
控制参数
随机种
随机种子是一个用于启动图像生成过程的随机数字,它充当了初始化噪声的角色,不同的数字对应不同的随机噪声,在创作过程中,噪声经由随机种子产生,而不同的种子值会引领出各异的图像成果。若将种子值固定,在其他条件恒定的前提下,每次生成的图像都将毫无二致。无论是文生图,还是图生图,随机噪声都是不可或缺的元素。K采样器的功能便是在这过程中扮演去噪的角色。我们可以借由沙画创作的过程来想象这一机制:艺术家首先在台面上铺设沙子,这一步骤类似于引入噪声,随后通过精心勾勒,沙子中浮现出精美的画面。K采样的过程与此相仿,通过反复的筛选与优化,最终呈现出清晰的图像。
运行后操作
在K采样器中,还有一个与随机种相关的参数是“运行后操作”(control_after_generate),它决定了每次生成图像后种子值的变化方式。具体选项包括:
固定(fixed):种子值保持不变,每次生成的图像相同。
随机(randomize):每次生成图像后,种子值随机变化,生成的图像也会不同。
增加(increment):每次生成图像后,种子值加1。
减少(decrement):每次生成图像后,种子值减1。
随机种的使用场景
固定种子:当你需要重复生成相同的图像时,固定种子是一个很好的选择。
随机种子:当你希望每次生成的图像都有不同的效果时,可以选择随机种子。这对于探索不同的生成效果非常有用。
步数
步数表示在去噪过程中对潜在图像进行处理的迭代次数。步数越多,去噪过程越细致,生成的图像细节越丰富,整体效果也越清晰
步数设置对出图的影响
较低步数:当步数较少时,生成的图像细节较少,整体效果可能较为模糊。例如,步数为10时,图像的清晰度和细节表现较差。
较高步数:随着步数的增加,图像的细节会逐渐丰富,整体效果也会更加清晰。例如,步数为25时,图像的背景和主体细节会更加丰富。
过高步数:虽然步数越高图像细节越丰富,但超过一定限度后,细节的增加会变得不明显,甚至可能引入一些不必要的噪点,同时生成时间也会显著增加。
下面我们通过效率节点对比不同步数对出图的影响,在使用效率节点之前,我们需要安装插件【efficiency-nodes-comfyui】,具体安装过程这里不再赘述,安装过程可参考【【04】全面掌握ComfyUI插件下载和安装】
这里设置的总步数为30步,采样从第1步开始,到30步结束。从生成的图片来看,图片越来越清晰,直到30步采样结束。同时我们也发现,大概到15步左右,图像变化较少。
【结论】:步数越大,采样越多,图像越清晰;步数越小,采样越小,图像越模糊。根据经验一般我们设置步数为20-30之间,可以获得一个不错的效果。采样步数不能太大,太大的采样步数对图像生成影响不大,比如到15步的时候采样已经饱和了,从16步到20步的采样基本没有什么作用,而且还增加了生图时间。
CFG
CFG参数用于控制生成图像与提示词之间的关联程度。具体来说,它决定了采样器在生成图像时对提示词的“忠诚度”
低CFG值:当CFG值较低时,生成的图像对提示词的依赖程度较低,AI会有更多的自由发挥空间。这可能导致生成的图像与提示词的匹配度较低,但可能会产生一些富有创意和多样性的结果。
高CFG值:当CFG值较高时,生成的图像会更严格地遵循提示词的内容,图像与提示词的匹配度更高。但过高的CFG值可能会导致图像的对比度过高、细节过度锐化,甚至可能出现一些不自然的效果。
CFG对图像质量的影响
低CFG值(如1-3):生成的图像可能较为模糊或与提示词的匹配度较低,但可能会产生一些有趣的创意效果。
中等CFG值(如5-8):生成的图像在细节和与提示词的匹配度上表现较好,通常是比较理想的设置。
高CFG值(如10以上):图像与提示词的匹配度非常高,但可能会出现对比度过高、细节过度锐化等问题,甚至可能导致图像质量下降。
下面我们通过效率节点对比不同CFG对出图的影响:
效率加载器中:
正面提示词:1 girl student, at the gate of the school
CFG从1到15变化,效果如下:
从以上对比数据来看:
CFG值在1-3之间:生成的图像较为模糊且与提示词的匹配度较低。
CFG值在5-8之间:生成的图像在细节和与提示词的匹配度上表现较好。
CFG值在10以上:图像与提示词的匹配度非常高,但出现了对比度过高、细节过度锐化等问题。
建议CFG值在5-8之间!效果最佳!
采样器
从这个列表来看,采样器的种类非常多,但大体可以分为以下4类
1、euler(欧拉采样)
eulereuler_cfg_ppeuler_ancestraleuler_ancestral_cfg_ppheunheunpp2
欧拉采样的最显著的特色就是不会引入随机性,会按照预定的噪声进行降噪逐步的将噪声引导到最终图像,适用于稳定性和可预测场景。
欧拉采样分两类: euler:最基础采样器,一次采样。heun:euler的改进版,采用两次采样方式提升图像质量,由于是两次采样,所以生图时间也是euler的两倍。heunpp2是heun的改进版, 用于生成更加复杂的图像。cfg_pp的意思是适用于较低CFG值场景,但需要更大的采样步数,通常是50步左右,比如CFG=1, 步数=50。
有ancestral字样的采样器,在采样过程中,会添加随机噪声,这样一来每一步生成的图形都不一样,也称为:画面不收敛,适用于自由创意场景,以下是使用euler和euler_a采样器生成图像的对比:我们发现使用euler采样器生图比较固定,euler_a采样器每一张图变化较大且都不一样。
euler采样器:画面收敛
euler-a采样器:画面不收敛
2、dpm采样器
DPM的主要优点是生成质量高,但是由于DPM会自适应调整步长,不能保证在约定的采样步骤内完成任务,整体速度可能会比较慢。
dpm_fastdpm_adaptivedpm_2dpm_2_ancestraldpmpp_2s_ancestraldpmpp_2s_ancestral_cfg_ppdpmpp_sdedpmpp_sde_gpudpmpp_2mdpmpp_2m_cfg_ppdpmpp_2m_sdedpmpp_2m_sde_gpudpmpp_3m_sdedpmpp_3m_sde_gpu
版本顺序:dpm -> dpm2 -> dpmpp
dpm一代包括:dpm_fast是一个实验采样器,我们基本不用。dpm_adaptive不管采样步数是多少,都会生成相同的图像,所以步数没什么意义,并且非常耗时。
dpm二代:dpm一代的迭代版本,有2个:dpm_2(稳定版)和dpm_2_ancestral(发散版),耗时是一代的2倍,生图质量较一代更好。
dpmpp:dpm二代的迭代版本,有更出色的出图质量。其中后缀中含有sde的是随机采样器,和euler很相似。后缀中含有2m表示采样过程中采用二阶采样,即使用预测期和校正器进行采样,后缀中含有3m的表示在采样过程中除了使用预测期和校正器,还有修正器。
3、uni_pc采样器
uni_pc
uni_pc_bh2
UniPC(统一预测校正器),这种采样器可以在5-10步内生成收敛图像,uni_pc_bh2是uni_pc的优化版本,10步以上生成高质量图像。
5、其他采样器、
imsddpmLCMipndmipndm_vdeisddim
这几个采样器不常用,这里就不介绍了。以下我们选择几个采样器的对比图:
采样器那么多,我们如何选择采样器呢?基于上述采样器的对比,我们得出以下结论:
1、如果你考虑的是稳定性,大前提是不要选择带后缀为_ancestral和_sde的采样器
2、如果你考虑的是随机性,可以考虑带后缀为_ancestral和_sde的采样器
3、这些采样器可以不考虑:dpm_fast、dpm_adaptive、dpmpp_3m_sde、dpmpp_3m_sde_gpu、ipndm
4、优先考虑的采样器:euler,dpmpp_2m,uni_pc(这三个是代表采样器)
从采样时间维度,各个采样器的耗时对比:
综合来看,euler采样器在出图时间和出图质量的一个最佳权衡,出图较快且稳定收敛。dpmpp_2m也是一个很好的选择,出图速度快,并且出图质量优于euler,也可以考虑uni_pc采样器。
调度器
调度器(Scheduler)负责控制生成过程中每一步的噪声减少水平,也就是所谓的噪声计划(Noise Schedule)。不同的调度器有不同的噪声减少策略。
normal
这是最基础的调度器,它是基于正态分布的调度器,适用于非常平滑和连续变化的场景。
karras:
Karras调度器基于Karras等人的研究,通过在生成过程中使用特定的噪声减少路径来生成图像。它在图像生成的最后阶段减小噪声减少的步长,有助于提高图像质量。
exponential
Exponential调度器生成一系列按照指数时间表的sigma值。它允许在扩散过程的早期阶段快速去除大部分噪声,然后在后期阶段进行细致调整,如果采样步数较大,它会发挥较好的性能。通常与deis采样器配搭使用。
sgm_uniform:
Sgm Uniform调度器是为SDXL-Lightning模型设计的,它在模型的扩散过程中提供了更均匀的噪声减少策略。
它适用于lightning类型的模型,并且在少量采样步数下能够生成质量较好的图像 。
simple
Simple调度器提供了一种简单的噪声减少策略,适合于机器性能不高的场景。
ddim_uniform
DDIM Uniform调度器是DDIM(Denoising Diffusion Implicit Models)的一种变体,它在生成过程中提供了更均匀的噪声减少。这种调度器可能在生成图像时提供更多的多样性和随机性 。
Beta:
Beta调度器指的是一种基于Beta分布的噪声减少策略,它在生成过程中根据Beta分布的特性来调整噪声水平。
normal调度器是默认调度器,一般和euler配搭,karras调度器和dpm采样器配搭,beta调度器一般和uni_pc采样器配搭。
降噪
降噪值决定了在去噪过程中,对潜在图像添加的噪声量以及需要去除的噪声量。具体来说,它影响了原始潜在图像被保留的程度:
值为1:表示100%去噪,完全去除所有噪声,生成的图像与原始潜在图像的关联最小,生成效果最为自由。
值小于1:表示保留部分原始潜在图像的信息,减少噪声的添加量,生成的图像会更接近原始图像。
降噪值的推荐范围
文生图任务:通常推荐将降噪值设置为1,以充分利用模型的生成能力。
图生图任务:如果需要保留原始图像的某些细节,可以将降噪值设置为0.5-0.8。
通过设置10个不同的降噪值,生成不同的图像,对于文生图来说,降噪值越小,越模糊不清,降噪值>0.8的时候,效果最好。
这份完整版的comfyui整合包已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】