AI绘画ComfyUI 完全入门:基本功能完全掌握!

news2024/10/8 11:49:29

前言

大家好,我是每天分享AI应用的萤火君!

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

目前使用 Stable Diffusion 进行创作的工具主要有两个:Stable Diffusion WebUI 和 ComfyUI。

Stable Diffusion WebUI 我之前介绍过很多,这里就不赘述了,用兴趣的同学可以去这里看看:[Stable Diffusion WebUI 教程合集]

ComfyUI 虽然出来的晚一点,但是它的可定制性很强,可以让创作者搞出各种新奇的玩意,通过工作流的方式,也可以实现更高的自动化水平,发展势头特别迅猛,但是 ComyUI 的上手门槛有点高,对 Stable Diffusion 以及各种扩展能力的原理需要有一定的理解,动手能力要求也比较高。

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

所有的AI设计工具,安装包、模型和插件,都已经整理好了,👇获取~在这里插入图片描述

安装部署

安装部署已经在之前的文章介绍过,点击进入:[ComfyUI 完全入门:安装部署]

使用ComfyUI

ComfyUI 的使用界面就是一个工作流配置面板,ComfyUI 将图片生成任务分成了多个步骤,这些步骤串起来就是一个工作流。在 ComfyUI 的侧边有一个浮动的管理菜单,可以做一些基础的管理操作。

管理菜单

我们先看一下侧边栏的管理菜单,这里我对相关操作都做了一个标注,再重点说下常用的几个:

Queue Prompt:将当前工作流加入队列,也就是执行当前工作流,开始生成图片、视频等。

Save:保存工作流,可以将当前工作流以Json格式保存到本地电脑,方便以后使用或者分享给别的用户。

Load:从本地电脑选择带有工作流的图片或者Json格式的工作流文件,加载工作流信息,并作为当前工作流进行展示。

工作流

工作流是由一个个操作节点连接起来的,每个节点会完成一个独立的操作,比如加载模型、编码提示词等,上游节点的输出会作为下游节点的输入,直到最后一个节点输出最终的内容。节点的输入除了来自上游节点的输出,还有一些来自用户的输入,节点可能会包含一些输入框或者选择框,比如SD基础模型选择框、提示词输入框等等。

ComfyUI 默认会加载一个简单的工作流,这是一个最基础的工作流,可以让我们清晰的了解工作流的组织方式和图片的生成过程。我将按照从左到右的顺序进行介绍:

Load Checkpoint:这个节点用来加载 Stable Diffusion 基础模型,基础模型是生成图片必需的,不同的基础模型可能擅长生成不同事物或者风格的图片,比如这里的 realisticVisionV51_v51VAE 擅长生成真实视觉图像。国内用户可以在 https://liblib.art 下载自己喜欢或者需要的基础模型。

这个节点有三个输出:MODEL、CLIP和VAE,MODEL就是从硬盘加载到的SD基础模型,用于后续采样处理,CLIP是文本到图像的映射模型,用来编码文本提示词,VAE是图像数据解码器,用于最终生成可见的图像。

CLIP Text Encode(Prompt):文本编码器。目前人工智能的背后就是大量的向量计算,文本编码器就是把文字转换成向量,然后再进行各种复杂的运算。这里有两个文本编码器,分别对应正向提示词和反向提示词,它们都有一个clip输入,接收 Load Checkpoint 节点从SD基础模型中提取出的CLIP模型,用于编码提示词。编码后的内容会作为采样器的采样条件。同一个词语在不同的SD基础模型中可能对应到不同的向量数据,因此CLIP模型是从SD基础模型中提取出来的。

KSampler:K采样器。这是生成图片的核心组件,主要用来实现SD模型的反向扩散过程,反向扩散是从一张完全噪音图(电视没有信号的画面)开始,通过采样逐步去除噪音,最终生成图片的过程。这个节点有很多参数,也就是有很多输入,其中:

  • model 来自Load Checkpoint节点输出的MODEL,也就是SD基础模型,采样将在这个模型上进行;

  • positive 来自正向提示词编码器,向量数据格式,采样时将以此为条件,尽量保留和此向量接近的噪音数据;

  • negative 来自反向提示词编码器,向量数据格式,采样时将以此为条件,尽量去除和此向量接近的噪音数据;

  • latent_image 是一个空的图像空间,用于在其中存储生成的图片数据,它来自于 Empty Latent Image 节点,这个节点提供指定宽高和数量的空图像空间。之所以用Latent这个词,是因为采样产生的图像数据还不是真正的图像格式,是一种图片数据的压缩格式,称为潜空间图像。

  • seed 是生成图片的种子,每次使用不同的种子就会引入不同的随机特征,同样的参数就可以生成主题相同但变化无穷的图像。使用完全相同的参数和种子将生成完全相同的图像。

  • steps 采样步数,根据使用的SD基础模型和采样方法,这个数值可能需要进行调整,一般是20-30步。一些快速出图模型,可能只需要1-8步,比如LCM、Turbo、Lightning等模型。

  • cfg 无分类器指导尺度,无分类器就是仅依靠文本提示词,指导尺度就是控制文本提示对图像生成的影响力。值越大,生成的图像越贴合提示词,值越小自由发挥的越多。一般使用6-8,具体最优值取决于使用的SD模型和个人偏好。

  • sampler_name 采样器,反向扩散时去除噪音的方法,不同的方法对速度和质量会有不同的影响。默认选择的是 euler,兼顾了生成图片的质量和速度,质量要求高时建议选择 dpmpp 类的采样器。关于采样器,我这里有一篇详细介绍,感兴趣的同学可以去看看:https://xiaobot.net/post/055d0d28-51f4-462b-9224-a0faf139ff46

  • scheduler 采样调度器。控制在整个采样过程的时间线上每一步降噪的幅度。如果对默认的调度器不满意,可以试试 karras,它可以让生成获得更高的采样效率和图片质量。

  • denoise 去噪幅度,最大1.0。越高的值代表初始噪音保留的越少,图像特征越清晰;越低的值代表初始噪音保留的较多,图像更抽象或者有某种艺术效果。生成图片时要一起考虑提示词、图像尺寸、采样策略等因素的影响。

VAE Decode:采样器生成的图片数据是一种特殊的压缩格式,和真正的图片数据格式不同,要获取真正的图片数据,我们还需要VAE解码。

  • VAE解码需要使用一个VAE模型,VAE模型一般包含在SD基础模型中(这里的例子中就是如此),也可以使用单独的VAE模型。这个节点的vae输入需要的就是VAE模型。

  • 另外这个节点还需要输入待解码的数据,也就是采样器的输出 LATENT 连接到本节点的 samples 输入上。

Save Image:保存图片并展示。这个节点会将图片保存到硬盘中,默认是:ComfyUi/output。节点有一个filename_prefix的参数,代表保存图片路径的前缀,可以在其中包含目录,比如 simple/test,就会保存到 simple 目录中,以 test 为图片文件名的前缀。

添加节点

默认的工作流是一个最简单的文生图工作流,如果你要使用图生图、或者ControlNet,还需要引入更多个节点。

添加节点有两种方式:

在 ComfyUI 操作界面的空白处,点击鼠标右键,在弹出的菜单中点击 Add Node,这里有一些内置的节点分类,比如采样、加载器、潜空间、图片等等,可以根据需要一层层查找。

如果你对节点比较熟悉,可以在 ComfyUI 操作界面的空白处双击左键,在弹出的搜索框中,填入关键词进行搜索,点击对应的结果即可添加节点到工作流面板。

怎么将新加入的节点添加到工作流?

你需要根据需求,将新节点的输出连接到其它节点的输入,或者将其它节点的输出连接到新节点的输入。连接方法就是在一个节点的输出项上点击鼠标左键,然后拖动到另一个节点的输入项上。针对某个节点,其输入项一般在节点的左侧,输出项一般在节点的右侧。

比如下图中的 VAE Decode 节点,其输入项 samples 连接到 KSampler 节点的输出项 LATENT,输出项 IMAGE 连接到 Save Image 节点的输入项 Images。

怎么将手动输入转换成其它节点输入?

有些节点的参数默认是手动输入的,你可能想从其它的节点自动填入这个参数,或者想和其它的节点共享一个参数值,这时候我们就可以把这个输入框转换为外部输入。比如这个提示词的节点,在节点上点击右键,在弹出的菜单中点击“Convert input to …”,即可选择把某些参数转换为外部输入项,能够将其它节点的输出项连接到这个输入项。注意输入和输出的数据格式必须匹配才能连接。

用好ComfyUI

用好 ComfyUI:

  • 首先需要对 Stable Diffusion 的基本概念有清晰的理解,熟悉 ComfyUI 的基本使用方式;

  • 然后需要在实践过程中不断尝试、不断加深理解,逐步掌握各类节点的能力和使用方法,提升综合运用各类节点进行创作的能力。

我将在后续文章中持续输出 ComfyUI 的相关知识和热门作品的工作流,帮助大家更快的掌握 ComfyUI,创作出满足自己需求的高质量作品。

考虑到多平台发布存在延迟,文章将首先发布在我的公众号“萤火遛AI”,欢迎关注,以免错过重要信息。

另外我在AutoDL云平台上也发布了一个 ComfyUI 的镜像,你可以跳过繁琐的安装过程,还可以直接使用 AutoDL 提供的各种显卡设备,镜像已经内置了常用的工作流和基础模型,助你快速开启自己的 ComfyUI 之旅。镜像地址:https://www.codewithgpu.com/i/comfyanonymous/ComfyUI/yinghuoai-ComfyUI,进入后点击页面右下角的“AutoDL创建实例”即可使用镜像。


这里分享给大家一份Adobe大神整理的《AIGC全家桶学习笔记》,相信大家会对AIGC有着更深入、更系统的理解。

有需要的朋友,可以点击下方免费领取!

在这里插入图片描述

AIGC所有方向的学习路线思维导图

这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
在这里插入图片描述

AIGC工具库

AIGC工具库是一个利用人工智能技术来生成应用程序的代码和内容的工具集合,通过使用AIGC工具库,能更加快速,准确的辅助我们学习AIGC
在这里插入图片描述

有需要的朋友,可以点击下方卡片免费领取!

在这里插入图片描述

精品AIGC学习书籍手册

书籍阅读永不过时,阅读AIGC经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验,结合自身案例融会贯通。

在这里插入图片描述

AI绘画视频合集

我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,科学有趣才能更方便的学习下去。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2196280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外国钞票面值检测系统源码分享

外国钞票面值检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

新版AndroidStudio log使用

从Android Studio Dophin开始,Android Studio中的默认展示了新版的logcat。新版的logcat色彩上是更加的好看了,不同的tag会有不同的颜色,不同level等级的log默认也有不同的颜色。log过滤修改的更简洁了,当然使用起来也更加复杂了。…

系统开发基础错题解析一【软考】

目录 前言1.开发模型1.1快速原型模型优点1.2敏捷统一模型1.3增量模型的优缺点1.4极限编程1.5螺旋模型 2.软件开发方法3.数据流图与数据字典3.1判定表3.2数据流图绘制3.3决策树 4.概要设计和详细设计5.内聚性6.耦合性 前言 本文专门用来记录本人在做软考中有关系统开发基础的错…

基于SpringBoot+Vue的宠物店管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

0基础跟德姆(dom)一起学AI 机器学习03-线性回归

线性回归 线性回归介绍 【理解】举个栗子 假若有了身高和体重数据,来了播仔的身高,你能预测播仔体重吗? 这是一个回归问题,该如何求解呢? **思路**:先从已知身高X和体重Y中找规律,再预测 •数学问题:用一条线来拟…

【LeetCode】每日一题 2024_10_7 最低加油次数(堆、贪心)

前言 每天和你一起刷 LeetCode 每日一题~ 大家国庆节快乐呀~ LeetCode 启动! 国庆最后一天,力扣还在加油站,怕不是国庆回家路上堵车了 题目:最低加油次数 代码与解题思路 func minRefuelStops(target int, startFuel int, st…

失业的程序员除了找工作,还有哪些赚钱的路子?零基础入门到精通,收藏这篇就够了_网络开发怎么赚钱

看到一个平台上的博主,目前在做独立开发者,开发了20多个网站,网站的类型主要是工具型和信息整理型,谷歌广告的收益一个月1万多。 目前他除了依靠谷歌广告的收入外,也在做自媒体,拓展这一块的收入&#xff…

41亿收购百年零部件巨头,「果链一哥」欲再造千亿规模新版图?

、 为了进一步拓展汽车业务版图,果链一哥立讯精密再次开启“买买买”模式。 日前,立讯精密发布公告称,计划以5.25亿欧元(约41.3亿元人民币)的价格收购Leoni AG(以下简称“莱尼公司”)50.1%股权…

打卡第五天 P3916 图的遍历

今天是我打卡第五天,做个普及/提高−题吧(#^.^#) 原题链接:图的遍历 - 洛谷 题目描述 给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v)A(v) 表示从点 v 出发,能到达的编号最大的点。 输入格式 第 1 …

Golang反射解说

在Go语言中,反射(Reflection)是一种强大的机制,允许程序在运行时检查、修改和操作变量的类型信息。 反射主要用于处理那些在编译时无法确定类型的情况,比如处理接口类型的值、实现通用的函数等。 Go语言中反射的基本…

OpenAI 旧金山开发者大会发布五大创新功能 实时语音、视觉微调、模型蒸馏

在10月1日的 OpenAI 旧金山开发者大会( DevDay) 上 。OpenAI 公布了五项重大创新,其中“实时 API”(Realtime API)的新功能,使得开发者能够创建具有低延迟、AI 生成的语音响应功能的应用程序。尽管这一功能…

C++ | Leetcode C++题解之第461题汉明距离

题目: 题解: class Solution { public:int hammingDistance(int x, int y) {int s x ^ y, ret 0;while (s) {s & s - 1;ret;}return ret;} };

MySQL 篇-深入了解视图、SQL 优化(主键优化、order by 优化、group by 优化、update 优化等)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 SQL 优化 1.1 SQL 优化 - 插入数据 1.2 SQL 优化 - 主键优化 1.2.1 页分裂 1.2.2 页合并 1.2.3 主键设计原则 1.3 SQL 优化 - order by 优化 1.3.1 单字段排序 1.…

JS设计模式之职责链模式:优雅地处理请求流程

一. 前言 在前端开发中,我们经常会遇到需要按照一定的顺序处理一系列请求或操作的情况,如果将每一步处理都硬编码在一起,会导致代码臃肿,可维护性和可扩展性都会大大降低。而职责链模式恰好提供了一种优雅的解决方案。 无论你是…

Python进阶--正则表达式

目录 1. 基础匹配 2. 元字符匹配 1. 基础匹配 正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则&#xff…

HyperBDR云容灾“轻装上阵”,露脸魔都写字楼!

回顾今年828,万博智云作为铂金合作伙伴在仪式上惊艳亮相,同时还参与了华为云“云上大咖团”的直播分享,公司明星产品HyperBDR云容灾成功上线了828企业应用一站购平台。就在近日,后续来啦! 一、HyperBDR云容灾楼宇广告…

特斯拉的TTPoE协议到底是啥?比TCP/IP快n倍?真的假的…

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 上午好,我的网工朋友 最近,在备受瞩目的Hot Chips大会上,特斯拉不仅展示了其最新的DOJO超级计算机项目&#…

叉车AI行人防撞预警系统,提升作业安全与效率

如今,发展飞快的工业蓝海中,叉车作为物流仓储与制造业不可或缺的搬运工具,其安全性一直是行业内外关注的焦点。随着人工智能技术的日益成熟,工业(车辆)叉车AI行人防撞预警系统解决方案应运而生,…

零基础入门AI大模型应用开发,你需要一个系统的学习路径!

前言 随着人工智能技术的迅猛发展,特别是在大型语言模型(LLMs)领域的突破,AI大模型已经成为当今科技领域的热门话题。不论是对于希望转型进入AI行业的职场人士,还是对未来充满憧憬的学生,掌握AI大模型的应…

JS 介绍/书写位置/输入输出语法

目录 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS 的组成 2. JS 书写位置 2.1 内部 JS 2.2 外部 JS 2.3 内联 JS 3. JS 注释和结束符 4. JS 输入输出语法 4.1 输入语法 4.2 输入语句 4.3 执行顺序 5. 字面量 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS …