跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

ComfyUI 入门:ControlNet 节点与预处理器使用指南

综述由AI生成ComfyUI 中 ControlNet 用于精确控制生成图像的结构、姿势及风格。介绍 ComfyUI 基础概念及 ControlNet 核心节点用法,包括加载器、应用节点及参数调节。涵盖无预处理器直接输入参考图的方式,以及结合 Openpose 等预处理器提取特征的流程。详细说明了强度、起止时间对生成的影响,并演示了完美像素节点计算分辨率的逻辑,帮助用户掌握工作流搭建技巧。

佛系玩家发布于 2025/2/7更新于 2026/6/825 浏览
ComfyUI 入门:ControlNet 节点与预处理器使用指南

ComfyUI 介绍

在 AI 绘画领域,Stable Diffusion 因其开源特性而受到广泛的关注和支持,背后聚拢了一大批的应用开发者和艺术创作者。目前使用 Stable Diffusion 进行创作的工具主要有两个:Stable Diffusion WebUI 和 ComfyUI。

Stable Diffusion WebUI 开箱即用,各项功能齐全,社区也有很多的插件支持,入门比较简单,适合新手,但是可定制性稍微差点,很多作品不容易传播复现,使用 API 进行操作也有一定的难度。

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

ComfyUI 安装部署

本地安装部署

安装插件

首先说明,如果你是本地安装部署,那么请耐心按照下面的方式安装插件。

ComfyUI 自带了一些简单的 ControlNet 节点,不过这还远远不够,我们需要安装一些插件来增强 ControlNet 方面的处理能力。

推荐以下两个插件:

  1. ControlNet 预处理器插件:包含各种常用的 ControlNet 预处理器。
  2. 高级 ControlNet:支持 ControlNet 调度和遮罩等高级特性。

在 ComfyUI 管理器中点击'通过 Git URL 安装',输入对应的链接,即可开始安装。安装成功后,重启 ComfyUI 并刷新浏览器页面。

使用 ControlNet

不带预处理器的 ControlNet

ControlNet 主要由 3 个节点组成:ControlNet 加载器、ControlNet 应用和参考图片。

  • ControlNet 加载器:这是用来加载 ControlNet 模型的。ComfyUI 内置了两个 ControlNet 模型加载器,一个是'ControlNet 加载器',另一个是'DiffControlNet 加载器'。'DiffControlNet 加载器'不仅支持加载普通的 ControlNet 模型,还支持加载 diffusers 格式的 ControlNet 模型,更为通用一些。注意 ControlNet 模型区分 SD1.5 和 SDXL,选择 SD 基础模型时一定要搭配起来,不能混用。

  • 参考图片:ControlNet 要实施推理控制,就需要一定的参考,比如姿势、深度、线稿、配色、人物形象等。在工作流中可以直接提供一张深度图,另外也可以提供正常图片,让 ControlNet 预处理器从中提取。

  • ControlNet 应用:封装 ControlNet,汇集模型、参考图片和一些参数,共同计算得出新的提示词条件。ControlNet 应用默认有 3 个可以手动控制的参数:

    • 强度:ControlNet 模型对生成图片的影响力。太高可能会让参考特征过于明显,太低又丢失了 ControlNet 的控制力,需要根据实际情况调整。
    • 开始时间:在生成图片的第几步引入 ControlNet,取值范围 0-1。一般前几步会确定图片中的主体内容,如果使用的是线稿类模型,这个时间不能设置的太晚。
    • 结束时间:在生成图片的第几步退出 ControlNet,取值范围 0-1。如果想在细节上自由发挥的更多,可以将这个值改小一点试试。

我们可以认为'DiffControlNet 加载器'和'加载图像'都是为'ControlNet 应用'提供必需参数的。最后我们再看一下 ControlNet 节点的输入和输出,这里的输入主要有两块:

  • SD 基础模型:ControlNet 模型不能独立工作,所以'ControlNet 加载器'需要以模型作为输入,图中的'模型'接入点要连接到名为'Checkpoint 加载器'的节点,以获取 SD 基础模型。

  • 提示词编码条件:这里分为'正面条件'和'负面条件',ControlNet 应用会对这些条件进行加工处理,在其中加入当前 ControlNet 提取到的控制信息。需要把它们连接到'CLIP 文本编码器'节点,'CLIP 文本编码器'就是编码提示词,生成初始条件的;如果使用多个 ControlNet,我们也可以把它们连接到串联 ControlNet 应用输出的'正面条件'和'负面条件'。在一些简单的'ControlNet 应用'节点上,你可能只能看到一个'条件',这时候的'条件'对应的是'正面条件'。

ControlNet 应用的输出就是'正面条件'和'负面条件',需要将它们连接到采样器,采样器会使用这些条件进行采样,最终生成出符合条件的图片。注意如果'ControlNet 应用'的输入只有一个'条件',那么我们就无需通过'ControlNet'处理负面条件。

带预处理器的 ControlNet

我们再看一个使用预处理器来提取参考信息的例子:

在这个例子中,我们增加了三个新的节点:

  1. Openpose 姿态预处理器:用于从加载的原始参考图像中提取人物姿态信息,包括身体、面部和手部信息。它接收图像和分辨率,输出一个新的图像。输入的图像就是原始要参考的图片,输出的图像是一个姿态图片;分辨率则用来控制输出的姿态图片的最短边的长度。

不同的预处理器会有不同的参数组合,如果你不知道应该怎么设置,可以参考相关文档。

  1. 完美像素:用来计算预处理器生成的姿态图片的分辨率,也就是姿态图片的最短边的长度,这个节点中的参数都是用来计算这个最短边的。所谓完美就是通过匹配姿态图片和生成图片的尺寸,生成出最优分辨率的姿态图片,供 ControlNet 使用。
    • 图像:ControlNet 使用的原始参考图片,完美像素会从中获取图片的宽度和高度信息。
    • 宽度和高度:要生成图片的宽度和高度。
    • 拉伸模式:'仅拉伸'和'裁剪并拉伸'都会先选择'宽度'和'高度'参数中的最大值,然后按照原始参考图片的宽高比例计算出姿态图片的另一条边的长度;'拉伸并填充'则会先选择'宽度'和'高度'参数中的最小值,然后按照原始参考图片的宽高比例计算出姿态图片的另一条边长度。

举个例子,假设原始参考图片的尺寸是 512×768(比例是 1:1.5),输入的'宽度'和'高度'分别是 1024、640,使用'裁剪并拉伸'模式时,会先选择宽度(因为 1024 大于 640),那么完美像素计算出来的姿态图片尺寸就是 1024 * 1536(1024*1.5),输出的分辨率是最短边的长度 1024;如果选择'拉伸并填充'模式,会先选择高度(因为 640<1024),那么完美像素计算出来的姿态图片尺寸就是 427(640/1.5)*640,输出的分辨率还是最短边的长度 427。

  1. 预览图像:预览 ControlNet 预处理器生成的参考图片,这个节点不是必需的,只是想看看预处理器提取的特征效果如何。这个图像将被送到'ControlNet 应用'中进行编码处理。如果我们已经有了这个参考图片,前边的预处理器、完美像素都是可以不要的。

通过上述配置,即可完成基于姿态的 ControlNet 控制流程。

目录

  1. ComfyUI 介绍
  2. ComfyUI 安装部署
  3. 本地安装部署
  4. 安装插件
  5. 使用 ControlNet
  6. 不带预处理器的 ControlNet
  7. 带预处理器的 ControlNet
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Ansible 常用模块详解:replace 模块用法
  • 具身智能机器人运控通讯架构与实现系列
  • 基于腾讯云 HAI 与 DeepSeek 快速构建个人网页
  • Stable Diffusion v4.10 与 ComfyUI 整合包技术说明
  • Java 后端实习复盘:企业级项目架构与核心模块解析
  • Cursor 与 Copilot 组合实战:AI 编程效率提升指南
  • VSCode Copilot 认证失败排查与修复指南
  • 机器人动力学:牛顿欧拉法推导与详述
  • AI 视频生成模型构建、实现与调试指南
  • Call Center AI:基于 Azure 和 OpenAI 的智能语音客服系统
  • 机器人动力学:牛顿欧拉法推导与详解
  • 蓝桥杯 C/C++ 组基础语法入门:C++ 知识要点(上)
  • C++ STL 算法实战:查找、排序与数值处理
  • VS Code 集成 Git 操作指南:从环境配置到分支管理
  • Git 2.53.0 Windows 安装与 SSH 免密配置详解
  • C++ 继承机制详解
  • Python 基于 Playwright 的自动化环境配置指南(Windows 与 Linux)
  • Python 判断变量或输入是否为数字的几种实用方法
  • Python 基础入门:数据存储与运算详解
  • Flutter 与 Web 混合开发实践指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online