ControlNet详细操作
ControlNet Field Notes ControlNet 详细操作:从结构复制到风格迁移 这篇文章基 […]
ControlNet Field Notes
ControlNet 详细操作:从结构复制到风格迁移
这篇文章基于我最近的实操记录,集中整理了三类最常用的 ControlNet:Canny、Depth 和 OpenPose。目标不是炫参数,而是给出能直接复现的工作路径。
Canny
Depth
OpenPose
Z-Image
ComfyUI
阅读建议:先看每一节的“用途”和“调参重点”,再对照示例图复现。这样能更快理解每种控制器到底在“锁定什么信息”。
一、Canny ControlNet:锁线条与结构轮廓
Canny 的核心作用是提取边缘信息,适合保留物体的轮廓、硬边和主要纹路。对机械、产品和建筑类图像尤其有效。
我先用 Z-Image 生成一张机甲图,作为结构参考:

接着用 Canny 进行边缘学习,得到可控的结构约束:

在保持结构的前提下,我把风格改成紫色工业机甲:

模糊怎么办
优先提高 K 采样器里的 CFG;在不爆显存的前提下,适度提高 steps。
跟随度不够
提高 ControlNet strength(一般不超过 1)。必要时收紧 Canny 阈值区间。
二、Depth ControlNet:保空间与景深关系
Depth 的价值在于“保空间结构”。如果你想换材质、换风格,但不想丢失前后层次和布局,它会比纯提示词稳定得多。
先准备一张有明确空间关系的室内图:

应用 Depth 后,模型会学习这张图的深度分布:

保持空间关系不变,再把整体风格迁移到中式室内:

- 空间感不强:先检查深度图是否清晰,再提高 strength 与 steps。
- 质量不够高:提高分辨率,搭配更合适的采样器和更明确的提示词。
- 速度太慢:适当降低分辨率或步数,优先做参数区间测试。
- 布局总是跑偏:确保 end_percent 为 1,并增加空间结构描述。
三、OpenPose ControlNet:锁定人物动作
OpenPose 适合做人像动作复刻。它不直接关心服装和画风,而是先帮你把“姿势骨架”固定下来。
先用 Z-Image 生成晨跑人物:

通过 OpenPose 提取姿态骨架:

如果关闭手部检测(detect_hand = disable),骨架会少掉手部关键点:

最后保持动作不变,改成二次元场景风格:

总结:ControlNet 的实战思路可以简化为三步:先选控制类型(线条/深度/姿态)→ 再控强度与步数 → 最后做风格迁移。只要控制目标明确,复现率会明显提升。