单一 ControlNet 只约束 一种 信息:
OpenPose → 只有骨架,不管 空间层次;
Canny → 只有边缘,不管 远近;
Depth → 只有深度,不管 细线。
组合 可同时约束 姿势 + 透视 + 线稿 等,精度更高,但 调参更难。
MODEL → Apply CN #1 (OpenPose) → Apply CN #2 (Depth) → KSampler
或 CONDITIONING 链 上连续 Apply(视节点版本):
positive → Apply OpenPose → Apply Depth → KSampler positive
每个 Apply 需要:
各自的 Load ControlNet Model;
各自的 预处理器 + 参考图(可同源图不同预处理)。
[Load Image 同一张]
├→ OpenPose Pre → Apply CN1
└→ Depth Pre → Apply CN2
常用:一张人像 → OpenPose + Depth 稳姿势与背景层次。
|
原则 |
说明 |
|---|---|
|
主次分明 |
主 CN strength 高,辅 CN 略低 |
|
总和不过猛 |
两个都 0.95 易僵、易 artifact |
|
先单后双 |
单独调通每个 CN 再组合 |
|
分工清晰 |
避免两个 CN 控 同类 信息(双 Canny 无意义) |
|
组合 |
CN1 strength |
CN2 strength |
|---|---|---|
|
OpenPose + Depth |
0.85 |
0.5–0.65 |
|
Canny + Depth |
0.65 |
0.55 |
|
Lineart + OpenPose |
0.7 |
0.8 |
需实测微调。
OpenPose:锁人物姿势;
Depth:锁背景远近与空间;
Prompt:服装、表情、光照。
适用:换场景但 姿势与空间布局 都要保留。
Canny:物体外形;
Depth:前后关系;
适用:建筑、复杂静物重绘。
Lineart:勾线;
OpenPose:动作;
适用:线稿人设指定动作上色。
局部改图时 深度连续 + 蒙版(与 4-4、6-8 联动)。
可为不同 CN 设 不同生效区间:
|
CN |
start |
end |
意图 |
|---|---|---|---|
|
OpenPose |
0 |
1.0 |
全程锁姿势 |
|
Depth |
0 |
0.6 |
前半定空间,后半释放细节 |
|
Canny |
0.2 |
0.7 |
中间段强化轮廓 |
避免全程多 CN 都 0→1 且 strength 极高。
完成 6-3 单 OpenPose 工作流;
复制 Load ControlNet + Preprocessor + Apply 一组;
改为 Depth 模型与 MiDaS/Zoe 预处理;
将 第一个 Apply 的输出 接到 第二个 Apply 的 model/cond 输入;
Depth strength 从 0.5 起试;
Queue 对比单 CN 与双 CN。
每多一个 ControlNet,显存与耗时 增加;
8GB 显卡建议 最多 2 个 CN,分辨率 ≤1024;
可降分辨率生成后再放大(第 8 章)。
|
现象 |
可能原因 |
处理 |
|---|---|---|
|
花屏、噪点 |
双 CN 过强 |
各降 0.1 strength |
|
只生效一个 |
Apply 顺序/连线错 |
对照模板 JSON |
|
比单 CN 更乱 |
两 CN 冲突 |
减一个或缩短 end_percent |
|
OOM |
双 CN + 高分辨率 |
降分辨率或只保留主 CN |