一、为什么只有 Prompt 不够?
仅靠文字 Prompt,模型对 精确结构 的控制有限:
-
指定 Exact 姿势(手臂角度、站姿)→ 常随机;
-
复制线稿/边缘/深度 → 构图易漂;
-
建筑透视、房间布局 → 难稳定;
-
人物骨架 → 易多手多腿。
ControlNet 通过 额外条件图(或从参考图提取的条件)约束生成,使 结构跟参考走,内容跟 Prompt 走。
二、ControlNet 是什么?(通俗版)
ControlNet 是一类 附加神经网络,在扩散采样时 修改 MODEL 的行为,使其生成结果 符合某种空间条件。
|
概念 |
说明 |
|---|---|
|
条件图 |
边缘图、深度图、骨架图等(常从参考图预处理得到) |
|
ControlNet 权重 |
|
|
Apply 节点 |
把条件注入 KSampler 前的 MODEL / CONDITIONING 链 |
类比:Prompt 是 「画什么主题」;ControlNet 是 「线条/骨架/深度必须长这样」 的 透明描稿。
三、与 Prompt、LoRA 的分工
|
手段 |
主要控制 |
|---|---|
|
Prompt |
主体、风格、颜色、氛围、质量词 |
|
LoRA |
画风/角色/概念的微调 |
|
ControlNet |
空间结构:姿势、轮廓、深度、线稿 |
|
IP-Adapter |
参考图的 风格/内容/人脸(第 6-5 节,与 ControlNet 互补) |
组合常见:Prompt 描述场景 + OpenPose 锁姿势 + IP-Adapter 锁风格。
四、ComfyUI 中的基本流程
[参考图 Load Image]
↓
[预处理器] → 条件图 (IMAGE)
↓
[Load ControlNet Model]
↓
[Apply ControlNet] ← MODEL + CONDITIONING + control_image
↓
修改后的 MODEL / CONDITIONING
↓
[KSampler] → [VAE Decode] → 出图
两条线并行:
-
Checkpoint → MODEL / CLIP → Prompt → KSampler;
-
参考图 → 预处理 → ControlNet Apply → 注入 到 MODEL 或 CONDITIONING(视节点版本)。
五、预处理器(Preprocessor)
原始照片 rarely 直接进 ControlNet,往往先 提取 条件:
|
类型 |
预处理产出 |
|---|---|
|
Canny |
边缘线 |
|
Depth |
深度图 |
|
OpenPose |
人体骨架 |
|
Lineart |
线稿 |
ComfyUI 常用 ControlNet Aux / AUX Preprocessor 类节点,或 Apply 节点内置选项。
六、ControlNet 强度与生效区间
Apply ControlNet 节点常见参数:
|
参数 |
含义 |
|---|---|
|
strength |
条件约束有多强,0–1 |
|
start_percent / end_percent |
采样过程的 哪一段 启用 ControlNet(0–1 表示去噪进度) |
-
strength 过高 → 僵硬、贴原图过死;
-
过低 → 控不住;
-
仅在前半段启用 → 先定结构,后半让 Prompt 润色细节(常见技巧)。
七、适用场景(何时用 ControlNet)
|
适合 |
不太需要 |
|---|---|
|
指定人物姿势 |
纯文字随机构图即可 |
|
线稿上色 |
抽象背景 |
|
保持房间深度/透视 |
只要风格词 |
|
复制照片构图重绘 |
简单 icon |
|
建筑/产品设计结构 |
|
八、模型与 SD 版本
-
SD1.5 ControlNet 不能用于 SDXL Checkpoint,反之亦然;
-
文件名常含
sd15/sdxl; -
Flux 等有 专用 ControlNet,需单独下载与工作流。
路径:
ComfyUI/models/controlnet/
九、与 img2img 的关系
|
方式 |
控制来源 |
|---|---|
|
img2img + denoise |
原图像素 latent,整体软约束 |
|
ControlNet |
显式边缘/深度/骨架,结构硬约束 |
可 同时使用:img2img 保留色调 + ControlNet 锁姿势。
十、常见误解
|
误解 |
事实 |
|---|---|
|
ControlNet = 复制整张图 |
只约束 条件类型(边/深度等),不是像素拷贝 |
|
有 ControlNet 不用写 Prompt |
Prompt 仍决定 画什么 |
|
一个 ControlNet 万能 |
不同类型不同用途(6-2 选型) |
|
参考图越好出图越好 |
预处理器质量、strength 都影响 |