# 安装方法
启动过程中遇到的一些问题:
OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14' (opens new window)
Expecting value: line 1 column 1 (char 0) (opens new window)
这里面提到的在 webui-user.sh 中增加
export COMMANDLINE_ARGS="--no-gradio-queue"
的方法并不管用,还是得关掉全局代理才行。
# 基础入门
要在实际⼯作中应⽤ AI 绘画,需要解决两个关键问题,分别是:图像的精准控制和图像的⻛格控制。
图像精准控制推荐使⽤ Stable Diffusion 的 ControlNet 插件。在 ControlNet 出现之前,AI 绘画 更像开盲盒,在图像⽣成前,你永远都不知道它会是⼀张怎样的图。ControlNet 的出现,真正意义上让 AI 绘画上升到⽣产⼒级别。简单来说 ControlNet 它可以精准控制 AI 图像的⽣成。
Stable Diffusion 实现图像⻛格化的途径主要有以下⼏种:Artist 艺术家⻛格、Checkpoint 预训练 ⼤模型、LoRA 微调模型、Textual Inversion ⽂本反转模型(Embedding)。
# 提示词结构
Prompt 提示词可以分为 4 段式结构:画质画⻛ + 画⾯主体 + 画⾯细节 + ⻛格参考。
画⾯画⻛:主要是⼤模型或 LoRA 模型的 Tag、正向画质词、画作类型等。
画⾯主体:画⾯核⼼内容、主体⼈/事/物/景、主体特征/动作等。
画⾯细节:场景细节、⼈物细节、环境灯光、画⾯构图等。
⻛格参考:艺术⻛格、渲染器、Embedding Tag 等。
# 提示词语法
提示词排序:越前⾯的词汇越受 AI 重视,重要事物的提示词放前⾯。
增强/减弱:(提示词:权重数值),默认 1,⼤于 1 加强,低于 1 减弱。如:(doctor:1.3)。
混合:提示词 | 提示词,实现多个要素混合,如:[red|blue] hair 红蓝⾊头发混合。
+
和 AND:⽤于连接短提示词,AND 两端要加空格。分步渲染:[提示词 A:提示词 B:数值],先按提示词 A ⽣成,在设定的数值后朝提示词 B 变化。如:
[dog:cat:30]
前 30 步画狗后⾯的画猫,[dog:cat:0.9]
前⾯ 90% 画狗后⾯ 10% 画猫。正向提示词:masterpiece, best quality 等画质词,⽤于提升画⾯质量。
反向提示词:nsfw, bad hands, missing fingers……,⽤于不想在画⾯中出现的内容。
Emoji:⽀持 emoji,如:😄 形容表情,✋ 修饰⼿。
# 提示词 AI 辅助
# 模型分类
# Checkpoint 预训练⼤模型
Checkpoint 是根据特定⻛格训练的⼤模型,模型⻛格强⼤,但体积也较⼤,⼀般 5-7 GB。模型训练难度⼤,需要极⾼的显卡算⼒。⽬前⽹上已经有⾮常多的不同⻛格的成熟⼤模型可供下载使⽤。⼀般为 Checkpoint(ckpt)和 safetensors 两种格式。
# LoRA 微调模型(⾃⼰训练)
LoRA 模型是通过截取⼤模型的某⼀特定部分⽣成的⼩模型,虽然不如⼤模型的能⼒完整,但短⼩精悍。因为训练⽅向明确,所以在⽣成特定内容的情况下,效果会更好。LoRA 模型也常⽤于训练⾃有⻛格模型,具有训练速度快,模型⼤⼩适中,配置要求低(8G 显存)的特点,能⽤少量图⽚训练出⻛格效果。
# Textual Inversion ⽂本反转模型
Textual Inversion ⽂本反转模型也是微调模型的⼀种,主要⽤于定义新关键字来⽣成新的对象或⻛格的⼩⽂件(图像⻛格引导),提⾼⼈物还原度或优化画⻛,⽤这种⽅式⽣成的模型⾮常⼩,⼀般⼏⼗ KB。
不使⽤ Lora 时固定⼈物,使⽤ Lora 之后强化 Lora 效果。
组件的概念。举个例⼦,如果我们想要⽣成⼀个开⼼的⽪卡丘,通常需要输⼊很多描述词,如⻩⽑、⽼⿏、⻓⽿朵、腮红等等。但是,如果引⼊⽪卡丘的 embedding,我们只需要输⼊两个词:⽪卡丘和开⼼。⽪卡丘的 embedding 打包了所有⽪卡丘的特征描述,这样我们就不⽤每次输⼊很多单词来控制⽣成的画⾯了。
# Hypernetwork/VAE 模型
VAE:SD 模型的基础做微调的,类似于我们熟悉的滤镜,让⽣成的图⽚调整饱和度。
LoRA 模型与 Hypernetwork 最相似。它们都很⼩,只修改交叉注意⼒模块。区别在于它们如何修改它。LoRA 模型通过改变其权重来修改交叉注意⼒。Hypernetwork 通过插⼊额外的⽹络来做到这⼀点。⽤户普遍发现 LoRA 模型产⽣更好的结果。它们的⽂件⼤⼩相似,通常低于 200MB,并且⽐ Checkpoint 模型⼩得多。
总结:Hypernetwork 和 Embedding 都是模型⼩补丁~
# 模型网站
# 模型推荐
# 主模型
用途广泛的写实风格,可以用它创作任何想要的东西:Deliberate for Invoke (opens new window)
二次元插画风格,不包含任何真人模型:万象熔炉 | Anything XL (opens new window)
超精度模拟,更擅长于亚洲面孔的写实人像:ChilloutMix (opens new window)
非常有质感的写实人像照片模型:Henmix_Real (opens new window)
更适合为肖像和全身图像制作的模型,出图非常细腻:ReV Animated (opens new window)
# LoRA 模型
中国古建筑⻛格:Ancient Chinese architectural style (opens new window)
⽑绒玩具⻛格:fufu doll (realistic+anime) (opens new window)、fufu-3d-[更多动作的fufu] (opens new window)
# ControlNet
# 安装
注意 SD 的扩展是安装:ControlNet (opens new window),而不是安装:ControlNet-v1-1-nightly (opens new window)。
安装过程中发现一直 clone 失败,试了很多方法,最终发现先把代理关掉就可以正常拉取安装了。不过安装过程比较久,需要耐心等待,最后安装好了也没提示,一直卡在 Installing requirement,重启下 SD 就好了。
# 模型
ControlNet Models (opens new window)
# 采样方法
常⽤的有三种,分别是 Euler a,DPM++2S a Karras 和 DDIM。
# Euler a
Euler a 是⼀种⽤于控制时间步⻓⼤⼩的可调参数,在 Stable Diffusion 中采⽤ Euler 时间步⻓采样⽅法。适当的 Euler a 值能够捕捉到细节和纹理,但如果值太⼤会导致过度拟合,⽣成图像出现噪点等不良效果。
⼀句话概括:采样⽣成速度最快,但是如果说在⾼细节图增加采样步数时,会产⽣不可控突变(如⼈物脸扭曲,细节扭曲等)。
适合:ICON,⼆次元图像,⼩场景。
# DPM++2S a Karras
采⽤ DPM++2S a Karras 采样⽅法⽣成⾼质量图像,该⽅法在每个时间步⻓中执⾏多次操作,同等分辨率下细节会更多,⽐如可以在⼩图下塞进全身,代价是采样速度更慢。
适合:写实⼈像,复杂场景刻画。
# DDIM
DDIM 采样⽅法可以快速⽣成⾼质量的图像,相⽐其他采样⽅法具有更⾼的效率,想尝试超⾼步数时可以使⽤,随着步数增加可以叠加细节。
适合:写实⼈像,复杂场景刻画。
# 文生图界面参数
正向提示词:描述图⽚中希望出现的内容。
反向提示词:描述图⽚中不希望出现的内容。
Sampler:采样⽅法,推荐选择 Euler a 或 DPM++ 系列,采样速度快。
Steps:输出画⾯需要的步数,每⼀次采样步数都是在上⼀次的迭代步骤基础上绘制⽣成⼀个新的图⽚,⼀般来说采样迭代步数保持在 18-30 左右即可,低的采样步数会导致画⾯计算不完整,⾼的采样步数仅在细节处进⾏优化,对⽐输出速度得不偿失。
CFG:提示词相关性,数值越⼤越相关,数值越⼩越不相关,⼀般建议 7-12 区间。
Seed:种⼦数,-1 表示随机,相同的种⼦数可以保持图像的⼀致性,如果觉得⼀张图的结构不错,但对⻛格不满意,可以将种⼦数固定,再调整 prompt ⽣成。
← AI 工具