请选择 进入手机版 | 继续访问电脑版
查看: 2447|回复: 0

【入门 04】Stable Diffusion 提示词词缀使用指南

[复制链接]

171

主题

11

回帖

22万

积分

开发人员

积分
220771
发表于 2023-5-17 17:01:50 | 显示全部楼层 |阅读模式
一、基础综述
2bc18e26baf64bb2ac27633b461794bd.png
  • 提示词(prompt)由多个词缀构成。
  • 提示词分为正向提示词(positive prompt)和反向提示词(negative prompt),用来告诉AI哪些需要,哪些不需要。
反向提示词就是我们不想出现什么的描述。
例:NSFW 不适合在工作时看的内容,包括限制级,还有低画质相关和一些容易变形身体部位的描述等。
注:可下载 Easynegative 的文件,它已把一些常用的反向提示词整合在一起了,我们只需输入关键词就能得到较好效果。
把它放到 /enbeddings 文件夹,需要触发时在反向提示词中输入easynegative 激活。
  • 词缀的权重默认值都是1,从左到右依次减弱,权重会影响画面生成结果。
    比如景色Tag在前,人物就会小,相反的人物会变大或半身。
    选择正确的顺序、语法来使用提示词,将更好、更快、更有效率地展现所想所愿的画面。
注意,词缀因为是英文,很多词我们需要深入学习。
比如跑这个词,running是默认词,别名是run,但本文所用模型如果使用run将几乎无效,看权重篇中的第一个例子了解。
  • AI 会依照概率来选择性执行,如提示词之间有冲突,AI 会根据权重确定的概率来随机选择执行哪个提示词。
  • 生成图片的大小会影响 Prompt 的效果,图片越大需要的 Prompt 越多,不然 Prompt 会相互污染。
  • Prompt 支持使用 emoji,且表现力较好,可通过添加 emoji 图来达到效果。如形容喜欢表情。
为了便于理解,不相关词缀可以用换行以示区分。
  • 本文主要是学习词缀变化带来的出图变化,不同模型生图不同,学习时需观察同模型下的出图变化。
  • 以下为主要参数参考,学习时设置个负面词,其余默认即可。
// 参考absurdres, 8k, comic, viewfinder, 1male, run, black hair, orange sun, blue sky,Negative prompt: easynegative, canvas frame, cartoon, 3d, ((disfigured)), ((bad art)), ((deformed)),((extra limbs)),((close up)),((b&w)), wierd colors, blurry, (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))), out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck))), Photoshop, video game, ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, mutation, mutated, extra limbs, extra legs, extra arms, disfigured, deformed, cross-eye, body out of frame, blurry, bad art, bad anatomy, 3d renderSteps: 20, Sampler: Euler a, CFG scale: 22, Seed: -1, Face restoration: CodeFormer, Size: 720x480, Model hash: 1dceefec07, Model: dreamshaper_331BakedVae, Denoising strength: 0.5, Clip skip: 2, ENSD: 31337, Hires upscale: 2, Hires upscaler: Latent
二、权重语法权重逻辑
  • 若是想明确某主体,应当使其生成步骤向前,生成步骤数加大,词缀排序向前,权重提高。
    画面质量 → 主要元素 → 细节
  • 若是想明确风格,则风格词缀应当优于内容词缀
    画面质量 → 风格 → 元素 → 细节
  • 未证实:风格权重或许需要优于画面质量,从而不至于被画面质量污染特殊风格质感。

分割符
  • , 逗号:分割词缀,有一定权重排序功能,逗号前权重高,逗号后权重低,因而建议排序:
  • 综述(图像质量+画风+镜头效果+光照效果+主题+构图)
  • 主体(人物&对象+姿势+服装+道具)
  • 细节(场景+环境+饰品+特征)

举例一:
// 超高分辨率, 8k, 漫画风, 相机取景框,一个男子, 奔跑(动词原型), 黑色头发, 橙色太阳, 蓝色天空
absurdres, 8k, comic, viewfinder, 1male, run, black hair, orange sun, blue sky,
76c860f6dffd459ca92295cf14689dd3.jpeg
根据上面的提示出的图,各元素都出现了,但是并没有实现run这个关键词,除了第一张图左下角几个奔跑的人物外,第三张图更是人物都没有了。

举例二:
// 超高分辨率, 8k, 漫画风, 相机取景框, 一个男子, 奔跑(现在分词), 黑色头发, 橙色太阳, 蓝色天空
absurdres, 8k, comic, viewfinder, 1male, running, black hair, orange sun, blue sky,
6655eb0ed89d4049af7332b3769a5001.jpeg
而当我们把run改为running时,跑步的姿态就出来了~~。

组合符
  • : 冒号:自定义权重数值
    格式:左圆括号 + 词缀 + 冒号 + 数字 + 右圆括号

        // 单人女孩词缀,权重为0.75
         (1girl:0.75)
  • () 仅圆括号:增加权重0.1
    大部分情况用圆括号即可。

         // 权重乘以1.1
        (1girl)
  • {} 花括号:增加权重0.05
       // 权重乘以1.05
        {1girl}
  • [] 方括号:减少权重0.1,也有说是减弱0.05的
    方括号中无法自定义权重数值,自定义权重只能使用(x:0.5)形式。
        // 权重除以1.1
         [1girl]
  • (())、{{}}、[[]] 复用括号:叠加权重
        // 权重乘以1.1*1.1,即权重为1.21
          ((1girl))
一般流程:先把要描述的画面写下生成一次,根据生成结果边试边改不满意或遗漏的描述,要强调的概念用 (xxx: 1.x ) 语法形式来提升权重,其中 xxx 是你要强调的词,1.x 代表要提升的比例,如 1.5 就是提升 150% 的权重。
权重取值范围 0.4-1.6,权重太小容易被忽视,太大容易拟合图像出错。例:(beautiful:1.3) 。
叠加权重:通过叠加小括号方式提高权重,每加一层相当于提高1.1倍权重,例:((((beautiful eyes)))) 。

举例三:
根据上一个例子的规则,增加跳跃,并且加强其权重,于是图像变了~~
// 跳跃的权重最高
(absurdres),  8k, comic, ((viewfinder)), 1male, running, (jumping:1.5), black hair, orange sun, blue sky,
699afda10dec44788c214413335e64c2.jpeg
看得出,人物有跑跳感,但跳感肯定是最强。

连接符
  • AND 和:将多个词缀聚合在一个提示词顺序位置中,其初始权重一致
// 三个词缀权重一致bird and dog and pig// 可使用冒号标记其权重bird:1.5 and dog:1.2 and pig:0.8
实际使用时发现用and连接词缀,可能会出现物体合并的现象,比如白菜和肉,可能会生成一张白菜里包着肉的诡异图片。

举例四:
好,我们现在再将上面的案例改一下看看会有什么效果:
// 合并了绿色、白色、长发,要求加强绿色头发,橙色和蓝色天空合并,权重一致
absurdres,  8k, comic, [viewfinder], (1male), (running), (green hair:1.5 and white hair and very long hair), orange sun and blue sky,
afd2111c5dfc4c9992d331730e43f990.jpeg
由上图可以看出,主角头发一定为绿,但可能会有0~2个头发为白的人物出现在画面中,1male这条规则被打破;
橙色太阳和蓝色天空因为权重一致了,所以基本都会同时出现在画面中(看云:似乎AI想把橙色和蓝色都嵌入到其中,第三图似乎更是想生硬地把他们都捏在一起,而这种感觉在前几个例子的图片是没有的)。

  • + 加号
(red hair:1.1)+(yellow hair:1.25)+(green hair:1.4)
  • | 竖线
(red hair:1.1)|(yellow hair:1.25)|(green hair:1.4)
  • _ 下划线
(red hair:1.1)_(yellow hair:1.25)_(green hair:1.4)
  • 什么都不加
and词缀会出现物体合并,但在什么都不加或,逗号情况下,这种合体可能性就很低了。
(red hair:1.1)(yellow hair:1.25)(green hair:1.4)
  • , 逗号
    对象一致时,逗号有连接的功能
(red hair:1.1),(yellow hair:1.25),(green hair:1.4)
举例五:
虽然都是连接符,但还是有些微差别的,是更趋向于融合还是更趋向于并列,自行摸索吧~~
// 又跑又跳,红黄绿色头发,橙色太阳和蓝色天空~~absurdres,  8k, comic, [viewfinder], (1male), running|jumping, (red hair:1.1)(yellow hair:1.25)(green hair:1.4), (orange sun)_(blue sky),
d075ab0b42994a87ba5e7d9b6f8ee7db.jpeg
好吧,这个例子彻底把画面搞混乱了~~哈哈,原因之一是:某个元素过高的权重可能会污染其他元素。

三、分布与交替渲染
[] 方括号中使用:、| 等符号,则可实现较为复杂的分布与交替渲染的需求。
  • [A:B:step] [元素1:元素2:步骤比例] :渲染元素1到多少进度后开始渲染元素2,实现元素1与元素2的互相叠加,有类似于[from:to:when]的感觉,可用于两个词条的融合
// 渲染蓝色到40%进度后,开始渲染红色[blue:red:0.4]// 前12步渲染蓝色后,开始渲染红色[blue:red:12]
注:
step > 1 时表示该组合在前多少步时做为 A 渲染,之后作为 B 渲染。
step < 1 时表示迭代步数(参与总步骤数)的百分比。
  • [A:step] [元素1:步骤比例] :从多少进度开始渲染元素1
// 在执行40%的步骤后,开始渲染蓝色[blue:0.4]// 在执行15步之后,开始渲染蓝色[blue:15]
  • [A::step] [元素1::步骤比例]:渲染到多少进度的时候停止元素1的渲染(其它元素的渲染继续)
// 在执行了40%的步骤后,停止渲染蓝色[blue::0.4]// 在执行了15步后停止渲染蓝色[blue::15]
  • [A|B] [元素1|元素2]:元素1和元素2的交替混合渲染,意思就是渲染一次A,再渲染一次B,再渲染一次A~~以此往复直至最后
// 融合蓝色与红色,紫色?[blue|red]// 某物与某物的交替演算,用于生成融合生物,句中词缀含义为融合牛与马。[cow|horse]
[xx|xx|xx|xx|xx…] 本质为一种在平等权重下融合词缀生成单个元素,不限制混合元素的数量。
  • [A|B]C [元素1|元素2]元素3:
    括号外加词缀意味着融合过程中的共享元素。

举例七:
// 一个蓝红混色染发的短发女孩1girl, [blue|red]hair, short hair
5fe837cab9d74ed198230b41b3000c46.jpeg
果然紫色出来了哦~~

举例八:
// 合成“空中的鸟”与“空中的飞机”[bird|airplane] in sky
f59e7ff514724ad680400f9161b4c26c.jpeg
好诡异的合体~~

举例九:
经过学习,现在我们利用第一个例子中的词缀再搞几个画面练手。
// 哇哦哇哦哇哦absurdres,  8k, comic, [viewfinder], 1male+running, 1female ([red:blue:0.3]hair)(long hair) jumping, [[orange sun]], [blue sky], (bird and horse) in sky,
98315844938c45f6bde258732b903a81.jpeg
注意:
因为加入了动物,所以femal和male可能被AI识别为雌性、雄性。。。
目前发现仅用文字描述同一场景多人物,很难成功生图,看案例中男女混合了,还有很多错误的图我都没放上来。
可能需要加入很多负面提示词来控制污染,并且要把不同人物的位置、状态明确告诉AI,这样成功几率才大。
建议还是利用手稿、controlnet等方式来共同实现。

举例十:
反观单场景单人的实现就特别容易了,这或许也是为什么很多AI图片网站的成图都是单人肖像的原因。文章来源站点https://www.yii666.com/
best quality, very detailed, absurdres,  8k, comic, [viewfinder], one lady with long [blue|red]hair is sitting on ground, birds around her, blue sky+[orange sun],
19a4bffee9634967a6c3f4ff76edf9e2.jpeg
这里的提示词使用了人类的英文阅读格式~~

四、调取 LoRA & Hypernetworks 模型
  • <> 尖括号:调取LoRA或超网络模型等。
    输入:<lora:filename:multiplier> 或 <hypernet:filename:multiplier> 可调取相应模型。
<lora:cuteGirlMix4_v10:0.5>
注:要先确保在【…\models\lora】或【…\models\hypernetworks】文件夹已保存好相关模型文件。
五、资源词缀获取渠道
  • 词缀超市
  • 分享社群
  • 词图 Prompt Tool
  • 提示词字典
tag自动补齐插件
  • 插件名称:tagcomplete
    安装完成后按照教程更新翻译库:https://www.bilibili.com/video/BV14Y4y1D7vR
  • 关键词缀:Trigger Words
    在使用某些lora模型的时候,需要使用官方提供的trigger words作为词缀,用于在单个lora中准确的导向不同的风格。
    由于没有预览图和备注,词缀很难使用,在复杂环境也很难辨别有没有生效。
    建议安装civitai helper用于自动生成预览图与trigger words。

提示词表
  • 反向常用:
    ((nsfw)),((ugly))),(((duplicate))),((morbid)),((mutilated)),(((tranny))),(((trans))),((trannsexual))),(((mutation))),(((deformed)))(((long neck))),((bad anatomy))(((bad proportions))),(((extra arms))),(((extra legs))), (((disfigured))),((more than 2 nipples))),malformed,mutated,(hermaphrodite),((extra limbs)).((missing arms)).((missing legs)).((poorly drawn hands))((poorty drawn face)),(mutation,poorly drawn :1.2),(long body :1.3).multiple breasts,cloned face,gross proportions, mutated hands,bad hands,bad feet,long neck,missing limb,(malformed limbs),malformed hands,(fused fingers).(too many fingers),extra fingers,missing fingers,extra digit,fewer digits,(mutated hands and fingers :1.5),low res,text,error,cropped,worst quality,low quality,normal quality,jpeg artifacts,signature,watermark,username,blurry,text font ui,futa,yaoi,
  • 画质常用:
    masterpiece, best quality, masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,
  • 地点常用:
    masterpiece, best quality, masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper, steam, in the cyberpunk city, explosion, underwater, flower field, fireworks, intense shadows, strong rim light, golden hour lighting, sky, sea, mountain, on a hill, the top of the hill, in a meadow, plateau, on a desert, cityscape, in hawaii, landscape, beautiful detailed sky, beautiful detailed water, on the beach, on the ocean, beautiful purple sunset at beach, over the sea, in the ocean, against backlight at dusk,
  • 风格常用:
    artbook, game_cg, comic, 4koma, animated_gif, dakimakura, cosplay, dark, crossover, light, night, guro, realistic, photo, real, landscape/scenery, cityscape, science_fiction, original, parody, personification, checkered, highres, lowres, absurdres, column_lineup, everyone, expressions, profile, bust, back, sample, album, covr, silhouette, what, artist_request, tagme, bad_id, watercolor_(medium), traditional_media, translation_request, Japanese, sketch, fine_art_parody, French, optical_illusion, zoom_layer, colorful, monochrome, gradient_background, pixel_art, wallpaper, simple_background, huge_filesize, incredibly_absurdres, transparent_background,
  • 角色常用:
    girl, little boy, shota, loli, kawaii, mesugaki, adorable girl, bishoujo, sisters, gyaru, ojousama, mature female, mature, female pervert, milf, harem, angel, cheerleader, chibi, crossdressing, devil, doll, elf, fairy, female, furry, orc, giantess, harem, idol, kemonomimi_mode, loli, magical_girl, male, maid, mermaid, miko, milf, minigirl, monster, multiple_girls, no_humans, ninja, nun, nurse, shota, stewardess, student, trap, vampire, waitress, witch, yaoi, yukkuri_shiteitte_ne, yuri,
  • 自考虑:
    easynegative,toony,dated,line art,flat colors

32ed3e14202e4aacbb80c70dcdbc44aa.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则