Bootstrap

【Stable Diffusion】入门-02:AI绘画提示词+参数设置攻略

感谢前辈种树:哔哩哔哩

1 提示词

Prompts:提示词,告诉AI我们要画什么,多多益善,需要英文书写。提示词以词组为单位,不需要像完整的句子那样需要有完整的语法结构。
词组之间需要插入英文半角逗号作为分隔符,可以分行,每一行的末尾最好也加上分隔符。

1.1 分类和书写方式

1.1.1 内容型提示词

  1. 人物及主体特征
    服饰穿搭:white dress
    发型发色:blonde hair, long hair
    五官特点:small eyes, big mouth
    面部表情:smilling
    肢体动作:stretching arms

  2. 场景特征
    室内室外:indoor / outdoor
    大场景:forest, city, street
    小细节:tree, bush, white flower

  3. 环境光照
    白天黑夜:day / night
    特定时段:morning, sunset
    光环境:sunlight, bright, dark
    天空:blue sky, starry sky

  4. 画幅视角
    距离:close-up, distant
    人物比例:full body, upper body
    观察角度:from above, view of back
    镜头类型:wide angle, Sony A7 III

1.1.2 标准化提示词

  1. 画质提示词
    通用高画质:best quality, ultra-detailed, masterpiece, hires, 8k
    特定高分辨率类型:extremely detailed CG unity 8k wallpaper, unreal engine rendered

  2. 画风提示词
    插画风:illustration, painting, paintbrush
    二次元:anime, comic, game CG
    写实系:photorealistic, realistic, photograph

1.1.3 通用模板

描述人物、描述场景、描述环境(时间、光照)、描述画幅视角、其他画面要素;高品质标准化、画幅标准化、其他特殊要求。

1.2 权重

调整词组优先级的方法:套括号和数字权重

1.2.1 套括号

注意格式是英文半角符号。

  1. 圆括号 ()
    每套一层,权重×1.1倍。例如(((white flower))),此处调节white flower的权重变为原来的1.11.11.1=1.331倍,增强了该词组的作用。

  2. 大括号 {}
    每套一层,权重×1.05倍。例如{{{white flower}}},此处调节white flower的权重变为原来的1.051.051.05=1.16倍,增强了该词组的作用。

  3. 方括号 []
    每套一层,权重×0.9倍。例如[[[white flower]]],此处调节white flower的权重变为原来的0.90.90.9=0.729倍,减弱了该词组的作用。

1.2.2 数字权重

圆括号+数字,例如(white flower:1.5),调节white flower的权重为原来的1.5倍;(white flower:0.8),调节white flower的权重为原来的0.8倍。

调节权重的时候需要注意避免个别词条的权重太高,体验的安全范围是1±0.5左右。如果需要增强某个词条的作用,可以通过增加更多的同类型词条来协同增强它的效应。

1.2.3 进阶语法

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

  2. 迁移:连续生成具有多个不同特征的对象,不断迁移
    [white | red | blue] flower,先生成白花,再生成红花,再生成蓝花。

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

1.3 负面提示词

不希望画面出现什么,就增加对应的反向提示词。例如:
low quality, worst 表示低质量的图片;
monochrome, grayscale 杜绝单色、灰度的图片,保持画面的色彩鲜艳;
bad proportions, 代表畸形的身体比例;
missing hands, extra fingers, 避免画的时候多只手多条腿或者少根手指之类。

2 参数详解

2.1 Sampling steps

迭代步数,越大最终效果越清晰。当步数大于20以后,后面的提升不大,就像从80分到90分100分一样。增加步数意味着更长的计算时间,算力充足时可以设置为30~40,最好不低于10。

2.2 Sampling method

采样方法,生成图像时使用的特定算法。
Euler a和Euler适合插画风格,出图朴素;DPM 2M和2M Karras速度较快;SDE Karras细节较为丰富;推荐使用带有+的,是改进过了的算法。大部分模型也有推荐使用的算法,可能是模型制作者自己测试过的。

2.3 Width, Height

宽和高,代表最终出图时的分辨率,设备支持的情况下越高越好;太高会显存爆掉,也很容易出现多人、多手、多脚的情况,原因是在训练模型的时候,用的图片分辨率一般都比较小,如果分辨率设置太大,模型会认为是多张图片拼接而成,所以会出现多人。
为了避免出现多人或者多手多脚,通常会设置成低分辨率,再通过高清修复(Hires Fix)来放大,本质上是进行了一次额外的图生图。

2.4 CFG Scale

提示词相关性,数值越高,模型反映提示词的程度越高。一般设置成7~12,太高容易变形。

2.5 Seed

随机种子,控制画面内容一致性的重要参数。

2.6 Batch count, Batch size

批次和数量,因为模型绘画的不确定性,同一组提示词也需要反复试验,期待在某一瞬间给到一个完美符合预期的画面,试验过程会很漫长。如果想要模型一直按照同一组提示词和参数去出图,把批次数调高,会不断进行,最后生成多张图片,方便筛选。
批次数量batch size不建议调,增大可以使每批次绘制的图像数量增多,理论上效率会更高,但是同一批绘制的方法是把它们拼在一起看作一张更大的图片一次去画,如果设备不好,非常容易爆显存,不如单批次画少一点,用更多的次数去画更多的图。

3 新手技巧

3.1 翻译大法

不知道该如何表达时,用自然的语言去描述想要画的东西,用翻译平台转成英文。先用一句话描述一个确切的场景,再把新的词组翻译成英文加到后面。

3.2 借助工具

辅助书写提示词的网站

3.3 抄作业

有些网站提供了大量的提示词,可以对已有提示词进行筛选。
https://openart.ai/
https://civitai.com/

;