Stable Diffusion AI绘画:ControlNet预处理功能详解
Stable Diffusion AI绘画:ControlNet预处理功能详解
ControlNet是Stable Diffusion AI绘画工具中的一个强大插件,它通过选择不同的预处理器和辅助生成模型,可以更精准地控制AI绘画的结果。本文将详细介绍ControlNet的安装、基本使用方法以及各种预处理器的使用技巧,帮助AI绘画初学者更好地掌握这一工具。
ControlNet插件的安装
1.1 安装方式
对于新版本的Stable Diffusion,ControlNet是自带的,无需额外安装。对于旧版本,可以通过以下步骤进行安装:
- 打开扩展管理界面
- 选择"从网址下载"
- 输入插件地址:https://github.com/Mikubill/sd-webui-controlnet
- 安装并重启UI
1.2 辅助生成模型下载
初始安装的ControlNet缺少辅助生成模型,需要从Liblib等国内模型网站下载所需的预处理器模型。下载后,将模型文件放置在以下目录:
项目存储盘:\sd-webui-aki-v4.9\extensions\sd-webui-controlnet\models
刷新界面后,就能在预处理器选项中看到对应的模型。
1.3 更新方式
要检查ControlNet插件的版本更新,可以在整合包主页选择版本管理。如果需要更新v1.0版本,建议先删除以下目录:
项目存储盘:\sd-webui-aki-v4.9\extensions\sd-webui-controlnet
然后再进行更新,以避免版本冲突。
1.4 如何增加多个ControlNet
如果需要使用多个ControlNet控制框,可以在设置中调整ControlNet单元数量,并重启UI。
ControlNet插件的基本使用
2.1 上传图片框
- 图片上传框:用于上传需要作为参考的原图图片。
- 创建画布:创建一个白色背景画布,可以在画布上进行涂鸦,ControlNet会根据涂鸦的图片进行参考。
- 开启网络摄像头:调用电脑摄像头并实时传输画面,需要在webui程序与摄像头同一环境下使用,并授权摄像头权限。
- 镜像网络摄像头:水平翻转摄像头画面。
- 将当前尺寸信息发送到生成设置:获取参考图片的宽高尺寸并同步到生成设置中。
2.2 功能按钮
- 启用:决定是否启用ControlNet插件。
- 低显存模式:对低显存设备进行优化,但会增加生成时间。
- 完美像素模式:让ControlNet自行决定预处理图片的分辨率,以获得更好的优化结果(建议勾选)。
- 允许预览:显示预处理后的结果预览。
- 高效子区蒙版:通过上传蒙版,可以指定画面中的某些区域进行特定处理。
2.3 预处理器和模型
ControlNet有两个主要功能:将参考图转换为数据图的预处理,以及通过模型应用控制的辅助生成。选择某个控制类型后,会显示对应的预处理器和模型。有些预处理会现场下载所需模型,建议提前将本地下载好的预处理模型放置在指定目录,以加快速度。
2.4 控制权重和介入值
- 控制权重:决定ControlNet对生成结果的控制强度,数值越大,特征越明显。
- 引导介入时机:控制ControlNet介入图片生成的时机,0表示一开始就介入。
- 引导终止时机:控制ControlNet停止介入图片生成的时间点。
2.5 控制模式
ControlNet提供三种控制模式,虽然对预处理图片无影响,但会影响最终生成的图片结果。下图展示了三种模式的效果对比:
2.6 缩放模式
- 仅调整大小:硬拉伸图片到指定尺寸。
- 裁剪后缩放:裁剪图片到指定尺寸。
- 缩放后填充空白:以图片最后一个像素为基础填充新尺寸的元素。
预处理器各项控制类型的详细介绍
1. Canny (硬边缘)
Canny边缘检测主要提取人物或物体的边缘线,通过调整低阈值和高阈值区间,可以控制图片保留的细节程度。
2. Depth (深度)
Depth预处理器通过提取图片中的深度信息生成深度图,颜色越浅代表物体越近,颜色越深代表物体越远。通过调整参数,可以选择性保留图片的前景或背景结构。
3. Inpaint (局部重绘)
Inpaint预处理器支持弱提示词或无提示词的修复,使用方式简单高效。主要包括三种类型:
- inpaint_only:仅重绘蒙版区域。
- inpaint_only+lama:在inpaint_only前进行特征抹除。
- inpaint_global_harmonious:侧重蒙版区域融合,可能会影响全局色调。
4. Tile (分块)
Tile模型主要用于细节重绘,而不是增强。主要包括四种预处理器:
- tile_resample:通过缩小图片分辨率来重绘细节。
- tile_colorfix:解决二次元动画风格的色调问题。
- tile_colorfix+sharp:加入锐化处理。
- blur_gaussian:添加高斯模糊效果。
5. Lineart (线稿)
Lineart预处理器将图片转换为线稿,适用于配色色调有特殊要求的场景。主要包括五种类型:
- lineart_anime:适合浅色图片处理。
- lineart_anime_donoise:适合深色图片处理。
- lineart_coarse:适合近景图片。
- lineart_realistic:保留细节最丰富。
- lineart_standard:适用于纯线稿图片。
6. SoftEdge (软边缘)
SoftEdge预处理器边缘柔和,特别适合处理毛发等细节。主要包括四个预处理器:
- softedge_hed / softedge_hedsafe
- softedge_pidinet / softedge_pidisafe
7. Scribble (涂鸦)
Scribble预处理器对图片包容性好,即使是质量较差的涂鸦也能生成高质量图片。主要包括三种预处理器:
- scribble_hed / scribble_pidinet
- scribble_xdog:精度更高,可通过阈值控制精细程度。
8. Shuffle (随机洗牌)
Shuffle预处理器打乱图片内容但保留色彩,适合生成风格色调相近的新图片。建议与其他预处理器组合使用。
9. Reference (参考)
Reference预处理器用于风格迁移,效果介于Shuffle和大模型生成之间。主要包括三种类型:
- reference_only
- reference_adain
- reference_adain+attn
10. Recolor (重上色)
Recolor预处理器将参考图转换为黑白图片后再上色。主要包括两种预处理器:
- recolor_luminance:注重亮度。
- recolor_intensity:注重色彩饱和度。
11. Segmentation (语义分割)
Segmentation预处理器将图片中的物体进行语义分割,可以指定对某色块进行替换。主要包括三种预处理器:
- seg_ofade20k:识别准确度最高。
- seg_ofcoco:完整性最好。
- seg_ufade20k:不推荐使用。
12. OpenPose (姿态)
OpenPose预处理器将参考图转换为骨骼图,可以精确控制人物姿态。可以通过内嵌插件编辑骨骼图,或使用3D方法获取更丰富的姿态。
13. NormalMap (法线贴图)
NormalMap预处理器通过凹凸模具展现图片内容,适合近景细节保留。
14. MLSD (直线)
MLSD预处理器适合室内设计或建筑设计规划等场景。主要参数包括:
- MLSD Value Threshold:屏蔽低质量直线。
- MLSD Distance Threshold:消除短线条。
资源下载
- sd-webui-aki启动器和所需环境:https://pan.quark.cn/s/2c832199b09b#/list/share/1d7c0615a2de45b7961768446e82034c-sd101webui101aki
- SD推理模型:https://pan.quark.cn/s/d523667b73bb#/list/share/11720a23c0ea417e96bf92456110cd80-SD%E6%A8%A1%E5%9E%8B%E6%95%B4%E7%90%86
- ControlNet预处理器及辅助模型:https://pan.baidu.com/s/1qEEPnGnki1mj8nQIyU8F5g?pwd=msi3#list/path=%2F
- 大模型、Lora模型和预处理器模型:Liblib.Art官网、Tusi.Art官网