从零到一:Stable Diffusion 中 ControlNet 可控生成实操教程
确保已安装最新版 Stable Diffusion WebUI(如 Automatic1111)。重启 WebUI 后,在 "Settings" → "ControlNet" 中勾选。从官方 Hugging Face 仓库下载所需的 ControlNet 模型(如。调整各单元权重平衡不同控制信号的影响,建议从低权重(0.3-0.7)开始逐步测试。以启用多 ControlNet 协同工作。
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 面板:
- 上传输入图像(如手绘草图)
- 选择预处理器(如
scribble_hed)和对应模型(如control_sd15_scribble) - 调整控制权重(通常 0.5-1.5)和起始/终止步数
- 输入文本提示词(如 "a futuristic car, concept art, high detail")
- 生成图像
多 ControlNet 组合应用
通过叠加多个 ControlNet 单元实现精细控制:
- 案例1:人物姿势+背景构图
- Unit 0:
openpose控制人物动作 - Unit 1:
depth控制场景层次
- Unit 0:
- 案例2:产品设计
- Unit 0:
canny保留外形轮廓 - Unit 1:
normal_map保持表面材质
- Unit 0:
调整各单元权重平衡不同控制信号的影响,建议从低权重(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 单元
高级应用示例
建筑概念设计流程:
- 用 Blender 生成基础线框模型并导出边线图
- 在 ControlNet 使用
mlsd模型锁定建筑结构 - 输入提示词 "cyberpunk tower, neon lights, 4k detailed"
- 叠加
depth模型控制景深层次 - 最终用
img2img进行局部重绘优化
人物肖像保持:
- 原始照片通过
tile模型分块处理 - 使用
reference_only模式保留面部特征 - 配合
openpose调整身体姿势 - 提示词加入 "photo realistic, skin pores detail" 等关键词
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)