大家好,我是叶梓。一名AIGC狂热爱好者,目前正在AI绘画领域进行深入的探索。
我花了一个月时间把SD研究了一遍,秉持着用有趣、易懂的文字让小白也可以零基础光速使用SD(stable diffusion)入门AI绘画,一步步从零开始写出本系列的文章。今天也是本系列AI绘画SD攻略的最后一篇。
通过前面七篇文章,我详细的说明了SD各种模型的功能、参数设置的以及运用,相信大家已经对SD有了一个清晰的理解。肯定有很多朋友已经用SD画出了自己想要的图片。
但肯定也有一部分小伙伴还是对SD的综合运用有些疑问,只会对着步骤进行,离开了步骤很难自由发挥SD的强大功能。
今天的文章,我就会带大家从头梳理一遍SD,让大家对于SD绘画有更深的认知。
一、diffusion
diffusion的含义是扩散。这也是AI绘画最重要的一个算法。那究竟什么扩散呢?
先把一张图片模糊,也就是增加噪声,扩散的过程,然后再降噪,逆向扩散,清晰化的过程。
这就是整个扩散的过程。
在图片变得极为模糊之后,我们就可以从原本的画面中抽离,然后想象新的画面。
AI就是通过把投喂给它的无数图片,通过这样不断增加增加噪声的方式进行扩散,AI就可以不断学习这些抽象的内容,并不断理解了这个过程。AI每学习一张图,就吸取了一张图的图像特征,且与原图进行关联。
当AI学习了各种不同的风格和内容之后,这个时候的它就相当于成为了一个绘画的专家,走入公司,这时候我们作为领导给它输入提示词,它就可以进行理解并画出相应的图片。
当然,这个过程中,由于它掌握了太多的知识,所以当提示词不明确的时候,或者提示词之间有冲突时,它就会发挥失常,画出错误的图案。
关于AI绘画的更多内容看这篇零基础光速入门AI绘画,SD保姆攻略 一
二、大模型
我们作为甲方,我们要寻找的必须是符合我们要求的乙方。比如我们要真实系的图片,自然不能找一个二次元的乙方。
所以用AI作图,首先我们要选择合适的大模型checkpoint。
根据AI学习的图片的不同类型,SD中的大模型目前也大致分为三种:真实系、二次元、2.5D(介于真实和二次元之间,类似于3D动漫效果)。
三、提示词
当我们选择了大模型之后,我们就已经可以给Ai输入提示词了。
但问题在于我们要如何去给AI一个明确的提示词,让它能理解我们的意思呢?
首先,我们要明白我们想要图片中什么,同时不要出现什么。
这也就是SD的正向和反向提示词,我们需要通过这些提示词对图片的内容进行约束。
同时,这里面涉及到提示词的规则(英文、词组、短句、分隔),提示词的内容(内容型提示词、标准化提示词)、权重、进阶的语法等。
提示词等相关内容可以看这一篇文章零基础光速入门AI绘画,SD保姆攻略 三
四、Lora模型
提示词的控制很多时候是比较宽泛的,比如一个美丽的女孩。
AI也会疑惑,有多美丽,哪里美丽,眼睛还是脸还是鼻子。
如果我们还要详细描述五官之类的,那工程量就太大了。
这就产生了人物的Lora。我们把一些好的元素融合在一起,然后打包扔给AI。
告诉它,我要用这里面的人物。AI就能很好的理解了。
当然,在这个基础上,还有服装的Lora,风格的Lora,灯光的Lora等等。不过人物Lora还是占据了Lora的半边天。
关于更多大模型和Lora的内容看这篇零基础光速入门AI绘画,SD保姆攻略 二
五、图生图
但是Lora有时候还是不能很好的达到我们的要求。我们想要让AI更好的理解我们的意思,我们就可以借助图生图加大对AI的约束。
就如同甲方拿着一张海报给乙方,并说,我想要这种图片的风格,或者线条,或者颜色等等。
这样AI在提示词,Lora的基础上,又多了一个参照物,对于我们的意思就更能理解了。
关于图生图更多内容看这篇零基础光速入门AI绘画,SD保姆攻略 四
六、局部重绘
虽然我们给了AI上述的一步又一步的约束,但是AI还是会出错,或者某些细节不能达到我们的要求,但是其中一大部分是我们觉得还满意的。
这个时候我们就可以选中这张图的一部分,然后告诉它,这一部分重画一下。
这就需要用到SD绘画中的局部重绘功能。
关于局部重绘的更多内容看这篇零基础光速入门AI绘画,SD保姆攻略 五
七、ControINet
其实通过上面约束,我们已经能对AI绘画的生成做出很多的约束。
但随着ControINet的诞生,对以上所有的约束直接造成了降维打击。
ControINet(控制网)让我们对于AI绘画的控制达到了目前的顶峰。
ControINet可以通过对图片的检测,去识别它的线条(canny、lineart、soft edge、mlsd/仅直线、scribble)、人物姿势(open pose)、空间深度(depth)、物品类型(seg)、风格颜色(shuffle、reference、normal、t2ia)、重绘(Inpaint、tile/加入细节)、特效(ip2p)。相信之后也可能出现更多的ControINet模型。
通过这些检测,对于新的图片的生成可以达成强有力的约束。
但我们使用ControINet,也要注意一个度的把控。
对于ControINet模型,我们可以这样理解。
AI做图本身就是一个随机的过程,当我们使用ControINet时,就是对AI的随机性进行了控制,当这个控制过强时,就相当于复制了一张图片,消减了AI的随机性。
我们要做的就是在随机性和控制性中取得一个平衡,当我们觉得控制过多,就减少控制,给AI更多的发挥,当过于随机时,我们就施加控制,给与AI适当的引导。
比如以线条为例,canny的控制就高于soft edge,soft edge又高于scribble。
我们可以根据自己的需求去选择合适的模型,从而对图片生成的控制达成一种平衡,生成我们脑海中的场景。
关于ControINet的更多内容可以看这两篇文章零基础光速入门AI绘画,SD保姆攻略 六 和零基础光速入门AI绘画,SD保姆攻略 七 。
八、生成图片
以上的所有内容,本质上就是给AI输入提示词给与引导,同时,对AI提出要求进行约束,这样一个过程。
当我们的提示和约束,与AI的理解达成一个平衡时,我们就可以看到一个由我们和AI共同创造,且独一无二的图片生成了。
好了,本篇的文章就先到这里了。关于AI绘画,SD(stable diffusion)的入门教程攻略就到此告一段落了。
当然,我后续也会再继续和大家分享关于SD绘画的更进阶的使用,敬请期待。
感谢阅读,我们下个文章再见。