文章目录
随着AI技术的不断发展,越来越多的新算法涌现出来,例如Stable Diffusion、Midjourney、Dall-E等。相较于传统算法如GAN和VAE,这些新算法在生成高分辨率、高质量的图片方面表现更加卓越,把 AI 图像生成又提升了一个新的高度,AI图像生成对各行各业都带来了很重要的影响。如 Stable Diffusion 技术只需要通过设计好的文字来生成所需要的图片,而这些文字我们称为 提示词,故提示词的设计也决定着生成图片的质量。
背景介绍
Stable Diffusion是一个基于Latent Diffusion Model(LDM)的文生图AI模型,核心思想就是通过不断调整图像的隐式表示,逐渐接近真实图像。其具体实现方式是,将初始噪声向量通过一个潜空间网络转换为图像的隐式表示。然后,针对每个时间步,利用扩散过程逐渐优化该表示,使其逼近真实图像的隐式表示。最终,通过一个反向变换,将该隐式表示转换为生成的图像。
相比传统的生成模型,Stable Diffusion生成的图像质量更高、速度更快、成本更低。具体来说,Stable Diffusion能够在消费级显卡上实现图像生成,而且生成速度比传统的生成模型提高了30倍。这使得Stable Diffusion成为当前最先进的生成模型之一,并受到了广泛关注。
Demo体验:https://stablediffusionweb.com/#demo
如何写好提示词
一般情况下,Stable Diffusion模型的提示词都包含正向提示词和负向提示词,所谓提示词其实就是prompt,还有一些通俗的叫法如关键字、咒语、指令等。
在Stable Diffusion WebUI中可以看到下面两个框,就是用来填写正向提示词和负向提示词的。
所谓正向提示词就是告诉AI要生成哪些东西。而负向提示词 (Negative prompt) 告诉AI不要生成哪些东西。这里需要注意的一点是世界上的图片是无穷多的,所以生成出图片的风格及效果不仅仅和提示词有关系,和文生图模型的关系也很大,因此在使用提示词前要根据自己的需要挑选好适合的模型。
提示词的语法
在使用提示词进行图文生成时,会发现一些简单的提示词是由短语或单词构成的,而一些较复杂的提示词还包含一些括号,数字等,因此想更详细了解使用提示词,是需要掌握提示词的一些语法的。
1、首先需要注意的是所有的语法使用的符号都是英文字符,默认的提示词编写是使用逗号分分隔的。
2、越靠前的提示词权重越高,即生成的图片越符合前面提示词的要求,关键的提示词,要尽量往前放,但要注意关键词不要写太多,最多不超过75个。
3、英文括号表示增减权重,( ) 每用一次代表权重提高 1.1 倍,[ ] 每用一次代表权重降低 1.1 倍,当然可以在括号中实现降低权重的效果,即通过冒号 + 权重数值的方式。(需要注意的是括号是可以叠加的,但一般不建议)。
如:
(word) :将括号内的提示词权重提高 1.1 倍
((word)):将括号内的提示词权重提高 1.21 倍 (= 1.1 * 1.1)
[word]:将括号内的提示词权重降低 1.1 倍
(word:1.5):将括号内的提示词权重提高 1.5 倍
(word:0.25):将括号内的提示词权重减少4 倍(= 1 / 0.25)
tips:先选中要加权重的提示词,Ctrl + ⬆增加权重,Ctrl + ⬇减少权重。
4、控制生成不同内容的步数,语法为:[from:to:when]
其中,from表示前多少步采样的图片信息,to表示后多少步采样的信息,而when表示前者采样的步数,如果when的值为大于0的整数,则指的是步数,如果是大于0小于1的小数,则表示的是前者采样步数占总步数的百分比。(总步数就是通常为可选值)
举例:当采样步骤(Sampling steps)为20时,
[men:women:0.5]:表示前50%步(10步)画men,后50%步(10步)画women。
该用法的变体:
[to:when]//在设定的步数后开始绘制
[from::when]//在设定的步数后结束绘制
举例说明:
[tree:background:0.5]代表前50%步画树,后50%步画背景。
[tree:0.5]代表后50%步开始画树。
[tree::0.5]代表前50%步画树,然后到了50%步数就结束画树。
5、两个或多个提示词权重相同,用 大写 AND
在第2点中有说,越靠前的提示词权重越高,而AND可以使得两个或多个提示词权重保持一致。
a lion AND a bear
该语法支持指定权重值:默认权重值为 1,也可以指定每个提示词的权重,比如:
a lion :1.3 AND a cat :1.2 AND a bear :1.5
6、交替绘制
语法代表每隔一步换一个提示词交替绘制,此语法可以绘制出各种融合怪四不像。
如交替绘制狗和猫,可以用
[cat|dog]
正向提示词
想要写好正向提示词,一般需要考虑以下几个方面:
(1) 主体 subject
(2) 媒介 medium
(3) 画质 quality
(4) 风格 style
(5) 色调 color
(6) 光影 lighting
(7) 画家 Artist
1、考虑主体(subject)
角度:
低角度,广角,全景,全身,特写,无人机
low angle, wide-angle, panorama, full-body, close-up, drone
地点:
在一个空旷的广场上,在一座废墟城市里,在一个茂密的森林中
in an empty square, in a fallout city, in a dense forest
背景:
繁忙的大都市,日落余晖
Busy metropolis, Sunset glow
考虑面部表情,情绪
大笑、愤怒、伤心
laughing, contempt, angry
考虑氛围
mysterious, misty, spooky
神秘的,幽灵般的,模糊的
注意灵活使用脚本(Script)
X/Y plot:对比提示词,可以出多张图。可以横向对比多张图片,X/Y plot 需要选择Prompt S/R。
Matrix:在prompt中的某一个或多个词前面加| 并设置prompt Matrix,可以生成是否包含该关键词的两张或多张图片。
2、考虑媒介
什么样的画:比如油画、插图、电子画、照片
也可以用X轴去找不同的风格
插画,数码绘画,油画,摄影,木炭画,素描
illustration, digital painting, oil painting, photography, charcoal drawing, sketch
3、画质
4k, 8k, 64k, uhd, high quality
4、风格
印象派,超现实主义,波普艺术,超写实主义,现代主义,新艺术运动
impressionist, surrealist, pop art, hyperrealistic, Modernist,art nouveau
5、color
鲜艳的色彩,黑白
vivid color, black and white
6、Lighting
电影般的照明,柔和的照明,边缘光,昏暗照明
cinematic lighting, soft lighting, rim light, dimly lit
7、画家
Alphonse Mucha, greg rutkowski, rhads, trending on artstation, trending on deviant art
负向提示词
上面的例子中只写了正面提示词,但下面的负向提示词的字段都是空白。模型会尽可能地根据正面提示词画出想看到的内容,但如果不加负向提示词,模型还是会生成一些不想看到的内容。负面提示词和正面提示词是同等重要的,使用负面提示词也是生成迭代过程的一个重要环节。
故生图时常常还需要加入一些负向提示词,避免掉不好的结果。且AI绘图有时不会一次就算出好结果,所以还需要加上负向提示词来控制,尤其是大批量进行文生图的时候更为重要。
加入一些常见的「不好」的特征,例如:
丑陋,画得不好的手,画得很差的脚,画得差的脸,四肢多余,毁容,
ugly, poorly drawn hands, poorly drawn feet, poorly drawn face, extra limbs, disfigured,
加入影响画质特征的信息,例如:
变形, 低质、结构差、水印、签名、剪切、低对比度、曝光不足、曝光过度、艺术差、模糊
deformed, lowers, bad anatomy, , cut off, low contrast, underexposed, overexposed, bad art, blurry,
加入不想看到的东西加进去,例如:
not safe for word,武器,血液,签名,水印,
nsfw, weapon, blood, watermark, signature
值得参考的提示词网站
若使用的是SD模型,想生成真人,请看 Voldy整理的历史上有名的艺术家。
若使用动漫风的模型请看 Danbooru图库的标签决定要下哪些提示词。
Prompt Generator和 NovelAI魔导书可以协助你组合提示词。
Civitai除了下载模型外,还有很多现成的提示词搭配模型的范例可以照抄。
文章出处登录后可见!