stable diffusion 提示词进阶语法
前言
ai绘画大家应该都有所接触了吧,mj、sd各有各的好处,俺滴钱包说暂时不支持去买mj账号,所以就先用sd来跑图啦~
如果你还没有sd,那就快来看看这位赛博菩萨的启动器吧~
博客地址: stable diffusion webui之赛博菩萨【秋葉】——工具包新手安裝与使用教程
关于提示词的注释等语法、以及如何使用模型,可以看几这篇博客:
提示词语法
基础正向提示词
(masterpiece:1,2), best quality, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed 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))),
可选正向提示词(特写镜头提示词)
looking at viewer, close-up, upper body,
特别是使用 【looking at viewer,】这种镜头指定,会让你的出图效果更好一些,毕竟正面图效果较好,出图效果不理想的时候可以试试。
进阶语法1——提示词注释
例如:1girl,silver long hair,purple eyes,yellow suit
生成出来的结果很大概率会因为每个提示词之间的互相污染而造成颜色错乱。
解决方式——使用注释,来将修饰词限定给某个主体
改造:1girl(silver long hair,purple eyes),yellow suit
可以看到,提示词注释的用法就是,跟在要修饰的主体之后,使用(xxxx,xxxx,xxx)把修饰词包裹起来,这样就能限定这几个修饰词的作用范围了,给指定的主体增加修饰,避免污染其他地方。
提示词注释还经常用于限定画面中的人物数量:
例如:
直接描述 1girl,1boy,walk in the street
很大概率出来的是一个拼接组合的奇怪图片,不会是两个人(因为提示词中没有明确说明要几个人)
解决方案:
2girls 直接要求要2个人物
或者
2people(1girl and 1boy)
2characters(1girl and 1dog)
这样,明确提示词中的角色数量,才能得到一张图中指定的人物数量。
进阶语法2——and连接词
众所周知,给提示词增加权重,可以用(1girl)、(1girl:1.1)z这种提示词加权的方式。
不过,还可以用【注释】、或者【and连接词】来增加描述关联性,达到主体修饰的效果。
例子:
原始直接写提示词——1girl, brown long hair, lipstick, red eyes, red shirt,
很有可能出图会被颜色污染,得不到想要的效果。
解决方案1:提示词注释
1girl(brown long hair, lipstick, red eyes, red shirt),
每个提示词之间有,逗号
解决方案2:and连接词
1girl and brown long hair and red eyes and lipstick and red shirt
不要用,逗号隔开!
进阶语法3——break阻断
在stable diffusion的提示词输入中,大家都会看见右上角的0/75的字数统计。stable diffusion会将提示词按每75token(token 通俗理解就是输入的字符个数,1个字母/1个符号/1个空格都代表 1个 token)强制分为1组去生成。
我们在描述一个场景时,可能会超过75token(字符)的限制,从而导致同一组提示词被系统强制切分为两组词,进而导致生成画面的时候出现提示词的互相污染,生图效果不佳。
此时我们可以使用“阻断(break)”来执行手动分组的操作,让每一组都可以描述完成的一个画面特征,break的好处是可以将两组不同的画面元素的上下文关联切断,从而保证两组元素不会相互污染。
请注意:在一段描述词中 break 的使用尽量不超过3个,过多的分组会使模型学习时出现混乱
使用样例:
2people(1boy and 1girl),walking,(street_background:1.3),(looking at viewer), dynamic pose, (masterpiece:1.4, best quality), unity 8k wallpaper, ultra detailed, beautiful and aesthetic, perfect lighting,detailed background, realistic,
break
1girl, red long hair and red eyes and (red shirt:1.3),
break
1boy, yellow short hair and yellow eyes and (yellow suit:1.3) and hands in pocket,
以上就是目前我这个小白学习到的一些稍微进阶的提示词语法了,有其他见解的朋友可以评论区交流交流,俺会虚心学习滴~
发表评论