Stable Diffusion 生成图
关于提示词,刚刚开始的时候很多人都是申手党。就好比我们学画画也是先临摹再创作。有了一些基本的经验后再调整别人的提示词来达到自己想要的效果。慢慢的就可以调整一套属于自己的提示词的架构。
Stable Diffusion PROMPT入门学习
创建 prompt 的关键语法规则:
首先,使用逗号 (,) 来分隔不同的提示词。逗号前面的提示词比逗号后面的提示词权重更高。
其次,提示词可以分为前缀、主体和场景三个部分。
第三,要调整提示词的权重,使用小括号 () 来包含提示词,并使用冒号 : 来指示提示词的权重。权重越大,提示词的权重越高。
第四,使用尖括号 <> 来调用 LoRA 和超网络模型,格式为 "lora:filename:multiplier" 或 "hypernet:filename:multiplier"。请确保相关模型文件保存在相应的文件夹中。
第五,使用方括号 【】可以进行复杂的分布和交替渲染。最后,反向提示词可以用于排除某些不需要的元素。
在使用 prompt 时,需要注意以下几点:
- 提示词的顺序和权重会影响生成的图像质量。
- 如果提示词之间存在冲突,AI 模型会根据它们各自的权重随机选择使用哪个提示词。
- 生成的图像大小也会影响提示词的效果。
- 此外,可以在提示词中使用 emoji 来增强其表现力。
以下是常用的Prompt分类和举例,供参考:
画质词
HDR 高动态范围 ;UHD 超高清; 8K 超高清; 64K 超高清; best quality 最佳质量; masterpiece 杰作; Highly detailed 高度详细; ultra-fine painting 超精细绘画; sharp focus 聚焦清晰; physically-based rendering; 基于物理渲染; extreme detail description 极其详细的描述; High resolution scan 高分辨率扫描; Sketch 素描; Painting 绘画;
画风词
Anime 动漫; Abstract 抽象; Realistic 现实主义; Expressionism 表现主义; Surrealism 超现实主义; Pop art 波普艺术; Futuristic 未来主义; Gothic 哥特式; Impressionism 印象主义; Minimalism 极简主义; Pointillism 点彩派; Photorealism 照片写实主义; Cubism 立体主义; Fauvism 野兽派; Symbolism 象征主义;
镜头效果
Bokeh 虚化模糊了背景;突出了主体; Depth of Field 景深; Motion Blur 运动模糊; Tilt-Shift 移轴效果 Zoom 缩放; Panorama 全景 ;
光照效果
Studio lighting 演播室灯光; Sunrise 日出; Sunset 日落; Golden Hour 黄金时刻; Twilight 黄昏;Night 夜晚; Neon 霓虹灯光; Fire 火光; Candlelight 烛光; Glowing 发光; Backlit 背光 ;Underwater 水下; Silhouette 剪影; Lens Flare 镜头光斑; Reflection 反射;
人物&对象
Woman 女人; Man 男人; Child 孩子; Elderly 老人; Animal 动物; Fantasy creature 幻想生物; Superhero 超级英雄; Villain 反派;
摘自“爱玩爱事” 2023-04-10
Stable Diffusion提示词技巧
正面提示词可以分四个区块,下以是针对人物肖像的方法。
- 画质区:用来提升整个图片的画质,图片的质量与风格。8k, best quality(8K,最佳品质), masterpiece(杰作),ultra highres(超高分辨率),RAW photo,(RAW照片)等等这些提示词用到10个以内可以明显提升画出的质感。
高质量画质
- 人物的写实的画质描述:1 girl,(1个女孩)detailed beautiful skin,(细致美丽的肌肤)kind smile,(亲切的微笑)absurdres,(夸张)detailed-beautiful-face,(精致美丽的容颜)petite figure,(身材娇小)detailed skin texture,(细致的皮肤纹理)pale skin,(白皙肌肤)detailed hair,(细致的头发) random hair style,(随意发型,)detailed eyes,(细致的眼睛)glistening skin,(晶莹剔透肌肤),clean face(干净脸), pretty face(漂亮的脸),sexy(性感), cool(酷), naughty face(淘气的表情),((twintails))(双马尾),。其中twintails用了两个括弧是权重加强。正常的情况下必出两个辫子。
用双括弧来加强权重((twintails))
- 角色描述区:衣服、发型、肤色、表情都可以放在这个区。short sleeve shirts,(短袖衬衫)uniform,(制服)pantyhose,(连裤袜)pleated skirt,(百褶裙)ear rings,(耳环)futuristic,(未来派)studio,(工作室)white background,(白色背景)这些都可以进行细划。耳环你可以更具体的描术。这样Ai出的图会更接你想要的效果。
同一份提示词未用lora模型来调整脸型风格
- 用L ora的模型来控制人物的脸型。如果只想用到基础的模型的话也可以不用。要用到Lora的模型时总的权重不能超过1.超过来就会出来奇怪的画出。< lora:koreanDollLikeness_v15:0.4>.0.4+0.1+0.1=0.6三个Lora模型的权重相加没超过1是没有问题的。
上面是在固定Seed后更改了头发颜色的权重出效果对比((deep blue hair:1.5)),((twintails))
提示词的描术越是靠前越得到Ai的重视,在整个出图的时候会得到优先的考虑。当然后面的提示词也可以用权重来加强。上面的((twintails))是一个例子。还有用指定倍数的方法来加强权重。(8,best quality:1.5)8K,最佳品质1.5倍。
负面提示词比较简单,就是把一些不想出现的东西加进去就可以了。最重要的是加上“nsfw”(是少儿不宜的意思)。
一些负面提示词Negative:
EasyNegative,Paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2),lowers, normal quality, ((monochrome)), ((grayscales)), skin spots, acnes, skin blemishes,age spot, glans, (6 more fingers on one hand),(deformity), multiple breasts,(mutated hands and fingers:1.5 ), (long body :1.3), (mutation, poorly drawn :1.2) ,bad anatomy, liquid body, liquid tongue, disfigured, malformed, mutated,anatomical nonsense, text font ui, error, malformed hands, long neck, blurred, lowers,lowres, bad anatomy, bad proportions, bad shadow, uncoordinated body, unnatural body,fused breasts, bad breasts, huge breasts, poorly drawn breasts, extra breasts, liquid breasts,heavy breasts, missing breasts, huge haunch, huge thighs, huge calf, bad hands, fused hand,missing hand, disappearing arms, disappearing thigh, disappearing calf, disappearing legs,fused ears, bad ears, poorly drawn ears, extra ears, liquid ears, heavy ears, missing ears,fused animal ears, bad animal ears, poorly drawn animal ears, extra animal ears, liquid animal ears,heavy animal ears, missing animal ears, text, ui, error, missing fingers, missing limb, fused fingers,one hand with more than 5 fingers, one hand with less than 5 fingers, one hand with more than 5 digit,one hand with less than 5 digit, extra digit, fewer digits, fused digit, missing digit, bad digit, liquid digit,colorful tongue, black tongue, cropped, watermark, username, blurry, JPEG artifacts,
EasyNegative,绘画,素描,(最差质量:2),(低质量:2),(正常质量:2),降低了,正常质量,((单色)), ((灰度)), 皮肤斑点、痤疮、皮肤瑕疵、老年斑、龟头、(一只手上有6个以上的手指)、畸形、多个乳房、(突变的手和手指:1.5),(身体过长:1.3),(突变, 画得不好:1.2), 解剖错误, 液态身体, 液态舌头, 面部毁容, 形态异常, 突变异样,解剖学胡言乱语,text font ui,error ,畸形的双手 ,颈部过长 ,模糊不清 ,降低了 ,低分辨率 ,解剖错误 ,比例失调 ,阴影不良 ,协调性差的身体 ,非自然状态下的身体,融合在一起的乳房,坏掉的乳房,巨大的乳房,在绘制时表现欠缺 的乳房额外增加了液态物品。重型胸罩。缺少胸部。巨大臀部。粗壮大腿。粗壮小腿 。坏手。融合的手,缺少的手,消失的胳膊、消失的大腿、消失的小腿 ,耳朵融合在一起 ,坏耳朵 ,画得不好 的耳朵额外增加了液态物品。重型动物耳朵 。缺少动物耳朵 。坏掉的动物耳朵 。画得不好 的动物耳朵额外增加了液态物品。彩色舌头,黑色舌头,裁剪过, 水印, 用户名, 模糊不清, JPEG伪像.
文章来源“木子易2019” 2023-03-28
生成模型model和lora包参数设置
提示词prompt: a 19 years old girl, best quality, masterpiece, (realistic:1.2), 1 girl, brown hair, brown eyes,Front, detailed face and breast, beautiful eyes, small breast , white jacket, jeans, fashion, smaller head, fashion girl, wrinkle t-shirt, hair covers ears, hands in pocket , real face, real skin, realistic face, realistic skin, rough skin
这个提示词的分析如下:
a 19 years old girl 这是一个具体提示词,它可以指定人物的年龄和性别,符合用户的需求。
best quality, masterpiece 这些都是质量提示词,它们可以让模型生成更清晰、更优秀的图像,避免模糊或失真的情况。
(realistic:1.2) 这是一个风格提示词,它可以让模型生成更接近现实的图像,增加真实感和逼真感。1.2 是一个比较高的值,表示用户对真实性的要求很高。
1 girl 这是一个具体提示词,它可以告诉模型只生成一个女孩的图像,而不是多个或其他性别的人物。
brown hair, brown eyes 这些都是具体提示词,它们可以指定人物的发色和眼色,符合用户的喜好。
Front 这是一个视角提示词,它可以让模型生成正面的图像,而不是侧面或背面的图像。
detailed face and breast, beautiful eyes, small breast 这些都是人物吟唱魔法,它们可以提高人物的细节精细度和美感,让模型生成出更漂亮、更有质感的脸部和胸部。
lora:koreanDollLikeness_v15:0.1, lora:japaneseDollLikeness_v10:0.2 这些都是风格提示词,它们可以让模型生成更接近韩国娃娃或日本娃娃的图像,增加可爱感和萌感。0.1 和 0.2 是比较低的值,表示用户对娃娃风格的要求不高。
white jacket, jeans, fashion, wrinkle t-shirt 这些都是具体提示词,它们可以指定人物的服饰和风格,符合用户的喜好。
smaller head, fashion girl, hair covers ears, hands in pocket 这些都是姿势和特征提示词,它们可以让模型生成出更符合用户想象的图像,展现人物的个性和气质。
real face, real skin, realistic face, realistic skin, rough ski 这些都是风格提示词,它们可以让模型生成更接近现实的图像,增加真实感和逼真感。这些提示词和 (realistic:1.2) 有一定的重复性,可能会造成混乱或冗余。
提示词可以影响生成的图像的质量和风格。提示词可以用逗号分隔的关键词,也可以用自然语言描述,甚至可以用表情符号或 emoji
提示词其实可以写的很随意,只要能让AI看懂你的意图。我们只需要掌握一些规则和技巧,其他的可以随意发挥。
技巧有以下几点:
使用质量提示词,如 best quality, ultra-detailed, masterpiece 等,可以提高图像的清晰度和细节。
使用负面提示词,如 text, title, deformed, ugly 等,可以筛选掉不需要的画风、要素或错误绘画结果。
使用视角提示词,如 from above, from below, wide shot, Aerial View 等,可以改变图像的视角和远近。
使用主题提示词,如 cyberpunk, fantasy, horror 等,可以设定图像的主题和氛围。
使用具体提示词,如 1girl, kimono, in shinto shrine 等,可以指定图像的内容和元素。
提示词的顺序和数量也会影响图像的生成,一般来说,越重要的提示词应该放在前面,越具体的提示词应该放在后面,而且不要使用太多或太少的提示词,以免造成混乱或模糊。
一些常用的提示词参考:
颜色: 用来指定图像中的颜色,比如 red, blue, green 等。
风格: 用来指定图像的风格,比如 realistic, cartoon, abstract 等。
数量: 用来指定图像中的物体或人物的数量,比如 1, 2, 3 等。
姿势: 用来指定图像中的物体或人物的姿势,比如 front, side, back 等。
特征: 用来指定图像中的物体或人物的特征,比如 hair, eyes, nose 等。
情感: 用来指定图像中的物体或人物的情感,比如 happy, sad, angry 等。
场景: 用来指定图像的背景或环境,比如 forest, city, space 等。
质量: 用来指定图像的质量或美感,比如 best quality, masterpiece, low quality 等。
一些基本的格式或语法规则:
用逗号分隔不同的提示词,比如 red, blue, green。
用括号包含风格和强度,比如 (realistic:1.2), (cartoon:0.8)。
用冒号分隔特征和值,比如 hair:brown, eyes:blue。
用负号表示不想要的内容,比如 -dog, -rain。
用加号表示想要增加的内容,比如 +smile, +flower。
这些格式或语法规则有一些例外或特殊情况,比如:
有些提示词可以不用逗号分隔,比如 1 girl, brown hair, brown eyes 可以写成 1 girl brown hair brown eyes。
有些提示词可以不用括号包含,比如 realistic:1.2 可以写成 realistic 1.2。
有些提示词可以不用冒号分隔,比如 hair brown, eyes blue 可以写成 hair brown eyes blue。
有些提示词可以用其他符号表示,比如 -dog 可以写成 no dog 或者 not dog。
有些提示词可以用其他方式表示,比如 +smile 可以写成 smiling 或者 happy。
一些其他参数的具体理解:
生成批次是指每次生成图像的组数。一次运行生成图像的数量为“批次* 批次数量”。生成批次可以提高性能,但也需要更多的显存。
生成批次高,图像质量不一定会高。生成批次只是影响每次生成图像的组数,而不是影响图像的细节和清晰度。影响图像质量的因素有很多,比如采样器、采样步数、提示词相关性、图像尺寸等。 一般来说,采样步数越高,图像越接近目标;提示词相关性越高,图像越符合描述;图像尺寸越大,图像越清晰。
CFG scale 是提示词相关性的缩写,它是指图像与你的提示的匹配程度。增加这个值将导致图像更接近你的提示,但它也在一定程度上降低了图像质量。可以用更多的采样步骤来抵消。过高的 CFG scale 体现为粗犷的线条和过锐化的图像。一般开到 7~11。
Clip 跳过层 的值需要根据不同的文本描述和图像生成任务进行调整,一般来说,文本描述越复杂或越具体,Clip 跳过层 的值越小;文本描述越简单或越模糊,Clip 跳过层 的值越大。
一般来说,Clip 跳过层 的值可以取 1 到 10 之间的任意整数,具体的值需要根据不同的文本描述和图像生成任务进行尝试和调整。
一些经验性的建议:
如果文本描述是一个完整的句子,比如 “a photograph of an astronaut riding a horse”,Clip 跳过层 的值可以取 1 或 2,表示每个或每两个扩散步骤都使用文本编码器的输出,以保证图像与文本描述的匹配度。
如果文本描述是一些关键词,比如 “red car, blue sky, green grass”,Clip 跳过层 的值可以取 3 或 4,表示每三个或每四个扩散步骤才使用文本编码器的输出,以避免图像出现不自然或不协调的细节。
如果文本描述是一个模糊的概念,比如 “fantasy” 或 “horror”,Clip 跳过层 的值可以取 5 或以上,表示每五个或以上扩散步骤才使用文本编码器的输出,以增加图像的多样性和创造性。
采样迭代步数(Steps)是指 Stable Diffusion 在生成图像时,从随机噪声中逐步去噪的次数。采样迭代步数越多,表示去噪的程度越高,图像的质量和清晰度越高,但是也需要更多的时间和资源。
一般来说,采样迭代步数可以取 10 到 100 之间的任意整数,具体的值需要根据不同的图像生成任务和需求进行尝试和调整。
采样迭代步数设置的建议:
如果图像生成的任务是简单或模糊的,比如 “a cat” 或 “a landscape”,采样迭代步数可以取 10 或 20,表示只进行 10 或 20 次去噪,以提高速度和效率。
如果图像生成的任务是复杂或具体的,比如 “a cat wearing a hat and glasses” 或 “a landscape with a lake and a mountain”,采样迭代步数可以取 30 或 40,表示进行 30 或 40 次去噪,以提高质量和细节。
如果图像生成的任务是非常复杂或非常具体的,比如 “a cat wearing a hat and glasses sitting on a sofa reading a book” 或 “a landscape with a lake and a mountain and a castle and a rainbow”,采样迭代步数可以取 50 或以上,表示进行 50 或以上次去噪,以提高匹配度和真实感。
文章来源“中国抬杠院院长” 2023-04-05