🐰 关注公众号「白兔AI」
扫码关注公众号,获取更多AI绘画教程和提示词
✨ 白兔去水印小程序
免费去水印工具,一键去除图片/视频水印
什么是ControlNet?
ControlNet是Stable Diffusion生态系统中最重要的扩展技术之一。它通过引入额外的条件输入(如边缘检测、深度图、姿势骨架等),让你能够对AI生成的图像进行精确的控制。
在没有ControlNet之前,Stable Diffusion的图像生成主要依赖文本提示词来引导,控制力有限。ControlNet的出现彻底改变了这一状况,让AI绘画从大致引导进化到了精确控制。
ControlNet的工作原理是在Stable Diffusion的生成过程中注入额外的条件信息。这些条件信息来自预处理后的参考图像,模型在生成时会同时考虑文本提示和这些条件信息。
ControlNet的主要类型
Canny(边缘检测):提取参考图像中的边缘轮廓,让AI沿着这些轮廓生成新图像。适合需要精确控制物体形状和轮廓的场景。
OpenPose(姿势控制):识别人物的骨骼姿势,包括身体、手部和面部的关键点。适合需要精确控制人物姿势和动作的场景。
Depth(深度图):提取参考图像的深度信息(远近关系),让AI在保持相同空间结构的前提下生成新图像。
HED/HILite(软边缘):与Canny类似但提取更柔和的边缘,适合艺术风格的控制。
Scribble(涂鸦):从简单的手绘涂鸦生成完整图像,适合快速概念设计。
Segmentation(语义分割):识别图像中的不同区域和物体类别。
Lineart(线稿):从线稿生成完整的彩色图像,适合漫画上色和插画创作。
IP-Adapter(图像提示):通过图像而非文字来引导生成,适合风格迁移。
安装ControlNet
在AUTOMATIC1111 WebUI中安装ControlNet非常简单。
步骤一:打开WebUI的Extensions选项卡,点击 Install from URL。
步骤二:输入ControlNet扩展的GitHub地址,点击Install。
步骤三:等待安装完成后,重启WebUI。
步骤四:下载ControlNet模型文件,放入 extensions/sd-webui-controlnet/models/ 目录。
推荐的ControlNet模型包括:control_v11p_sd15_canny、control_v11p_sd15_openpose、control_v11p_sd15_depth。
Canny边缘检测实战
Canny是最基础也最常用的ControlNet类型。
场景:你有一张产品照片,想要在保持相同轮廓的前提下改变产品的风格和背景。
步骤一:在txt2img页面中输入你的文本提示词。
步骤二:展开ControlNet面板,启用一个ControlNet单元。
步骤三:上传你的参考产品照片作为输入图像。
步骤四:选择Canny模型,调整预处理参数。Canny的两个关键参数是low threshold和high threshold。
步骤五:设置ControlNet的权重(通常0.5-1.0),点击Generate。
OpenPose姿势控制实战
OpenPose是人物创作中最常用的ControlNet类型。它可以精确控制人物的姿势、手部动作和面部朝向。
使用OpenPose有两种方式:使用参考照片提取姿势,或使用OpenPose编辑器手动设置姿势。
使用参考照片:上传一张包含人物的照片,ControlNet会自动检测并提取人物的骨骼姿势。
手动设置姿势:使用3D OpenPose编辑器,你可以手动调整人物的各个关节点来创建自定义姿势。
OpenPose的权重设置建议:全身姿势控制使用0.8-1.0的权重;如果只需要大致参考姿势,可以使用0.5-0.7的较低权重。
Depth深度图实战
Depth ControlNet通过分析参考图像的深度信息,让你可以在保持相同空间结构的前提下改变图像的内容和风格。
典型应用场景:将一张照片转换为动漫风格——上传一张真实照片,使用Depth ControlNet提取深度信息,配合动漫风格的提示词和模型。
另一个应用是场景重构:上传一张室内照片的深度图,使用不同的提示词生成完全不同的室内设计。
Depth ControlNet的优势在于它只关注空间结构,不关注具体内容。
多ControlNet组合使用
ControlNet的一个强大特性是支持多个ControlNet同时使用。你可以组合不同的ControlNet类型来实现更精确的控制。
常见组合:Canny + OpenPose(同时控制轮廓和姿势)、Depth + Canny(同时控制空间结构和边缘细节)、OpenPose + IP-Adapter(同时控制姿势和风格)。
组合使用时需要注意每个ControlNet的权重设置。通常,主要控制的ControlNet使用较高权重(0.8-1.0),辅助控制的ControlNet使用较低权重(0.3-0.6)。
建议从单个ControlNet开始学习,熟练掌握后再尝试组合使用。
总结
ControlNet是Stable Diffusion从大致引导到精确控制的关键技术。通过掌握Canny、OpenPose、Depth等基础ControlNet类型的使用方法,你可以大幅提升AI绘画的可控性和精确度。
学习ControlNet的最佳路径是:先理解每种类型的工作原理和适用场景,然后通过实际案例进行练习,最后尝试组合使用不同的ControlNet来实现更复杂的控制需求。