关于stable-diffusion:糟了糟了总部被SD画完都Q了这篇深入浅出贴助你早日实现Stable-Diffusion自由-京东云技术团队
我也不想题目党,可乐高积木版的总部大楼就是好萌啊! 我是憨憨,一个不会画画的设计师。过来半年里,AI绘画已经屡次引爆公众探讨,网络上那些粗劣的二次元同人插画、堪比真人的AI穿搭博主、突破次元壁的赛博Coser……背地都有一个“幕后黑手” —— Stable Diffusion,其背地的技术便是人们常说的扩散模型(扩散模型这个概念源自热力学,在图像生成问题中得以利用)。 想晓得下面这些粗劣的插画是如何实现的吗?接下来,我将联合这个案例带你走进 Stable Diffusion 的世界,帮你系统性地理解并把握这神奇AI绘画魔法。 尽管咱们把这个过程称之为AI绘画,但实际上它并不是像人类画图一样打草稿、构线描边,再去上色、对细节加工……这样循序渐进地去实现一幅画作的,它采取了一个人类未曾构想的门路 —— Diffusion(扩散)。 一、Diffusion:眼一闭一睁,一张图画好了有一个十分形象的形式,来解释 Diffusion 的原理。 这是我家的傻狗,你能够将本人的角色带入到执行绘画指令的AI中,当初让你把这幅画用宫崎骏格调从新绘制一遍,你做失去吗?你能够尝试着把眼睛眯成一条缝去看它(如果你远视能够摘掉本人的眼镜),它是不是变得含糊了?放弃这个状态,设想着它正在逐步变成动漫里的样子,随后缓缓睁开眼睛…… 这就是一个扩散模型工作的根本流程了。 在这个过程中,AI会将图片通过减少噪声的形式进行“扩散”,使它变得含糊,就像是眯起眼睛的你一样,当内容含糊了当前,你就有更充沛的空间去从它本来的状态抽离,并且设想它是否能变成其余模样。AI通过深度学习的形式,将很多不同的图像都转换成了这样的形象内容,并逐步开始了解了这个“扩散”的过程,每学一张图,它就会通过一些形式提取图像里的信息特色,并和它的原图建设关联。 在方才的例子中,当提到宫崎骏格调的时候,你的脑海里必定也会跳出跟这类作品相干的格调特质来,因为你看过并且记得,这个时候,咱们开始去设想它变成动画片里的样子,并且用一个动漫的形式“睁开眼睛”,让图片复原清晰,这就是在对图像进行逆向的扩散,也就是去噪。这幅画,就曾经被你脑海里对于宫崎骏的设想从新绘制一遍了。 这一原理,为咱们在AI绘画中的操作提供了实践根底和指导思想。当然,这只是一个简略的比喻,在实在的AI图像生成过程中要远简单得多,咱们只须要晓得,在SD外面咱们能接触到的各种提醒词、模型、controlNet 等,其实管制的都只是AI的学习、转化、去噪过程,而非它一笔一画的动作。 二、一副AI绘画作品 = 提醒词 + 参数设置 + 模型这是 Stable Diffusion webUI,咱们所有的操作都是在这里实现的。webUI其实只是一个执行的程序,用来屏蔽掉 Stable Diffusion 简单的模型和代码操作。当你在浏览器里关上了这个webUI当前,就能够利用它开始作画了。 WebUI 下面一整排标签栏对应了不同的性能,做图最罕用的是前两个:文生图与图生图,它代表的是两种绘制的根本形式,第三个标签的更多次要用于对图片进行AI放大解决,它能够让你生成更清晰的大图。 看过《哈利波特》的影迷肯定会记得,在霍格沃滋的魔法世界里,一个魔咒想要胜利施展,不仅须要集中精力念对咒语,还须要一根魔杖,以及正确地挥动魔杖的手势,任何一个步骤呈现谬误,都有可能导致魔咒动员的失败,极其状况甚至会被反噬,在AI绘画的魔法世界里也是相似。 1、提醒词:指挥AI作图的咒语WebUI 中被咱们输出进去的形容文字或图像信息,就是 Prompts (提醒词):用于生成图像的文字输出,须要应用英文输出,但你也能够通过摸索 Extensions 来实现中文输出。提醒词的涵盖范畴很广,能够包含:主体、格调、色彩、质感特点等一些具体因素。 提醒词分成两局部,一部分是正向的提醒词,另一部分是反向提醒词,别离用来管制你想要在画面里呈现的、想排除在外的内容。 AI 生成进去的货色是具备随机性的,每次生成进去的货色都会不太一样,这个过程就像是在“抽卡”:想出好的图片,得靠运气来抽。 比方:一个女孩在林中散步,这其实只是一个十分概括的形容,这个女孩长什么样子、森林里有什么、工夫是早上还是早晨、天气如何……这些AI都不晓得,提醒词太过于抽象,那AI就只能瞎蒙、抽卡了。咱们能够把本人设想成一个有情的甲方,向AI沟通你的需要、AI须要改良的中央。咱们对AI提的要求其实就是提醒词 Prompts ,如果AI没有达到想要的成果,就一直补充、阐明,多试几次总有一次能够抽到想要的成果~ 虽说AI是人工智能,但它和人类智慧还是有肯定差距的,有时候你会发现即便提醒词曾经给了很多,本人仍然很难向AI表白分明本人的需要。其实在现实生活里,这种对于需要的传递偏差与谬误解读其实也普遍存在着,比方:总是干架的产品经理和程序员、甲方客户与设计师。拿我相熟的设计举例,如果你是需求方,除了一直对着设计师一遍又一遍的怒吼需要以外,还有什么方法让他疾速开窍呢? 你能够拿着一张海报或者banner,通知设计师我想要的感觉是这样的,那他就会更直观、具体的感触到你的想法。AI绘画也是一样,当你感觉提醒词不足以表白你的想法,或者心愿以一个更为简略清晰的形式传递一些要求的时候,那就再丢一张图片给他就好了。此时,图片的作用和文字是相当的,就是都作为一种信息输送到AI那里,让它拿来生成一张新的图片,这就是图生图。 2、参数设置:管制咒语施放的魔杖这部分内容介绍一下在AI绘画过程中,webUI外面这些简单的参数设置。 (1)采样算法(Sampler) 简略来说,通过这些采样算法,噪声图像能够逐步变得更清晰。webUI提供的算法选项十分多,包含 Euler a、DPM、DDIM 等。我分享几个咱们常常会用到的: 想应用疾速、新鲜且品质不错的算法,能够尝试 DPM++ 2M Karras,设置 20~30 步;想要高质量的图像,那么能够思考应用 DPM++ SDE Karras,设置 10~15 步(计算较慢的采样器)、或者应用 DDIM 求解器,设置 10~15 步;喜爱稳固、可重现的图像,请防止应用任何原始采样器(SDE 类采样器);Euler、Euler a 比拟适宜插画格调,出图比拟奢侈;(2)采样迭代步数(Steps) 与采样算法配合应用,示意生成图像的步数。步数越大,须要期待的工夫越长。通常 20-30 步就足够了。默认的采样步数个别都是20。如果你的算力短缺且想谋求更高的粗疏度,就设置为30-40,最低不要低于10,不然你可能会被你本人产出的作品吓到。 ...