ControlNet 安装与配置

确保已安装最新版 Stable Diffusion WebUI(如 Automatic1111)。ControlNet 插件可通过以下方式安装:

  • 在 WebUI 的 "Extensions" 选项卡中选择 "Install from URL",输入 GitHub 仓库地址:https://github.com/lllyasviel/ControlNet
  • 或手动下载插件并解压到 stable-diffusion-webui/extensions 目录

重启 WebUI 后,在 "Settings" → "ControlNet" 中勾选 Allow other script to control this extension 以启用多 ControlNet 协同工作。

预训练模型准备

从官方 Hugging Face 仓库下载所需的 ControlNet 模型(如 control_v11p_sd15_canny.pth),放入目录:

stable-diffusion-webui/extensions/sd-webui-controlnet/models

常用模型包括:

  • canny:边缘检测
  • depth:深度图
  • openpose:人体姿态
  • scribble:手绘草图
  • seg:语义分割

基础使用流程

在 WebUI 的 "txt2img" 或 "img2img" 选项卡中展开 ControlNet 面板:

  1. 上传输入图像(如手绘草图)
  2. 选择预处理器(如 scribble_hed)和对应模型(如 control_sd15_scribble
  3. 调整控制权重(通常 0.5-1.5)和起始/终止步数
  4. 输入文本提示词(如 "a futuristic car, concept art, high detail")
  5. 生成图像

多 ControlNet 组合应用

通过叠加多个 ControlNet 单元实现精细控制:

  • 案例1:人物姿势+背景构图
    • Unit 0:openpose 控制人物动作
    • Unit 1:depth 控制场景层次
  • 案例2:产品设计
    • Unit 0:canny 保留外形轮廓
    • Unit 1:normal_map 保持表面材质

调整各单元权重平衡不同控制信号的影响,建议从低权重(0.3-0.7)开始逐步测试。

参数调优技巧

  • 控制强度(Control Weight):值越高越严格遵循控制图,但可能限制创意发挥
  • 起始/终止步数
    • 早期控制(0.0-0.3)影响整体构图
    • 中期控制(0.3-0.6)调整细节
    • 后期控制(0.6-1.0)微调纹理
  • 预处理器分辨率:512-768px 适用于大多数场景,过高可能导致过度细节

典型问题解决

  • 控制失效:检查模型与预处理器是否匹配,确认 ControlNet 开关已启用
  • 图像扭曲:降低控制权重或调整终止步数为 0.8-0.9
  • 细节丢失:尝试 tile 模型进行局部重绘增强细节
  • 显存不足:减小分辨率或关闭部分 ControlNet 单元

高级应用示例

建筑概念设计流程

  1. 用 Blender 生成基础线框模型并导出边线图
  2. 在 ControlNet 使用 mlsd 模型锁定建筑结构
  3. 输入提示词 "cyberpunk tower, neon lights, 4k detailed"
  4. 叠加 depth 模型控制景深层次
  5. 最终用 img2img 进行局部重绘优化

人物肖像保持

  1. 原始照片通过 tile 模型分块处理
  2. 使用 reference_only 模式保留面部特征
  3. 配合 openpose 调整身体姿势
  4. 提示词加入 "photo realistic, skin pores detail" 等关键词
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐