参考
- Stable Diffusion中文网
- Stable Diffusion教程
- stablediffusion
- stable diffusion 常用大模型解释和推荐
- novelai
- stable-diffusion-webui/wiki
- Compositional-Visual-Generation-with-Composable-Diffusion-Models
- tags.novelai
- 最新版本 Stable Diffusion 开源 AI 绘画工具之图生图进阶篇
- comtrolnet
1 环境搭建
1.1 下载秋叶大佬的SD整合包并安装
- 1)下载解压:打开Stable Diffusion中文网,下载SD安装包,并解压;
- 2)安装环境:进入:Win一键安装包@Stablediffusion-cn.com,点击:【先装这个】启动器运行依赖-dotnet-6.0.11.exe;
- 3)启动SD:进入:Win一键安装包@Stablediffusion-cn.com\sd-webui-aki-v4.4,点击 A启动器.exe;
- 4)更新版本:依次点击:版本管理 -> 一键更新
- 5)更新扩展版本:依次点击:版本管理 -> 扩展 -> 一键更新
-
- 启动webui页面:点击一键启动 -> 一键启动,之后会使用默认浏览器打开SD web界面,若没看到SD web页面,可以直接看:控制台界面,找到如:Running on local URL: http://127.0.0.1:7860,复制http://127.0.0.1:7860,直接在网页中打开即可;
webui界面如图:
1.2 stablediffusion模型下载
1.2.1 模型下载路径:
- 可以在SD界面 -> 模型管理 --> Stable Fussion模型 找到下载链接;
- 在 https://huggingface.co 中搜需要的模型;
- 在C站搜:https://civitai.com/
- 在LiblibAI模型站搜:https://www.liblib.art/
- 在吐司站:https://aigccafe.net/
- 其他
1.2.2 主模型:CheckPoint模型
- 常见模式:以ckpt或safetensors结尾的模型
- 安装路径:sd-webui-aki-v4.4\models\Stable-diffusion
- 大小:> 2G,一般显存越小,需要下载的模型要越小,太大容易显存不够崩溃,另一个要注意生成的分辨率不能太大,即模型越大,生成分辨率越小,可以避免显存不够的问题;
- 常用模型(我自己认为)
- 1)画二次元模型:
- anything-v5-PrtRE.safetensors
- cetusMix_Whalefall2.safetensors
- 2)写实模型:
- 1)画亚洲美女模型:chikmix_V3.safetensors
- 2)万能模型:如Deliberate_v2.safetensors(侧重于油画和数绘)
- 3)Realistic Vision系列:realisticVisionV2.0、xxmix9realistic_v40.safetensors
- 3)2.5D/数绘风格:
- 1)PerfectWorld:欧美版的Chilloutmix,主要绘制欧美风格的美女,不过偏2.5D,介于动漫和写实之间:perfectWorld_v5Baked_european_beauty.safetensors
- 2)国风系列:GuoFeng3.4.safetensors
- 4)特定风格:
- 3)明快:CrispMix,主要强调一种明快清爽的画风,比起油画和厚涂类模型,表现阴影的色块面积较为控制,画面整洁干净,非常适合时尚服装的展示
- 4)杂志风格:linecakeA1,配合Graphic design这个LORA一起使用,效果会更好。
- 5)其他较好的:
- 1)dreamshaper_8.safetensors,
- 2)MistyOrange-non-ema-fp16.safetensors,
- 3)画风景模型:landscapeRealistic_v20WarmColor.safetensors
- 4)国内真实摄影大模型:DREAMHIGH-GIRL-MIX-真实摄影大模型-HX.safetensors
- 1)画二次元模型:
1.2.3 Lora模型
微调模型,主要用来定制人物,轻巧,训练高效
- 常见模型:以ckpt,safetensors, pt结尾
- 常见大小:100M左右,有500多M的,也是几十K的;
- 存放路径:sd-webui-aki-v4.4\models\Lora
1.2.4 VAE模型
主要用来美化色彩,很多主模型已经自带
- 常见模型:以ckpt, pt结尾,名字中带有vae等;
- 常见大小:300M到800M都有;
- 存放路径:sd-webui-aki-v4.4\models\VAE
1.2.5 Embeding模型
嵌入模型,主要用来调教文本理解能力
- 常见模型:源码存在,以github,gitcode下载;
- 常见大小:几十KB
- 存放路径:sd-webui-aki-v4.4\embeddings
1.2.6 Hypernetwork模型
超网络模型,主要用来定制画风,风格
- 常见模型:以pt结尾
- 常见大小:1G到几十KB
- 存放路径:sd-webui-aki-v4.4\models\hypernetworks
1.3 controlnet插件安装
网页安装按git clone https://github.com/Mikubill/sd-webui-controlnet上面描述做就行
cd sd-webui-aki-v4.4
git clone https://github.com/Mikubill/sd-webui-controlnet.git extensions/sd-webui-controlnet
git lfs install
git clone https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main extensions/sd-webui-controlnet/models
git clone https://huggingface.co/lllyasviel/sd_control_collection/tree/main models/ControlNet
2 绘图
2.1 基本技巧:会写提示词:
- 提示词视频教程:https://www.douyin.com/video/7233065306510429501
- 提示词:完能模板+专属提示词工具=优秀提示词
- 基本原则:词越靠前,权重越高;
- 万能模板:质量 + 主题 + 动作/场景 + 风格 + 细节补充
- 模板(括号代表可选):quality,subject (sytle),action/scene,(artist),(filters)
- 质量(quality):代表画质,如high quality
- 主题(Subject):代表画面的内容
- 动作/场景(action/scene):代表主体正在做什么
- 风格(Style):画面风格,可选
- 细节补充(artist/filters):艺术家的名字/出品公司的名字,艺术家、工作室、摄影术语、角色名字、风格、特效等;可选
- 提示词工具:https://tags.novelai.dev/
- 举例:
- 正向提示词:best quality, 1girl, solo, sitting, alice margatroid
- 反向提示词:worst quality, low quality, normal quality
2.2 语法
可参照官网文档:https://docs.novelai.net/,主要有权重系数、标签替换、标签轮转
- 权重系数:详见 wiki:attentionemphasis
- 圆括号(word):将权重提高1.1倍,可以嵌套,如():提高1.1倍,(()):提高1.21倍=1.1*1.1
- 方括号[word]:将权重降低0.9091
- 冒号(word:1.3):将权重乘以1.3倍,可大于1也可以小于1
- 反转符号(word):使用字面意义上的()
- 标签替换:详见 wiki:prompt-editing,先使用一个提示词,在生成过程中切换为其他提示词:
- 替换:[from:to:when]: 在指定数量的step后,将提示词中的from替换为to
- 添加:[to:when]:在指定数量的step后,将to添加到提示词;
- 删除: [from::when]:在是定数量的step后,从提示词中将from删除
- 标签轮换:详见 wiki: Alternating Words,在生成过程中,每步轮换使用多个提示词
- 循环:[a|b|c]:提示词按a->b->c->a->…的顺序轮换
- 如:a busy city street in model city | illustration | cinematic lighting
- 多组提示词生成:详见:Composable-Diffusion :
- Stable Diffusion Demos - AND + NOT (negative prompts)
- Point-E Demos - AND + NOT (negative prompts)
- 如:“mystical trees” AND “A magical pond” AND NOT “Dark”
- 如:“A green avocado” AND “A chair”
- 如 a, b, c AND d, e, f
- Prompt matrix 参数矩阵:
- 使用 | 分割tag,程序降为它们每个组合生成一个图像,单始终保留第一部分;
- 如 a busy city street in model city | illustration | cinematic lighting 可能有四种组合:
- a busy city street in model city
- a busy city street in model city, illustration
- a busy city street in model city, cinematic lighting
- a busy city street in model city, illustration, cinematic lighting
2.3 关键参数
2.3.1 文生图主要参数
- 宽度&高度,如:
- 512x512:倾向于出现脸和上半身图像;
- 512x768:倾向于出现站着或坐着的全身像;
- 768x512:倾向于出现半躺像;
- 分辨率越大,生成时间越长,占用显存越多,容易出现显存不够的问题;
- 一般在满足图像要求的情况下,分辨率尽可能小,之后再放大;
- 提示词引导系数(CFG scale):
- 范围:1到30,默认为7,值越小,图像越粗糙,细节相对越少,值越大,图像越细腻,细节越丰富;
- 对二次元风格,为生成更丰富的色彩和质感图像,建议范围在7~20,推荐12;
- 对写实风格,对cfg很敏感,建议范围4~7,推荐7,可以以0.5位粒度调节;
- 随机数种子(Seed):
- 一般其他都不变,seed也不变,生成的图像是唯一的;
- 可以在seed不变的情况下,修改提示词、分辨率、插件、lora等参数,达到想要的效果;
2.3.3 图生图主要参数
在文生图参数的基础上,图生图主要参数如下:
- 缩放模式(Resize Mode):共有4中,只推荐Just Resize和Crop And Resize,具体如下:
- 仅调整大小(Just Resize)
- 裁剪后缩放(Crop And Resize)
- 缩放后填充空白(Resize And Fill,不建议使用)
- 调整大小(潜空间放大)(Latent upScale不,建议使用)
- 重绘幅度(Denoising strengt):默认0.75,低强度就是基本不重绘,越高重绘越强,融合越不好,建议设在0.5到0.75之间;
- 蒙版边缘模糊(Mask blur),即蒙版模糊度,在 0-64 之间调节,就是将我们涂抹区域,从边缘向中间透明过渡。数值较小的时候,边缘越锐利,所以一个合适的值会让图片看起来更真实,范围0~64,一般30,默认即可;
- 蒙版区域内容处理(Masked content): 一般选择原图即可,具体如下:
- 填充:使用蒙版边缘图像的颜色填充,不过颜色已经被高度模糊;
- 原版:不改变原图任何细节;
- 潜空间噪声:使用噪点进行填充;
- 空白潜空间:噪点值为0的状态;
- 仅蒙版区域下边缘预留像素(Mask transparency): 蒙版的透明度,范围:0~256,一般默认为0,即不透明,因为透明度越高,AI发挥的空间越小,基本上当透明度大于60,预处理就会失去作用,建议值32;
3 效果展示
3.1 文生图
反向提示词统一为:nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,
下面提示词均为正向提示词。
-
masterpiece,best quality,1girl,solo,dream lover,full face,front head,front body,sitting,forest,light rays,
-
masterpiece,best quality,red rose,in vast,next to 1girl,solo,drink water,
-
masterpiece,best quality,1little girl, solo, holding, 1red balloon
-
masterpiece,best quality,1girl,solo,sitting,garden,highres
-
masterpiece,best quality,1girl,dream lover,beautiful face,full face,upright body,
-
masterpiece,best quality,1girl,dream lover,beautiful face,full face,upright body,younger,
-
masterpiece,best quality,little girl,front face,wearing a red dress,jump,two feed can see and off the ground,seeing roses in garden,lora:GuoFeng3.2_Lora:1, Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,
Steps: 20, Sampler: DPM++ 2M SDE Karras, CFG scale: 7, Seed: 2762403894, Size: 640x640, Model hash: 879db523c3, Model: dreamshaper_8, Clip skip: 2, Lora hashes: “GuoFeng3.2_Lora: 5d35ac960118”, Version: v1.6.0
-
ControlNet的使用:
提示词为:masterpiece,best quality,little girl,front face,wearing a red dress,jump,two feed can see and off the ground,seeing roses in garden,lora:GuoFeng3.2_Lora:1,
Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,Steps: 20, Sampler: DPM++ 2M SDE Karras, CFG scale: 7, Seed: 2762403894, Size: 640x640, Model hash: 879db523c3, Model: dreamshaper_8, Clip skip: 2, ControlNet 0: “Module: openpose_full, Model: control_v11p_sd15_openpose [cab727d4], Weight: 1, Resize Mode: Crop and Resize, Low Vram: False, Processor Res: 512, Guidance Start: 0, Guidance End: 1, Pixel Perfect: False, Control Mode: Balanced, Save Detected Map: True”, Lora hashes: “GuoFeng3.2_Lora: 5d35ac960118”, Version: v1.6.0
图片如下:
-
XYZ table:在左下角脚本中选择X/Y/Z plot,已X轴类型为sample为例:
提示词:masterpiece,best quality,little girl,front face,wearing a red dress,jump,two feed can see and off the ground,seeing roses in garden,lora:GuoFeng3.2_Lora:1,Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 2762403894, Size: 640x640, Model hash: 879db523c3, Model: dreamshaper_8, Clip skip: 2, ControlNet 0: “Module: openpose_full, Model: control_v11p_sd15_openpose [cab727d4], Weight: 1, Resize Mode: Crop and Resize, Low Vram: False, Processor Res: 512, Guidance Start: 0, Guidance End: 1, Pixel Perfect: False, Control Mode: Balanced, Save Detected Map: True”, Lora hashes: “GuoFeng3.2_Lora: 5d35ac960118”, Version: v1.6.0
图形如下:
3.2 图生图
3.2.1 文生图生成一张原始图片到图生图
提示词为:masterpiece,best quality,1girl,sole,dream lover,(beautiful face),full face,upright body,big eyes,younger,flower,light,hands down,
Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,
Steps: 20, Sampler: DPM++ 2M SDE Karras, CFG scale: 7, Seed: 459248525, Size: 512x512, Model hash: a83e25fe5b, Model: GuoFeng3.4, Clip skip: 2, Version: v1.6.0,图像如下:
点击图片下面的按钮:[发送图像和生成参数到图生图选项卡]
3.2.2 反向推理
- Clip反推:error,
- DeepBooru反推:
blurry,blurry_background,blurry_foreground,depth_of_field,motion_blur,photo_(medium),hair_ornament,hair_flower,1girl,bokeh,focused,cosplay_photo,flower,solo,looking_at_viewer,red_lips,asian,long_hair,lips,indoors,3d,
DeepBooru反推翻译成汉语:模糊、模糊背景、模糊前景、景深、运动模糊、照片_(中)、头发装饰品、头发花、1girl、散景、聚焦、cosplay_photo、花、独奏、看着观众、红唇、亚洲、长发、嘴唇、室内、3d;
整体看DeepBooru反推内容是有一些正确性的,Clip反推错误,不知道为什么,待以后研究,错误内容如下:
*** Error interrogating
Traceback (most recent call last):
File "sd-webui-aki-v4.4\modules\interrogate.py", line 192, in interrogate
self.load()
File "sd-webui-aki-v4.4\modules\interrogate.py", line 121, in load
self.blip_model = self.load_blip_model()
File "sd-webui-aki-v4.4\modules\interrogate.py", line 101, in load_blip_model
blip_model = models.blip.blip_decoder(pretrained=files[0], image_size=blip_image_eval_size, vit='base', med_config=os.path.join(paths.paths["BLIP"], "configs", "med_config.json"))
IndexError: list index out of range
3.2.3 缩放模式(Resize Mode)
缩放有4中形式:
- 仅调整大小(Just Resize)
- 裁剪后缩放(Crop And Resize)
- 缩放后填充空白(Resize And Fill,不建议使用)
- 调整大小(潜空间放大)(Latent upScale不,建议使用)
具体图片展示如下: - 仅调整大小:Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 459248525, Size: 512x768, Model hash: a83e25fe5b, Model: GuoFeng3.4, Denoising strength: 0, Clip skip: 2, Version: v1.6.0
注意:只是缩放的话,要将重绘幅度Denoising strength调整为0,不然会引起画面变化;
- 裁剪后缩放:Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 459248525, Size: 512x768, Model hash: a83e25fe5b, Model: GuoFeng3.4, Denoising strength: 0, Clip skip: 2, Version: v1.6.0
- 缩放后填充空白:Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 459248525, Size: 512x768, Model hash: a83e25fe5b, Model: GuoFeng3.4, Denoising strength: 0, Clip skip: 2, Version: v1.6.0
可以看出,缩放后填充空白是将最后一样图像数据直接填充到填空区域了; - 调整大小(潜空间放大):Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 459248525, Size: 512x768, Model hash: a83e25fe5b, Model: GuoFeng3.4, Denoising strength: 0, Clip skip: 2, Version: v1.6.0
可以看出,这个似乎只是用了像素填充类似的放大算法。
3.2.4 重绘强度(Denoising Strength)和采样步数(Sampling Steps)
- 重绘强度:范围为0-1,默认0.75,数值越大代表和原图的差距越大,数值越小则越贴合素材原图的效果;
- 采样步数:默认20,范围0-150,实际采样步数=采样步数*重绘强度;
如:仅调整大小+重绘强度0.75+采样步数20=Negative prompt: nsfw,(worst quality, low quality, normal quality:1.3),lowres,bad anatomy,long neck,badhandv4,Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 459248525, Size: 512x768, Model hash: a83e25fe5b, Model: GuoFeng3.4, Denoising strength: 0.75, Clip skip: 2, Version: v1.6.0
3.2.5 图生图(img2img)
提示词: smile,重绘强度:0.5,结果如下:
3.2.6 局部重绘(Inpaint)
局部重绘和涂鸦的区别在局部重绘没有颜色选择按钮;
上传原图到局部重绘,将重绘幅度设为0,结果如下:
可以看出,局部重绘并未改变原图内容,但若将重绘幅度设为0.75,结果如下:
3.2.7 涂鸦重绘(Inpaint sketch)
注意:
- 不要使用涂鸦,涂鸦也可以生成图像,但是以整个涂鸦区域为图像生成来生成,直接使用涂鸦重绘即可。
- 涂鸦重绘比局部绘制多了如下几个部分:
- 蒙版模式:重绘蒙版内容、重绘非蒙版内容
- 蒙版区域内容处理:填充、原版、潜空间噪声、空白潜空间
- 重绘区域:整张图片、仅蒙版区域
- 仅蒙版区域下边缘预留像素,范围:0~256,默认32
- 蒙版边缘模糊度(透明度),范围:0~64,默认4
复制当前图像到涂鸦,使用图画笔,可以调整颜色,涂鸦后图像如下:
重绘幅度设置为0.75,蒙版边缘模糊度30,提示提:flower, television,图片如下:
### 3.2.8 上传蒙版(Inpaint upload)
注意:
- 蒙版中,白色代表重绘,黑色代表不处理,若绘制反了,则选择重绘非蒙版内容即可;
- 上传的蒙版需要借助其他工具如PS的处理,相比直接手涂肯定是更精确,学习过程中,可以使用涂鸦重绘,将重绘强度设置为0,然后保存后上传即可;
下面以蒙版将人涂成黑色,其他部分涂成白色,提示词为:(a rose in vase:1.3),television, 蒙版边缘模糊度为30,重绘幅度为0.75,生成图片如下: