一、输入框
(1)图像和画布栏
这里可以上传两种图像
原图:
一种是上图我放的那种,我们称其为原图,需要进行预处理操作,提取我们想要的信息。选择不同的预处理器会产生不同的预处理图,例如↓
后面这种图片,统称原图
模式图:
另一种是模式图,就是类似预处理过的图像,这种图不需要再预处理。后面这种图片我们统称模式图。
(也不是不能预处理,想要转换模式就可以使用预处理。比如虽然上传了hed模式图,但是我只是拿来画姿势,那么也可以用预处理来提取姿势);
hed模式图→openpose
如果是白色背景的图,例如自己画的线稿,是白色背景,想直接作为canny模式图,需要开启反色模式。
(2)反色模式:
反色模式似乎仅适用于下面举例的那种白色背景、不需要预处理、直接作为模式图来使用的形式(或者说只有黑白两色,如线稿、边缘检测、涂鸦等等,另外深度图也可以用….);
v1.1中新添加了lineart线稿模型,仍然适用该规则。以后这种线稿类可以不再使用canny模型,直接使用lineart出图
反色是在预处理之后起作用,所以预处理并不能看出反色的效果。其他情况下,如果使用预处理,预处理会自动反色,就不要再勾选反色,不然会造成反效果。
正确1:线稿(作为canny模式图)→不预处理→反色;中:反色后模型的实际参考图↓
错误1:线稿(作为canny模式图)→不预处
正确2:线稿(作为原图)→涂鸦预处理→不反色;(左:输入的图,中:预处理图,右:出图;下同)↓
v1.1版本 lineart模型:
线稿→不预处理→反色→lineart模型,这个直接作为线稿输入,效果还是差点,看下面的对比。↓
线稿→线稿预处理→不反色→lineart模型。对比canny,这个线条比边缘检测强太多了↓
专门用于动漫线稿的lineart animal,因为不支持无提示词模式,等后面再测试
在ControlNet预处理图中,除了法线、语义分割、color这几个,在其他的几个中黑色内容代表不参与构图,不会影响出图,如果是其它颜色,就会作为参考进入绘图流程导致出现问题,因此不正确使用反色会造成类似反转蒙版的效果。
让我们尝试一下将深度图反色,然后使用深度模型出图:
depth模式图→不预处理→反色→depth模型;最右是反色后的参考图↓
v.1.1 的更新中,添加了这么一句,感觉其实不太准备
这句话的意思是如果上传的图片是线稿涂鸦或者边缘,预处理设置为无
直接上传模式图的时候正常我们都是选无的,但是v1.1我试了一下,线稿不预处理直接使用,和经过预处理效果并不一样,比如上面那个对比:↓
经过lineart预处理更准确些,这个还要靠大家自己测试一下效果。
另外涂鸦不只是有黑白涂鸦,如果使用彩色涂鸦的图,必须要预处理的。
4.18的更新取消了上面那句话,顺便还取消了反色选项,增加了一个invert的预处理器,这个预处理器就是以前的反色。这样更容易理解了,只要是白色背景黑色线条的线稿、涂鸦、边缘检测等的模式图,选它就行。
再次更新,添加了lineart_standard专门用于预处理这种线稿
(3)画布栏
以上两种原图的输入,都不要使用旁边的小画笔功能。小画笔是为下面的空白画布准备↓
创建空白画布:
按照设置的尺寸创建一个白色画布,使用画笔手绘。这个地方功能等同于涂鸦,可以不预处理,模型直接选择scribble;也可以选涂鸦预处理,当然如果想要神奇效果,也可以尝试其他预处理器与模型…..
(事实上就连guess模式搜猜不出来我这是画的啥,后来不得以我只能输入了个mouse提示词来稍稍引导一下….)
注意,此处的尺寸设置和出图尺寸没关系,和输入的图像也没关系,仅仅是指创建的画布尺寸。在ControlNet中,没有任何一个参数会影响到出图尺寸(除了下面要说的小箭头),后面要说的画面缩放模式也仅是影响构图。
v1.1将这部分折叠起来,调整到了预览预处理下面,有效防止了误解↓
(4)三个小按钮
最后一个向上箭头是将出图尺寸调整为输入ControlNet的图像尺寸;
第一个相机好像是调用摄像头,我用手机试了下确实是;
第二个双箭头,F12查了下,mirror_webcam,镜像摄像头画面,但是怎么试都没效果。↓
二、选项
启用不用说;
反色上面说了;
(1)RGB格式法线贴图转BGR / RGB to BGR:
v1.1 4.18更新直接给移除了
这个是上传法线贴图专属的功能。normal模型使用的法线贴图是BGR格式,但是预处理图是RGB格式,我们将生成的预览图保存成图片,也是保存的RGB格式,因此当我们直接上传法线模式图的时候需要勾选此项,也不用深究怎么判断是什么格式,直接出图,如果不正常就勾选。(一些第三方的法线贴图也可能是rgb,需要勾选)
使用normal map预处理器生成法线贴图的时候不需要勾选,模型会自动反转。
关于为什么使用BGR
https://learnopencv.com/why-does-opencv-use-bgr-color-format/
低显存优化也不说了,官方的说法是低于8g开启;
(2)无提示词(prompt)模式 / Guess Mode:
神器也,上面的示例图片全部都是使用此模式生成的,除了老鼠那一张,其他的都没添加提示词。
使用此模式首先要在设置中”开启启用基于CFG的引导”,保存重启↓
关于无提示词模式,可以在这里查看官方的解释
https://github.com/lllyasviel/ControlNet#guess-mode--non-prompt-mode
https://github.com/lllyasviel/ControlNet/discussions/188
简单的说就是ControlNet通过识别输入的图像以及提取的内容,自动的进行联想。
下面简单的对比一下效果,来自C站@listen2023的萧何月下追韩信….
无提示词,默认参数,使用depth预处理,
添加画质提示词↓
masterpiece,best quality,official art, 8k wallpaper, <lora:Xiaorenshu_v20:0.9>,
Negative prompt: nsfw, lowres,worst quality,low quality,normal quality,bad anatomy,text,error, signature, watermark, username,
添加内容提示词high detailed,two man,riding motorcycle,moon↓
更多内容提示词↓
masterpiece,best quality,official art, 8k wallpaper,high detailed,two man,armor,riding motorcycle,mountain,night,moon,outdoors,rough road,<lora:Xiaorenshu_v20:0.9>,
Negative prompt: nsfw, lowres,worst quality,low quality,normal quality,bad anatomy,text,error, signature, watermark, username,
好了,差不多到达我的能力极限了,换个hed预处理看看还原度,↓
无提示词模式完胜。
总结一下:
这个模式适合懒得写提示词以及写不了几个提示词的人;
不考虑其他因素,提示词越多,这个加成效果越弱。
虽然是我这种小白的福音,但是对于专业人士应该不需要,毕竟是专业人士需要融入更多自己的内容,这个本质上还是AI自由发挥。
下文中的出图如果没有说明,均使用无提示词模式。
真是炸裂,v1.1又更新了↓
此处多了个允许预览的选项,移除了原来预览和隐藏按钮
需要先勾选①允许预览,才会出现②,点击②查看预览图
三、预处理器与模型
(1)预处理器与模型
(2)预处理器:
用于预处理输入图像,例如检测边缘、深度和法线贴图等等。如果是第一次使用,需要联网下载包,有不少人网不好经常会造成下载中断,然后插件会提示损坏之类的,这个时候去根目录的models文件夹处理,找到对应的删除即可。
v1.1在4.18的更新中修改了路径,以后插件所有的内容都放在插件的文件夹,出问题直接删掉插件文件夹就能解决
另外,因为修改了路径,所有包都需要重新下载,不想下载的可以去设置中添加原来的路径(在models文件夹),但是怎么输入我也不知道,我提前就转移过去了,没法测试,可能要绝对路径?
或者直接将相关包剪切到插件目录(…\extensions\sd-webui-controlnet\annotator\downloads)(也不是所有的都在这个文件夹,有几个是在预处理器名称下的文件夹)
(3)模型:
绿色为新增预处理器,橙色为试验模型,深灰色为未完成模型。
这里单独说一下黄色的pidinet边缘检测。v1.1中将它直接放到了softedge,效果也和旧版完全不一样了,反倒是t2ia_sketch_pidi与原来的pidinet边缘检测是一样的效果。
看对比,左:旧版pidinet边缘检测;中:softedge_pidinet;右:t2ia_sketch_pidi↓
其他内容在后面详细介绍
(4)权重 / Weight:
指的是ControlNet插件在SD出图中的影响程度,类似于提示词中的权重,更像是lora的权重;
这里有一个坐着的美女,我们使用openpose提取姿势,但是提示词为standing on one leg, hands up, 然后分别试验从0.1-2的权重。↓
失误了,忘了还有裙子,有点不雅……修改下standing on one leg, hands up, wearing pants↓
这个参考图不大好,胳膊没提取出来,不过也够用了,上图就是权重的效果。
(这个无提示词模式真的好玩,我输入了hands up,它便认为是在欢呼,张大嘴巴,后面还给配了一群人)
(5)引导介入时机/Guidance Start & 引导退出时机/Guidance End:
这两个和我们上次说的的提示词分步[from:to:when]差不多,就是ControlNet从第多少步开始介入、从第多少步退出。
影响也是一样的,介入的影响远大于退出,越早影响越大,越晚影响越小。这个越早越大和越晚越小,[from:to:when]的时候就提到过,步数的大概前50%用来构图,后50%用来细化,在构图中没有出现,那细化中肯定就直接没有。在ControlNet中这个百分比又被大大提前,大概在30%-40%之间,越早和越晚都是指的在前40%之内。同样的,这个数值也受很多因素影响,需要自己测试。
这一次测试大概在20%-30%之间,ControlNet的影响就无了
这就是介入影响远大于退出,引导从0就介入,哪怕介入就退出,也会产生影响。
(6)预处理器分辨率:
这个分辨率只代表预处理图的宽度,不会影响出图的尺寸。宽度越大,代表预处理图越精细。但是并不是越大越好,首先要考虑的是使用的什么预处理器,根据预处理结果进行调节。
其次要考虑的是出图尺寸,虽然实际影响并不大,但是出图是大尺寸,使用大分辨率会好一些。
只要显卡跟的上,哪怕出小图使用大分辨率也可以,没啥硬性规定,主要是看效果。
这是一张2048*1536的原图,通过它我们看一下这个选项的效果↓
使用canny提取边缘,默认参数,下图分别是放大一部分的512、1024、1536,观察人物和右上角的桃花,↓
分辨率低,提取的边缘线条粗糙,多是不连贯线段组成的,特别是一些曲线都是长线段参差错开组成;
对于细节丰富的地方如人眼头饰花蕊都是简单带过,但是后面景深模糊的桃花也提取了出来;
随着分辨率提升线条越来越平滑、圆顺,细节越来越多,但是对于模糊的桃花直接做了部分舍弃处理
可以看到,分辨率提升,对canny来说还是不错的,至于过多的细节和丢失的模糊桃花,可以通过修改判断阈值调节,这个后面再说。
四、画面缩放模式
出图的尺寸是固定的,我们在上面设置什么尺寸就是什么尺寸。但是在cnet中,如果原图和出图尺寸不匹配,可能会导致出现出图结果不符合预期。
前面说图生图的缩放模式的时候也提过,缩放模式是按照宽高比例就行缩放的,这里也是一样。
先说默认的裁剪后缩放
1. crop and resize
就是翻译的那种意思,裁剪后缩放。裁剪的是高度,缩放的宽度。
这个效果是以宽度为基准。
这里的缩放,是指的缩放画面,大了缩小,小了放大,内容不会改变。
看示例,为了便于观察,预处理器选无,只对比cnet的参考图和原图
出图尺寸512512,原图尺寸512768。↓
宽度一致的情况下,高度上下裁剪导致画面丢失。
出图尺寸512512,原图尺寸6721056。↓
出图尺寸768768,原图尺寸6721056。↓
出图尺寸10241024,原图尺寸512768↓
出图尺寸768512,原图尺寸512512↓
宽度不一致的情况下,宽度直接缩放,内容没有丢失;裁剪高度,画面丢失。
正如上面说的,宽度是决定项。在保证宽度内容不丢失的情况下,会根据比例裁剪高度。
比如最后一张图,出图尺寸768512,宽高比为1:0.67;原图尺寸是512512,宽高比为1:1,那么原图的高度1就会被裁剪成0.67。
同理出图尺寸是512512,比例1:1;原图尺寸512768,比例1:1.5,那么1.5就会被裁剪成1。
这就是缩放和裁剪的意思。
2. just resize
这个比较直接,出图尺寸就是基准,直接缩放成出图尺寸,如果出图与原图比例差距过大,就会导致画面变形。
先举例说明:
出图尺寸512512,宽高比例1:1;原图尺寸512768,宽高比例1:1.5。使用 just resize ,这个比例会被强制变成1:1,也就是高度1.5会被压缩成1,会造成很有意思的结果。
示例
出图尺寸512512,原图尺寸512768。
左原图;左二预处理图;右二实际参考图;右出图↓
出图尺寸768512,原图尺寸512768。↓
我举的例子虽然不正经,但是用的好了也会有奇效。
3.resize and fill
缩放后填充,不够的地方用空白补全,空白代表没有内容,可以是黑色可以是白色可以是其他颜色,主要是看预处理图。
缩放是指的是以长边为基准,将全部内容都放到出图中,补短边。例如出图是7681024,原图是512768,那么会以长边为基准,将768缩放到1024,512缩放到682,682与768的差距,使用空白补全。
为了便于观察,找个带颜色的做示例
出图是7681024,原图是512768↓
出图是512768,原图是512512,这种一般是以相等的边为基准,不再举例。
总结
参考
- [ 1 ] AI绘画:Stable Diffusion Web UI(七)ControlNet 1 – 哔哩哔哩
- [ 2 ]
- [ 3 ]
- [ 4 ]
必须 注册 为本站用户, 登录 后才可以发表评论!