对体验过AI绘画的朋友们来说,提示词可以说是耳熟能详了,目前市面上的AI绘图工具基本都是围绕着文生图的基本功能展开的。不过相较于其他工具,Stable Diffusion的在咒语编写上会具有技巧性,相信大家在学习过程中都遇到过类似问题:复制别人的咒语但效果却很差、咒语的控图效果不理想、加了关键词但绘图结果却没有体现等。
别担心,在今天的教程里,我会为你详细的介绍Stable Diffusion文生图的操作方法以及提示词编写的语法技巧,保证你看完之后就能轻松成为一名专业的绘图魔法师🧙
历史文章地址:
Stable Diffusion学习指南【初识篇】
关于文生图
在Stable Diffusion中,有文生图和图生图2种绘图模式,今天我们先来看看如何使用文生图来绘制我们想要的图片。下面是Stable Diffusion文生图界面的基础板块布局,如果你此前更换过主题相关的扩展插件,界面的功能布局可能会有所区别,但主要操作项都是相同的。
Stable Diffusion基础的操作流程并不复杂,一共就分成4步:选择模型—填写提示词—设置参数—点击生成。通过操作流程就能看出,我们最终的出图效果是由模型、提示词、参数设置三者共同决定的,缺一不可。其中,模型主要决定画风、提示词主要决定画面内容,而参数则主要用于设置图像的预设属性。
关于模型需要讲解的内容有很多,我会在后面的文章中单独进行介绍,今天我们重点关注提示词的写法以及各种设置参数的功能和含义,准备好了吗,下面让我们正式开始吧~
提示词的概念
大家都知道,如今的AI工具大多是通过提示词来控制模型算法,那究竟什么是提示词?
对于人类而言,在经过多年的学习和使用后,我们只需简单的几句话便能轻松的沟通和交流。但如今的人工智能还是基于大模型的数据库进行学习,如果只是通过简单的自然语言描述,没有办法做到准确理解。为了更好的控制AI,人们逐渐摸索出通过反馈来约束模型的方法,原理就是当模型在执行任务的时候,人类提供正面或负面的反馈来指导模型的行为。而这种用于指导模型的信息,就被统称为Prompt提示词。
如今的AI工具都是基于底层大模型进行使用的,提示词的本质其实是对这个大模型的深入挖掘和微调,我们可以将它简单理解为人类和AI沟通的桥梁,因为模型反馈结果的质量在很大程度上取决于用户提供的信息量。当然这个问题主要还是底层大模型训练不够充分的缘故,像现在很多针对特定风格训练的应用级绘图模型,即使只有寥寥几个词也能绘制出优美的画作。如今很多企业为此还设立了单独的提示工程师岗位,在人工智能领域也有单独的一门学科叫做Prompt Engineering 提示词工程。
微软官方在最近也推出了一份完整的提示工程操作指南,感兴趣的朋友可以去深入学习一下:
对于细分到我们今天要聊的图像生成领域,提示词就是我们用来调节绘图模型的一种方法,通过输入想要的内容和效果,模型就能理解我们想表达的含义,从而实现准确的出图效果。
提示词的基本语法
如今,大部分模型都是基于英文训练,因此输入的提示词大多只支持英文,中间也会夹杂了各种辅助模型理解的数字和符号。由于AI绘图无需经历手绘、摄影等过程就能凭空生成图片,国内最早一批AI爱好者贴切的将AI绘画过程比作施展魔法,提示词就是我们用来控制魔法的咒语,参数就是增强魔法效果的魔杖。
3.1 基础书写规范
相较于简单易上手的Midjourney,Stable Diffusion的咒语上除了prompt(正向关键词)外,还有Negative prompt反向关键词。顾名思义,正向提示词用于描述想要生成的图像内容,而反向关键词用于控制不想出现在图像中的内容,比如目前很多模型还无法理解的手部构造,为了避免出现变形,我们可以提前在反向关键词中输入手部相关的提示词,让绘图结果规避出现手的情况。不过目前很多反向提示词都已经集成到Embedding模型中,使用时只需输入模型触发词即可,在后续的文章中我会详细介绍。
前面我们提到Stable Diffusion只支持识别英文提示词,因此大家务必记住全程在英文输入法下进行输入,模型是无法理解中文字符的。但好消息是我们不用像学习英语时那样遵照严格的语法结构,只需以词组形式分段输入即可,词组间使用英文逗号进行分隔。除了部分特定语法外,大部分情况下字母大小写和断行也不会影响画面内容,我们可以直接将不同部分的提示词进行断行,由此来提升咒语的可读性。
在Stable Diffusion中,提示词默认并不是无限输入的,在提示框右侧可以看到75的字符数量限制。不过不用担心内容过长的问题,作者A41大佬提前在WebUI中预设好了规则,如果超出75个参数,多余的内容会被截成2段内容来理解。注意这里表示的并非75个英文单词,因为模型是按照标记参数来计算数量的,一个单词可能对应多个参数。