Tutorial Lesson

多 ControlNet 组合

ComfyUI保姆级零基础教程 62 浏览 2026-07-08 更新 免费阅读

一、为什么要多个 ControlNet?

单一 ControlNet 只约束 一种 信息:

  • OpenPose → 只有骨架,不管 空间层次

  • Canny → 只有边缘,不管 远近

  • Depth → 只有深度,不管 细线

组合 可同时约束 姿势 + 透视 + 线稿 等,精度更高,但 调参更难


二、ComfyUI 中的叠加方式

2.1 串联 Apply 节点

MODEL → Apply CN #1 (OpenPose) → Apply CN #2 (Depth) → KSampler

CONDITIONING 链 上连续 Apply(视节点版本):

positive → Apply OpenPose → Apply Depth → KSampler positive

每个 Apply 需要:

  • 各自的 Load ControlNet Model

  • 各自的 预处理器 + 参考图(可同源图不同预处理)。

2.2 同一参考图、多种预处理

[Load Image 同一张]
    ├→ OpenPose Pre → Apply CN1
    └→ Depth Pre    → Apply CN2

常用:一张人像 → OpenPose + Depth 稳姿势与背景层次。


三、权重平衡原则

原则

说明

主次分明

主 CN strength 高,辅 CN 略低

总和不过猛

两个都 0.95 易僵、易 artifact

先单后双

单独调通每个 CN 再组合

分工清晰

避免两个 CN 控 同类 信息(双 Canny 无意义)

3.1 起始参考值

组合

CN1 strength

CN2 strength

OpenPose + Depth

0.85

0.5–0.65

Canny + Depth

0.65

0.55

Lineart + OpenPose

0.7

0.8

需实测微调。


四、常见组合配方

4.1 OpenPose + Depth(人物 + 场景)

  • OpenPose:锁人物姿势;

  • Depth:锁背景远近与空间;

  • Prompt:服装、表情、光照。

适用:换场景但 姿势与空间布局 都要保留。

4.2 Canny + Depth(轮廓 + 空间)

  • Canny:物体外形;

  • Depth:前后关系;

  • 适用:建筑、复杂静物重绘。

4.3 Lineart + OpenPose(二次元)

  • Lineart:勾线;

  • OpenPose:动作;

  • 适用:线稿人设指定动作上色。

4.4 Depth + Inpaint ControlNet

  • 局部改图时 深度连续 + 蒙版(与 4-4、6-8 联动)。


五、start/end percent 分工

可为不同 CN 设 不同生效区间

CN

start

end

意图

OpenPose

0

1.0

全程锁姿势

Depth

0

0.6

前半定空间,后半释放细节

Canny

0.2

0.7

中间段强化轮廓

避免全程多 CN 都 0→1 且 strength 极高。


六、搭建步骤概要(双 CN)

  1. 完成 6-3 单 OpenPose 工作流

  2. 复制 Load ControlNet + Preprocessor + Apply 一组;

  3. 改为 Depth 模型与 MiDaS/Zoe 预处理;

  4. 第一个 Apply 的输出 接到 第二个 Apply 的 model/cond 输入

  5. Depth strength 从 0.5 起试;

  6. Queue 对比单 CN 与双 CN。


七、显存与性能

  • 每多一个 ControlNet,显存与耗时 增加;

  • 8GB 显卡建议 最多 2 个 CN,分辨率 ≤1024;

  • 可降分辨率生成后再放大(第 8 章)。


八、故障现象

现象

可能原因

处理

花屏、噪点

双 CN 过强

各降 0.1 strength

只生效一个

Apply 顺序/连线错

对照模板 JSON

比单 CN 更乱

两 CN 冲突

减一个或缩短 end_percent

OOM

双 CN + 高分辨率

降分辨率或只保留主 CN

推荐教程

继续学习相关章节