本次记录ControlNet(v1.1)的基础使用。
有点事耽搁了,晚了好多天才开始,然后写到一半突然来了个v1.1的大更新,直接傻了...
又重新学了一遍.....主要是插件还天天更新修复,一会变这个一会变那个,真的欲哭无泪。此次学习记录以4月18日20a5310
版本为基准,已经关闭了插件自动更新,写完之前绝不打开。
(资料图片仅供参考)
说实话大佬们纷纷献言献策身体力行,插件越更新越专业,能参考的知识也越来越深奥,上手难度越来越大,感觉已经不是给普通人玩的了......
再有更新肯定还会有变化,大家参考下就行
因为不懂算法也不懂绘画,以下大部分内容只是通过结果进行的反推,说的不对轻喷...
前面几篇有需要的新手小伙伴可以去合集中看看:
(一)Windows本地搭建
(二)插件及模型安装
(三)基础使用教程
(三.5)提示词的进阶使用
(四)模型推荐
(五)图生图的基础使用1
(六)图生图的基础使用2
题外话:发现B站有好多SD的教程都是搬运的油管视频,搬运其实挺好的,方便大家学习。但是连出处都不写就过分了,我还看到过一个把人家留的群啥的给剪掉了再发到B站.....然后下面评论都在夸up,看的好尴尬.....
前面说了文生图和图生图:
文生图的关键是提示词,提示词决定出图的内容,但即便是提示词很大一部分也是AI的自由发挥,想要符合期望只能一次次抽卡;
图生图的关键是参考图,提示词以及参考图决定出图的内容,参考图的存在限制了一部分AI的发挥,使它比文生图更靠近我们的期望,可以说图生图是加强了我们对文生图的控制,就好像抽卡的时候给你限定了卡池;
ControlNet(简称cnet)以图生图为基础,进一步加强了控制,不但给你限定了卡池,卡池里还只有SSR。
从表面看,都是图生图,凭什么ControlNet能控制的这么好?
图生图把整个图片宽泛的拿来参考,而ControlNet从参考图中提取的信息更精准,如下图,是它能提取的内容:↓
v1.1↓
然后,以我浅薄的理解,我认为ControlNet是根据我们的提示词和预处理图,通过他的模型生成了一个类似Lora那样的微调,附加到大模型上,既符合我们的期望,又不会破坏大模型。简单的说,就好像一棵树不去管它他会随意生长,如果在它生长的时候同时进行修剪固定他就会在一定程度上长成我们想要的样子。
看我简单画的流程图:绿色为ControlNet的流程,蓝色为正常流程↓
所以说,ControlNet的关键步骤就是预处理。只要控制好这个步骤,就能让AI画出我们想要的内容。
插件安装不多说了,这是仓库地址
此部分写于更新之前,后面针对更新对部分内容做了补充说明
模型文件放在...\extensions\sd-webui-controlnet\models
sd-webui-controlnet插件同时支持完整模型和精简模型。
基于v1.1官方说明判断,这几个原始模型可以弃了,看看就行
原始完整模型基于sd1.5训练,一个就接近6g,空间足够的可以去下载,使用Web UI其实不需要用这个
t2i模型
上面的原始模型里没有t2i的模型,需要自己去TencentARC下载,关于t2i后面再说。建议新建个文件夹存放t2i模型,方便后续管理。直接在models文件夹下新建即可,插件可以识别子文件夹。
不需要全部下载,有15的下15,没15下14就行↓
在sd webui中使用t2i模型需要配置文件,t2i配套的配置文件插件本身附带,按照下面的提示自己改名即可。↓
就是把adapter对应config文件改成和adapter同名。
例如下载的是t2iadapter_canny_sd14v1.pth,对应的是sketch_adapter_v14.yaml,那么就把sketch_adapter_v14.yaml复制一份,重命名为t2iadapter_canny_sd14v1.yaml。
v1.1版本已经更新了配置文件,不需要自己重命名了,直接复制即可
现在一般使用的是精简模型,单独提取了控制网,体积缩到了700mb,可以在下面的网址下载,里面同时包括了t2i的模型,
注意t2i的模型需要单独复制配置文件并重命名,别弄错文件名,改成和模型一样的名字↓
有个简单的下载方法,打开...\extensions\sd-webui-controlnet\models文件夹,在文件夹打开终端,输入
等下载完成,会在models里生成一个ControlNet-modules-safetensors子文件夹,不用复制出来,直接在插件里刷新就可以用,下次有更新直接git pul。↓
我整合了一份放在网盘,需要的自取
ControlNet-modules-safetensors这个仓库的t2i模型可能并不是最新的,如果想体验最新的,自己再去TencentARC下载就可以,还是注意配置文件重命名。
1.1已经更新了v2的配置文件,在model文件夹,自己去复制就行
(说实话t2i下载下来我就没用过,没啥研究的下不下都行,包括上面那些,可以只下载用得到的)
v1.1修复了旧版模型的错误,并添加了一些新模型。看新版说明中的图像错误应该是指的修复了基于SD1.5的原始模型,使用精简版应该不大受影响,除了修复错误,新模型还有很多改进,还添加了一些预处理器,建议删掉以前的模型直接使用新模型。这次新模型没有集成sd1.5,所以不大,一个1.4G。↓
从v1.1版本开始的命名规则:这个规则可能意味着后续模型改动是常态....↓
安装方法:自己去下方那个ControlNet-v1-1网址下载即可
简易安装方法和上面一样,直接在...\extensions\sd-webui-controlnet\models文件夹git clone,然后刷新就行,里面自带配置文件,不需要再复制
此仓库包含全部模型,有两个试验模型(后缀是e)control_v11e_sd15_shuffle、control_v11e_sd15_ip2p
和一个未完成模型(后缀是u)control_v11u_sd15_tile
,使用时要注意↓
个别图例使用的是百度图片搜索的不知名大佬作品
其余原图来自自制和C站
基本所有的示例都是文生图
此部分写于v1.1更新之前,因为新版基础功能并未大修改,所以只是补充未做大变动
这里可以上传两种图像
原图:
一种是上图我放的那种,我们称其为原图,需要进行预处理操作,提取我们想要的信息。选择不同的预处理器会产生不同的预处理图,例如↓
后面这种图片我们统称原图
模式图:
另一种是模式图,就是类似预处理过的图像,这种图不需要再预处理。后面这种图片我们统称模式图。
canny模式图→不需要处理↓
(也不是不能预处理,想要转换模式就可以使用预处理。比如虽然上传了hed模式图,但是我只是拿来画姿势,那么也可以用预处理来提取姿势);
hed模式图→openpose预处理,(左:输入的图,中:预处理图,右:出图)↓
如果是白色背景的图,例如自己画的线稿,是白色背景,想直接作为canny模式图,需要开启反色模式。
反色模式似乎仅适用于下面举例的那种白色背景、不需要预处理、直接作为模式图来使用的形式(或者说只有黑白两色,如线稿、边缘检测、涂鸦等等,另外深度图也可以用....);
v1.1中新添加了lineart线稿模型,仍然适用该规则。以后这种线稿类可以不再使用canny模型,直接使用lineart出图
反色是在预处理之后起作用,所以预处理并不能看出反色的效果。其他情况下,如果使用预处理,预处理会自动反色,就不要再勾选反色,不然会造成反效果。
正确1:线稿(作为canny模式图)→不预处理→反色;中:反色后模型的实际参考图↓
错误1:线稿(作为canny模式图)→不预处理→不反色↓
正确2:线稿(作为原图)→涂鸦预处理→不反色;(左:输入的图,中:预处理图,右:出图;下同)↓
错误2:线稿(作为原图)→涂鸦预处理→反色↓
v1.1版本 lineart模型:
线稿→不预处理→反色→lineart模型,这个直接作为线稿输入,效果还是差点,看下面的对比。↓
线稿→线稿预处理→不反色→lineart模型。对比canny,这个线条比边缘检测强太多了↓
专门用于动漫线稿的lineart animal,因为不支持无提示词模式,等后面再测试
在ControlNet预处理图中,除了法线、语义分割、color这几个,在其他的几个中黑色内容代表不参与构图,不会影响出图,如果是其它颜色,就会作为参考进入绘图流程导致出现问题,因此不正确使用反色会造成类似反转蒙版的效果。
让我们尝试一下将深度图反色,然后使用深度模型出图:
depth模式图→不预处理→反色→depth模型;最右是反色后的参考图↓
也很有意思
v1.1的更新中添加了这么一句,我感觉其实不大准确↓
这句话的意思是如果上传的图片是线稿涂鸦或者边缘,预处理设置为无
直接上传模式图的时候正常我们都是选无的,但是v1.1我试了一下,线稿不预处理直接使用,和经过预处理效果并不一样,比如上面那个对比:↓
经过lineart预处理更准确些,这个还要靠大家自己测试一下效果。
另外涂鸦不只是有黑白涂鸦,如果使用彩色涂鸦的图,必须要预处理的。
震惊(ΩДΩ)!!
4.18的更新取消了上面那句话,顺便还取消了反色选项,增加了一个invert的预处理器,这个预处理器就是以前的反色。这样更容易理解了,只要是白色背景黑色线条的线稿、涂鸦、边缘检测等的模式图,选它就行。
我还是那个意见,并不是不能使用其他预处理器,自己试验效果。
接着震惊!!!
又更新了,这次添加了lineart_standard专门用于预处理这种线稿,麻了
回到主界面的介绍,③,④
以上两种原图的输入,都不要使用旁边的小画笔功能。小画笔是为下面的空白画布准备↓
创建空白画布:
按照设置的尺寸创建一个白色画布,使用画笔手绘。这个地方功能等同于涂鸦,可以不预处理,模型直接选择scribble;也可以选涂鸦预处理,当然如果想要神奇效果,也可以尝试其他预处理器与模型.....
画布→scribble模型,虽然是白色画布,不需要反色。↓
(事实上就连guess模式搜猜不出来我这是画的啥,后来不得以我只能输入了个mouse提示词来稍稍引导一下....)
注意,此处的尺寸设置和出图尺寸没关系,和输入的图像也没关系,仅仅是指创建的画布尺寸。在ControlNet中,没有任何一个参数会影响到出图尺寸(除了下面要说的小箭头),后面要说的画面缩放模式也仅是影响构图。
v1.1将这部分折叠起来,调整到了预览预处理下面,有效防止了误解↓
最后一个向上箭头是将出图尺寸调整为输入ControlNet的图像尺寸;
第一个相机好像是调用摄像头,我用手机试了下确实是;
第二个双箭头,F12查了下,mirror_webcam,镜像摄像头画面,但是怎么试都没效果。↓
此部分写于v1.1更新之前,仍然是做补充说明
启用不用说;
反色上面说了;
v1.1 4.18更新直接给移除了
这个是上传法线贴图专属的功能。normal模型使用的法线贴图是BGR格式,但是预处理图是RGB格式,我们将生成的预览图保存成图片,也是保存的RGB格式,因此当我们直接上传法线模式图的时候需要勾选此项,也不用深究怎么判断是什么格式,直接出图,如果不正常就勾选。(一些第三方的法线贴图也可能是rgb,需要勾选)
使用normal map预处理器生成法线贴图的时候不需要勾选,模型会自动反转。
关于为什么使用BGR
低显存优化也不说了,官方的说法是低于8g开启;
神器也,上面的示例图片全部都是使用此模式生成的,除了老鼠那一张,其他的都没添加提示词。
使用此模式首先要在设置中"开启启用基于CFG的引导",保存重启↓
顺便说一下,启用组合多窗口是在这↓
关于无提示词模式,可以在这里查看官方的解释
简单的说就是ControlNet通过识别输入的图像以及提取的内容,自动的进行联想。
下面简单的对比一下效果,来自C站@listen2023的萧何月下追韩信....
无提示词,默认参数,使用depth预处理,
左:原图;中:直接出图;右:开启无提示词模式↓
使用 <lora:Xiaorenshu_v20:0.9>↓
添加画质提示词↓
添加内容提示词high detailed,two man,riding motorcycle,moon↓
更多内容提示词↓
好了,差不多到达我的能力极限了,换个hed预处理看看还原度,↓
再换个更自由的伪涂鸦模式↓
去掉lora,↓
无提示词模式完胜。
总结一下:
基本可以代替画质、光影以及色彩提示词;↓
只需要简单的提示词就能描绘出很多细节。↓
这个模式适合懒得写提示词以及写不了几个提示词的人;
不考虑其他因素,提示词越多,这个加成效果越弱。
虽然是我这种小白的福音,但是对于专业人士应该不需要,毕竟是专业人士需要融入更多自己的内容,这个本质上还是AI自由发挥。
下文中的出图如果没有说明,均使用无提示词模式。
真是炸裂,v1.1又更新了↓
此处多了个允许预览的选项,移除了原来预览和隐藏按钮
需要先勾选①允许预览,才会出现②,点击②查看预览图
Copyright © 2015-2022 体育日报网版权所有 备案号: 浙ICP备2022016517号-29 联系邮箱:514 676 113@qq.com