查看原文
其他

提高Stable Diffusion生成图片质量和速度的技巧

穿行者2049 今说新语 2024-04-14

本文我将介绍Stable Diffusion文本生成图像的一些技巧和经验,并探讨不同的设置有什么细微的作用,以及在什么情况下你可能想要调整设置。全文共5千多字,比较枯燥,请耐心阅读。
对于很多使用过Stable Diffusion一段时间的朋友来说,也许会对以前从没接触过的参数开始发生一些兴趣,或者当你在不断的花钱、花时间等待AI生成图片的过程中,可能会产生如果速度更快些就好了,如果效果更棒些就好了。那如何在速度和质量之间取得平衡,是我这篇文章将要介绍的内容。
一、通用参数设置
提示:如果阅读长篇文章的想法让您感到头痛,请使用以下我称之为通用设置的参数:
CFG:8
采样步骤Steps:50
采样方法:k_lms
随机种子
按照这几个参数设置完全适用于各种提示,至少会让你的提示语在绝大多数时间都能表现的非常良好。
首先我们来看一个例子:
digital art by Ilya kuvshinov, finely detailed wide eyes, symmetric face, head, legs, delicate features, directed gaze, an extremely attractive girl in a short flowy skirt, pixiv, artstation, extremely high quality artwork
使用上面的快捷设置参数一次绘制四张图片,效果如下图。 
可以看到,使用上面的通用参数,在多张作品中都可以获得比较满意的效果,成功率相当高。但这里的原理是什么?为什么只需要50步就能取得如此高的成功率?为什么经常听人说需要150步以上才有好的结果?CFG到底该设置多少更合适?不同的采样方法有什么区别?对生成速度有何影响?下面我们就分别探讨一下。
二、提示语
所有AI绘画的玩家都知道,不论我们参数设置的如何,提示语无疑是一切的开始和最重要、最需要花精力调整的部分。这部分先聊一聊提示语的复杂度、优先级、顺序等等的重要性。
——提示语的复杂程度
很多人会纠结于提示语该多一些,还是少一些。很明显,在多数情况下,提示语长一些要比短一些能获得更接近你心中所想的效果。而更短的提示语可以获得更多出乎意料的效果,所以这中间其实需要的是你自己的取舍和权衡。你更愿意把权力掌握在自己手中,还是给AI更多的权力。当然不同的程序对提示语的长度有不同的限制,比如有的SD UI对长度的限制是75个字符,有的更多一些,尽可能用满这些限制详细描述你的想法。
你可以一次性的向提示中添加任意数量的关键词内容,也可以从一个简单的短语开始观察模型的反应。任何人类表达喜爱、愤怒、讨厌、否定的说法,都能被AI理解和接受,人类的交流也是通过不断的增加细节来相互沟通和理解的。所以不要吝啬于添加更多你想表达的细节内容,如果等图像绘制出来,你感觉少了些什么,或者哪方面还做的不好,用语言描述出来,然后添加到提示语中,AI是会理解的。
——提示语的优先级是最高的
如果你的图像使用下面的示例提示语,但将参数设置为k_euler_a采样器,Step:15 ,CFG:8(稍后我将深入解释这些设置)。

绘制结果可能看起来还可以,也可能很糟糕(或与你想象的相差甚远),这时单独改变其他参数设置,但提示语不变,其实不会对你有太大帮助。在提示语的早期生成图片阶段,你主要应该关注提示语中的情绪、构图(主题在场景中的布局方式)和颜色。基本上。如果AI生成的图片看起来很糟糕,唯一要做的是添加或删除单词和短语,并反复生成图片,直到它看起来不再糟糕为止。尝试不断调试关键词,查看图像并尝试了解 AI 做出选择的原因。 
——提示语顺序的影响
先来看下面的提示语,用最前面我们提到的通用参数设置
scary swamp, dark, terrifying, greg rutkowski

此提示语是对我想表达的内容的一种可能方式,注意我是如何用逗号将描述与情绪和艺术家分开的?你可以这样做,但也可以用“moody greg rutkowski piece”代替“greg rutkowski”,或用“ character concept art by greg rutkowski”,这些关键词的变化都会对你的结果产生巨大影响。所以关键是开始还是要有创意,找到最适合的关键词。
然后请认真考虑提示语的顺序问题。提示符前面的内容比提示符后面的内容权重更大。如果我想让上面的提示语获得更多的 greg 影响力,我可以重新排序:
greg rutkowski, dark, scary swamp, terrifying

可以看到,仅仅通过调整前后顺序就改变了画面的整体效果。本质上,提示语的每一部分都是一个单独的可移动块,你可以通过在提示语中前后移动它来改变生成图像的结果。如果你的脸不够详细?在前面添加诸如“高度详细的对称面”之类的东西。你的作品有点太黑了?将提示中的“ dark ”移到最后。AI也讲究重点!如果你的提示语中有对你很重要的内容,请反复地重复提到他。就像我在想象一个怪异的片段并认为上述提示的结果还不够可怕,我可能会将其更改为:
greg rutkowski, dark, surreal scary swamp, terrifying, horror, poorly lit

想象一下,你正在尝试制作独角兽的玻璃雕塑。您可以添加“玻璃,略透明,由玻璃制成”。同样重复的关键词也对最终图像质量有影响。这就是为什么您会看到许多类似的提示:
greg rutkowski, highly detailed, dark, surreal scary swamp, terrifying, horror, poorly lit, trending on artstation, incredible composition, masterpiece

请记住,将“核心关键词”放在提示的前面会使人工智能首先关注核心点,因为顺序很重要。再有就是使用你在现实生活中使用的自然语言,而不是自命不凡的一些废话、空话,两者虽然都可以绘制出图像,但真正要做的是努力描述你的内心所想,不要遗漏情绪词。“一个美丽的女人”其实就是一句空话,而“女性,眼睛有亮光、金发、白皙皮肤、薄薄的嘴唇”更像是一个恰当描述。
PS:在网上很多讨论中,有人提到()和[]对关键词的权重有影响,但在我的实验中,大小写无关紧要,各种()括号和[]括号也无关紧要,他们并不会对结果产生什么太大的影响(虽然有时候确实有一些影响)。但这些感叹号、括号之所以起作用,只是因为 AI 认为你真的对那个特定的词感到喜爱、厌烦、关注,通常你将那个次重复几遍同样起作用。所以,像人类交流一样编写提示语就够了。人工智能接受了长期的人类如何谈论艺术的训练,它能够理解人类所说的美是什么。
最后要说的是,提示语是一种新技能。网上并不存在什么提示语的权威指南,只是需要更多的实践、艺术眼光和有创意的心。你应该谈论想法、隐喻、情感和能量。你的提示语能力不是别人可以从你身上窃取的。每个提示语都是一支独特的画笔。但它也仅仅是一支笔,只不过它混合了AI和你共同的智慧和知识,才产生了最终惊艳的效果。我们越多地去尝试利用AI生成新的图像,就越能更好的掌握提示语的编写方法。
三、 CFG的重要性
CFG可能是稳定扩散中最重要的术语。CFG 衡量 AI 会听你的提示与做自己的事情的程度。实际上,它是衡量你对提示语的信心程度的衡量标准。下面是 CFG 参数值的一种文本话表述:
  • CFG 2 - 6:让 AI 掌舵。
  • CFG 7 - 11:让我们合作吧,AI!
  • CFG 12 - 15:不,就用我的提示语,这是一个很好的提示。照我说的做,AI。
  • CFG 16 - 20:照我说的做,AI。
当然所有这些都是有效的选择,具体参数值仅取决于你在工作流程中所处的位置。我建议大多数时候坚持 CFG 7-11 范围,除非你真的觉得你的提示语很棒并且 AI 忽略了它的重要元素。在目前这个阶段,人机合作将成为我们获得最佳结果的方法,而不是单独使用AI或单独使用人类,CFG 7-11 这个范围就代表了这种合作。
如果你觉得你的提示语表达能力很糟糕,你就可以尝试 CFG 2-6。这表示你对人工智能将要绘制的内容持开放态度。有时看到某个结果时你可能会说“嗯,实际上这是一个有趣的想法”,然后相应地修改你的提示。令人不可思议的是,即使是最糟糕的提示语,人工智能也可以运行。归根结底,人工智能是一个极富创造力的实体,它吸收了互联网上大多数人类艺术知识,可以说它对艺术略知一二,所以请相信它的能力。
强大的提示语也可以在 CFG 15-20 中保持好的结果。但就像上面说的,CFG 15-20 类似你在对 AI 大喊大叫。有时 AI 的表现有点类似发脾气并说“闭嘴,你的提示语很糟糕,我不能用这个!” 然后给出一副糟糕的图像。如果你的结果在 CFG 15 上看起来很糟糕,但您仍然认为自己的提示语非常好,你可以稍微退后一点再尝试 CFG 12。CFG 12 是同一想法的更柔和、更具协作性的版本。
很明显,CFG 会改变 AI 对你的提示语的反应程度。有时如果你在 CFG 7 中对复杂提示语进行更改,也许当你将 CFG设为 12-15 才能看到更显着的更改。
四、采样方法/采样步骤/批次计数
这几个词是紧密相连的,所以我将它们一起说一下。采样步骤和采样方法是一种技术性的词汇,我不会深入探讨这些词语实际上在做什么。它们其实最主要的可被观察到的是如何影响Ai生成的前几步。在AI这个领域并不存在最好的方法和参数,一切都取决于你的实践,所以我也不打算谈论全部采样器,只简单说几个。
k_lms:最可靠
如果你的提示很好,则 k_lms 在 50 步时就将在大多数情况下为你提供良好的效果。k_lms 运行得非常快,所以结果也会很快出现。你可以很容易地在 CFG 7-8 上永远坚持这个设置并且不会出大问题。如果效果看起来有些奇怪,你可以尝试更高的步值,比如 80。但是,根据经验,确保你的更高的步值实际上会让你受益,而你不仅仅是在浪费你的时间。您可以通过保持种子和其他设置稳定,并上下改变步数来检查这一点。您可能会对低步数的作用感到震惊,并不是每个提示语都需要150步以上才能得到好的结果。
DDIM:速度狂人
DDIM只需要8 个步骤(是的,你没看错,8 个step)可以以极快的速度为您带来出色的结果。这是快速生成大量图像的绝佳设置。

上图只用了steps:10。当我在测试新的提示想法时,我会将 DDIM 设置为最低数(不同程序的最低值不一样,有的是8步,有的是10步)并生成一批 4-9 张图像。这给你一个全局性的观察你的提示语的机会,并快速修改找到最佳提示语。您可以在 DDIM:8 的提示语中添加一个单词,然后在不到 5 秒的时间内查看它如何影响您的种子输出(当然也取决于你的显卡)。对于更复杂的提示,DDIM 可能需要更多帮助。如果您的输出仍然看起来很乱(或者提示语有问题),请慢慢提高到 15、25 甚至 35。你最终会发现增加步数会有所帮助。但是,与上述相同的规则仍然适用,不要片面随意使用高步数,浪费自己的时间,要找到平衡点。
k_euler_a:变色龙
适用于 DDIM 的所有内容也适用于此处。这个采样器也非常快,并且在极低的步数(步骤 8-16)下也能获得很好的结果。但它也更多地改变了最开始图像的风格,你在步数 15 处的生成可能看起来与步数 16 非常不同,然后它们看起来都与步数 30 非常不同,然后可能与步数 65 又非常不同,所以说这个采样器很多变。总的来说,使用这个参数需要注意:根据你使用的采样器,你的结果看起来会完全不同。但是不要害怕尝试。如果你在 k_euler_a 中有一个已经非常喜欢的结果,请将其再切换到 DDIM(反之亦然)生成一遍。
k_dpm_2_a:饥饿的艺术家
在我看来,这个采样器可能是最好的,但它非常慢。因此,对于大多数人的钱包来说,30-80 步范围内的 k_dpm_2_a 非常非常好。对于实验来说,这是一个糟糕的采样器,但如果你已经有一个你喜欢的提示语,那就试试它吧。如果您仍处于从提示语中不断添加和删除关键词的阶段,你应该坚持使用 k_euler_a 或 DDIM 以减少步数。
网上有一些说法认为,某些采样器更擅长某些类型的艺术品,例如一些更擅长肖像、风景,另一些擅长科幻、动漫等。但这并没有一个确切的结论,一切都取决于你自己的测试。
关于高Steps的注意事项:许多可以通过更高的步数解决的问题其实也可以通过更好的提示来解决。如果你的拍摄对象的眼睛非常突出,请尝试在你的提示中添加一些内容,谈论他们的“对称的高度细致的眼睛、奇妙的眼睛、复杂的眼睛”等。多次试验,不要害怕从提示中删除内容。没有什么是必须的。你可能会对您可以省略的内容感到震惊。例如,我看到很多人在令人惊叹的肖像提示中添加了“有吸引力”……但是 AI 绘制的图像中的大多数人已经吸引人的。根据我的经验,大多数时候根本不需要“有吸引力”。(无论如何,吸引力是非常主观的。尝试“独特的鼻子”或其他东西。这通常会使脸很酷。做很酷的模型。)
关于高Step的注意事项:有些人喜欢制作 500 步的高步数图像。我认为在这种情况下,其实花更多精力在修改提示语上更划算。我见过的很多漂亮的提示语在 10 步就都得到了非常好的结果。
五、种子
种子是用于 A/B 测试提示语的绝佳工具。锁定你的种子(选择一个随机数)并在你的提示中添加一个细节或艺术家,然后运行,看看输出结果是如何变化的,然后不断重复。这对于添加和删除艺术家来说非常有效。作为日常练习,尝试在同一种子上运行“by HR Giger”,然后运行“by beeple” 。看看它发生了多大的变化,但其中的有些元素仍然保持相似。这种发现奥秘的感觉是非常快乐的。然后再试试“by HR Giger and beeple”。它结合了两者的特点,但结果仍然相当稳定,这就是种子的力量。
或者说你有一个很好的提示,可以输出一个“黑发”女人的肖像照。你运行几次这个提示语,然后找到一张你喜欢的。再用这一张的种子以保持大部分稳定,并将提示改为“金发”女人。该女性将处于相同或非常相似的姿势,但现在有一头金发。您可能会看到这是非常强大和容易的操作。注意:较高的 CFG (12-15) 可以更好的帮助你进行此类种子测试,以便 AI 真正听取你的提示更改。
六、结论
这篇文章就到这里了,在使用AI的过程中,我们需要通过大量实验和参考其他人的想法来收集学习各种信息,并亲自修改、控制某些参数,以观察什么是最好的。但是,就像我经常说的那样,这项技术是如此的新奇,我们对什么方法更有效的观点也肯定在不断变化。我敢肯定,几个月后我们再来看这篇文章,也许会发现到时有更好的方法实现这些目的!
继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存