当前位置: 首页 > news >正文

开始 ComfyUI 的 AI 绘图之旅-ControlNet(六)

文章标题

  • 一、LoRA和ControlNet区别
    • 1.核心目标与功能
      • 1.1 LoRA(低秩适应)
      • 1.2 ControlNet
    • 2.技术原理
      • 2.1 LoRA
      • 2.2 ControlNet
    • 3.应用场景
    • 4.总结:关键区别
  • 二、ControlNet
    • 1.ControlNet 图片预处理相关说明
    • 2.ComfyUI ControlNet 工作流示例讲解
      • 2.1 ControlNet 工作流素材
      • 2.2 手动模型安装
      • 2.3 按步骤完成工作流的运行
    • 3.相关节点讲解
      • 3.1 Load ControlNet 节点讲解
      • 3.2 Apply ControlNet 节点讲解
    • 4.开始你的尝试
  • 三、Pose ControlNet
    • 1.OpenPose 简介
    • 2. 2nd Pass Pose ControlNet 使用示例
      • 2.1 Pose ControlNet 工作流素材
      • 2.2 手动模型安装
      • 2.3 按步骤完成工作流的运行
    • 3.Pose ControlNet 二次图生图工作流讲解
      • 3.1 第一阶段:基础姿态图像生成
      • 3.2 第二阶段:风格优化与细节增强
    • 4.二次图生图的优势
  • 四、Depth ControlNet
    • 1.深度图与 Depth ControlNet 介绍
    • 2.深度图结合 ControlNet 应用场景
    • 3.ComfyUI ControlNet 工作流示例讲解
      • 3.1 ControlNet 工作流素材
      • 3.2 模型安装
      • 3.3 按步骤完成工作流的运行
    • 4.混合深度控制与其他技术
  • 五、Depth T2I Adapter
    • 1.T2I Adapter 介绍
      • 1.1 T2I Adapter 与 ControlNet 的对比
      • 1.2 T2I Adapter 主要类型
      • 1.3 深度 T2I Adapter 应用价值
    • 2.ComfyUI Depth T2I Adapter工作流示例讲解
      • 2.1 Depth T2I Adapter 工作流素材
      • 2.2 模型安装
      • 2.3 按步骤完成工作流的运行
    • 3.T2I Adapter 通用使用技巧
      • 3.1 输入图像质量优化
      • 3.2 T2I Adapter 的使用特点
  • 六、ControlNet 混合使用示例
    • 1.混合 ControlNet 的使用方法
    • 2.ComfyUI ControlNet 区域分治混合示例
      • 2.1 ControlNet 混合使用工作流素材
      • 2.2 手动模型安装(前面都安装过了)
      • 2.3 按步骤完成工作流的运行
    • 3.工作流讲解
      • 3.1 强度平衡
      • 3.2 提示词技巧
    • 4.同一主体多维控制的混合应用

一、LoRA和ControlNet区别

LoRA(Low-Rank Adaptation)和ControlNet是生成式AI(尤其是图像生成领域,如Stable Diffusion)中两种常用的技术,但它们的核心目标、技术原理和应用场景有显著区别。简单来说:

  • LoRA专注于“学习特定特征”(如风格、物体、人物特征等),是一种高效微调技术;
  • ControlNet专注于“控制生成结构”(如姿态、轮廓、深度等),是一种条件约束技术。

1.核心目标与功能

1.1 LoRA(低秩适应)

  • 核心目标:在不修改预训练模型主体参数的前提下,让模型“记住”特定特征(如某个人的脸、某种艺术风格、某个物体的细节)。
  • 功能:通过少量数据微调,让模型生成符合特定风格/特征的内容。例如:
    • 训练一个“梵高风格”的LoRA,生成的图像会带有梵高的笔触和色彩;
    • 训练一个“特定角色”的LoRA,生成的人物会保持该角色的外貌特征。

1.2 ControlNet

  • 核心目标:通过外部控制信号(如线稿、姿态骨架、深度图等),精确控制生成内容的结构或空间布局,同时保留模型原有的风格生成能力。
  • 功能:约束生成内容的“形”,而不限制“风格”。例如:
    • 输入一张人体姿态骨架图,ControlNet能让生成的人物严格按照这个骨架姿势呈现;
    • 输入一张建筑线稿,ControlNet能让生成的建筑遵循线稿的轮廓和结构。

2.技术原理

2.1 LoRA

  • 本质是参数高效微调技术
    • 预训练模型(如Stable Diffusion)的参数规模庞大(数十亿级),直接微调全部参数成本高、易过拟合。
    • LoRA通过在模型的关键层(如注意力层)插入低秩矩阵(秩远小于原矩阵维度),仅训练这些低秩矩阵,冻结原模型参数。
    • 推理时,将低秩矩阵的输出与原模型输出叠加,实现“用少量参数控制模型特征”的效果。

2.2 ControlNet

  • 本质是条件约束网络
    • 在原模型(如Stable Diffusion的UNet)中加入一个“控制模块”(ControlNet模块),该模块接收外部控制信号(如边缘图、深度图)。
    • 控制模块与原模型共享权重(但初始时权重冻结为0),训练时仅更新控制模块,让它学会将控制信号“映射”到模型的特征空间。
    • 推理时,控制信号通过控制模块引导原模型生成符合结构约束的内容,同时不破坏原模型的风格生成能力。

3.应用场景

维度LoRAControlNet
核心作用让模型学习特定特征(风格、物体、人物等)控制生成内容的结构(姿态、轮廓、布局等)
输入要求无需额外控制信号,仅需加载LoRA权重必须输入控制信号(如线稿、骨架图等)
典型用途风格迁移(如“赛博朋克”“水墨画”)、特定角色生成、特定物体细节生成(如“二次元眼睛”)姿态控制(如人物跳舞姿势)、线稿上色、根据深度图生成3D感图像、语义分割图转真实图像
灵活性可叠加多个LoRA(如同时用“梵高风格”+“二次元”LoRA)可组合多种控制信号(如同时用“姿态”+“深度”控制)

4.总结:关键区别

  • LoRA是“特征注入”:告诉模型“生成什么风格/特征”,不限制结构;
  • ControlNet是“结构约束”:告诉模型“生成什么结构/布局”,不限制风格。

两者可以结合使用:例如用LoRA指定“古风风格”,同时用ControlNet根据线稿控制人物姿态,最终生成“符合线稿姿态的古风人物”。

二、ControlNet

本篇将引导了解基础的 ControlNet 概念,并在 ComfyUI 中完成对应的图像生成

在 AI 图像生成过程中,要精确控制图像生成并不是一键容易的事情,通常需要通过许多次的图像生成才可能生成满意的图像,但随着 ControlNet 的出现,这个问题得到了很好的解决。

ControlNet 是一种基于扩散模型(如 Stable Diffusion)的条件控制生成模型,最早由Lvmin Zhang与 Maneesh Agrawala 等人于 2023 年提出Adding Conditional Control to Text-to-Image Diffusion Models

ControlNet 模型通过引入多模态输入条件(如边缘检测图、深度图、姿势关键点等),显著提升了图像生成的可控性和细节还原能力。
使得我们可以进一步开始控制图像的风格、细节、人物姿势、画面结构等等,这些限定条件让图像生成变得更加可控,在绘图过程中也可以同时使用多个 ControlNet 模型,以达到更好的效果。

在没有 ControlNet 之前,我们每次只能让模型生成图像,直到生成我们满意的图像,充满了随机性。
在这里插入图片描述

但随着 ControlNet 的出现,我们可以通过引入额外的条件,来控制图像的生成,比如我们可以使用一张简单的涂鸦,来控制图像的生成,就可以生成差不多类似的图片。
在这里插入图片描述

在本示例中,我们将引导你完成在 ComfyUI 中 ControlNet 模型的安装与使用, 并完成一个涂鸦控制图像生成的示例。

ControlNet V1.1 其它类型的 ControlNet 模型的工作流也与都与本篇示例相同,你只需要根据需要选择对应的模型和上传对应的参考图即可。

1.ControlNet 图片预处理相关说明

不同类型的 ControlNet 模型,通常需要使用不同类型的参考图:

在这里插入图片描述

图源:ComfyUI ControlNet aux

由于目前 Comfy Core 节点中,不包含所有类型的 预处理器 类型,但在本文档的实际示例中,我们都将提供已经经过处理后的图片,
但在实际使用过程中,你可能需要借助一些自定义节点来对图片进行预处理,以满足不同 ControlNet 模型的需求,下面是一些相关的插件

  • ComfyUI-Advanced-ControlNet
  • ComfyUI ControlNet aux

安装aria2快速下载模型,几乎能将我家1000M的宽带跑满,每秒80~90M,接下来的介绍模型都会给出安装命令。

apt install aria2
aria2c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors?download=true -o SourceCode/ComfyUI/models/vae/vae-ft-mse-840000-ema-pruned.safetensors auto-file-renaming=false --allow-overwrite=falsearia2c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors?download=true -o SourceCode/ComfyUI/models/controlnet/control_v11p_sd15_scribble_fp16.safetensors auto-file-renaming=false --allow-overwrite=false

小技巧:你要是打不开https://huggingface.co,可以将其换成为https://hf-mirror.com/试一试

2.ComfyUI ControlNet 工作流示例讲解

2.1 ControlNet 工作流素材

请下载下面的工作流图片,并拖入 ComfyUI 以加载工作流

Metadata 中包含工作流 json 的图片可直接拖入 ComfyUI 或使用菜单 `Workflows` -> `Open(ctrl+o)` 来加载对应的工作流。 该图片已包含对应模型的下载链接,直接拖入 ComfyUI 将会自动提示下载。

请下载下面的图片,我们将会将它作为输入

在这里插入图片描述

2.2 手动模型安装

如果你网络无法顺利完成对应模型的自动下载,请尝试手动下载下面的模型,并放置到指定目录中
  • dreamCreationVirtual3DECommerce_v10.safetensors
  • vae-ft-mse-840000-ema-pruned.safetensors
  • control_v11p_sd15_scribble_fp16.safetensors
ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── dreamCreationVirtual3DECommerce_v10.safetensors
│   ├── vae/
│   │   └── vae-ft-mse-840000-ema-pruned.safetensors
│   └── controlnet/
│       └── control_v11p_sd15_scribble_fp16.safetensors
本示例中 vae 模型也可以使用 dreamCreationVirtual3DECommerce\_v10.safetensors 模型中的 vae 模型,这里我们遵循模型作者建议使用单独的 vae 模型。

2.3 按步骤完成工作流的运行

在这里插入图片描述

  1. 确保Load Checkpoint可以加载 dreamCreationVirtual3DECommerce_v10.safetensors
  2. 确保Load VAE可以加载 vae-ft-mse-840000-ema-pruned.safetensors
  3. Load Image中点击Upload 上传之前提供的输入图片
  4. 确保Load ControlNet可以加载 control_v11p_sd15_scribble_fp16.safetensors
  5. 点击 Queue 按钮,或者使用快捷键 Ctrl(cmd) + Enter(回车) 来执行图片的生成

3.相关节点讲解

3.1 Load ControlNet 节点讲解

在这里插入图片描述
位于ComfyUI\models\controlnet 的模型会被 ComfyUI 检测到,并在这个节点中识别并加载

3.2 Apply ControlNet 节点讲解

在这里插入图片描述

这个节点接受 load controlnet 加载的 ControlNet 模型,并根据输入的图片,生成对应的控制条件。

输入类型

参数名称作用
positive正向条件
negative负向条件
control_net要应用的controlNet模型
image用于 controlNet 应用参考的预处理器处理图片
vaeVae模型输入
strength应用 ControlNet 的强度,越大则 ControlNet 对生成图像的影响越大
start_percent确定开始应用controlNet的百分比,比如取值0.2,意味着ControlNet的引导将在扩散过程完成20%时开始影响图像生成
end_percent确定结束应用controlNet的百分比,比如取值0.8,意味着ControlNet的引导将在扩散过程完成80%时停止影响图像生成

输出类型

参数名称作用
positive应用了 ControlNet 处理后的正向条件数据
negative应用了 ControlNet 处理后的负向条件数据

你可以使用链式链接来应用多个 ControlNet 模型,如下图所示,你也可以参考 混合 ControlNet 模型 部分的指南来了解更多关于混合 ControlNet 模型的使用
在这里插入图片描述

你也许会在有些早期的工作流中看到如下的`Apply ControlNet(Old)` 节点,这个节点是早期 ControlNet 的节点,目前已弃用状态,默认在搜索和节点列表不可见 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b8c7334e37b84131bc63be364c6a6399.png)

如需启用,请在设置–> comfy --> Node 中,启用Show deprecated nodes in search 选项,推荐使用新节点

4.开始你的尝试

  1. 试着制作类似的涂鸦图片,甚至自己手绘,并使用 ControlNet 模型生成图像,体验 ControlNet 带来的乐趣
  2. 调整 Apply ControlNet 节点的 Control Strength 参数,来控制 ControlNet 模型对生成图像的影响
  3. 访问 ControlNet-v1-1_fp16_safetensors 仓库下载其它类型的 ControlNet 模型,并尝试使用它们生成图像
    在这里插入图片描述

三、Pose ControlNet

本篇将引导了解基础的 Pose ControlNet,并通过二次图生图的方式,在 ComfyUI 中完成大尺寸的图像生成

1.OpenPose 简介

OpenPose 是由卡耐基梅隆大学(CMU)开发的开源实时多人姿态估计系统,是计算机视觉领域的重要技术突破。该系统能够同时检测图像中多个人的:

  • 人体骨架:18个关键点,包括头部、肩膀、手肘、手腕、髋部、膝盖和脚踝等
  • 面部表情:70个面部关键点,用于捕捉微表情和面部轮廓
  • 手部细节:21个手部关键点,精确表达手指姿势和手势
  • 脚部姿态:6个脚部关键点,记录站立姿势和动作细节

在这里插入图片描述

在 AI 图像生成领域,OpenPose 生成的骨骼结构图作为 ControlNet 的条件输入,能够精确控制生成人物的姿势、动作和表情,让我们能够按照预期的姿态和动作生成逼真的人物图像,极大提高了 AI 生成内容的可控性和实用价值。
特别针对早期 Stable diffusion 1.5 系列的模型,通过 OpenPose 生成的骨骼图,可以有效避免人物动作、肢体、表情畸变的问题。

2. 2nd Pass Pose ControlNet 使用示例

2.1 Pose ControlNet 工作流素材

请下载下面的工作流图片,并拖入 ComfyUI 以加载工作流

Metadata 中包含工作流 json 的图片可直接拖入 ComfyUI 或使用菜单 `Workflows` -> `Open(ctrl+o)` 来加载对应的工作流。 该图片已包含对应模型的下载链接,直接拖入 ComfyUI 将会自动提示下载。

请下载下面的图片,我们将会将它作为输入

ComfyUI Pose 输入图片

2.2 手动模型安装

如果你网络无法顺利完成对应模型的自动下载,请尝试手动下载下面的模型,并放置到指定目录中
  • control_v11p_sd15_openpose_fp16.safetensors
  • majicmixRealistic_v7.safetensors
  • japaneseStyleRealistic_v20.safetensors
  • vae-ft-mse-840000-ema-pruned.safetensors

安装aria2快速下载模型,几乎能将我家1000M的宽带跑满,每秒80~90M,接下来的介绍模型都会给出安装命令。

apt install aria2
aria2c https://civitai.com/api/download/models/176425?type=Model&format=SafeTensor&size=pruned&fp=fp16 -o SourceCode/ComfyUI/models/checkpoints/majicmixRealistic_v7.safetensors auto-file-renaming=false --allow-overwrite=falsearia2c https://civitai.com/api/download/models/85426?type=Model&format=SafeTensor&size=pruned&fp=fp16 -o SourceCode/ComfyUI/models/checkpoints/japaneseStyleRealistic_v20.safetensors auto-file-renaming=false --allow-overwrite=false

小技巧:你要是打不开https://huggingface.co,可以将其换成为https://hf-mirror.com/试一试

ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── majicmixRealistic_v7.safetensors
│   │   └── japaneseStyleRealistic_v20.safetensors
│   ├── vae/
│   │   └── vae-ft-mse-840000-ema-pruned.safetensors
│   └── controlnet/
│       └── control_v11p_sd15_openpose_fp16.safetensors

2.3 按步骤完成工作流的运行

按照图片中的数字标记,执行以下步骤:

  1. 确保Load Checkpoint可以加载 majicmixRealistic_v7.safetensors
  2. 确保Load VAE可以加载 vae-ft-mse-840000-ema-pruned.safetensors
  3. 确保Load ControlNet Model可以加载 control_v11p_sd15_openpose_fp16.safetensors
  4. Load Image节点中点击选择按钮,上传之前提供的姿态输入图片,或者使用你自己的OpenPose骨骼图
  5. 确保Load Checkpoint可以加载 japaneseStyleRealistic_v20.safetensors
  6. 点击Queue按钮或使用快捷键Ctrl(cmd) + Enter(回车)来执行图片的生成
    在这里插入图片描述

3.Pose ControlNet 二次图生图工作流讲解

本工作流采用二次图生图(2-pass)的方式,将图像生成分为两个阶段:

3.1 第一阶段:基础姿态图像生成

在第一阶段,使用majicmixRealistic_v7模型结合Pose ControlNet生成初步的人物姿态图像:

  1. 首先通过Load Checkpoint加载majicmixRealistic_v7模型
  2. 通过Load ControlNet Model加载姿态控制模型
  3. 输入的姿态图被送入Apply ControlNet节点与正向和负向提示词条件结合
  4. 第一个KSampler节点(通常使用20-30步)生成基础的人物姿态图像
  5. 通过VAE Decode解码得到第一阶段的像素空间图像

这个阶段主要关注正确的人物姿态、姿势和基本结构,确保生成的人物符合输入的骨骼姿态。

3.2 第二阶段:风格优化与细节增强

在第二阶段,将第一阶段的输出图像作为参考,使用japaneseStyleRealistic_v20模型进行风格化和细节增强:

  1. 第一阶段生成的图像通过Upscale latent节点创建的更大分辨率的潜在空间
  2. 第二个Load Checkpoint加载japaneseStyleRealistic_v20模型,这个模型专注于细节和风格
  3. 第二个KSampler节点使用较低的denoise强度(通常0.4-0.6)进行细化,保留第一阶段的基础结构
  4. 最终通过第二个VAE DecodeSave Image节点输出更高质量、更大分辨率的图像

这个阶段主要关注风格统一性、细节丰富度和提升整体画面质量。

4.二次图生图的优势

与单次生成相比,二次图生图方法具有以下优势:

  1. 更高分辨率:通过二次处理可以生成超出单次生成能力的高分辨率图像
  2. 风格混合:可以结合不同模型的优势,如第一阶段使用写实模型,第二阶段使用风格化模型
  3. 更好的细节:第二阶段可以专注于优化细节,而不必担心整体结构
  4. 精确控制:姿态控制在第一阶段完成后,第二阶段可以专注于风格和细节的完善
  5. 降低GPU负担:分两次生成可以在有限的GPU资源下生成高质量大图
如需了解更多关于混合多个ControlNet的技巧,请参考[混合ControlNet模型](/zh-CN/tutorials/controlnet/mixing-controlnets)教程。

四、Depth ControlNet

本篇将引导了解基础的 Depth ControlNet 概念,并在 ComfyUI 中完成对应的图像生成

1.深度图与 Depth ControlNet 介绍

深度图(Depth Map)是一种特殊的图像,它通过灰度值表示场景中各个物体与观察者或相机的距离。在深度图中,灰度值与距离成反比:​越亮的区域(接近白色)表示距离越近,​越暗的区域(接近黑色)表示距离越远。

Depth 图像

Depth ControlNet 是专门训练用于理解和利用深度图信息的 ControlNet 模型。它能够帮助 AI 正确解读空间关系,使生成的图像符合深度图指定的空间结构,从而实现对三维空间布局的精确控制。

2.深度图结合 ControlNet 应用场景

深度图在多种场景中都有比较多的应用:

  1. 人像场景:控制人物与背景的空间关系,避免面部等关键部位畸变
  2. 风景场景:控制近景、中景、远景的层次关系
  3. 建筑场景:控制建筑物的空间结构和透视关系
  4. 产品展示:控制产品与背景的分离度和空间位置

本篇示例中,我们将使用深度图生成建筑可视化的场景生成。

3.ComfyUI ControlNet 工作流示例讲解

3.1 ControlNet 工作流素材

请下载下面的工作流图片,并拖入 ComfyUI 以加载工作流

Metadata 中包含工作流 json 的图片可直接拖入 ComfyUI 或使用菜单 Workflows -> Open(ctrl+o) 来加载对应的工作流。
该图片已包含对应模型的下载链接,直接拖入 ComfyUI 将会自动提示下载。

请下载下面的图片,我们将会将它作为输入。

Depth 图像

3.2 模型安装

如果你网络无法顺利完成对应模型的自动下载,请尝试手动下载下面的模型,并放置到指定目录中
  • architecturerealmix_v11.safetensors
  • control_v11f1p_sd15_depth_fp16.safetensors

安装aria2快速下载模型,几乎能将我家1000M的宽带跑满,每秒80~90M,接下来的介绍模型都会给出安装命令。

apt install aria2

使用浏览器的 cookies:对于需要登录会话的情况,可以导出浏览器的 cookies 并供 aria2c 使用:

- 用浏览器插件(如 Get cookies.txt)导出 cookies
- 使用 --load-cookies 参数 指定 指定 cookies 文件路径
aria2c https://civitai.com/api/download/models/431755?type=Model&format=SafeTensor&size=full&fp=fp16 -o SourceCode/ComfyUI/models/checkpoints/architecturerealmix_v11.safetensors
--load-cookies /home/d/Downloads/civitai.com_cookies.txt auto-file-renaming=false --allow-overwrite=falsearia2c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors?download=true -o SourceCode/ComfyUI/models/controlnet/control_v11f1p_sd15_depth_fp16.safetensors auto-file-renaming=false --allow-overwrite=false

小技巧:你要是打不开https://huggingface.co,可以将其换成为https://hf-mirror.com/试一试

ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── architecturerealmix_v11.safetensors
│   └── controlnet/
│       └── control_v11f1p_sd15_depth_fp16.safetensors

3.3 按步骤完成工作流的运行

在这里插入图片描述

  1. 确保Load Checkpoint可以加载 architecturerealmix_v11.safetensors
  2. 确保Load ControlNet可以加载 control_v11f1p_sd15_depth_fp16.safetensors
  3. Load Image中点击Upload 上传之前提供的 Depth 图像
  4. 点击 Queue 按钮,或者使用快捷键 Ctrl(cmd) + Enter(回车) 来执行图片的生成
    在这里插入图片描述

4.混合深度控制与其他技术

根据不同创作需求,可以将深度图 ControlNet 与其它类型的 ControlNet 混合使用来达到更好的效果:

  1. Depth + Lineart:保持空间关系的同时强化轮廓,适用于建筑、产品、角色设计
  2. Depth + Pose:控制人物姿态的同时维持正确的空间关系,适用于人物场景

关于多个 ControlNet 混合使用,可以参考 混合 ControlNet 示例。

五、Depth T2I Adapter

本篇将引导了解基础的 Depth T2I Adapter ,并在 ComfyUI 中完成对应的图像生成

1.T2I Adapter 介绍

T2I-Adapter 是由 ​腾讯ARC实验室 开发的轻量级适配器,用于增强文本到图像生成模型(如Stable Diffusion)的结构、颜色和风格控制能力。
它通过外部条件(如边缘检测图、深度图、草图或颜色参考图)与模型内部特征对齐,实现高精度控制,无需修改原模型结构。其参数仅约77M(体积约300MB),推理速度比 ControlNet 快约3倍,支持多条件组合(如草图+颜色网格)。应用场景包括线稿转图像、色彩风格迁移、多元素场景生成等。

1.1 T2I Adapter 与 ControlNet 的对比

虽然功能相似,但两者在实现和应用上有明显区别:

  1. 轻量级设计:T2I Adapter 参数量更少,占用内存更小
  2. 推理速度:T2I Adapter 通常比 ControlNet 快约3倍
  3. 控制精度:ControlNet 在某些场景下控制更精确,而 T2I Adapter 更适合轻量级控制
  4. 多条件组合:T2I Adapter 在多条件组合时资源占用优势更明显

1.2 T2I Adapter 主要类型

T2I Adapter 提供多种类型以控制不同方面:

  • 深度 (Depth):控制图像的空间结构和深度关系
  • 线稿 (Canny/Sketch):控制图像的边缘和线条
  • 关键点 (Keypose):控制人物姿态和动作
  • 分割 (Seg):通过语义分割控制场景布局
  • 颜色 (Color):控制图像的整体配色方案

在 ComfyUI 中,使用 T2I Adapter 与 ControlNet 的界面和工作流相似。在本篇示例中,我们将以深度 T2I Adapter 控制室内场景为例,展示其使用方法。

ComfyUI Depth T2I Adapter 工作流

1.3 深度 T2I Adapter 应用价值

深度图(Depth Map)在图像生成中有多种重要应用:

  1. 空间布局控制:准确描述三维空间结构,适用于室内设计、建筑可视化
  2. 物体定位:控制场景中物体的相对位置和大小,适用于产品展示、场景构建
  3. 透视关系:维持合理的透视和比例,适用于风景、城市场景生成
  4. 光影布局:基于深度信息的自然光影分布,增强真实感

我们将以室内设计为例,展示深度 T2I Adapter 的使用方法,但这些技巧也适用于其他应用场景。

2.ComfyUI Depth T2I Adapter工作流示例讲解

2.1 Depth T2I Adapter 工作流素材

请下载下面的工作流图片,并拖入 ComfyUI 以加载工作流

Metadata 中包含工作流 json 的图片可直接拖入 ComfyUI 或使用菜单 `Workflows` -> `Open(ctrl+o)` 来加载对应的工作流。 该图片已包含对应模型的下载链接,直接拖入 ComfyUI 将会自动提示下载。

请下载下面的图片,我们将会将它作为输入

ComfyUI 室内深度图

2.2 模型安装

如果你网络无法顺利完成对应模型的自动下载,请尝试手动下载下面的模型,并放置到指定目录中
  • interiordesignsuperm_v2.safetensors
  • t2iadapter_depth_sd15v2.pth

安装aria2快速下载模型,几乎能将我家1000M的宽带跑满,每秒80~90M,接下来的介绍模型都会给出安装命令。

apt install aria2
aria2c https://civitai.com/api/download/models/20335?type=Model&format=SafeTensor&size=full&fp=fp16 -o SourceCode/ComfyUI/models/controlnet/controlnetT2IAdapter_t2iAdapterDepth.safetensors --load-cookies /home/d/Downloads/civitai.com_cookies.txt auto-file-renaming=false --allow-overwrite=falsearia2c https://civitai.com/api/download/models/93152?type=Model&format=SafeTensor&size=full&fp=fp16 -o SourceCode/ComfyUI/models/checkpoints/interiordesignsuperm_v2.safetensors --load-cookies /home/d/Downloads/civitai.com_cookies.txt auto-file-renaming=false --allow-overwrite=false

小技巧:你要是打不开https://huggingface.co,可以将其换成为https://hf-mirror.com/试一试

ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── interiordesignsuperm_v2.safetensors
│   └── controlnet/
│       └── t2iadapter_depth_sd15v2.pth

2.3 按步骤完成工作流的运行

在这里插入图片描述

  1. 确保Load Checkpoint可以加载 interiordesignsuperm_v2.safetensors
  2. 确保Load ControlNet可以加载 t2iadapter_depth_sd15v2.pth
  3. Load Image中点击Upload 上传之前提供的输入图片
  4. 点击 Queue 按钮,或者使用快捷键 Ctrl(cmd) + Enter(回车) 来执行图片的生成
    在这里插入图片描述

3.T2I Adapter 通用使用技巧

3.1 输入图像质量优化

无论应用场景如何,高质量的输入图像都是成功使用 T2I Adapter 的关键:

  1. 对比度适中:控制图像(如深度图、线稿)应有明确的对比,但不要过度极端
  2. 清晰的边界:确保主要结构和元素边界在控制图像中清晰可辨
  3. 噪点控制:尽量避免控制图像中有过多噪点,特别是深度图和线稿
  4. 合理的布局:控制图像应当具有合理的空间布局和元素分布

3.2 T2I Adapter 的使用特点

T2I Adapter 的一大优势是可以轻松组合多个条件,实现复杂的控制效果:

  1. 深度 + 边缘:控制空间布局的同时保持结构边缘清晰,适用于建筑、室内设计
  2. 线稿 + 颜色:控制形状的同时指定配色方案,适用于角色设计、插画
  3. 姿态 + 分割:控制人物动作的同时定义场景区域,适用于复杂叙事场景

T2I Adapter 之间的混合,或与其他控制方法(如ControlNet、区域提示词等)的组合,可以进一步扩展创作可能性。要实现混合,只需按照与 混合 ControlNet 相同的方式,通过链式连接多个 Apply ControlNet 节点即可。

六、ControlNet 混合使用示例

我们将在本篇示例中,完成多个 ControlNet 混合使用,学会使用多个 ControlNet 模型来控制图像生成

在 AI 图像生成中,单一的控制条件往往难以满足复杂场景的需求。混合使用多个 ControlNet 可以同时控制图像的不同区域或不同方面,实现更精确的图像生成控制。

在一些场景下,混合使用 ControlNet 可以利用不同控制条件的特性,来达到更精细的条件控制:

  1. 场景复杂性:复杂场景需要多种控制条件共同作用
  2. 精细控制:通过调整每个 ControlNet 的强度参数,可以精确控制各部分的影响程度
  3. 互补效果:不同类型的 ControlNet 可以互相补充,弥补单一控制的局限性
  4. 创意表达:组合不同控制可以产生独特的创意效果

1.混合 ControlNet 的使用方法

当我们混合使用多个 ControlNet 时,每个 ControlNet 会根据其应用的区域对图像生成过程施加影响。ComfyUI 通过 Apply ControlNet 节点的链式连接方式,允许多个 ControlNet 条件按顺序叠加应用混合控制条件:
在这里插入图片描述

2.ComfyUI ControlNet 区域分治混合示例

在本示例中,我们将使用 Pose ControlNetScribble ControlNet 的组合来生成一张包含多个元素的场景:左侧由 Pose ControlNet 控制的人物和右侧由 Scribble ControlNet 控制的猫咪滑板车。

2.1 ControlNet 混合使用工作流素材

请下载下面的工作流图片,并拖入 ComfyUI 以加载工作流

该工作流图片包含 Metadata 数据,可直接拖入 ComfyUI 或使用菜单 `Workflows` -> `Open(ctrl+o)` 加载。系统会自动检测并提示下载所需模型。

用于输入的 pose 图片(控制左侧人物姿态):

ComfyUI 工作流 - Mixing ControlNet 输入图片

用于输入的 scribble 图片(控制右侧猫咪和滑板车):

ComfyUI 工作流 - Mixing ControlNet 输入图片

2.2 手动模型安装(前面都安装过了)

如果你网络无法顺利完成对应模型的自动下载,请尝试手动下载下面的模型,并放置到指定目录中
  • awpainting_v14.safetensors
  • control_v11p_sd15_scribble_fp16.safetensors
  • control_v11p_sd15_openpose_fp16.safetensors
  • vae-ft-mse-840000-ema-pruned.safetensors
ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── awpainting_v14.safetensors
│   ├── controlnet/
│   │   └── control_v11p_sd15_scribble_fp16.safetensors
│   │   └── control_v11p_sd15_openpose_fp16.safetensors
│   ├── vae/
│   │   └── vae-ft-mse-840000-ema-pruned.safetensors

2.3 按步骤完成工作流的运行

在这里插入图片描述

按照图片中的数字标记,执行以下步骤:

  1. 确保Load Checkpoint可以加载 awpainting_v14.safetensors
  2. 确保Load VAE可以加载 vae-ft-mse-840000-ema-pruned.safetensors

第一组 ControlNet 使用 Openpose 模型:
3. 确保Load ControlNet Model加载 control_v11p_sd15_openpose_fp16.safetensors
4. 在Load Image中点击Upload 上传之前提供的 pose 图片

第二组 ControlNet 使用 Scribble 模型:
5. 确保Load ControlNet Model加载 control_v11p_sd15_scribble_fp16.safetensors
6. 在Load Image中点击Upload 上传之前提供的 scribble 图片
7. 点击 Queue 按钮,或者使用快捷键 Ctrl(cmd) + Enter(回车) 来执行图片的生成
在这里插入图片描述

3.工作流讲解

3.1 强度平衡

当控制图像不同区域时,强度参数的平衡尤为重要:

  • 如果一个区域的 ControlNet 强度明显高于另一个,可能导致该区域的控制效果过强而抑制另一区域
  • 推荐为不同区域的 ControlNet 设置相似的强度值,例如都设为 1.0

3.2 提示词技巧

在区域分治混合中,提示词需要同时包含两个区域的描述:

"A woman in red dress, a cat riding a scooter, detailed background, high quality"

这样的提示词同时涵盖了人物和猫咪滑板车,确保模型能够同时关注两个控制区域。

4.同一主体多维控制的混合应用

除了本例展示的区域分治混合外,另一种常见的混合方式是对同一主体进行多维控制。例如:

  • Pose + Depth:控制人物姿势及空间感
  • Pose + Canny:控制人物姿势及边缘细节
  • Pose + Reference:控制人物姿势但参考特定风格

在这种应用中,多个 ControlNet 的参考图应该对准同一主体,并调整各自的强度确保适当平衡。

通过组合不同类型的 ControlNet 并指定其控制区域,你可以对画面元素进行精确控制。


文章转载自:

http://bWKr1Jyj.twhwm.cn
http://10uTziFY.twhwm.cn
http://s2CWmk9z.twhwm.cn
http://ceqhtmr7.twhwm.cn
http://nhUA8yUq.twhwm.cn
http://UiJR1UZ1.twhwm.cn
http://kwCRevUx.twhwm.cn
http://aN9Pb53b.twhwm.cn
http://exkusRc2.twhwm.cn
http://KkR3uEeV.twhwm.cn
http://zFe9ke6B.twhwm.cn
http://9QUFfmeu.twhwm.cn
http://tObk9DZJ.twhwm.cn
http://n3tTMT5j.twhwm.cn
http://YwNXyb0f.twhwm.cn
http://K2gIUeKd.twhwm.cn
http://9qQaYC61.twhwm.cn
http://2REW3QDJ.twhwm.cn
http://V7cBpKOK.twhwm.cn
http://1soGKgRS.twhwm.cn
http://SiBC2z2Y.twhwm.cn
http://mR8DVGhk.twhwm.cn
http://oUbosag0.twhwm.cn
http://WIoXv5ii.twhwm.cn
http://5dNfJhiT.twhwm.cn
http://qVDXlcdt.twhwm.cn
http://pCo4dOzy.twhwm.cn
http://1v4F5gRd.twhwm.cn
http://8ysZ3ubb.twhwm.cn
http://vLT8BU8J.twhwm.cn
http://www.dtcms.com/a/377554.html

相关文章:

  • 楼宇自控系统监控建筑变配电系统:功效体现在安全与节能层面
  • 分布式存储:RustFS与MinIO全面对比
  • 【第24话:定位建图】 SLAM回环检测方法及原理详细介绍
  • Electron 核心模块速查表
  • SafeEar:浙大和清华联合推出的AI音频伪造检测框架,错误率低至2.02%
  • vue2+jessibuca播放h265视频
  • 智普科技推出 Claude 用户平滑迁移方案,GLM-4.5 模型全面开放
  • IIS 部署 asp.net core 项目时,出现500.19、500.31问题的解决方案
  • ASP.NET Core 中的简单授权
  • 可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
  • Golang安装笔记
  • 【记录】Docker|Docker内部访问LInux主机上的Ollama服务
  • MySQL 日期时间类型:从入门到精通的核心指南
  • git 同时推送两个不同平台的版本管理库
  • SoC日志管理
  • 微服务网关全解析:从入门到实践
  • 《sklearn机器学习——数据预处理》类别特征编码
  • #C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
  • 深入剖析 Chrome PartitionAlloc 内存池源码原理与性能调优实践
  • Shell 脚本编程:函数
  • C++ STL 容器的一个重要成员函数——`emplace_back`
  • vue3:触发自动el-input输入框焦点
  • python range函数练习题
  • Q2(门座式)起重机司机的理论知识考试考哪些内容?
  • 企业微信消息推送
  • 顺序表:数据结构中的基础线性存储结构
  • 什么是X11转发?
  • OpenCV计算机视觉实战(24)——目标追踪算法
  • 4.2 I2C通信协议
  • Spring Boot 读取 YAML 配置文件