接下来要介绍的是Stable diffusion中稍微难一点的,但同时也是比较实用的功能:ControlNet。
简单来说,ControlNet [1]是一个通过添加额外条件来控制稳定扩散模型中图像生成的神经网络。
额外条件怎么理解呢?在没有ControlNet之前,我们一般都是通过提示词来生成图片,这里的提示词其实就是一种条件。而额外条件就是在提示词的基础上再增加一些参考条件,比如人物的姿势、轮廓、空间感等。
为什么要添加额外条件呢?是因为之前只通过提示词生成的图片随机性太强了,跟抽卡一样,如果是个人玩玩没啥关系,但如果是工作上用,那效率就太低了。而通过添加额外条件,可以达到对出图的一个更精细化的控制,大大提高了出图的效率。
比如下面这张图,在提示词的基础上我们还通过ControlNet生成了一张人物轮廓图,并一起交给了SD,在ControlNet的作用下最后生成的图片也是同样的轮廓。

ControlNet的用处非常多,比如线稿上色、生成固定姿势的人物照(如上图)、将涂鸦变成高质量的图像和艺术字等,具体的生成效果取决于你使用的控制器,所以ControlNet的控制器也非常多,下面我们也会讲到。
一、ControlNet的安装
因为我使用的是秋叶整合包,所以其实已经自带了ControlNet,或者说已经提前安装好了。

如果没有安装的朋友,也可以在扩展这里点击从网址安装,然后像这样输入,并重启即可。
地址: https://gitcode.net/ranting8323/sd-webui-controlnet
如果安装成功,在文生图选项卡应该能看到ControlNet

二、ControlNet的模型
ControlNet 的模型分为两大类,一类是适用于SD1.5模型的ControlNet,另一类是适用于SDXL模型的ControlNet。
适用于SD1.5模型的ControlNet地址在:
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
百度网盘地址:
https://pan.baidu.com/s/1VI6AJh2ozBpSeLOEZWAjlw提取码:8888
也可以通过名称是否包含sd15来辨认:

如果你显存不太够(4G以下),也可以使用修剪后的ControlNet模型(大约少了一半,而且是个别模型才有),地址在:
https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main
适用于SDXL模型的ControlNet地址在:
https://huggingface.co/lllyasviel/sd_control_collection/tree/main
我在网上有看到一张图,对这个SDXL仓库的模型做了一个很好的分类,需要注意的是,里面有3个是适用于SD1.5的。
注:图片来源于 https://www.uisdc.com/controlnet-3
最后注意SD的大模型版本一定要和ControlNet的匹配,比如SDXL大模型用了SD1.5的ControlNet就会报错:

三、在线体验
如果没有安装SD,但又想体验ControlNet的朋友,也可以访问HuggingFace(需要魔法),地址是:
https://huggingface.co/spaces/hysts/ControlNet-v1-1
注:使用的是SD1.5模型
四、参数说明
ControlNet的参数如下图,大致分为三部分,分别是基础参数、模型参数和控制效果参数:

4.1 基础参数
第一个参数是启用,这个非常简单,如果要使ControlNet生效记得勾选
第二个参数是低显存模式,一般是当你的显存比较低(如4G以下),或者出现爆显存的情况下勾选
第三个参数是允许预览,勾选后多一个图片框展示ControlNet预处理后的图像
第四个参数是Mask Upload,是用来上传蒙版的
第五个参数是完美像素模式,决定了ControlNet预处理图像的分辨率
完美像素模式大家可能会比较迷,如果对这个有疑惑的朋友可以看下面这张图,箭头指向的就是ControlNet生成的预处理图像,而完美像素模式决定的就是这张图的一个分辨率(宽高)。

那完美像素模式是如何决定预处理图像的宽高呢?举个例子,比如我上面左边的图片像素是640x648,在不启用完美像素模式下,会多出一个Preprocessor Resolution的选项

这个选项控制的是图片最短边的长度,比如我上述图片是600x648,最短的边长度是600,而生成的预处理图像像素不会跟原图保持一致,它的最短边等于Preprocessor Resolution 设定的值,也就是512,而长边也会进行等比缩放,所以最终像素就变成512x518。

而在启用完美像素模式的情况下,预处理图像的分辨率跟出图时设定的分辨率有关,所以Preprocessor Resolution 选项也会被隐藏。比如我出图设定的是400x400,那么预处理图像的分辨率就会变成400x405.

如果还是不懂的,可以看下这篇文章:https://blog.csdn.net/JuMengXiaoKeTang/article/details/136592864
一般来讲,如果你使用的是像Openpose这样对精度要求不高的模型,可以适当调低预处理图像的分辨率以节约资源;但是对于Canny、Lineart、Depth对精度有一定要求的模型时,建议勾选以获取更好的效果。
4.2 模型参数
这部分可以说是ControlNet中的核心。预处理简单来说就是从从输入图像中提取特定信息(比如边缘、姿态、脸部手部等)的过程,预处理器则是一个具体的实现。
目前预处理器非常多,所以SD也帮我们列举了一些常用的预处理器,也就是上面的控制类型,使用控制类型可以帮我们快速选择预处理器和对应的模型。1
下图的红色爆炸按钮就是生成预处理图像的按钮。

而模型就是ControlNet所使用的模型了,也就是我们在第二部分提到的模型(一个模型可以对应多个预处理器)

除了上面的分类方式,我在之前收集的资料也看到其他的分类方式,具体出处已经找不到了,大家也可以看看。

4.3 控制效果参数
控制效果参数主要包括:控制权重、引导介入时机和引导结束时机和控制模式这四个。
因为我觉得这四个参数本质上就是在调节ControlNet的一个控制效果,所以起了这么一个名字。
控制权重:其实有点像提示词引导系数(CFG Scale),只不过这个控制的是ControlNet对出图的影响,数值越大,影响越大。
引导介入时机:什么时候开始使用ControlNet,为0就是一开始就介入。
引导终止时机:同理,什么时候结束使用ControlNet,为1就是一直介入直到结束。
控制模式:其实从它的选项也能看出来,就是更偏向提示词还是偏向ControlNet。
最后,由于ControlNet内容较多,所以打算分篇进行讲解,也希望本文能够帮到你!
关于AI绘画技术储备
学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!
对于0基础小白入门:
如果你是零基础小白,想快速入门AI绘画是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画!
需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
1.stable diffusion安装包 (全套教程文末领取哈)
随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。
最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本。

2.stable diffusion视频合集
我们在学习的时候,往往书籍代码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入门stable diffusion,科学有趣才能更方便的学习下去。

3.stable diffusion模型下载
stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。

4.stable diffusion提示词
提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。

5.AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

3万+

被折叠的 条评论
为什么被折叠?



