【Stable Diffusion】(基础篇三)—— 关键词和参数设置

提示词和文生图参数设置

本系列笔记主要参考B站nenly同学的视频教程,传送门:B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili

本文主要讲解如何正确高效地使用合适的提示词来帮助完成AI绘画

提示词Prompts

通过上一个简单的例子,我们知道可以理解到AI绘画提示词在生成艺术作品的过程中扮演着至关重要的角色。整个AI模型通过我们给出的提示词来产出对应的内容,AI绘画提示词不仅是生成艺术作品的技术指令,更是激发创意、实现个性化表达和探索艺术边界的强大工具。正确而巧妙地运用提示词,能够极大提升AI绘画作品的艺术价值和创作效率。

在webui文生图界面,我们可以看到两个填写提示词的地方,一个是正向提示词,一个是反向提示词。我们可以把想要让画面中出现的内容写在正向提示词中,同样的,如果你有不想出现在画面中的内容就写在反向提示词中。

在这里插入图片描述

提示词的一些限制:

  • 提示词需要使用英文进行书写,其中的符号也得是英文
  • 提示词以词组作为单位
  • 不能够很好的识别英文句子。

不论是在文生图还是图生图功能中,提示词都至关重要,我在这篇文章中最主要的还是使用文生图来帮助你快速地熟悉提示词的使用,因为文生图对提示词的依赖更加明显,如果你能在文生图中熟练使用提示词,相信在图生图中对提示词的使用也完全没有问题。

提示词分类

如果你想要使用AI画出一幅你脑海中的画面,你可能会出现词穷或者不知道该如何描述的问题,了解提示词的类型,可以帮助你把脑海中的画面更加具体地进行描述,提示词可以大致被分为内容提示词和标准化提示词,它们的类型如下:

内容型提示词

  • 人物及主体特征:服装穿搭、发型发色、五官特点、面部表情、肢体动作

  • 场景特征:室内/外、大场景、小细节

  • 环境光照:白天/黑夜、特定时段、光环境、天空

  • 画幅视角:距离、人物比例、观察视角、镜头类型

标准化提示词

  • 画质提示词:best quality, ultra-detailed, mastrpiece, hires, 8k,extremely detailed CG unity 8k wallpaper, unreal engine rendered
  • 画风提示词:插画风(ilustration, painting, paintbrush)二次元(anime, comic, game CG)写实系(phtrealistirealistictgra)

这些类型的提示词并不需要在每一次AI绘画时都进行详细地描述,你可以只选择自己需要的内容进行组合达到想要的效果。

提示词权重

在一幅画面中,如果有很多元素,AI通常会随机处理这些元素之间的主次关系,比如说一幅画中有花有树,你想要实现的效果是花多一点,但AI画出的作品可能就是树更多一点,这时候就设置提示词的权重,这可以帮助AI理解提示词之间的主次关系。

下面是一些设施提示词权重的方法:

  1. 括号加数字:(white flower:1.5) ,将白花权重调整为原来的1.5倍
  2. 套圆括号:每套一层,额外乘1.1倍
  3. 套大括号:每套一层,额外乘1.05倍
  4. 套大括号:每套一层,额外乘0.9倍

权重应该保持在0.8-1.2之间,太高或太低可能会让画面整体变得非常不协调

进阶语法:

  • 混合: white | yellow flower,混合两个描述同一对象的提示词要素,此处:生成黄色和白色混合的花。

  • 迁移:[white|red|blue] flower,合两个描述同一对象的提示词要素。连续生成具有多个不同特征的对象,不断迁移。此处:先生成白花,再生成红花,再生成蓝花

  • 迭代:(white flower:bush:0.8)与采样进程关联,一定阶段以后再生成特定对象。处:进程到达80% 之前生成白花,80%之后再生成灌木。

通用提示词

不论是正向提示词,还是反向提示词,都有一些内容是固定通用的,比如说在正向提示词中写上高质量的图片,在反向提示词中写不协调的肢体等,这些内容基本每次进行AI绘画都会写上,把它们整理好之后可以帮助你控制出图质量。

正向提示词模板:

(masterpiece:1,2), best quality, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2), drawing, paintbrush,
(杰作:1,2),最佳质量,高层建筑,原创,极其详细的壁纸,完美的照明,(极其详细的CG:1.2),绘画,画笔,

反向提示词模板:

NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (tranny:1.331), mutated hands, (poorly drawn hands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (missing arms:1.331), (extra legs:1.331), (fused fingers:1.61051), (too many fingers:1.61051), (unclear eyes:1.331), lowers, bad hands, missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs))),
不适合上班时间浏览,(最差质量:2),(低质量:2),(正常质量:2),低分辨率,正常质量,((黑白)),((灰度)),皮肤斑点、痤疮、皮肤瑕疵、年龄斑,(丑陋:1. 331),(重复:1. 331),(病态:1. 21),(残缺:1. 21),(变形:1. 331),(变形手:1. 331),变形手,(手绘得很差:1. 5),模糊,(解剖结构不良:1. 21),比例不良,(多余的手臂:1. 331),(多余的腿:1. 331),(融合的手指:1. 61051),(太多的手指:1. 61051),(眼睛不清楚:1. 331),低分辨率,(畸形:1. 331),手不好,手指不见了,手指多了,手不好了,手指少了,(((额外的胳膊和腿)),

提示词的写法

如果你的英语水平过关,可以直接使用英文书写提示词

可以利用翻译软件将构思好的提示词翻译为英文,但要注意使用词组而不使用句子

利用提示词生成工具,可以帮助更快地写提示词,但提示词生成工具可能没有你构思好的内容,需要自行补充。其结构通常如下图所示,只需要选择对应的中文词汇进行组合,最后复制粘贴即可。

在这里插入图片描述

下面给出几个提示词生成工具网站:

AI绘画提示词生成器 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)

PromptTool词图 游戏资产AIGC

文生图参数设置

SD需要设置的主要参数如下,新人第一次见到可能都会被吓一跳,面对这么多的参数该如何设置无从下手,我会给你讲解以下这些参数的含义,了解其含义之后进行参数的设置就会变得得心应手许多,如果你对这些参数的底层原理并不感兴趣的话,我在每个参数介绍我的经验参数选择,按照这些来即可。

在这里插入图片描述

迭代步数

决定了从随机噪声到最终输出图像的转换过程中,模型将进行多少次迭代。

更多的步骤通常需要更多的时间和计算资源。

更多的步骤可能会产生更高质量、更详细的图像,但并不总是如此,因为过长的序列可能导致图像变得模糊或失去细节。

经验总结,20步以后的提升不大,最好不小于10

采样方法

采样方法指的是从模型学习到的概率分布中抽取样本的过程。不同的采样方法可以影响生成内容的质量、多样性、速度以及控制程度。对于Stable Diffusion这样的模型,采样方法尤其关键,因为它涉及到从噪声开始逐步恢复信号(或图像)的过程。以下是一些常见的Stable Diffusion采样方法及其特点:

  1. DDPM (Denoising Diffusion Probabilistic Model):
    • 最基础的扩散模型,通过多次迭代逐渐去除图像中的噪声。
    • 需要大量步骤才能达到高质量的输出。
  2. DDIM (Denoising Diffusion Implicit Models):
    • 改进了DDPM,允许直接采样后验分布,而非先采样前向过程再反转。
    • 可以通过较少的步骤达到与DDPM相当的质量。
  3. Langevin Dynamics:
    • 基于物理原理,模拟粒子在势能场中的运动,用于探索概率分布。
    • 适用于高维空间的采样。
  4. DPM-Solver (Diffusion ODE Solver):
    • 解决扩散过程的微分方程,允许更快的采样。
    • 可以用较少的步数获得高质量的图像。
  5. DPM++ Series:
    • 包括DPM++ 2M、DPM++ 3M、DPM++ SDE等,是对扩散模型的改进版本。
    • 结合了随机微分方程(SDE)和其他优化策略,提高了图像质量和生成速度。
  6. Karras Sampling:
    • 命名来源于研究人员Karras等人,采用非均匀步长来优化采样过程。
    • 有助于在保持质量的同时减少计算成本。
  7. Euler-Maruyama Method:
    • 用于解决随机微分方程的数值方法。
    • 可以应用于基于SDE的采样过程。
  8. Heun’s Method:
    • 一种更高级的数值积分方法,用于SDE的解决方案。
    • 比Euler-Maruyama方法更精确。
  9. PNDM (Predictive Noise Decomposition Method):
    • 通过预测和分解噪声来改善采样效率。

经验总结,Euler适合插画,DPM和2M Karras速度快,选择带有加号的采样方法效果更好

高度和宽度

高度和宽度控制图像分辨率,分辨率太高可能出现画面结构混乱的情况(多人/头/手脚)。

解决方法:先使用低分辨率绘画之后再使用高清修复重绘放大分辨率

提示词引导系数

提示词引导系数(CFG Scale,全称为Classifier-Free Guidance Scale)是在生成式AI模型,特别是像Stable Diffusion这样的模型中使用的参数,它用于控制生成图像与给定文本提示之间的相关程度。这个系数直接影响着模型在生成过程中遵循提示的程度。

  • 较高的CFG Scale值(例如0.7到1.2之间)意味着模型将更紧密地跟随提供的文本提示。这通常会产生与提示高度相关的图像,但可能会导致生成的图像过于拘束于细节,有时甚至产生过度锐化或粗糙的细节。
  • 较低的CFG Scale值则会让生成过程更加随机,图像可能包含更多意外元素或更少地依赖于原始提示。这可能会增加图像的创意性和多样性,但同时可能使图像与原始提示的关联性降低。

经验总结,提示词引导系数保持在0.7-1.2之间

批次和数量选择

这两个参数含义非常简单,控制每次画图出图的数量,因为AI绘画有很大的随机性,出图的过程和抽卡很类似,很多时候都是一次生成多张图片,再从中选取合适的。每次最终生成的图像总数量就是批次数量x数量

经验总结,生成多张选择修改批次而不是每次的数量,这样可以减轻每批渲染的显卡压力

随机种子

“随机种子”(Random Seed)是指在随机数生成器(Random Number Generator, RNG)中设定的一个初始值。当这个初始值被固定时,即使RNG的输出看起来是随机的,实际上每次运行都会得到完全相同的结果序列。这是因为大多数伪随机数生成器都是确定性的算法,它们通过一系列数学运算来产生看似随机的数字,而随机种子就是这一系列运算的起始点。

经验总结,设定相同的种子可以让多次生成的内容相近,随机种子为-1每次都随意选取种子

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 11:20:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 11:20:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 11:20:04       58 阅读
  4. Python语言-面向对象

    2024-07-11 11:20:04       69 阅读

热门阅读

  1. 华为机试HJ84统计大写字母个数

    2024-07-11 11:20:04       20 阅读
  2. MySQL中in和exists的区别

    2024-07-11 11:20:04       20 阅读
  3. Spring Boot 常用 Starter

    2024-07-11 11:20:04       22 阅读
  4. dify/api/models/tool.py文件中的数据表

    2024-07-11 11:20:04       22 阅读
  5. 【SQL】InnoDB的意向锁

    2024-07-11 11:20:04       24 阅读
  6. SpringSecurity中文文档(Servlet OAuth 2.0 Client)

    2024-07-11 11:20:04       19 阅读
  7. Linux串口设备的使用<ubuntu>

    2024-07-11 11:20:04       21 阅读
  8. 计算机如何学习

    2024-07-11 11:20:04       19 阅读
  9. 【通信原理】matlab中pskmod的介绍

    2024-07-11 11:20:04       18 阅读
  10. Perl词法分析:构建编程语言解析器的指南

    2024-07-11 11:20:04       24 阅读