AI绘画:Stable Diffusion Web UI(五)图生图的基础使用1
2023-10-30本次记录图生图界面img2img、sketch的主要功能。
非技术大佬,如有错误,纯属正常。
前面几篇有需要的新手小伙伴可以去合集中看看:
(一)Windows本地搭建
(二)插件及模型安装
(三)基础使用教程
(四)模型推荐
相比文生图的抽卡,图生图因为有个参考图片打底,所以拥有更高的可控性,下面我按照图生图的几个使用方向来说明具体功能。本次是img2img、sketch的重新绘图,下次是局部绘图以及批量处理。
算是一个附加功能,结果并不准确,只是给我们一个参考。如果是第一次使用,需要联网下载模型包。
CLIP反推:侧重于对图像的描述,生成句子;
DeepBooru反推:侧重于对图像内容的识别,生成tag。
使用下面这张图作为演示:
可以明显的看出两者的差别:
这是根据反推生成的图:左DeepBooru反推,中CLIP反推,右参考图
想要较好还原,建议选择DeepBooru反推修改使用。
img2img和sketch特点就是会根据重绘强度的高低对全图进行重新绘制,因此参考图最重要的部分是颜色和构图,而不是细节。它们的应用范围包括大幅度改变图像内容、改变画风风格、线稿绘图等等。
图生图界面的img2img和sketch↓
参数栏
出图和参考图比例不同时,不同的缩放模式有不同的效果。
比如:参考图是512*768的竖图,比例大概是2.6:4;出图是512*512方图,比例是1:1。
示例第一张是原图,重绘都是0↓
第二张拉伸模式,直接把短边拉长;第三张裁剪模式,把长边的上下剪掉;第四张填充模式,用AI填充短边;第五张直接缩放模式,效果和拉伸是一样的,但是因为放大的是潜变量所以导致模糊。
至于啥是潜变量,俺也不知道....但是我尝试过效果,怎么说呢,这个模式最少要重绘0.5以上才正常(未考虑采样器的影响),下图↓
只需要注意尺寸的设置,需要根据缩放模式的不同效果。
这个在前面文生图高分修复Hires. fix的时候也说过,数值越小对原图影响越小,数值越大,AI越奔放,与原图差异越大。
高分修复的时候我们并不希望对原图有太大影响,所以数值一般都不大。图生图这边正好相反,不然还图生图干啥...因此重绘强度可以说是图生图最重要的参数
这个地方有一点需要注意,如果是随便找的一张图,在只有图没有提示词的情况下,第一次重绘强度不要过大,不然会完全脱离参考图。
参考图↓:
无提示词,种子随机↓
无提示词,种子不变↓
只有负面提示词,种子不变↓
有原图提示词,种子随机↓
有原图提示词,种子不变↓
可以发现,
在重绘强度较小的情况下,参考图基本上就替代了文生图中提示词的功能,甚至表现的更好。我们不需要在提示词框中再输入(关于参考图内容)的提示词,只需要输入我们想要改变的提示词就可以。随着重绘强度加大,最好添加颜色相关的提示词;
要想保持原图的大体结构,保持种子不变是个好办法;
同文生图一样,同样的提示词多次重复出图会导致AI出图逐渐固化;
img2img大体流程:我们可以先通过反推原图生成提示词,第一次重绘保持强度小于0.3,然后舍弃原图使用第一次重绘的图做参考图继续重绘。保持种子不变可以在重绘强度高的时候保持原图结构,同时也要不断修改提示词达到我们想要的效果。
图生图虽然比文生图稳定,但仍不是一蹴而就的,利用生成批次一次生成多张图片会有更多的选择。
点击这儿可以将重绘的图发送到img2img替换原图,如果遇到合适的,不要死守着一张参考图不放,这张背景合适就发过去画人物,另一张人物合适就发过去画背景↓
上面的演示用到了SD自带的脚本工具xyz图表,特别实用。通过设置xy轴参数,可以快速帮我们了解不同参数对出图的影响。它的位置就在 文生图/图生图 参数界面的下方脚本框内,选择 “X/Y/Z 图表”。
类型直接在下拉框中选择;
轴值的一般格式为:
比如我想了解采样器和迭代步数对出图的影响,可以这么设置:
首先用AI 生成了一个衰哥,生成完直接发送到图生图,选择一个二次元模型,我这里选择CounterfeitV25;
先试探一波,采样器使用DDIM,重绘0.3以后才开始有明显的二次元风格,在30步以后已经稳定。
选择一张,进一步重绘,添加背景啥的提示词;
勉强能看.....↓
百度找的不知名大佬的线稿,此次不使用插件。
a.先试探一波,看看步数和重绘,使用拉伸以及euler a
b.可以看到,对线稿来说,在没有提示词的情况下,步数并不会造成什么大的影响;重绘0.4开始发生变化,0.6已经发生巨大变化,后面再补一个0.5看看(不考虑参考图的要素,我竟然觉得AI这波发挥的还不错)↓
0.3和0.5↓ 0.3眼睛已经上色,0.5也脱离了原图;
c.如何才能保留参考图结构呢?
前面说过,对全图重绘而言,参考图最重要的是颜色和结构,线稿没有颜色,我们先试图保证人物。
添加一些提示词,重绘保持0.3
d.感觉第三张更好,发送到img2img进行重绘,不修改提示词,使用xyz尝试不同的重绘强度↓
感觉0.4更好,取消xyz图表,使用0.4重绘几张
e.选择第四张吧,发送到img2img,重绘选0.5,添加新的提示词
f.随便选个第二张吧,此时我已经不想继续下去了o(╥﹏╥)o
原图:
奔放吧AI
随便再搞几张↓
g.现在回到c步骤,在完成添加提示词以后,我们尝试一个新的脚本,回送/loopback
这个脚本的是把每次生成的图自动发送到img2img作为参考图进行重绘,然后一直这样迭代,直到达到我们的设置的迭代值。用来替代上面那些无止境的尝试....
选择脚本。
迭代次数,就是循环几次;
Final denoising strength,最终去噪强度,我们在c步骤的时候重绘强度是0.3,设置最终0.66,那么脚本就会通过6次迭代,将重绘强度从0.3增加到0.66;
Denoising strength curve,去噪强度曲线,选项分别是激进、线性、懒惰?什么意思呢,就好像大家的显卡风扇转速,显卡开始工作,温度开始上升,有的风扇温度一升高转速就噌的一下上去了,嗡嗡的吵死了,有的随温度线性增加,有的不到99度他都不转....
下面这个Append interrogated prompt at each iteration,在每次迭代时附加询问提示,我也不知道是啥,里面有CLIP、DeepBooru的选项,我猜是每次迭代以后反推这两个类型的提示词,然后应用到下一次迭代。
不想回去找c的图了(图太多了不想找),就用e的吧,最终去噪强度我们改成0.88,种子保持不变:
线性↓
激进↓
懒惰...↓
下面这两个是最后那个Append interrogated prompt at each iteration选项的对比:
CLIP↓
DeepBooru↓
终于轮到Sketh了,
点击取色板可以选颜色
我先画为敬↓
此时提示词中并没有任何颜色提示词
直接使用回送脚本,设置如下
看效果:
这个脚本最后一项开启Deepbooru是真的好啊,虽然最后和我画的颜色一点关系都没有....
这个最后一项是CLIP↓
下面是关闭Deepbooru和CLIP↓
下面分别是关闭Deepbooru和CLIP的激进和懒惰↓
我发现有两个一样的图;还有为啥非要给人家转个身.....
按照画笔颜色添加提示词应该能获得更好的效果,我就不尝试了。
摊牌了,我其实是个画家
老规矩,使用回送脚本
多欣赏几次
画工和我一样好的同学,记得把重绘强度调高一点.....