一、前言
欢迎阅读本文,我将在这里详细介绍如何运用 StableDiffusion 结合 ControlNet 插件,实现对图片生成的精准统制,以及如何融入 LoRa 模型进行创作,本文还会详细介绍缩小图片分辨率以及增强图片的多种法子。通过本文,你将学会如何结合这些功用创作出成果非常炸裂的图片,告别只会画人物的困扰,让你体验从入门到卸载软件的灵魂过程,内容巨干,须要一杯卡布奇诺帮助各人消化此内容,如果本文对你有帮助,那就随便点点咯(别逼我跪下来)。
更多SD干货:
二、Controlnet 统制图片生成
本篇文章我将会采用一个「文字特效的案例教程」给各人详细讲解操作流程以及相应的功用介绍,通过这个案例,带各人走入 StableDiffusion 的进阶玩法,话不多说,先看看案例图片:
1. 前期准备
在开始之前,我们须要先准备下模型、lora 以及相关素材:
Stable Diffusion 模型:ReV Animated v1.2.2(最新版本)
Lora 模型:light effect sci-fi scene
controlnet 插件模型以及黑白文字图片
模型下载推荐应用 civitai(国外)以及哩布哩布 AI(国内),前者须要特殊网络,下载也比较慢,但是模型丰富,数量极其的多。后者下载速度很快,我一般是在「civitai」上找到模型然后去「哩布哩布 AI」上搜,如果有须要的模型,那就直接在「哩布哩布 AI」上下载。
Controlnet 插件一般用活菩萨秋叶的启动包就会自带,不过模型须要自己安装一下,在往期文章我有专门介绍过 Controlnet 的插件安装教程以及模型的下载方式,此处不多做说明。
准备一张黑字白底的图片便可,此处的文字各人可自行修改,图片尺寸可以根据自己的须要调整合适便可(此处我给的尺寸为 512*288,也是 1920*1080 的缩小尺寸)。
2. 关键词描述
本次案例关键词为:
正向关键词:
(masterpiece, best quality:1.3),hd,8k,super details,science fiction,scenery,round stage,,
(杰作,最佳画质:1.3),高清,8k,超细节,科幻,风景,圆舞台+
反向关键词(通用关键词,哪哪都可用):
(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,bad hands,text,error,missing fingers,extra digit,fewer digits,cropped,jpeg
artifacts,signature,watermark,username,blurry,bad_pictures,DeepNegativeV1.x_V175T,nsfw,
告诉各人这个关键词哪来的呢,就是从 Lora 模型的网站上 Copy 下来的,一个小技巧,如果我们不知道怎么描述关键词,可以把相关的 Lora、模型图片信息上的关键词拿来二次改动便可:
3. 文生图基本设置
把以下标注的参数调整下,各人可以按照自己的想法调整,如果暂时还不会,就按照我的参数调整就好了。
这里说明下,lora 可以通过「生成」按钮下方的红色 icon 调用,点击此 lora 会给我们在正向关键词的后方添加该 Lora 参数。
如果你是自己写关键词,须要添加该 Lora 的触发词,触发词一般在模型下载网站作者会写出来,各人把触发词加上去便可。Lora 的权重也可以调整,默认参数是 1,作者生成的 lora 图片权重给的是 0.8~0.9,这大概率是作者测试的最佳参数值,各人也可以测试下别的参数值,具体看成果,本次案例 Lora 权重为 0.9,即
还需强调一个参数:采样法子 (Sampler)
采样法子有很多,一个个介绍的话内容就很多了,各人一般应用这两个参数便可:DPM++2M Karras 和 DPM++SDE Karras。一般模型下载页面会有作者推荐的采样法子,都是经过作者测试过的,所以我们跟着用就好了,当然也可以试试其他的采样方式,据说成果也差不多。
4. Controlnet 参数介绍及设置
接着在下面找到 Controlnet 插件,上传我们准备好的黑字白底图片,并把下面的参数设置好。
Controlnet Unit 须要多设置一个,我们将会应用两个 Controlnet 预处理对图片进行统制。
我们在第一个 Controlnet Unit 上选择 Canny,对应的模型也是 canny。他还有一个同胞预处理器“invert”,如果你是黑底白字,那么就选择“invert”。这个模型作用是统制主体的边缘进而统制最终生成图片的成果。
第二个 Controlnet Unit 选择 Depth,对应模型为 Depth。这个模型的作用是检测图片的空间层次,进而统制生成图片的空间感,这个模型适用于一些大型的空间场景。本次案例借助这个模型增强下空间感。
Depth 预处理也有好几个,其中「Depth_leres++」适合处理大场景大空间的图片(检测的细节很多),所以这个预处理器的处理时间会很长。如果没有很大要求的话,应用其他的预处理器便可,处理的结果有细微的差距,各人可自行尝试下。本次我应用的是「Depth_midas」预处理器。
须要注意一点是,我们要统制下权重,在第一个 unit 我们默认是 1,以 canny 模型为主,Depth 辅助增强空间感,那么就须要把改权重降低一点,比如 0.6~0.8。
敲黑板!!
上面我没有说写尺寸的事情吧,告诉各人一个小技巧,点击这个按钮,就可以把上传的黑字白底图的尺寸自动设置上去,这也是为什么在制作黑底白字图的时候须要把尺寸统制好。
5. 终于开始跑图了
上面讲了一大堆,其实也只是冰山一角,只把本次案例须要调整参数的地方讲了一下,不过这些也是一般生图的常用功用,这几个参数玩好也够用了,其他参数等我后续以案例教程的形式说明,我认为这样各人容易记一些。
废话不多说了,把各项参数设置好了之后就可以开始跑图了,如果你们出现错误,先检查下参数问题,看是不是跟我一致的。
先批量跑几批图出来吧,大致成果就是这样了:
到这一步如果你觉得结束了的话,那就错了,还剩下几个问题呢。
图片分辨率太小,不能用;
图片细节太糙,也不能用。
这时候就引出我们下一个板块了,图片缩小/细节增强功用,往下看:
三、缩小分辨率及建设细节的几种法子
下面几种法子还是根据我们上面生成的图片来演示,请在开始之前选中一张你所满意的图片便可。
1. 高分辨率建设
高清建设在文生图,也就是在关键词下方,它的原理就是把图片重新画一遍,然后增加图片细节及缩小分辨率。
我们先选中一张图片,固定 seed 值,然后点击启动“高分辨率建设”(可能其它版本是“高清建设”),就可以看到下面的一些参数。
为什么我们在生图的时候没有直接勾选这个呢,还要进行固定 seed 值的这一步参数,是因为这个功用还是会受到显卡限制的影响,如果批量跑图开启“高分辨率建设”,那生成图片时间会非常久,先用低分辨率尺寸出图效率会更高点,4090 用户请忽略。
再来看看它的相关参数:
具体看图,不要晕了!
缩小算法一般就应用,「R-ESRGAN 4X+ Anime6b」和「R-ESRGAN 4X+ 」,插画风格图片应用「R-ESRGAN 4X+ Anime6b」请无脑应用这两个!
重绘幅度保持在 0.5~0.8 便可,数值越大,图片改动越大,反之一个道理。
缩小倍数取决你须要把图片分辨率缩小多少,这个也不能随心所欲,须要看你的显存大小!
迭代步数与上面的一样,一般不须要调整(0 为默认与上面一致)。
最终的参数是这样的,抄作业了:
可以适当的调整重绘幅度,说不定会有意外惊喜哦。
2. 图生图缩小
除了高清建设,图生图也是 SD 自带的一个不错的缩小方式,原理跟高清建设一样,我们快速整一遍。
还是那张图,把图片发送到“图生图”,之前那张低分辨率图片怎么找到呢,可以在文件夹中找到,然后上传到“png 图片信息处”,点击“发送到图生图”。
图生图的参数基本与前面文生图一致,都是重复的功用。
然后点击生成,这张图片就被缩小了,与高清建设一样,依赖于显存大小。
用 4 倍缩小值,「3080 10G 显卡」生成时间为 27s,占用显存 10g,直接拉满了。
图生图也有“缩小算法”功用,只不过须要在设置里面找到,设置之后就是默认的算法了。
3. SD upscale 脚本缩小
这个功用也是在图生图中,与前面两种法子不一样的是,这个缩小原理是把一张图分成多个小块一个个生成,相当于就是生成一小块后再生成下一个小块,直到把整张图生成完毕,所以这个法子对显存小的玩家是一个好的选择,没有集中一张图生成。
在图生图底部找到这个“脚本”选项,选中“应用 SD 缩小(SD upscale)”,在底部可以看到他的参数信息,缩小倍数和缩小算法与前面一样。
这个“分块重叠像素宽度”须要注意下,具体原理不做解释了,各人只要记住,这里如果是 64,那么我们就把上面的高度和宽度分别加 64 就行了,不然可能会出现图像分割的情况(本次案例测试没出现这个问题,如果有,请记住这个法子!)
最后这张图是在 4 倍缩小值生成的,分辨率也达到了 2048*1152。
「3080 10G 显卡」生成时间为 23s,占用显存 4g 左右。(前面两种占用显存都达到了 10G,拉满了)
4. 后期处理功用缩小
后期处理这个软件在其他版本叫做“附加功用”(这两个名字的功用是同一个),“后期处理”法子原理就是把原图等比缩小并处理一些细节(不重绘),成果没有上面几种法子好,但是也能满足大部分场景须要,处理时间非常快。
进入“后期处理”这个板块,上传小分辨率图片,我们只须要设置好缩放倍数/缩放尺寸和缩小算法便可,其他的参数默认不用管,点击生成就可以为我们生成一张大分辨率的图片,这个图片是 100%还原的(没有经过 SD 重绘)。
这个功用也可以缩小非 SD 绘制的图片,比如我上传一张通过 Midjourney 生成的图片,该图片尺寸为 1456*816。拖入“后期处理”中,把缩小倍数调整到 4 倍,点击生成就会把这张图片分辨率缩小了。
可以看到缩小之后图片确实清晰很多,各人自己尝试后感受会更加明显。
5. 进阶缩小功用-Tiled Diffusion
目前 StableDiffusion 最强的图片缩小功用-Tiled Diffusion,这是 StableDiffusion 一个插件,它所实现的缩小建设功用比前面 4 种法子更好,强烈推荐各人应用这个法子!!!
原理与 SD upscale 类似,我们直接来看看演示案例吧,原理什么的各人看的可能会头晕…
首先就是这个插件的安装了,如果你是安装最新版本的一键启动包,那么这个插件已经为你安装好了。如果你的 sd 中没有,那请你手动安装下:
回到图生图功用,按照之前的法子,把那张低分辨率的图片发送到这里来,在下方底部就可以找到 Tiled Diffusion 和 Tiled VAE,这两个插件是共用的,缩小图片的时候两者都勾选便可。
这个插件也比较简单,通常情况我们只须要勾选启用就好了,注意统制下缩小尺寸便可。在缩小尺寸这块各人可能会混乱,图生图有一个尺寸,Tiled Diffusion 也有一个缩小倍数,到底是怎么回事呢?这里有两种法子:
①应用图生图的尺寸
我们可以把图生图的原始尺寸*3,也就是缩小 3 倍(原:512*288,缩小:1536*864),取消勾选“保持输入图像大小”,并把缩小倍数改为 1 便可。
②应用 Tiled Diffusion 缩小倍数
图生图的尺寸保持不变,勾选“保持输入图像大小”,缩小倍数调整为 3,(勾选“保持输入图像大小”即图生图尺寸不生效)
上面两种法子都可以,各人自行选择~
这个插件的其他参数我们都不须要去具体了解,保持默认就行了,注意统制以下几个参数便可(希望你不要晕):
最后一步,统制下重绘幅度,因为我们是为了缩小图片分辨率,所以我们的重绘幅度一定不要调的太高。大概 0.3~0.5 这个样子,没有具体参数,须要各人自行尝试。
我们点击生成可以看下这几个重绘幅度之间的差别:
经过测试,重绘幅度保持在 0.3~0.5 便可,0.5 以上图片就被重绘的过于多了。
0.3-0.5 细节改变不大,保留了原图的细节,0.5 的参数会额外再增加部分细节。
6. 高阶建设缩小功用 — Controlnet Tile 模型
敲黑板!!重点来了!重点来了!重点来了!
上一步我们介绍了 Tiled Diffusion 插件的玩法,这次来个更强的 Tile 模型,它是基于 Controlnet 插件开发的模型,可以把低分辨率图片变为高分辨图片,并且,还可以通过统制参数增强画面细节!
它的具体应用法子是结合 Tiled Diffusion 应用,两者相互结合带入出图流中,成果异常的好,到底有多震撼,看下去你就知道了。
回到“文生图”,你没看错,上面基本上都是用到的“图生图”,这次我们应用 Controlnet 插件须要到这里来。
然后请把目光回到 Controlnet 生成低分辨率图那里,还是这张图,保持各项参数不变,看图:
请把 Tiled Diffusion 和 Tiled VAE 勾选启用,这一步不要忘了,我们是须要结合这个插件应用。
然后我们统制图片缩小尺寸是须要在这里进行,勾选“覆盖图像尺寸”并设置缩小图片尺寸,即「512*288」缩小 3 倍为「1536*864」,(文生图上面的尺寸就不须要管了,字面意思)
再到 Controlnet 插件这里来,上传之前的低分率图片,选中“Tile(分块)”便可,其他参数该勾选的勾选。最终的图片成果由“统制权重”来调整。
上述的操作完成后,点击生成图片便可,最终图片生成的成果看设置的权重参数,看图可得出:
低于 0.6 以下的图片成果,文字产生了较大的形变,甚至是低于 0.4 之后完全没有主体存在;
高于 1.1 以上的图片成果,文字几乎看不出变化了;
所以本次案例测试结果为权重统制在 0.6~1.1 左右是比较合适的。
最后再来看下完整大图!!!
四、完结撒花
到这里本次案例教学就结束啦,不知道各人懵逼了没有,可以在评论区告诉我。
本篇文章用时 12 个小时,通过一个文字特效案例介绍了 StableDiffusion 最强大也是最实用的两个功用:Controlnet 以及缩小/增强图片的法子,掌握了这两个功用技巧,就不怕别人说我们只会画“老婆”了。
各人一定要好好掌握这两个功用,在接下来的商业化案例教程中,我可能会重复应用本文介绍的功用,各人别到时候说看不懂哈,在下告辞,有疑问再来 call 我!