参数详解
📄**提示词词输入(Prompt)
SD中的关键词分为正面提示词和负面提示词。
正面提示词(Prompt)
将想要的图像进行描述,描述的越详细,越能达到你想要的效果;描述的越少,越由AI随意发挥,更加有创意性。
负面提示词(Negative Prompt)**
在负面提示词部分,你可以输入不想SD生成的内容,我们一下子可能很难想出负面提示词,可以通过该网站来查看与选择常用的负面提示词https://openart.ai/create 。
●通用的一些负面提示词有:lowres, error, cropped, worst quality, low quality, jpeg artifacts, out of frame, watermark, signature
通用的负面提示词案例图
●关于人像的一些负面提示词有:deformed, ugly, mutilated, disfigured, text, extra limbs, face cut, head cut, extra fingers, extra arms, poorly drawn face, mutation, bad proportions, cropped head, malformed limbs, mutated hands, fused fingers, long neck(畸形、丑陋、残缺、毁容、文字、多肢、割脸、割头、多手指、多手臂、画不好脸、变异、比例不对、剪头、畸形肢、变异手、融合手指,长长的脖子)
关于人像的负面提示词案例图
●关于写实图片(Photorealistic)的一些负面提示词有: illustration, painting, drawing, art, sketch’(插画、油画、绘画、艺术、素描)
关于写实图片的负面提示词案例图
使用案例
某案例的基本参数设置:
prompt:a coDeviantArtlorful photo of a castle in the middle of a forest with trees and (((bushes))), by Ismail Inceoglu, ((((shadows)))), ((((high contrast)))), dynamic shading, ((hdr)), detailed vegetation, digital painting, digital drawing, detailed painting, a detailed digital painting, gothic art, featured on deviantart
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 749109862, Size: 896x448, Model hash: 7460a6fa
不同提示词下的效果:
negative prompt(负面提示词) | image |
---|---|
none(无负面提示词) | |
fog | |
grainy | |
fog, grainy | |
fog, grainy, purple |
🔢**采样步数(Sampling Steps)**
Stable Diffusion 文生图的原理是通过从充满噪声(noise)的画布开始逐渐对其进行降噪处理,以达到最终输的图像效果。而采样步数这一参数就是用来控制去噪步骤数的。通常情况下该数值越高越好,但一般情况下我们使用的 25 的采样步数值就足以生成任何类型的图像了,而更多的采样步数产生的效果几乎很难看出差别,反而会浪费GPU资源。
以下为一些采样步数的使用技巧:
●如果你在试验你的提示词,想快速产生新的图像来查看是不是你想要的效果,以便继续调整你的提示词输入,你可以将采样步数值设为10-15,因为在这个区间下的采样步数已经能够大致代表最终的效果了;
●如果你试验时发现效果还不错,想得到你喜欢的提示词产生的最终效果图了,那你可以将采样步数调整到25;
●如果你生成一张写实的脸部或者动物毛发等这一类具有精细纹理、质感等的图片,并且你觉得25的采样步数下还是缺少一定的细节,那不妨将尝试将该参数值调整到40,可能会有更好的效果。
相同提示词下,不同采样步数产生的效果图
🎛️**采样器(Samplers)**
简单来说,采样器是一种算法,在每一步之后获取生成的图像,并将其与文本提示要求的内容进行比较后进行一些更改,直到逐渐达到与文本描述相匹配的图像。
在SD上,我们最常用的采样器有dpm系列和euler系列,其中dpm系列会有更加接近真实世界的效果,euler系列会让真实感减弱同时更加富有艺术感。
采样器的采用没有具体的规则,需要根据自己想要的效果以及提示词的内容来进行选择。
以最常用的采样器Euler A、和 DPM Solver++为例进行对比,这两个采样器速度都比较快,能够在15-25步内就产生合适的效果。
从图中我们可以看到Euler a相对于DPM Solver++具有更加平滑的颜色,更少的边缘感、轮廓感,这让它看起来有一种“梦幻般(dreamy)”的感觉,而DPM Solver++则有更加的写实效果。
需要注意的是,Ddim和Plms已经不再使用,所以请尽量不要再去选择。
下图可以查看更多Samplers选择下产生的不同效果,以做对比:
🌌**CFG比例(Classifier-Free Diffusion Guidance scale - 分类器自由引导比例)**
CFG比例可以看做是提示词与创造力的比例(creative vs. prompt - 图像与提示符的一致程度),该值越低时,会产生越有创意的结果;反之如果该参数越高会使得SD尽量去生成与提示词一致的结果。
SD中该参数默认的值为7,它在提示词与创造力之间取得了一个均衡的效果,所以我们一般也不会去改变该数值。通常不建议该值低于 5,因为这样会使图片看起来更像是幻觉一样(AI hallucinations);该值如果过高而你的提示词又不够详细的话,就并不一定能让生成的图像贴合提示词了,高于 16 时就可能开始给图像带来很多难看的效果(ugly artifacts)。
那么什么时候使用不同的CFG比例值呢? 以下提供了几个范围参考,每个范围适用于不同的提示词和想要达成的图像效果。
●CFG 2 – 6:图片很会有创意,但也可能非常扭曲奇怪。该范围下对于对于简短的提示可能很有趣并且很有用。
●CFG 7 – 10:推荐用于大多数提示词。该范围下,创造力和提示词之间会有一个良好平衡。
●CFG 10 – 15:当你非常清楚你希望最终生成的图像是什么样子,并且你的提示词对于你想要的图像有一个很详细的描述时,你可以选择该范围。
●CFG 16 – 20:一般不推荐,除非你的提示词非常详细。否则可能会严重影响生成图片的质量。
●CFG > 20:该范围下几乎无法使用。
不同CFG比例下的图像效果
关于CFG比例的一些专业知识,如果感兴趣可以翻阅下面的PDF文档:
30_classifier_free_diffusion_guid.pdf
(1.3 MB)
🍀**种子(Seed)**
在采样器中我们提到了噪声,而种子的数字就决定了图像生成的初始随机噪声,在我们的提示词完全相同的时候,生成的图像时常也会很大的差别,就是因为你选择不同的种子,或者将种子的值默认为了随机值。反之如果我们采用相同的提示词和种子时,会生成很类似的图像。
相同的种子和提示词、模型等的组合下会产生几乎相同的图像,我们可以通过控制变量,使用相同的种子,但改变部分的提示词来达到一些想要的效果,以下是一些常用的方式:
●控制角色的特定特征:在下面的例子中,我们改变了情绪(同样适用于其他身体特征,如头发颜色或肤色,但变化越小,控制的效果也会越好)
●用来测试你提示词中的一些特定词:保持提示词中的主要描述不变,保持种子值不变,改变一些特定词,可以用来查看它对图像的影响。
●改变风格:如果您对生成图像的构图等都比较喜欢,但想要知道它在不同风格下的效果。类似于上一条,保证主要描述不变,保证种子值不变,加入不同的描述风格的关键词进行对比,你可以指定它出自于哪一位艺术家,如梵高、毕加索,你也可以指定它是什么类型的图像,如像素风、Octane渲染器等。这可用于肖像、风景或者你想要创建的任何场景。
UI操作介绍
模型选择(Model)
在此处可以切换我们的大模型。如果上传了新的模型,需要先点击右侧的刷新图表再进行选择。
关于不同模型的区别可以查看我们的另一篇文章:
宽高设置(**Width、Height**)
Width、Height 分别控制生成图像的宽与高,值设置越大,生成的图片分辨率越高,但生成需要的时间也就更长,也更吃显卡的性能。所以在此处我们可以不将这两项值设置太大,如有需要可以在生成图片后使用send to extras 再进行扩大。
不同宽高设置下的结果对比:
0:00/0:28 倍速
批次(Batch)
Batch count代表生成批次数,Batch size代表每一批次生成的图片个数。如果将Batch count 和 Batch size的值分别设置为2和4时,生成的图片总数就为:2*4=8张。
不同批次值设置下的结果对比:
0:00/0:53 倍速
快捷输入操作区域(Input)
按照从左到右的顺序,功能依次为:
将上一次的生成参数填入(包括prompt、seed等)
0:00/0:29 倍速
清空关键词中的内容
0:00/0:13 倍速
show extra networks 展示额外网络
展示你下载的所有的模型,并按不同类别放置在对应的标签下,以供你直接调用;
●Textual Inversion文本倒置(又称Embedding)
○一种从少量示例图像中捕获新颖概念的技术,其方式可以在以后用于控制文本到图像的管道。它通过在管道文本编码器的嵌入空间中学习新的“单词”来实现。然后可以在文本提示中使用这些特殊词,以实现对生成图像的非常精细的控制。
●Hypernetwork 超网络模型
○是一种微调技术,最初由Novel AI开发,他们是Stable Diffusion的早期采用者。它是一个小型神经网络,附加在Stable Diffusion模型上以修改其风格。
●Checkpoints 检查点文件
○一个二进制文件,其中包含所有权重、偏差、梯度和所有其他保存的变量的值。记录了模型使用的所有参数(tf.Variable)的确切值。Checkpoints不包含任何由模型定义的关于运算的描述,因此Checkpoints通常只有在我们拥有能够运用这些保存的参数值的源代码的时候才有用。该文件的扩展名为 . ckpt。
●Lora
○全称是Low-Rank Adaptation,即大型语言模型的低阶自适应。 Lora通过学习rank-decompostion matrices来减少可训练参数的数量,同时冻结原始权重。这大大降低了适用于特定任务的大型语言模型的存储需求,并在部署期间实现了高效的任务切换,而不会带来推导延迟的问题。Lora还优于其他几种自适应方法,比如适配器、前缀调整和微调。
通过选中模型卡片,可以将其插入prompt描述或作用于你的图片生成过程(以下以Lora模型为例)
1apply style
2save style
输出操作区域(Output)
按照从左到右的顺序,功能依次为:
●📂:打开存储输出图片的文件夹,你生成的图片都在文件夹内
●Save:保存输出图片的同时,将生成参数以CSV格式的参数保存
●Zip:将图片以压缩包的形式保存,可以整体打包下载压缩包,也可以单张下载压缩包
●Send to img2img:将当前图片转入到图生图模式中,转入时会带着tag组合一起
●Send to inpaint:将当前图片转入到局部重绘模式中,同上,转入时会带着着tag组合一起
●Send to extras:将当前图片转入到更多功能中,包括放大图像、xxxxx等功能
(需要注意的是:如果是云端部署,前两个功能无法操作。)
✨img2img(图生图模式)、inpaint(局部重绘-图生图中的一项功能)、extras(更多常用功能)等功能,我们会在之后的文章中详细讲解,敬请期待哦~
插件操作区域
由于安装包自带了很多插件,所以在text2text的UI中也有很多插件操作的区域,插件的详细知识请参阅其它文章:
😴😴😴:暂时还没写呢嘿嘿,很快补上!