前言
不知道你是否发现,无论你再怎么精确使用文本提示词来指导SD模型,也无法描述清楚人物的四肢角度、背景中物体位置等等,因为文字的表达能力很有限。那么有没有一种通过图像特征来为扩散模型生成过程提供更加精细控制的方式,答案是肯定,那就是ControlNet!
目录
1 什么是ControlNet
2 安装ControlNet
3 ControlNet实战应用
**一、**什么是ControlNet
原理
ControlNet是一种能够嵌入任意训练好的扩散模型,并为这些扩散模型提供更多控制条件的神经网络结构。
ControlNet的基本结构如图
ControlNe的基本结构由一个对应的原先网络的神经网络模块和两个“零卷积”层组成。在之后的训练过程汇总,会“锁死”原先网络的权重,只更新ControlNet基本结构中的网络“副本”和零卷积层的权重。这些“副本”将学会如何让模型按照新的控制条件来生成结果,而被“锁死”的网络则会保留原先网络已经学会的所有知识。即使用来训练ControlNet的训练集规模较小,被“锁死”网络原本的权重也能确保扩散模型本身的生成效果不受影响。
这些零卷积层是一些权重和偏置被初始化为0的1×1卷积层,训练开始时,无论新添加什么控制条件,零卷积层都输出0,对扩散模型的生成结果无影响,但随着训练过程深入,Controlnet将学会逐渐调整扩散模型原先的生成过程,使得生成的图像逐渐向新添加的控制条件靠近。
Stable Diffusion + ControlNet
通过这种方式,ControlNet可以重用SD编码器作为一个深度,鲁棒和强大的骨干来学习不同的控制。许多证据验证了SD编码器是一个优秀的骨干。
注意连接层的方式是计算效率高的。原始SD编码器不需要存储梯度(锁定的原始SD编码器块1234和Middle)。所需的GPU内存并不比原来的SD大多少!
更多ControlNet的生成过程,感兴趣的朋友,可以看看原文:
https://github.com/lllyasviel/ControlNet
二、安装ControlNet
下载ControlNet插件
你如果用的绘世启动器,最新版已经内置了ControlNet插件。
如果没有安装插件如图:
插件地址:https://gitcode.net/ranting8323/sd-webui-controlnet.git
安装后重启,在文生图或图生图里面可以找到对应的controlnet设置模块:
这是一位SD资深大神整理的,100款Stable Diffusion超实用插件,涵盖目前几乎所有的,主流插件需求。
全文超过4000字。
我把它们整理成更适合大家下载安装的【压缩包】,无需梯子,并根据具体的内容,拆解成一二级目录,以方便大家查阅使用。
单单排版就差不多花费1个小时。
希望能让大家在使用Stable Diffusion工具时,可以更好、更快的获得自己想要的答案,以上。
如果感觉有用,帮忙点个支持,谢谢了。
想要原版100款插件整合包的小伙伴,可以来点击下方插件直接免费获取
100款Stable Diffusion插件:
面部&手部修复插件:After Detailer
在我们出图的时候,最头疼的就是出的图哪有满意,就是手部经常崩坏。只要放到 ControlNet 里面再修复。
现在我们只需要在出图的时候启动 Adetailer 就可以很大程度上修复脸部和手部的崩坏问题
AI换脸插件:sd-webui-roop
换脸插件,只需要提供一张照片,就可以将一张脸替换到另一个人物上,这在娱乐和创作中非常受欢迎。
模型预设管理器:Model Preset Manager
这个插件可以轻松的创建、组织和共享模型预设。有了这个功能,就不再需要记住每个模型的最佳 cfg_scale、实现卡通或现实风格的特定触发词,或者为特定图像类型产生令人印象深刻的结果的设置!
现代主题:Lobe Theme
已经被赞爆的现代化 Web UI 主题。相比传统的 Web UI 体验性大大加强。
提示词自动补齐插件:Tag Complete
使用这个插件可以直接输入中文,调取对应的英文提示词。并且能够根据未写完的英文提示词提供补全选项,在键盘上按↓箭头选择,按 enter 键选中
提示词翻译插件:sd-webui-bilingual-localization
这个插件提供双语翻译功能,使得界面可以支持两种语言,对于双语用户来说是一个很有用的功能。
提示词库:sd-webui-oldsix-prompt
提供提示词功能,可能帮助用户更好地指导图像生成的方向。
上千个提示词,无需英文基础快速输入提示词,该词库还在不断更新。
以后再也不担心英文写出不卡住思路了!
由于篇幅原因,有需要完整版Stable Diffusion插件库的小伙伴,点击下方插件即可免费领取