【comfyui系列课程】--AI绘图

241 阅读6分钟

【comfyui系列课程】--AI绘图

🌹大家好!欢迎来到重庆饭哥的空间,将不定时分享优质工具,大家关注 重庆饭哥[cq_xifan] 公众号设为 ★ 星标,在AIGC探索道路上,我将与你们一路同行。

AI 绘画

在 AI 绘画领域,Stable Diffusion 因其开源特性而受到广泛的关注和支持,背后聚拢了一大批的应用开发者和艺术创作者,是 AI 绘画领域当之无愧的王者。

目前使用 Stable Diffusion 进行创作的工具主要有两个:WebUIComfyUI

  • WebUI界面友好易上手,插件丰富,社区支持成熟。适用人群:初学者、艺术爱好者、设计师等。
  • ComfyUI可高度定制,性能优化好,更新频繁,有丰富模板。适用人群:有经验用户、专业数字艺术家、追求定制、自动化。

ComfyUI 从解放生产力以及工业化自动化批量生产的角度看,具备更广阔的应用前景,因此从这篇文章开始,我将开始从零开始介绍 ComfyUI 的概念和使用方法,让无基础的人更快的掌握 ComfyUI 的使用技巧,创作出自己独特的艺术作品。

ComfyUI 是 AI 绘画软件。官网下载 github.com/comfyanonym…

ComfyUI简介

ComfyUI 目前支持多种类型的显卡,包括 Nvidia、AMD、Intel 等架构的显卡,也支持仅在 CPU 上运行,不过最流畅的环境还是使用 8G显存 以上的Nvidia 显卡,在其它环境下生成速度会受到很大的限制,还可能需要更复杂的配置,不推荐使用。

模型文件夹

模型文件夹

AI工作原理

AI工作原理主要基于机器学习(通过人工提取的特征和简单的模型进行数据分析和预测)和深度学习技术(利用多层神经网络自动学习数据的复杂模式和特征,适用于大规模数据集),各种大公司都开源了自己的深度学习的架构

机器学习架构

  • 多层感知机(MLP):能够解决非线性问题,是神经网络的基础。开源框架:TensorFlow(由Google开发)。

深度学习技术

  • 卷积神经网络(CNN):适用于图像处理,通过卷积层自动提取特征。开源框架:PyTorch(由Facebook的AI研究团队开发)。
  • 循环神经网络(RNN):适合处理序列数据,如文本或时间序列。开源框架:Keras(由Francois Chollet开发,现在作为独立的库运行在TensorFlow之上)。

模型的训练过程就是通过数据集打标签:就是给数据指定正确的“名字”或“类别”。这样,机器学习或深度学习模型就能学习到什么样的数据对应什么样的“名字”,以后它就能自己识别了。

CLIP处理,转化为一系列词特征向量。

AI生图原理

用户输入的文本提示通过CLIP处理,转化为一系列词特征向量,结合随机噪声图像在UNet中。首先将这些特征向量和随机图转换至Latent Space(潜空间)。根据这些特征向量的指引,会对随机图进行“降噪”处理,生成一个“中间产物”。最终通过经过VAE的处理,转化为一张真实可见的图片。

原理名词解释

  • UNet:U-Net是扩散模型的核心组件之一,它是一个编码器-解码器结构的神经网络,用于学习从噪声数据中恢复出原始数据的映射。
  • VAE:VAE(变分自编码器)用于将高维数据映射到低维潜在空间,同时保持数据的原始结构和分布。在SDXL中,VAE增加了条件变分自编码器来提升潜在空间的表达能力。
  • CLIP:CLIP Text Encoder用于将文本提示转换为模型可以理解的嵌入向量,从而指导图像生成过程。SDXL中增加了两个大小不同的编码器来提升文本理解和匹配能力。
  • Latent Space:模型内部的、高维的、抽象的表示空间,其中包含了输入数据的所有可能的潜在状态或特征,潜空间用于存储和处理输入数据(如文本和噪声图像)的编码表示。

文生图功能过程

文生图功能过程

模型微调过程,必须和大模型对应

  • LoRA:LoRA(Low-Rank Adaptation)是一种参数高效微调方法,用于调整大型语言模型。它的主要作用是使用更少的训练参数来近似全参数微调所得的增量参数,从而达到使用更少显存占用的高效微调。
  • ControlNet:ControlNet是一种用于控制Stable Diffusion模型的神经网络模型,它通过引入额外的条件来控制AI绘画的生成过程。

comfyui必要知识理解

总的来说生图的过程有三个阶段:1)数据准备阶段、2)采样生成阶段、3)解码输出阶段,下面介绍每个阶段的一些名词

1) 数据准备阶段

在数据准备阶段,我们为模型的训练和图像生成准备数据和条件。

  • 模型(Model):选择或构建适合任务的模型架构。
  • 正面条件(Positive Prompts):定义我们希望模型学习的特定特征或风格。
  • 负面条件(Negative Prompts):定义我们不希望模型学习的特征或风格。
  • Latent(潜在空间):数据的高维抽象表示空间大小。
  • 编码(Encode):将原始数据转换为潜在空间的表示,为生成过程做准备。

2) 采样生成阶段

  • 初始化图像:生成过程从一个完全由噪声构成的图像开始,这个图像在潜在空间中代表了最高程度的不确定性。
  • 迭代去噪:采样器算法通过迭代步骤逐步减少噪声,每次迭代都试图从当前的噪声状态预测出更接近原始图像的状态。
  • 预测噪声:在每一步中,算法需要预测当前噪声图像中的噪声成分,并尝试去除它
  • 采样:在每一步去噪后,算法会根据当前的模型预测和噪声水平来采样下一个状态的图像。
  • 累积变化:每一步的输出被用作下一步的输入,通过累积这些小的变化,最终生成清晰的图像。
  • 算法作用:不同的采样器算法(如DDIM、DDPM等)提供了不同的方法来执行这些步骤,它们定义了如何预测噪声、如何采样下一个状态,以及如何累积变化。

3) 解码输出阶段

  • VAE:将潜在空间的表示解码为像素空间的图像。VAE在这个过程中将抽象的潜在表示转换为具体的图像。
  • 解码(Decode):将潜空间中的图像表示转换为用户可以查看和理解的格式。

comfyui基础工作流

comfyui基础工作流

特别注意:

在使用大模型不同架构的大模型中,所选对应的load和controlnet 都要和基础大模型一致,不然有可能不生效


欢迎关注我的公众号“**cq_xifan**”,获得原创文章第一时间推送。

扫一扫关注

扫一扫关注

本文使用 文章同步助手 同步