14 · ControlNet 精确控制
用参考图控制 AI 的构图、姿势、深度——让 AI 真正「听话」
01 ControlNet 是什么
普通的图生图:给 AI 一张图,它参考颜色和布局重新画——但你没法精确控制构图。
ControlNet:从参考图提取「结构信息」(边缘、深度、姿势等),然后用这个结构引导生成——你可以精确控制画面的构图和姿态,但画风完全自由。
类比:ControlNet = 给 AI 一副「骨架」,骨架不动,皮肉你随意。
02 常用 ControlNet 模型一览
| ControlNet 类型 | 提取什么 | 适用场景 |
|---|---|---|
| Canny | 边缘线条 | 精确复刻构图,最通用 |
| Depth | 深度图(远近距离) | 保持空间关系,室内/建筑 |
| OpenPose | 人体骨架 | 复刻人物姿势 |
| Scribble | 涂鸦/草图 | 从草稿到成品 |
| Lineart | 精细线稿 | 线稿上色、动漫风格 |
| Tile | 分块特征 | 高清放大时保持细节 |
| SoftEdge | 柔和边缘 | 比 Canny 更自然,艺术感更好 |
| IP2P | 指令式编辑 | 「把白天变黑夜」这种 |
03 搭建 ControlNet 工作流
前置准备
通过 Manager 安装 ComfyUI_ControlNet_Aux(预处理器)。
核心节点
Load Image → ControlNet Preprocessor → ControlNet Apply → KSampler步骤:
Load Image:加载参考图- 添加
ControlNet Preprocessor(比如 Canny、Depth 等) - 添加
Load ControlNet Model:选择对应的 ControlNet 模型文件 - 添加
ControlNet Apply:- 正/反向 CONDITIONING
- ControlNet 信号
- ControlNet Apply 的 CONDITIONING 输出 → KSampler 的 positive
04 ControlNet 关键参数
| 参数 | 作用 | 推荐值 |
|---|---|---|
strength | ControlNet 控制强度 | 0.5-1.0,一般 0.8 |
start_percent | 从哪步开始控制 | 0(从头开始) |
end_percent | 到哪步结束控制 | 1.0(全程)或 0.6-0.8(后面让 AI 自由发挥) |
技巧:如果效果太「僵硬」,降低 end_percent 到 0.6-0.7,让 AI 在最后几步自由细化。
05 实战场景
场景一:复刻人物姿势
参考图 → OpenPose Preprocessor → ControlNet Apply (OpenPose, strength=0.8) → KSampler提示词写你想画的人物,姿势完全照参考图来。
场景二:保持室内构图换风格
参考图 → Depth Preprocessor → ControlNet Apply (Depth, strength=0.9) → KSampler把毛坯房照片变成「赛博朋克风格」或者「日系温馨风」。
场景三:线稿上色
线稿图 → Lineart → ControlNet Apply (Lineart, strength=1.0) → KSampler提示词写颜色、风格、光影,线稿原封不动。
⚠️ 新手常见问题:ControlNet 模型要和 Checkpoint 匹配——SD 1.5 的 ControlNet 不能用在 SDXL 上。
💡 一句话总结:ControlNet = 给 AI 一副结构骨架,Canny 控构图、OpenPose 控姿势、Depth 控空间——strength 0.8 通用起手式。
下一篇 15「IPAdapter 图像提示」:不只文字做提示词——用一张参考图直接告诉 AI 你要什么风格。