Python,爬虫与深度学习(19)——stable diffusion入门
步骤/目录:
1.背景介绍
2.使用LCM加速
3.文生图
(1)入门
(2)tag通用写法
(3)通用写法的画面调整
(4)tag进阶
a.强短句
b.循环绘制
c.分步渲染
d.表情符号
(5)反推tag(图生文)
(6)SD大致原理
(7)tag示例
4.Control Net
(1)CN的使用
(2)CN常用预处理器
5.模型下载及使用
(1)模型分类
(2)大模型
(3)LoRA
(4)Embedding/Textual inversion
(5)VAE
(6)Hypernetwork
(7)Dreambooth与Native Train
(8)DreamArtist
6.SD结构及进阶
7.图生图
(1)图生图
(2)局部重绘
(3)涂鸦重绘
(4)其它
(5)图生图的理论与技巧
(6)修手
(7)添加元素
(8)差分图
(9)LoRA协同
(10)草图生图
8.训练LoAR
9.使用技巧
(1)复制参数
(2)保存预设
(3)更换整合包时迁移数据
10.大模型简介
11.小模型推荐
12.保护画师作品
本文首发于个人博客https://lisper517.top/index.php/archives/287/
,转载请注明出处。
本文的目的是讲解stable diffusion的初步使用。
本文写作日期为2024年1月5日。系统为 Ubuntu 22.04 LTS ,显卡为 GTX 1050Ti mobile,4G显存。主要参考了 秋葉aaaki 等大佬制作的文档 ,以及其它各种分享。
由于笔者也不是AI从业人员,本文难免出现各种错误,请在评论区指出。
1.背景介绍
在上一篇文章中,在Ubuntu下安装了Stable Diffusion( 秋葉aaaki 整合包),这篇文章通过各路资料,初步讲解SD的使用。
在开始之前需要强调:
(1)目前为止,AI绘画的知识完全可以免费获取;
(2)尽可能用safetensors后缀的模型,少用、不用pt、ckpt后缀的模型,以防电脑被注入病毒;
(3)能够翻越的,优先在hugging face、civitai、github获取第一手信息,看不懂英文可用GPT翻译。
2.使用LCM加速
在开始介绍之前,建议安装LCM Lora以大大减少缩短出图时间,步骤如下:
(1)关闭SD,在 webui-user.sh
中的 export COMMANDLINE_ARGS
加入 --enable-insecure-extension-access
flag,保证从非本机访问SD时(ip不是127.0.0.1)也能安装插件;出于安全原因,不加这个flag就只能从本机装插件,装完插件后这个flag可以去掉,或者笔者建议用NPM给SD加密码(见 可视化管理Nginx-Nginx Proxy Manager )。另一种方法是建立SSH隧道(或者用frp等工具),比如在本机(跑SD的机器)运行 ssh -L 127.0.0.1:7860:127.0.0.1:7860 ...
,参考 github问题 ;
(2)通过 夸克网盘 或者到 huggingface 下载 LCM-LoRA_sd15.safetensors
,放到 models/Lora
下。从名字上也可以看出它适用于SD 1.5,但是SD 1.6也可以;
(3)启动SD,在 扩展-从网址安装
下,在 扩展的git仓库网址
内粘贴 https://github.com/mcmonkeyprojects/sd-dynamic-thresholding
(动态CFG插件,有助于LCM表现),点击 安装
,到 扩展-已安装
下点 应用更改并重启
以重启SD;
(4)操作方面,正常填提示词,在 Lora
里选择LCM的Lora, 迭代步数 (Steps)
调到7(生成步数,和耗时有很大关系), 采样方法 (Sampler)
选择 Euler 或者 Euler a 采样器, 提示词引导系数 (CFG Scale)
调到最常用的7,下面还有个 Dynamic Thresholding (CFG Scale Fix)
(刚才装的动态CFG插件),把 Mimic CFG Scale
调到1,该插件的高级选项中 CFG Scale Scheduler
选择 Half Cosine Up
(也可选其它的), Minimum value of the CFG Scale Scheduler
和 Minimum value of the Mimic Scale Scheduler
都调1,即可出图;
(5)笔者实验时,512*512正常48s,用LCM仅9s。想要快速出大图,可以在 高分辨率修复 (Hires. fix)
(用于放大小图)中放大算法选择 R-ESRGAN 4x+ Anime6B
(这个应该是用于动漫,也可以其它的), 高分迭代步数
、 重绘幅度
分别为5和0.5(这两个也可自调),笔者9s出小图、54s放大(正常放大的时间可能是10min左右)。原理方面,LCM Lora类似于先画线稿再上色,和普通出图对比,图片大致内容差不多,线条更清晰、出图非常快,但是有时候背景虚化、上色模糊。另一种用法是正常出图,仅在高分辨率修复时使用LCM(以笔者为例,用时就是48s+54s;不用LCM是54s+10min,都用LCM是9s+54s),参考 秋葉aaaki 。
3.文生图
(1)入门
参考 秋葉aaaki ,这张图稍微有些过时了。
上文安装了LCM,所以采样步数7即可(不用的话20-30),采样器选择Euler、Euler a。
常用的正面提示词tags(注意所有符号都必须是英文符号):
masterpiece, best quality,
常用的反面提示词:(现在反面提示词可以Embedding,见 使用技巧 )
lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry,
也可以在 标签超市 找灵感,根据个人要求选择;或者和GPT对话,也能帮你得到tag。 秋葉aaaki 的1.6.0整合包现在还带提示词翻译功能,非常方便。
权重:
默认权重是1;
(lowres:1.5) 指定权重为1.5,一般在0-2之间;
(lowres) 为增加1.1倍权重,和 (lowres:1.1) 一样;
[lowres] 为1/1.1权重,等于 (lowres:0.909) ,但是用的少,一般都是指定权重;
{} 也是增加权重,但在WebUI中不生效;
(((lowres))) 括号可以叠加,此处等于 1.1^3 即 1.331 权重,但是不如直接指定;
(a girl stands with (flowers:1.5) and dog:1.2) 写一个长句作为提示词,可以对其中某些词调整权重;
(girl:1.5, stand, tree) 可以对几个tag一起调整,但是不要嵌套的太复杂,容易权重混乱。
(2)tag通用写法
参考 qq文档 。
描述的顺序是 整幅画面 -> 主要目标 -> 次要目标 -> 更次要的目标 -> ... -> 背景 ,每个部分的写法包括目标,定义,细节。比如想画一个女孩坐在森林中,
首先描述整幅画面的品质及内容:
masterpiece, best quality, best 8k wallpaper, realistic oil painting,
1girl sitting inside forest,
对主要目标(女孩)描述(目标,定义,细节):
1 gorgeous dressed magic girl, solo, upper body,
the girl (sit down) near a river in the forest,
The girl has a beautiful face, attractive red lips and beautiful big shining eyes, blonde long curly hair with a high ponytail, blue Headdress, star earrings,
the girl were gorgeous white dress, gold patterns and lace, (thigh:1.2),
对森林和其它部分、背景的描述(同样是目标,定义,细节):
flowers and trees in the forest,
Flowery meadow, colorful (wildflowers) bloom beside the girl,
sunlight, bright spots, shine, glow, Tyndall effect,
由于SD的机制,前面的tag比后面的tag权重稍大,所以先描述画面整体,再描述各个部分。对 整幅画面 和 主要目标 的描述中都出现了girl,这会加强girl的权重。
长句或者强短句(强短句见后)的单词之间联系更紧密,描述整体关系时比零散的tag更好。
默认的tags有75个,可以超量,但超量时最好按照75个tags、75个tags、75个tags来分类,比如前75个词描述 整体+主要目标1 ,中间75个词描述 次要目标1+次要目标2 ,最后75个词描述 次要目标3+... 。如果把 主要目标1 的描述放在前75个词和中间75个词、被分开,有可能造成 主要目标1 的权重降低,并且污染中间75个词描述的 次要目标1+次要目标2 。在一些模型中,每个目标之间可以用占位词分开以避免污染,比如 ai is sb
。
(3)通用写法的画面调整
首先写出所有提示词,跑几次,对一些没有出现的tag加权重。
权重不能太大,否则tag会出现在图中不该出现的地方,称为权重溢出。权重溢出也可以合理利用,达到梦幻的效果。
复杂的tags需要图片足够大,以囊括所有tags内容;但是图片过大会触发xformers分块画图,导致图片细节降低,所以需要先画小图再扩大,要注意放大倍数太大时也会超出显存。
(4)tag进阶
a.强短句
(red eyes) AND (long hair) 用大写的AND来连接,可以增强短句tag之间的联系。
b.循环绘制
cat | dog 在两个或多个关键词间加|表示循环绘制,可以理解为先画一笔cat再画一笔dog,可以起到混合图形的作用,比如 cat:1|dog:2 ,最终绘制出来的cat和dog可能会混合 1/3猫 + 2/3狗 的特征。
c.分步渲染
仅限2023-10-20后的SDW版本。
[A:B:步数占比] 在到达迭代步数前画A,该步数之后画B。A、B中有一个可以为空;
如 a girl with [white idol dress:red hanfu:0.2] ,在前20%次迭代被理解为 a girl with white idol dress ,在后80%的步数被视为 a girl with red hanfu ;
分布渲染适用于添加细节,比如A是衣服,B描述衣服上的花纹。注意步数占比,保证在该步时A已经画完。
d.表情符号
在tag中可以使用各种emoji。可以把这些emoji理解为权重很高的tag,常用的比如🤚作为反面提示词以防止手指异常。其它更多的emoji可在 EMOJI中文网 查找。
(5)反推tag(图生文)
AI生成的原图自带tag,在 PNG图片信息
中上传图片、获得tags,发送到文生图即可;
对于非AI图或者没有tag信息的图, 秋葉aaaki 整合包内安装了WD 1.4标签器,可以一定程度上代替人工反推tag。
(6)SD大致原理
文生图时SD可以分为自然语言处理器和图像生成器,2个部分。默认的tags有75个,更多的tags会有150、225、300个上限,笔者猜测不足上限的应该都用0填充了,这也是常用的方法。总之,文生图时,自然语言处理器将每个tag编码,计算得到最接近的token(可能像计算hash值一样?),所有tag的token形成 token数组0 ,加入随机数生成的 噪音图像0 (加入随机性),输入到图像生成器,得到 token数组1 + 图像1 (第1次迭代),然后把 数组1 + 图像1 再输入图像生产器得到 数组2 + 图像2 (第2次迭代),直到完成指定的迭代步数。最后,图像生成器的结果通过图像解码器翻译,形成人类能看懂的图片。
潜空间Latent space:图片分为电脑能理解的、人能理解的。人能理解的图片需要经过VAE处理、得到潜空间下的图片,电脑才能理解并处理;最后输出图片前,再用VAE解码得到人能看懂的图片。
(7)tag示例
集合了一些tag示例(需要注意选择模型):
元素法典 2
元素法典 2.5
4.Control Net
2023年初Control Net推出后,立刻受到广泛应用,可以说玩SD必用CN。如果你的SDW没有装CN,参考 秋葉aaaki 或者自行从 抱脸 下载。
(1)CN的使用
在文生图下面可找到ControlNet插件。其它不变,只需要调整CN插件,勾选 启用
,如果 显存≤8G 则勾选旁边的 低显存模式
。如果要控制人物姿势, 预处理器
和 模型
都选择 openpose
系列的(这两个需要一一对应。 秋葉aaaki 整合包不仅有每个CN功能的中文翻译,还有二者自动对应)。 控制权重
默认为1,可自调。
插件的最上面可以上传一张图像(最好是真人,openpose最初是用来识别真人图像的,但是动漫也可以),点击生成,就能完美复刻图片的动作。
如果用ps生成骨骼图,也可以直接使用,此时 预处理器
选择 none
,模型还是 openpose
。
如果感觉用CN后分辨率有问题,可以把 低显存模式
旁边的 完美像素模式
勾上。
CN的原理,图片经过CN的预处理器,得到生成条件图(对于openpose就是骨骼图),然后使用生成条件图指导图片生成。
(2)CN常用预处理器
OpenPose:姿态检测,指定人物动作;
Canny:线条/硬边缘检测,达到重新上色的效果;
Depth:景深检测,指定画面结构;
SoftEdge:以前叫HED,软边缘。相比于Canny,边缘识别更模糊,AI发挥空间更大;
MLSD:线段图,类似Canny+Depth;
Lineart:线稿,可以根据简单的手绘轮廓或者复杂的线稿进行上色;
InstructP2P:按照tag,局部修改图片,比如从白天改为黑夜(make it night,增加夜晚的tag)。这个预处理器只适用于部分模型;
Tile/Blur:Tile可以增加画面细节,Blur则是减少细节。Tile可以配合图片放大,或者PS上一个物品,Tile帮你把该物品融入图片;
Shuffle:特征提取(画风迁移),比如按梵高的画风修改图片;
CN还可以用于生成人设三视图(见 秋葉aaaki )
5.模型下载及使用
以下内容主要来源于 参考文章一 、 参考文章二 、 参考文章三 。
首先需要提醒,使用画师的作品训练模型并私自盈利是很不道德的行为。做不到给原作者分钱,至少应该做到免费开放。
最正牌的资源站是 HF抱脸站 ,需要翻越,下载可能比较慢;
最常用的是 C站 ,需要翻越,有各位网友分享样图;
国内有 吐司 ,它也是整合包部分模型的来源。需要手机注册(笔者被限速过);
其它还有一些 镜像站 。
笔者的建议是,浏览C站时翻越,下载时不翻越,因为C站模型好像是放在cloudflare上的(站点不能访问,但是下载链接可以访问);或者去镜像站,一些镜像站使用的也是C站的下载链接(当然,镜像站更新不如原站快)。不要轻易使用非safetensors格式的模型,因为有一定风险。
最后,笔者单独推荐一下 pixiv ,有世界各地的画师分享作品。该网站也需要翻越,但有些校园网可以访问。
(1)模型分类
从大小和用途,模型可分为基础的大模型和微调大模型的小模型。训练/微调大模型耗时长、对专业性和显卡要求高,业余玩家更常用的做法是训练小模型。常见的小模型包括LoRA、Textual inversion(即Embedding)、VAE、Hypernetwork。从后缀名上各种模型容易搞混,可以通过大小来区分,或者通过 秋葉aaaki的网站 识别。
通常来说,模型的后缀名是ckpt、pt、pth、safetensors(可以互相转换),SDW还可以通过PNG、WEBP等图片格式保存模型。前三者都是通过python的Pickle模块直接导出的,使用起来可能会有一些风险(Pickle反序列化攻击);safetensors则没有这样的安全问题。
(2)大模型
这里指标准的 latent-diffusion 模型。拥有完整的 U-Net、TextEncoder、VAE。
大模型一般大小为2G、4G、7G,后缀为ckpt、safetensors等。对于出图来说,2G的大模型就是全部的有效数据,U-Net(EMA)是完全可以裁剪掉的。EMA即Exponential Moving Average指数滑动平均,可理解为训练时把最后一些步数的结果做平均,并单独存下来(笔者猜测可以减少迭代最后几层的时间),但是SDW中不使用EMA,而且一些人喜欢模型融合,但模型A带EMA、模型B不带EMA,AB融合后的EMA是完全没有用的(EMA是模型专用的)。在 秋葉aaaki整合包 的SDW中集成了裁剪EMA的功能,在 文生图
这一列找到 模型转换
,按照如下的设置:
选定待裁剪的模型;
精度 为 fp16 。这也是SDW默认的精度;
模型修剪 为 删除EMA权重 ;
Force CLIP position_id to int64 before convert 勾选上。
即可裁剪。
另外,一些大模型的VAE不行,表现为画面发灰,需要更换VAE补救,通常在C站模型下载页作者会告诉你用哪个VAE。详见下面VAE的介绍。
模型的精度:SDW之能使用fp16的精度(笔者猜测是float precision),其它比如fp32的精度也会转换为fp16来使用。
大模型需要放在 models/Stable-diffusion
下。
(3)LoRA
后缀为pt、ckpt等,大小为8-144MB。LoRA的使用方法有两种,一是以插件形式调用,目前已废弃;另一种方法是SD 1.0以后,在下方调整生成图片大小的那一行,有LoRA页面,点击以后在提示词中出现 <lora:模型名:权重>
。
LoRA需要放在 models\Lora
下。SDW中调整生成图片大小那一行可以找到。
训练Lora需要显存8G,训练难度低、耗时短,十分推荐,教程见 秋葉aaaki 视频一 、 秋葉aaaki 视频二 、 blender王子 视频一 。
(4)Embedding/Textual inversion
一般是pt或者图片格式(PNG、webp等),大小在KB级别。是一种特殊的提示词,使用该提示词可以使AI明白你需要的一系列风格。
Embedding需要放在 embeddings
下(最外层,不在 models
里),使用时将其文件名作为提示词即可。SDW中调整生成图片大小那一行可以找到。
训练方面,Embedding要求显存6G,可学习画风、人物,局限性大但也可以用,教程见 秋葉aaaki 。
(5)VAE
一般是pt格式。Variational autoencoder变分自编码器,负责将潜空间的数据转换为正常图像。VAE类似于滤镜(实际上是一个翻译器),正常的大模型自带VAE,但是有些融合模型的VAE无法正常工作,表现为跑出来的画面发灰,需要更换VAE来拯救(这种大模型很多,但常用的VAE只有那几个,也就是说大模型和VAE经常是多对一的关系,最常用的是 vae-ft-mse-840000-ema-pruned.safetensors 这个VAE,整合包内已安装)。
在WebUI中,左上角选大模型的下拉菜单,其右边可以选择VAE,SDW会转而使用该VAE。VAE需要放在 models/VAE
目录下。
(6)Hypernetwork
几乎没人用。一般是pt,大小数十、数百MB或者数GB。
需要放在 models/hypernetworks
下。SDW中调整生成图片大小那一行可以找到。
训练超网络要求显存6G,其性能强大但训练难度高,不推荐训练。
(7)Dreambooth与Native Train
LoRA其实是Dreambooth的一种。LoRA对模型的修改范围小(更改输出,不对模型本身更改),训练起来比Dreambooth方便,但LoRA局限性也更大。
训练上要求显存12G,训练比较灵活。建议Dreambooth用于人物,Native Train用于画风。教程见 秋葉aaaki 。
(8)DreamArtist
也是一种Embedding,相比比Textual inversion,DreamArtist还能训练负面提示词。笔者猜测是快速反面tag(EasyNegative等)的来源。
6.SD结构及进阶
理解SD结构需要深度学习基础或者训练过一段时间的模型,见 秋葉aaaki 。
7.图生图
参考 重绘学派法术绪论1.1 。图生图比较适合对图片进行精修,可以分为基础的图生图,进阶的局部重绘。
(1)图生图
界面和文生图差不多,可以对整幅图进行调整大小、重绘等操作,核心参数是重绘幅度。重绘幅度大致以0.5为分界线,这个值越大、重绘后和原图的差距越大。基本操作和文生图类似,多了一个调整重绘幅度的步骤。另外,文生图的 高分辨率修复
(图片放大)也有重绘幅度,其实这个图片放大也是图生图。
基础的图生图用于对原图大幅在创作,修瑕疵、改大小,转换风格等。
(2)局部重绘
和图生图、文生图的区别在于上传图片后,鼠标左键点击图片可以涂白(画笔大小可在图片右上角调整),可以对涂白区域(称为蒙版,笔者猜测就是mask)或涂白以外的区域重新绘制。参数包括:
蒙版边缘模糊度 ,重绘区域和原图的融合度,太高会使重绘区域过于接近原图,太低会使二者边界生硬;
蒙版模式 ,可以选择重绘涂白区还是涂白以外的区域;
蒙版区域内容处理 ,重绘区域可以选择填充纯色、不处理、填充噪音、留空白;
重绘区域 ,参考整张图重绘,还是只参考蒙版周边进行重绘;
仅蒙版区域下边缘预留像素 ,如果只参考蒙版周边进行重绘,在这里选择参考到周边的第几个像素为止。
一般情况下重绘部分和不重绘部分不需要太精确,把不需要重绘的部分囊括进蒙版,有助于AI对全图的理解,使重绘区域更好地融入整体。
局部重绘用于修改细节。
(3)涂鸦重绘
也称 有色蒙版重绘 。相比于局部重绘,多了调整蒙版透明度的选项,当透明度100时即蒙版区域为原图,0时蒙版区域为纯色(AI会偏向于你指定的颜色)。
涂鸦重绘用于大幅重绘,指定颜色、形状。
(4)其它
包括:
涂鸦 ,在原图基础上涂纯色块(同样是告诉AI该区域应该用该颜色),再进行基础图生图。由于网页的局限,不如用PS涂色;
上传蒙版 ,上传一张精确的蒙版,而非在网页中手画。可用PS制作,白色为蒙版区域,黑色为非蒙版。
(5)图生图的理论与技巧
画面占比大的事物,AI画起来简单,像手这类小东西AI容易崩,通过局部重绘,将局部放大后交给AI画,能得到很好的效果。另外还有以下注意:
图生图的提示词,要描述你希望AI如何更改内容,并且提示词被其它参数分走了权重,必要时请适当加权;
图生图占用显存略大于文生图,但是局部重绘、仅参考局部时显存占用不大;
可以选择其它模型,但是要与原模型画风一致;
途中生成了一些有进步的图,可以替换原图,在有进步的基础上继续出图;
多次画蒙版时可能发现蒙版的范围有问题,这是SDW的bug,需要重新打开SDW并上传图片。
(6)修手
某张图的手部崩了,进行如下操作:
a.把图片粘贴到图生图的 局部重绘 。也可以选择 发送到图生图 ,但是目前该功能bug较多;
b.将手部涂上蒙版;
c.正面提示词只需填写 hand
、 spread fingers
等手部相关的,反面提示词用 bandhandv4
(一个Embedding,见后)即可;
d.重绘幅度默认0.75,调整这个值,直到手部合适,途中可以用修出来有改进的图替换原图。
如果想加一根手指,可以吸手指色,在PS中涂到大概的位置,在 涂鸦重绘 中操作,注意提示词换成finger,详见原文。
(7)添加元素
用PS把素材/纯色块添加到需要的位置即可。
(8)差分图
差分图指画面的大部分元素不变,只改变某些元素(如人物的表情,天气)。图生图可以制作差分图,详见原文。
(9)LoRA协同
LoRA过拟合,或者两种不同画风的LoRA融合进同一张图。详见原文。
(10)草图生图
除了之前介绍的Control Net的LineArt,也可以用图生图,把简单的草图转换为复杂的图片。区别在于LineArt更适用于线条草图,图生图更多用于色块草图。
8.训练LoAR
9.使用技巧
(1)复制参数
从C站复制的参数都是一坨,包括正面、负面、步数、采样器等。把所有参数复制到正面tag里,在 生成
下面有个 从提示词或上次生成的图片中读取生成参数
,就能把一坨参数改为SD能用的形式。
(2)保存预设
在 生成
下面的 编辑预设样式
,可以把当前的生成样式保存为模板。
(3)更换整合包时迁移数据
参考 秋葉aaaki 。
注意这里的 .cache
目录,Windows下正常是放在 C:\Users\用户名\.cache
下, 秋葉aaaki 整合包考虑到打包方便,一并放在这里。笔者猜测,Windows下可以在webui-user.bat里设置 XDG_CACHE_HOME
更改该文件位置;在linux下可能不需要?
以上文件都需要转移。
10.大模型推荐
一些大模型的简单介绍,使用的注意事项,笔者主要是翻译一下模型的简介。排名按照目前(2024-1月)的下载量。这里能介绍的有限,笔者建议下载量超过100K的都可以下载试试,正式出图的时候把其中几个模型用好了就行,不需要太杂。
由于模型更新的很快,这些内容在你读到的时候可能有较大出入。
(1)Realistic Vision V6.0 B1
Realistic Vision V6.0 B1 ,真实风
对比度太强时,可以用 Detail Tweaker LoRA (细节调整LoRA) 减小对比度。
建议的正面提示词:
RAW photo, subject, 8k uhd, dslr, soft lighting, high quality, film grain, Fujifilm XT3
其它建议的参数:
Euler A or DPM++ SDE Karras
CFG Scale 3.5 - 7
Hires. fix with 4x-UltraSharp upscaler
Denoising strength 0.25-0.45
Upscale by 1.1-2.0
Clip Skip 1-2
ENSD 31337
(2)ChilloutMix
ChilloutMix 真实+梦幻,偏真实
比较适用于画亚洲人、big tits。
(3)DreamShaper
DreamShaper 真实+梦幻
作者希望该模型能胜任所有图片生成。目前更新到了8,还有LCM版本(目前只能用LCM采样器)。
建议设置:
- I had CLIP skip 2 on some pics, the model works with that too.
- I have ENSD set to 31337, in case you need to reproduce some results, but it doesn't guarantee it.
- All of them had highres.fix or img2img at higher resolution. Some even have ADetailer. Careful with that tho, as it tends to make all faces look the same.
- I don't use "restore faces".
(4)majicMIX realistic 麦橘写实
majicMIX realistic 麦橘写实 真实,亚洲,中国模型
推荐参数:
Sampler: Euler a, Euler, restart
Steps: 20~40
Hires upscaler: ESRGAN 4x or 4x-UltraSharp or 8x_NMKD-Superscale_150000_G
Hires upscale: 2+
Hires steps: 15+
Hires denoising strength: 0.05~0.5
clip skip 2
我习惯开启Dynamic Thresholding来更好控制cfg值,1~20都可以尝试一下。
如果要添加滤镜效果、噪点,请使用BMAB - https://github.com/portu-sim/sd-webui-bmab
(5)Uber Realistic Porn Merge (URPM) [LEGACY Version]
Uber Realistic Porn Merge (URPM) [LEGACY Version] 真实,欧洲,P站
建议设置:
Xformers: Off
ETA Seed Noise Delta: 0
ClipSkip: 1
为了避免出现各种年龄的人,正面提示词不要用 girl
、 boy
,而应用 woman
、 man
。除非指定人数时,可以用 1girl
、 2girl
。
如果感觉效果不如预期,可以把反面提示词调轻,如:
((blurry)), animated, cartoon, duplicate, child, childish
(6)epiCRealism
epiCRealism 真实
建议参数:
Prompt: simple explanation of the image (try first without extra keywords)
Negative: "cartoon, painting, illustration, (worst quality, low quality, normal quality:2)"
Steps: >20 (if image has errors or artefacts use higher Steps)
CFG Scale: 5 (higher config scale can lose realism, depends on prompt, sampler and Steps)
Sampler: Any Sampler (SDE, DPM-Sampler will result in more realism)
Size: 512x768 or 768x512
Hires upscaler: 4x_NMKD-Superscale-SP_178000_G (Denoising: 0.35, Upscale: 2x)
使用建议:
use simple prompts
no need to use keywords like "masterpiece, best quality, 8k, intricate, high detail" or "(extremely detailed face), (extremely detailed hands), (extremely detailed hair)" since it doesn't produce appreciable change
use simple negatives or small negative embeddings. gives most realistic look (check samples to get an idea of negatives i used)
add "asian, chinese" to negative if you're looking for ethnicities other than Asian
Light, shadows, and details are excellent without extra keywords
If you're looking for a natural effect, avoid "cinematic"
avoid using "1girl" since it pushes things to render/anime style
to much description of the face will turn out bad mostly
for a more fantasy like output use 2M Karras Sampler
no extra noise-offset needed, but u can if you like to
(8)ReV Animated
ReV Animated 介于真实+梦幻
建议图片规格:512x512、512x768、768x512
提示词建议:
Order matters - words near the front of your prompt are weighted more heavily than the things in the back of your prompt.
Prompt order - content type > description > style > composition
This model likes: ((best quality)), ((masterpiece)), (detailed) in beginning of prompt if you want anime-2.5D type
This model does great on PORTRAITS
(8)Perfect World 完美世界
Perfect World 完美世界 介于真实+梦幻,中国模型,P站
(9)MeinaMix
MeinaMix 动漫
使用建议:
Enable Quantization in K samplers.
Hires.fix is needed for prompts where the character is far away in order to make decent images, it drastically improve the quality of face and eyes!
参数建议:
Sampler: DPM++ SDE Karras: 20 to 30 steps.
Sampler: DPM++ 2M Karras: 20 to 60 steps.
Sampler: Euler a: 40 to 60 steps.
CFG Scale: 4 to 11.
Resolutions: 512x768, 512x1024 for Portrait!
Resolutions: 768x512, 1024x512, 1536x512 for Landscape!
Hires.fix: R-ESRGAN 4x+Anime6b, with 10 steps at 0.3 up to 0.6 denoising.
Clip Skip: 2.
Negatives: ' (worst quality, low quality:1.4), (zombie, sketch, interlocked fingers, comic) '
Negatives if you can't use Hires.fix:
'(worst quality:1.6, low quality:1.6), (zombie, sketch, interlocked fingers, comic)'
(10)Beautiful Realistic Asians
Beautiful Realistic Asians 真实,亚洲
(11)CyberRealistic
CyberRealistic 真实,相片
推荐VAE: sd-vae-ft-mse-original ,就是840000那个。
(12)Counterfeit-V3.0
11.小模型推荐
由于模型更新的很快,这些内容在你读到的时候可能有较大出入。
(1)快速出图
使用LCM插件,具体见上文。建议在调整tag、参数时使用LCM,因为LCM和最终出图大体差不多,但是细节稍微差一些;然后在正式出图时关闭LCM。LCM也可以在生成视频时使用。
另外,有些模型现在也有LCM版本,但是必须使用LCM采样器(而非DPM、Euler等),比如DreamShaper-8就有LCM后缀的模型。
(2)快速反面tag
秋葉aaaki 整合包中, embeddings
下自带了反面tag的Embedding,使用时只需要在反面提示词里加上这些文件名即可。分别是:
EasyNegative 最初用于Counterfeit-V3大模型。
Deep Negative V1.x ,它有几个版本,最易上手的是75T,见下:
75T: The most “easy to use” embedding, which is trained from its accurate dataset created in a special way with almost no side effects. And it contains enough information to cover various usage scenarios. But for some "good-trained-model" may hard to effect. And, change about may be subtle and not drastic enough.
最易上手。
64T: It works for all models, but has side effect. so, some tuning is required to find the best weight. recommend: [( NG_DeepNegative_V1_64T :0.9) :0.1]
太强了,可能需要减轻权重。
32T: Useful, but too more
同样太多了。
16T: Reduces the chance of drawing bad anatomy, but may draw ugly faces. Suitable for raising architecture level.
改进肢体,但是可能脸画崩。
4T: Reduces the chance of drawing bad anatomy, but has a little effect on light and shadow
可能光影画崩。
2T: “easy to use like T75”, but just a little effect
太弱了。
badhandv4 - AnimeIllustDiffusion ,针对手部。
其它的还有:
Fast Negative Embedding (+ FastNegativeV2) ,V1版本太强了建议权重0.9,V2版本不需要。
negative_hand Negative Embedding ,针对手部,对原画风改动较小。
(3)添加/减少细节
Detail Tweaker LoRA (细节调整LoRA) ,建议取值2到-2之间,正数为添加画面细节、负数减少细节。
(4)梦幻/现实
BadDream + UnrealisticDream (Negative Embeddings) ,BadDream适用于营造梦幻感,UnrealisticDream用于真实感,可正面可负面。
(5)水墨风
墨心 MoXin 水墨风
分为 墨心
和 疏可走马
,使用后者时会生成大面积留白。
注意事项:
1.)CFG范围将会改变风格
1~3 : 大小写意
3~7 : 逐渐工笔
2.)推荐基础模型为ChilloutMix、国风3.2等
3.)《墨心》的推荐Lora权重为0.85以下
4.)《疏可走马》推荐Lora权重为0.7~1
12.保护画师作品
通过给图片加上一些抗AI的水印(包括Mist、Glaze等),防止画师的作品被用于AI训练。当然,也有去除这些水印的方法,见 秋葉aaaki 。