Stable Diffusion新手快速入门教程
来源:极绘AI(jihuiai)
有关Ai绘画,不少人在享受了Midjourney(以下简称MJ)以后,发现它创意能力很强,但可控性比较差,不便应用,因此转为Stable Diffusion(以下简称SD),却又发觉SD好像很复杂。我在后台收得比较多的留言,都是一些很基础的问题咨询,这是这篇文章的写作背景。
Ai绘画的算法工具,如果要做一个不一定精确的对比,可以说MJ是类似Ai美图秀秀般的存在,简单易上手,SD则类似PhotoShop,同样是照片处理,但学习起来要复杂一些,熟练相对难以。
这篇文章的目标是作一个简要介绍,协助新手了解SD,老手照样可以忽略。
Stable Diffusion的直译是“平稳的扩散”,许多教程一开始就讲“蔓延”原理,讲一大堆运作逻辑,让人望而却步。事实上,我们只需了解母鸡能够下蛋,但并不需要研究母鸡的生殖构造和下蛋原理。同样,一般用户只需了解SD是一个Ai绘图算法工具即可。
一、使用场景
SD目前必须在电脑里工作,使用SD以前,首先要了解它的使用环境。SD和MJ一样可在线使用,不同的是SD是开源的,如果条件允许的话可考虑在本地部署,永久免费,能够更加灵活地配备各种模型等,但对当地硬件要求很高,例如独显,规定显存一般在8G及以上,普通的办公电脑不能达到规定,需要更高配的台式机或电竞本才可满足。
另外对软件环境也有要求,比如配备Python等。听起来好像很麻烦,具体不然,目前有各种一键安装包,小白都可轻松安装。
而线上部署的,服务商也会提供实际教程,目前阿里云的SD布署还是比较简单,这里不多讲。如果这个信息都搜集不到,也许SD也会学不下去。
尽管在线使用需要付费,但投入相对比较少。个人电脑增添一块适宜Ai绘画的显卡,基本要几千块起步,而线上租用的话,一般用户估计一个月几十块百几块的支出就行了。
二、应用基本:文字命令
ChatGPT也罢,Ai绘画也罢,都属于生成式Ai,这种Ai目前有一个特点,需要人工输入指令去引导它工作。我们使用ChatGPT时,需要输入你的问题,它才会回复你。你提出的“难题”,便是让它工作的指令。
Ai绘画和ChatGPT不同的是,不需要提问,但需要你告诉它,你要画什么东西。用过MJ的朋友应该非常理解这个姿势,比如,MJ客户需要它画一个女孩,只需要输入对应的英文“Agirl”即可。
在SD中,这种方式可行吗?完全可以。但跟MJ这类一句话搞定的方式不同,SD的绘画命令和参数明确由多个部分组成,看似繁多但不复杂,也比较容易理解。
这些命令关键属于文字命令,是“文生图”方法。SD还支持一起使用文字+样图,去生成图片或对图片进行调整,这种是“图生图”方法,限于篇幅,暂时不说。
三、文字命令组成
SD的所有绘画命令,在一个的操作面板(Webui)中完成,页面主体由几个部分组成。
1.具体的“文本”命令
包含2个部分:你想画什么(正面描述)、你不想让界面出现什么(负面/醒面描述),下图是SD的Webui文本命令输入页面:
这类命令,和MJ是大体相同的,不过在MJ中需要一次性输入结束,但在SD中,要在不同文本框中分离填好,更直观。比如说,你希望画“一个漂亮的18岁的女孩”,这是一个正面描述;你希望这女孩不能出现“多余的手指”,这是一个背面描述。只需在对应的文本框中填入即可。
文字命令是很重要的部分,描述得清楚不清楚,出去的场景截然不同。也需要一些方法,具体可参考我以前写的文章。Ai绘画基础技能:念咒——以Stable Diffusion为例
2.参数命令
无需一听“参数”二字就觉得麻烦,就是一个简单的设定。在SD中,基本基本参数主要包含几个地方
(1)采样方法(Sampler)。这个名词的本来含义解释起来比较绕口,但你可以将它了解为不同的图像渲染方法。不同的采样方法有不同的专长。
有两种用得比较多,第一种是Eulera,生成速度比较快,适用于二次元、小场景和标志等界面生成。第二种是DPM++2SaKarras,适宜写实人像,繁杂场景等界面生成。其他的采样方法,自己可以探索,实践生成一下可看到它们之间的差别。
(2)取样迭代计步(Steps),这个步数值影响图象的细节,一般来说,提议20起步,越大代表图象越细致,但并不是越大越好,必须结合实际结合不同模型去观察。区间在20-40比较常见。
(3)修补。这里常见的是“面部修复”和“高清修复”两个选项。
在画“真人”时,勾选前者会明显影响面部细节,可以生成更好的人脸。后者主要是用于超清放大。由于硬件条件有限,许多电脑更适合生成超小型图象,勾选这个选项时,能够对产生的小图开展超清放大。
但需要指出的是,放大的规格并非无尽,一般配备的电脑,长宽放大到1500*1500几乎已是极限,并且,放大的照片跟小图风格一致但细节有差异,这个可以结合实际对比。
(4)图片的长宽设定。最容易接受的一个选项。
(5)生成批号及每次数量设定。这2个数值很考验显卡计算水平,以8g显存为例,提议批号设置为3(一次生成3批),每次数量为1,一共3张图片。每次数量数值越大,对显卡的压力越大,一般建议保存默认数值1。
(6)提示词关联性(CFGScale)、随机种子(seed)
关联性值可以设置为1-30,值越低,产生的照片与你输入的文本指令的吻合度越小,越大则越大。但并不是越大/越小越好。一般情况下,画人物时这个值在7-10之间有较为均衡的,画建筑一般是4-8之间,必须在实践结合不同模型去观察。以下是一些参照:
当CFG处在2-6时,Ai发挥想象力空间大,不可控性提升。
当CFG处在10-15时,你的作品遭受你的提示的良好影响。
当CFG处在16-20时,你要确定你的提示词真的是你想要的,不然效果不会太好。当CFG高过20时,可能产生一些奇怪的现象。
另一个是种籽值,这是一个可以锁住生成图像的初始状态数值,一般设置为-1,代表着随机生成。当你使用了一个固定的seed值(非-1),并使用了其他相同参数值和命令时,会得到一张几乎完全一样的图片。
需要指出的是,即便所有的设定一样,在不同显卡下,生成图片的细节区别可能会有点大。
四、模型选择
模型选择事实上也属于“命令”的组成部分,这里单列出来说。模型是Ai绘画中一个基础设施,决定生成画面的元素、风格、风格等。有些像PPT一样,你选择不同的模版,呈现的便是不同的画面风格。
从上图操作面板中可以看出,常见模型主要有3种。
(1)大模型:指SD制图的基础模型,又叫大模型/底模。SD务必组合大模型才能使用。大模型决定画面的关键风格,不同的大模型擅长的领域会有侧重,例如,有些善于画漫画,有的是真人、建筑、国韵等。
(2)小模型:常见的主要指Lora模型,属于调整模型,必须结合大模型应用,通过不同的权重影响界面特点。有人说,大模型等同于裸妆,小模型等同于画妆,在一定程度上的确可以这么理解。
Lora模型因为训练简易效果明显,得到广泛应用,但这种小模型并不是必须的,许多大模型本身就带有很好的“画妆”效果。所不同的是,小模型和大模型同时使用的时候,可以调节出大模型无法达到的累加优化效果。
(3)VAE模型。可以看作滤镜,用以调整和美化。相同的,它还不是必须的,根据个人绘画必须决定是否采用。也有例外,某些大模型因为训练效果等问题,会明确提醒要结合VAE应用。
(4)其他模型:Embeddings、Hypernetworks、LyCORIS、DreamBooth(调整大模型)模型,这些对初学者来说,很少有机会用到,之后再讲。
(5)模型从哪里来
要达到好一点的画面效果,务必通过训练获得绘画模型。新手更多的是应用他人训练好的。在C站在,有大量免费共享模型,必须“科学上网”才可下载。熟练使用以后,可以自己训练私有模型。模型训练必须较好的硬件支撑,以及一些高质量训练素材等,另文探讨。
五、绘画插件
在一些时候,仅仅依靠文字命令,并不能绘制大家想要的画面,这时候就要应用SD插件。插件是SD绘画能够进入应用方面的、非常重要的一个部分。
SD目前最常用、最厉害的插件,一般认为是Controlnet插件。它能控制人物表情、姿态、手势等,可以识别景深、线条,并生成文本命令无法实现的因素,例如此类。这个插件也要另开一篇专门的文章才可讲明白。
这种的插件,代表着SD绘画拥有较高的“可控性”能力。这是其他Ai绘画工具目前所不具备的,也意味着其更加接近商业方面的应用。
一些插件操纵应用效果,可参考我以前写的部分案例。例如:Ai绘画:建筑外观及室内设计试着Ai绘画:动漫/游戏人物形象试着
了解了以上关键界面元素和命令以后,对SD生成图片基本就算是有了一个基本了解,大家也能看到,它虽然命令和参数较多,但理解起来并不困难。