本文为系列第 14 篇,属于"实操精通(上)"章节的第二个知识点详解。我们从基础文生图/图生图进阶到 ControlNet——学会用额外条件输入来"精准约束"AI 绘图的结果,告别"碰运气式生图"。


知识点详解——ControlNet 示例:精准控制绘图效果(模型+实操)


目录


一、引言:从"随缘生图"到"精准控制"

在前一篇文章中,我们学习了文生图和图生图的基础操作。你可能会发现一个问题:

你用提示词描述了一个"站在海边、双手叉腰、面向镜头"的人物,但生成结果中——人物可能转身了,手可能在头上,或者构图完全不是你想象的样子。

这不是你的错,而是"纯文本控制"的天然局限。 提示词再精确,也无法完全约束图像的构图、姿态和空间结构。

ControlNet 的出现彻底解决了这个问题。它提供了额外条件输入通道——你可以用一张边缘图控制构图、用骨骼图控制姿态、用深度图控制空间——在像素级别上"约束"AI 的生成过程

如果说文生图是告诉 AI"画什么",那么 ControlNet 就是告诉 AI"怎么画"。


二、ControlNet 核心原理解析

2.1 什么是 ControlNet?

ControlNet 是一种神经网络结构,最早由 Lvmin Zhang 和 Maneesh Agrawala 于 2023 年提出(论文:Adding Conditional Control to Text-to-Image Diffusion Models)。

它的核心思想极其优雅:在不改变预训练扩散模型的前提下,通过一个可训练的"旁路网络"注入额外条件控制信号。

简单类比:

传统文生图:
  提示词 ──→ [AI 模型] ──→ 图像(完全靠提示词描述)

ControlNet 增强:
  提示词 ──→ [AI 模型] ──→ 图像
                ↑
  额外条件 ──→ [ControlNet](约束构图/姿态/深度...)

2.2 ControlNet 的工作机制

ControlNet 的工作流程可以分为 4 个步骤:

步骤 1:准备引导图像
  原始图片 ──→ [预处理器] ──→ 条件图(边缘图/骨骼图/深度图等)

步骤 2:提取条件特征
  条件图 ──→ [ControlNet 模型] ──→ 条件特征向量

步骤 3:注入扩散过程
  条件特征 ──→ 在 KSampler 的每一步去噪中施加约束

步骤 4:生成受控图像
  扩散模型在每一步都被 ControlNet 的条件"引导",
  最终生成同时符合提示词和条件约束的图像

关键理解:ControlNet 不是一个"滤镜",也不是"后处理"。它在扩散过程的每一步都在起作用——就像一位导演在整个拍摄过程中不断纠正演员的位置和动作,而不是拍完再修图。

2.3 为什么 ControlNet 如此重要?

维度 无 ControlNet 有 ControlNet
构图控制 全靠提示词描述,随机性大 用边缘图/涂鸦精确指定构图
姿态控制 提示词描述"双手叉腰",但可能不生效 用 OpenPose 骨骼图精确控制每个关节
空间结构 难以控制前后景关系 用深度图保留精确的空间层次
风格迁移 提示词"转成油画风格",构图可能走形 Canny 边缘约束构图 + 提示词控制风格
可复现性 即使固定 Seed,改提示词也会变构图 固定条件图+Seed,结果高度可复现

一句话总结:没有 ControlNet,你是在"用文字引导 AI 想象";有了 ControlNet,你是在"用视觉条件指令 AI 执行"。


三、ControlNet 模型类型与选型指南

3.1 主流 ControlNet 模型一览表

ControlNet 有多个变体版本,每种对应一种条件输入类型。以下是最常用的 SD1.5 ControlNet V1.1 系列模型:

模型名称 输入条件图 控制目标 文件命名
Canny Canny 边缘检测图 保持原图的边缘轮廓和构图 control_v11p_sd15_canny
OpenPose 骨骼关键点图 精确控制人物姿态/手势 control_v11p_sd15_openpose
Depth 深度图(灰度) 保持场景的深度层次和透视关系 control_v11f1p_sd15_depth
SoftEdge 软边缘图 灵活保持柔和边缘(比 Canny 容忍度更高) control_v11p_sd15_softedge
Scribble 手绘涂鸦/草图 从粗略涂鸦生成精细图像 control_v11p_sd15_scribble
NormalMap 法线贴图 控制 3D 表面的法线方向(光照/凹凸细节) control_v11f1p_sd15_normalbae
Lineart 线稿 保持清晰的线条艺术风格 control_v11p_sd15_lineart
MLSD 直线检测图 控制建筑/室内场景的直线结构 control_v11p_sd15_mlsd
IP-Adapter 参考图像 从参考图提取风格/内容特征(非传统 ControlNet) 需单独下载

3.2 模型对比与效果预览

各模型的特点与适用场景:

模型 控制强度 灵活度 适用场景
Canny ⭐⭐⭐⭐⭐ ⭐⭐ 需要严格保持构图的场景
SoftEdge ⭐⭐⭐⭐ ⭐⭐⭐ 需要保持构图但允许一定变化
OpenPose ⭐⭐⭐⭐ ⭐⭐⭐⭐ 人物姿态控制(最常用)
Depth ⭐⭐⭐ ⭐⭐⭐⭐ 场景空间和透视控制
Scribble ⭐⭐⭐ ⭐⭐⭐⭐⭐ 从涂鸦创意出发的生成
NormalMap ⭐⭐⭐⭐ ⭐⭐⭐ 3D 相关场景的表面细节控制

重要提示:ControlNet 模型的强度和灵活度呈反比——Canny 控制最严格(画面最接近条件图),但也最容易限制 AI 的创作自由度;Scribble 最灵活(AI 有最大的发挥空间),但构图可能偏离涂鸦。

3.3 模型选择速查表

你的需求 推荐 ControlNet 模型 理由
保持原图构图,改变画风 Canny 最强边缘约束,构图还原度最高
控制人物姿势,不限身份/服装 OpenPose 只约束骨骼,不限制外貌,灵活度最高
场景保留空间层次,改变外观 Depth 保持深度关系,外观可自由变化
从手绘草图生成精细图像 Scribble 对草图容忍度高,适合创意发散
将照片转为线稿风格 Lineart 专门针对线条艺术的优化
控制建筑透视和室内结构 MLSD 对直线结构约束最好
保持柔和边缘,允许一定发挥 SoftEdge Canny 的"温和版本"

四、ControlNet 节点配置详解

4.1 核心节点组成

在 ComfyUI 中使用 ControlNet,需要以下 3 个核心节点(加上基础文生图节点):

序号 节点名称 作用 节点位置
Load ControlNet Model 加载 ControlNet 模型文件 loaders → ControlNet Loader
Apply ControlNet 将 ControlNet 条件注入采样过程 conditioning → Apply ControlNet
预处理器节点(可选) 将原图处理为条件图 因模型类型而异

4.2 Load ControlNet Model 节点

节点位置:右键 → Add Node → loaders → Load ControlNet Model

功能:加载存储在 ComfyUI/models/controlnet/ 目录下的 ControlNet 模型文件(.safetensors 格式)。

操作步骤:

  1. 确保已将 ControlNet 模型下载到 models/controlnet/ 目录
  2. 添加 Load ControlNet Model 节点
  3. 在下拉菜单中选择需要的 ControlNet 模型
  4. 将 CONTROL_NET 输出连接到 Apply ControlNet 节点的 control_net 输入

模型放置路径ComfyUI/models/controlnet/control_v11p_sd15_canny_fp16.safetensors

4.3 Apply ControlNet 节点

节点位置:右键 → Add Node → conditioning → Apply ControlNet

功能:这是 ControlNet 的核心处理节点——它接收 ControlNet 模型和预处理后的条件图,生成施加了控制条件的 conditioning 信号,然后输出到 KSampler。

输入输出详解:

端口 方向 类型 连接来源
positive 输入 CONDITIONING 正向 CLIP Text Encoder 的输出
negative 输入 CONDITIONING 反向 CLIP Text Encoder 的输出
control_net 输入 CONTROL_NET Load ControlNet Model 的输出
image 输入 IMAGE 条件图(预处理后的图片)
strength 输入 FLOAT 控制强度(0~2,默认 1.0)
start_percent 输入 FLOAT 控制开始生效的百分比(默认 0.0)
end_percent 输入 FLOAT 控制停止生效的百分比(默认 1.0)
positive 输出 CONDITIONING 受控后的正向条件(→ KSampler)
negative 输出 CONDITIONING 受控后的反向条件(→ KSampler)

正确的连接方式:

CLIP Text Encoder (Positive) ──→ Apply ControlNet.positive
CLIP Text Encoder (Negative) ──→ Apply ControlNet.negative
Load Image (条件图) ──→ Apply ControlNet.image
Load ControlNet Model ──→ Apply ControlNet.control_net

Apply ControlNet.positive (输出) ──→ KSampler.positive
Apply ControlNet.negative (输出) ──→ KSampler.negative

4.4 预处理器节点详解

预处理器的作用是将原始参考图转换为 ControlNet 模型需要的条件图

预处理器的两种使用方式:

方式 说明 适用场景
方式 A:外部预处理 使用其他工具(如 Photoshop、在线工具)将图片预处理为条件图,然后直接用 Load Image 加载 不想安装额外节点;需要精细控制预处理效果
方式 B:ComfyUI 内置预处理 使用 ComfyUI 的预处理节点或第三方预处理插件(如 ComfyUI ControlNet aux) 希望在 ComfyUI 内一站式完成

常用预处理节点安装:

  • ComfyUI ControlNet aux:最常用的预处理插件,支持 OpenPose、Canny、Depth、SoftEdge 等
  • ComfyUI-Advanced-ControlNet:提供更精细的控制选项

新手推荐:对于 Canny 和 Scribble,ComfyUI 核心已内置预处理节点。对于 OpenPose 和 Depth,建议安装 ComfyUI ControlNet aux 插件。

4.5 完整工作流连接指南

标准 ControlNet 工作流连接图:

[Load Checkpoint] ──→ MODEL ────────────────────────────→ [KSampler] ──→ [VAE Decode] ──→ [Preview/Save]
                   │                                         ↑
                   ├──→ CLIP ──→ [CLIP Text Encoder (P)] ──→ Apply ControlNet (+) ──→ KSampler.positive
                   │                 ↑                        ↑
                   │         [CLIP Text Encoder (N)] ────────→ Apply ControlNet (-) ──→ KSampler.negative
                   │                                          ↑
                   ├──→ VAE                                   │
                   │                                          │
                   │         [Load Image (条件图)] ────────────→ Apply ControlNet.image
                   │                                          ↑
                   │         [Load ControlNet Model] ─────────→ Apply ControlNet.control_net
                   │
                   └──→ [Empty Latent Image] ────→ KSampler.latent

注意:Apply ControlNet 节点插入在 CLIP Text Encoder 和 KSampler 之间——它接收原始 conditioning,注入控制条件,然后输出受控的 conditioning 到 KSampler。


五、ControlNet 核心参数解析

5.1 Strength(控制强度)

定义:ControlNet 条件对生成过程的影响强度。

  • 范围:0.0 ~ 2.0(默认 1.0)
  • SD1.5 推荐值:0.5 ~ 1.5
Strength 值 效果 适用场景
0.0 ControlNet 完全失效,等同于普通文生图 测试"关掉"ControlNet对照
0.3~0.5 弱控制,条件图提供大致方向 需要高度创作自由度
0.7~1.0 适中控制,平衡条件图和提示词 推荐的通用区间
1.0~1.5 强控制,严格遵循条件图 需要精确保持条件图特征
1.5+ 极强控制,可能导致画面生硬 极少使用

实战技巧:先从 Strength=1.0 开始,如果生成结果偏离条件图太多就提高强度,如果画面太僵硬就降低强度。

5.2 Start Percent & End Percent(控制生效区间)

这两个参数控制 ControlNet 在扩散过程的哪个阶段生效。

  • start_percent:开始生效位置(0.0~1.0,默认 0.0)
  • end_percent:停止生效位置(0.0~1.0,默认 1.0)
生效区间 效果 适用场景
0.0 ~ 1.0 全程生效(默认) 标准场景
0.0 ~ 0.5 仅在前半段生效 先用 ControlNet 定结构,后半段让 AI 自由发挥细节
0.2 ~ 0.8 跳过开头和结尾 避免开头过度约束或结尾生硬
0.0 ~ 0.3 仅在早期生效 仅用 ControlNet 规划大致布局
0.5 ~ 1.0 仅在后半段生效 较特殊,用于后期修正

理解"百分比"的含义:
扩散过程被均分为 Steps 步。如果 Steps=25,start_percent=0.2:

Step 0   Step 5   Step 10   Step 15   Step 20   Step 25
  │────────│────────│────────│────────│────────│
  0.0      0.2      0.4       0.6       0.8      1.0
                ↑
          ControlNet 从这里开始生效

为什么需要调节生效区间? 扩散过程的早期步骤决定了图像的"大结构"(构图、布局),后期步骤决定"细节"(纹理、光影)。如果你只希望 ControlNet 控制构图而不影响细节,可以设置 end_percent=0.5~0.7

5.3 参数组合策略

目标 Strength Start % End % 说明
严格遵循条件图 1.2~1.5 0.0 1.0 全程强控制
平衡控制与自由发挥 0.8~1.0 0.0 1.0 标准配置
只控制大致布局 0.6~0.8 0.0 0.5 仅早期干预
轻柔引导 0.4~0.6 0.1 0.7 最小的侵入性控制
后期修正 0.5~0.8 0.4 0.9 跳过前期构图,修正后期细节

六、多 ControlNet 链式组合

6.1 为什么需要多 ControlNet?

单个 ControlNet 只能控制一个维度。但在实际创作中,你可能需要同时控制多个维度:

  • 控制姿态 + 控制构图 → OpenPose + Canny
  • 控制空间 + 控制风格 → Depth + Scribble
  • 控制姿态 + 控制表情 → OpenPose + SoftEdge(面部)

6.2 链式连接方法

多个 ControlNet 通过链式连接的方式组合:

CLIP Text Encoder (positive)
    │
    ▼
Apply ControlNet #1 ── (image: Canny条件图, control_net: Canny模型, strength: 1.0)
    │
    ▼
Apply ControlNet #2 ── (image: OpenPose条件图, control_net: OpenPose模型, strength: 0.8)
    │
    ▼
KSampler.positive

具体操作步骤:

  1. 添加两组 Load Image + Load ControlNet Model + Apply ControlNet(每组对应一个 ControlNet 类型)
  2. 将第一个 Apply ControlNet 的 positive 输出连接到第二个 Apply ControlNet 的 positive 输入
  3. 依次类推。最后一个 Apply ControlNet 的 positive 输出连接到 KSampler

官方推荐:ComfyUI 的 Apply ControlNet 节点原生支持链式连接。每经过一个 Apply ControlNet,conditioning 就被注入一层控制条件。

6.3 权重分配策略

使用多 ControlNet 时,总控制强度不是简单的相加。建议从较低的强度开始,逐步调优:

组合 推荐权重分配 说明
Canny(0.8) + OpenPose(0.6) Canny 为主,OpenPose 为辅 构图优先,姿态配合
OpenPose(1.0) + Depth(0.5) OpenPose 主导,Depth 辅助 姿态精确,空间大致保持
Canny(0.5) + Depth(0.5) 两者平衡,各降一半 同时保持边缘和深度
Scribble(0.8) + Style(0.6) Scribble 构图为主 创意涂鸦 + 风格引导

重要提醒:多 ControlNet 会显著增加显存占用和生成时间。如果显存有限,建议先减少 ControlNet 数量,或降低输入图像的分辨率。


七、实操案例全解析

7.1 案例一:Canny ControlNet——用边缘图控制构图

目标:使用一张参考照片的 Canny 边缘图作为 ControlNet 输入,将照片风格转换为水彩画,同时保持原图构图。

Step 1:准备素材

  1. 准备一张参考照片(建议 512×512,内容清晰)
  2. 使用预处理器生成 Canny 边缘图(或在 ComfyUI 中使用 Canny 预处理器节点)
  3. 如果使用外部工具(如 Photoshop),应用 Canny 边缘检测并保存

Step 2:搭建工作流

  1. 标准文生图基础工作流(Load Checkpoint + CLIP Text Encoder × 2 + Empty Latent Image + KSampler + VAE Decode + Preview Image)
  2. 添加 Load ControlNet Model → 选择 control_v11p_sd15_canny_fp16
  3. 添加 Load Image → 上传 Canny 边缘图
  4. 添加 Apply ControlNet → 按四章所述连接所有端口
  5. 如果使用 ComfyUI 内置 Canny 预处理器,在 Load Image 和 Apply ControlNet 之间插入预处理器节点

Step 3:编写提示词

正向提示词:
(watercolor painting:1.3), soft washes of color, 
artistic brush strokes, flowing pigments, 
paper texture visible, ethereal atmosphere, 
masterpiece, best quality

反向提示词:
photorealistic, photograph, sharp edges, 
oil painting, digital art, crisp lines, 
low quality, blurry, ugly

Step 4:设置参数

参数 说明
ControlNet Strength 1.0 标准控制强度
Start Percent 0.0 全程生效
End Percent 1.0 全程生效
Steps 25 标准步数
CFG 7 标准值
Sampler DPM++ 2M Karras 推荐

Step 5:实验与优化

尝试不同 Strength 值观察效果:

Strength 效果
0.5 构图偏离较多,AI 自由发挥空间大
1.0 构图基本保持,风格转换明显(推荐)
1.5 构图严格保持,但画面略显僵硬

7.2 案例二:OpenPose ControlNet——精确控制人物姿态

目标:使用一张姿态参考图的骨骼关键点来控制 AI 生成人物的姿态。

Step 1:准备参考图

  1. 准备一张人物全身照片(姿态清晰,四肢可见)
  2. 使用 OpenPose 预处理器提取骨骼图
    • 安装 ComfyUI ControlNet aux 插件
    • 添加 OpenPose Preprocessor 节点
    • 将照片输入预处理器,输出骨骼图

Step 2:搭建工作流
与案例一类似,区别:

  • Load ControlNet Model → 选择 control_v11p_sd15_openpose_fp16
  • 上传的图片是骨骼图(而非 Canny 边缘图)

Step 3:编写提示词

正向提示词:
(fashion model:1.2), elegant woman wearing a flowing white dress, 
runway, dramatic lighting, (high fashion photography:1.3), 
cinematic composition, perfect body proportions, 
masterpiece, best quality, 4k

反向提示词:
deformed body, bad anatomy, extra limbs, 
missing limbs, ugly, blurry, low quality, 
multiple people, crowd

Step 4:设置参数

参数 说明
ControlNet Strength 0.9 OpenPose 不需要太强即可有效控制
Start Percent 0.0 全程生效
End Percent 0.8 后 20% 让 AI 自由优化细节
Steps 25 标准
CFG 7 标准

Step 5:效果验证

  • ✅ 人物姿态与骨骼图一致(关键成功标准)
  • ✅ 人物外貌、服装、背景由提示词控制
  • ✅ 画面不僵硬,有合理的衣物质感和光影

7.3 案例三:Depth ControlNet——控制场景空间与透视

目标:使用深度图控制生成图像的场景空间层次和透视关系。

Step 1:准备深度图

  1. 准备一张有明显空间层次的照片(如街道、室内、自然风景)
  2. 使用 Depth 预处理器生成深度图
    • 或使用外部工具生成灰阶深度图(近景亮、远景暗)

Step 2:搭建工作流

  • Load ControlNet Model → 选择 control_v11f1p_sd15_depth_fp16
  • 其余与前面案例相同

Step 3:编写提示词

正向提示词:
(fantasy city street:1.3), cyberpunk atmosphere, neon lights, 
rain-slicked pavement, flying cars in distance, 
(futuristic architecture:1.2), volumetric lighting, 
masterpiece, highly detailed, 8k

反向提示词:
modern city, daytime, sunny, empty street, 
blurry, low quality, ugly, deformed

Step 4:设置参数

参数 说明
ControlNet Strength 1.0 深度控制需要稍高强度
Start Percent 0.0 全程生效
End Percent 1.0 全程生效
Steps 30 复杂场景需更多步数
CFG 7.5 略高以增强提示词跟随

Step 5:效果验证

  • ✅ 前景/中景/背景的空间关系与原图一致
  • ✅ 场景风格从现实变为赛博朋克
  • ✅ 透视和深度层次保持良好

7.4 案例四(进阶):Canny + OpenPose 双 ControlNet 组合

目标:同时使用 Canny 控制构图和 OpenPose 控制人物姿态,生成一张在特定场景中做特定姿势的人物图像。

Step 1:准备条件图

  1. Canny 边缘图:用参考场景图生成
  2. OpenPose 骨骼图:用人物姿态参考图生成

Step 2:搭建链式 ControlNet 工作流

CLIP Text Encoder (Positive)
    │
    ▼
Apply ControlNet #1 (Canny, strength=0.8, image=边缘图)
    │
    ▼
Apply ControlNet #2 (OpenPose, strength=0.7, image=骨骼图)
    │
    ▼
KSampler.positive

Step 3:编写提示词

正向提示词:
(samurai warrior:1.3), standing in ancient japanese temple courtyard, 
cherry blossom petals falling, (epic cinematic lighting:1.2), 
detailed armor, flowing cape, misty atmosphere, 
masterpiece, best quality, 8k, intricate details

反向提示词:
deformed, bad anatomy, extra limbs, modern, 
blurry, low quality, ugly, watermark, text

Step 4:设置参数

参数 ControlNet #1 (Canny) ControlNet #2 (OpenPose)
Strength 0.8 0.7
Start % 0.0 0.0
End % 0.8 0.9
控制目标 场景构图 人物姿态

关键技巧

  • Canny 的 end_percent=0.8:场景构图在前 80% 步数确定,后 20% 让 AI 自由优化
  • OpenPose 的 end_percent=0.9:姿态控制持续更久,确保人物动作不走样
  • Canny 的 Strength 略高于 OpenPose:构图约束为主,姿态为辅

八、常见问题排查与优化策略

8.1 ControlNet 效果不明显

原因 解决方法
Strength 太低 逐步提高到 1.2~1.5
条件图质量差 重新生成或优化预处理参数
ControlNet 模型选错 确认使用的模型与条件图类型匹配
模型路径不正确 检查模型是否在 models/controlnet/ 目录下

8.2 图像生硬/过度受限

原因 解决方法
Strength 太高 降低到 0.6~0.8
End Percent 太高 设 end_percent=0.6~0.8,让后半段自由发挥
条件图过于复杂 简化条件图,或换用 SoftEdge 替代 Canny
CFG 与 ControlNet 冲突 同步降低 CFG 到 5~6

8.3 预处理器报错或效果不佳

问题 可能原因 解决方法
OpenPose 检测不到骨骼 人物遮挡/人体过小 使用清晰的全身照;放大人物区域
Canny 边缘太多/太少 阈值参数不当 调整 Canny 的 low_threshold 和 high_threshold
Depth 深度图不准确 场景复杂/透明物体 换用更精确的深度估计模型
预处理器节点找不到 依赖插件未安装 安装 ComfyUI ControlNet aux 插件

8.4 多 ControlNet 冲突

现象 原因 解决方法
两个控制条件互相矛盾 条件图的目标不一致 统一条件图来源;降低其中一个的 Strength
生成结果混乱 总控制强度过高 每个 Strength 降至 0.5~0.7
显存不足 (OOM) 多 ControlNet 占用显存 降低输入图分辨率;减少 ControlNet 数量

8.5 常见问题速查表

问题 解决方案
ControlNet 完全不生效 检查模型加载路径;确认 strength > 0;检查连接是否正确
构图偏离条件图 提高 strength 到 1.2~1.5;检查 end_percent 是否太早结束
画面僵硬化 降低 strength;设 end_percent=0.7;换用 SoftEdge
人物姿态不正确 确认 OpenPose 骨骼图清晰;提高 strength 到 1.0~1.2
场景空间层次丢失 使用 Depth 而非 Canny;提高 depth strength
色彩异常/伪影 降低 CFG;降低 ControlNet strength;检查 VAE 是否正确加载
多 ControlNet 显存溢出 使用 --lowvram 模式;降低图片分辨率;减少 ControlNet 数量

九、总结与下一篇预告

本文核心要点回顾

通过本文的学习,你已经掌握了:

  1. ✅ ControlNet 核心原理——通过额外条件输入在扩散过程中施加像素级约束
  2. ✅ 6 种主流 ControlNet 模型——Canny / OpenPose / Depth / SoftEdge / Scribble / NormalMap 的特点与选型
  3. ✅ 节点配置全流程——Load ControlNet Model → Apply ControlNet → 预处理器 → 连接 KSampler
  4. ✅ 核心参数调优——Strength(0~2)、Start/End Percent(0~1)的含义与调节策略
  5. ✅ 多 ControlNet 链式组合——如何同时控制构图和姿态等多维度
  6. ✅ 4 个实操案例——Canny 构图控制、OpenPose 姿态控制、Depth 空间控制、Canny+OpenPose 双控
  7. ✅ 常见问题排查——从无效到僵硬的完整解决方案

ControlNet 使用口诀

Canny 控构图,OpenPose 控姿态
Depth 管空间,Scribble 玩创意
Strength 调力度,0.8~1.2 最常用
Start End 管区间,全程默认 0 到 1
多链组合显威力,权重分配要均衡
条件质量是关键,预处理做好事半功倍

下一篇预告

下一篇(博客 15)我们将学习 Image 相关示例——图片修复、超分与风格迁移。你会学到:

  • 如何修复老照片的折痕和污渍
  • 如何将低分辨率图片无损放大
  • 如何将一张照片的风格迁移到另一张图片上

这些都是实际工作中最高频的图片编辑需求。准备好让你的 ComfyUI 技能更上一层楼了吗?


官方参考链接

  1. ComfyUI ControlNet 使用示例 — 官方 ControlNet 教程
  2. ControlNet 论文 (arXiv) — Adding Conditional Control to Text-to-Image Diffusion Models
  3. ControlNet V1.1 模型下载 — 官方 ControlNet 模型仓库
  4. ComfyUI ControlNet aux 插件 — ControlNet 预处理器插件
  5. ComfyUI-Advanced-ControlNet 插件 — 高级 ControlNet 插件
  6. ComfyUI 官方中文文档 — 文档入口
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐