创造,梦想,未来。
前言
你可能需要知道 因为涉及代码层面的我也不是很会了)。这篇博客将再现我的学历历程,或有谬误,还请海纳。
什么是AIGC?
即
主流
任何一张照片,都是由千万级像素构成的。对于画师而言,他们需要的操作是:草稿,涂线,描摹,上色。而
正如一个近视的人,他取下眼镜看向一个物体,他并不知道这个物体具体是什么,所以,他根据想象以及自己的经验所得,将这个物体复原了出来。
这就是
但这显然是一个极其随机的过程,因为我们不知道这个近视的人脑子里装的是什么东西,所以,我们需要一些东西对其进行约束,使其稳定扩散,这就是
而这个约束的过程,就是训练。
我们将数以亿计的照片给予这个模型,并告诉它每一张图片的构成成分。
当很多张图片里都一个块圆状的红色光泽球形物体,且这些图片里都有一个东西叫“苹果”时,它便认得了这个东西就是苹果。同理,它会认得什么是男人,什么是女人,什么是手,什么是脚。
当然,这些过程不需要你完成(找一亿张照片还是太困难了),但这就是训练一个大模型,或者底模型,即
WebUI 以及基本运行流程
准备工具
- 一台算力足够强大的电脑,配备有强大的显卡(建议
),显存至少在 以上。 - 一个存储量大的硬盘(或移动硬盘)。
- 科学上网的能力(
)。 - 一颗拥有无限创造力的心和灵魂。
对于第五点,我建议你可以在官网下载原版:https://github.com/AUTOMATIC1111/stable-diffusion-webui
但是里面全英而且没有大多数插件,仅有初始功能。对于新手而言或许不太友好,入手颇有些困难。
所以我建议你也可以下载秋叶的整合包:https://pan.baidu.com/s/1MjO3CpsIvTQIDXplhE0-OA?pwd=aaki
接着,如前面所言,你需要一个 现在好像有福瑞系),国内一般使用 Liblib 作为模型下载地,但如果你具备上述的第三条,那么请前往 CivitAI 和 Huggingface。
一般用前者,因为他毕竟是图像型网站,Huggingface全是代码不一定看得懂。
当然,秋叶的整合包配备有基础 ckpt 如 Anything 这个牢模。不过你用那个多半都是早年间 AI 烂大街的画风,实属不算好看,所以我建议你在网上多整点下来。
AI 画图的大致过程如下:
看不懂没关系,我也看不懂。
基本操作
启动
启动时,如果你下载的是 run.bat
文件,如果下载的是秋叶整合包,那么直接打开启动器一键启动即可。
启动后,你会发现你的电脑上有一个程序正在运行,它就是真正的
文生图
在启动后,你的
- 正面提示词(
) - 负面提示词(
) - 生成参数/Embedding/Ckpt/Lora/以及更多
以及整个页面最上面一条,即 ckpt 和 VAE 的调用。
正面提示词
即你想要生成的东西,需要注意的是,这些词汇大多需要是训练集内包含的词汇,对于一张动漫图的生成,你可以在 Danbooru 上大概率找到你想要生成的词汇的通常描述方式,一般而言 WebUI 自带提示词补全功能,不过笔者建议还是可以稍稍去学习下英语,也可以时时刻刻把翻译器摆在旁边。
在最开始的 AIGC 中,SD 并不能识别自然语言(即人与人之间正常对话时产生的句子),所以我们需要将其转化为提示词语言。
想象一幅画面,一个女孩漫步在森林里,她有着怎样的外貌(头发的颜色,眼睛,身体,服饰),她的动作,整张图片的背景等等。
那么,现在我们用英语将其描绘出来:
1 | A young girl wandering in the forest. She has big blue eyes and long black hair. She is wearing a long and off-shoulder white dress with a pair of sneakers. She is facing the camera, smiling with mouth open. The weather is sunny and sun is visible in the photo. |
如果你把上面这句话作为提示词,大概率是能得到你想要的结果的,但我不建议,因为动漫系模型几乎都不使用自然语言作为训练集,他们用的是提示词,所以,你要填入正面提示词的应该是:
1 | 1girl, solo, forest, nature, sun, day, teen, blue eyes, black hair, long hair, bare shoulders, long dress, white sneakers, walking, smile, :d, looking at viewer, |
提示词之间用 ,
隔开即可。
最后你发现出来的效果可能不尽人意,但是够看。上面我们使用的叫做「画面描述提示词」,而除此之外,还有「质量提示词」和「画风提示词」。
质量提示词一般固定,随要求而定,一般是:
1 | best quality, score_9, masterpiece, |
之类的,还有更多就需要读者自己去探索了,笔者不多赘述。至于画风提示词,我们之后再谈。
接下来展示由刚刚所使用的提示词生成的图:
使用的模型是:Hassaku XL v2.1 [fix]
可能效果不甚明显,但还是加上更优,提示词一般对生成速度影响不大。(头身比是不是有点怪)
在限制不强的情况下,生成图随机成分较重,建议在抽卡时使用,而如果对某些动作或者画面有特殊需求,一定要将提示词写得足够详细才有可能得到相应的效果。
而如果你要特别强调某一个提示词,可以将其加上权重。写入的提示词默认权重为 1,未写入的权重为 0。改变权重的方式有:
1 | (1girl),[1girl],{1girl},(1girl:1.2) |
其中 ()
会使权重 x1.1
,这意味着 ((1girl))
的权重是 1.21
,[]
会使权重 /1.1
,{}
会使权重 x1.05
,(:xx)
将权重改为所填数字,一般不超过 1.5
,过高会有过拟合风险。
提示词语法须知
{}
虽是这么说,但是实际效果其实非常随机,不建议使用,一般在风格提示词里作为随机风格使用,而提示词还有两个用法是:
比如说你要画的人物头发是多色的,你可以这样写:
white hair|golden hair
,在两个提示词之间加上 |
,同样可以调整权重 (white hair:0.9)|(golden hair:1.2)
都是可行的。
或者写成:
white hair:golden hair:0.4:0.6
,需要注意的是,后面的权重数值之和必须为 1,否则会出现拟合错误或者过拟合。
但经过我的试验,发现 |
和 x:x:x:x
这种写法并不常见,效果也不甚明显。所以不建议使用。
一般可以直接写为:
white hair, golden hair, multicolored hair
,至于其出现的方式可以约束为 streaked hair
(挑染),gradient
(渐变)等等。
负面提示词
负面提示词是用于指示你不想让其在画面中出现的物象,这个东西一般都很格式化,大概都是那些词。权重越高,其在画面中的占比和出现概率越小。
一般而言,会添加:
1 | NSFW, worstquality, bad anatomy,sketches,username,lowres,normal quality,monochrome, grayscale, ugly, disfigured, too many fingers, extra limb, |
等等。
当然,如果你就是要出一张黑白照,那么 monochrome
和 grayscale
就得放正面了。
NSFW
是的意思,指的是 级内容。
一般来讲,如果你不想要出一些风格如 disney movie
,也可以加上。