导图社区 AI绘画
根据Nenly大神的零基础SD教程绘制的思维导图,探讨的是利用人工智能技术进行创作的绘画方式。
编辑于2024-04-12 10:02:10AI绘画
前言
AI绘画原理简析
原图→扩散(增加噪声)→生成(去除噪声)
配置要求
电脑(Windows/Mac系统)
建议Win10以上的系统
显卡(优先选择NVIDIA英伟达显卡)
独立显卡(非核显)
显卡性能与显存会影响操作体验
性能影响出图效率
显存影响绘制图形最大分辨率大小和模型训练规模
配置清单
Webui及前置软件安装及运行
详情参考最新安装攻略
https://nenly.notion.site/c5805e7ae26b4683a277c5586ea05904
推荐下载国内大佬的整合包
秋葉aaaki
https://www.bilibili.com/video/BV1iM4y1y7OA
独立研究员-星空
https://www.bilibili.com/video/BV1bT411p7Gt
幻灵AI绘画盒子
https://www.bilibili.com/video/BV1Vc411T7Nw/
程序运行注意事项
安装路径不要有中文
安装路径,即你放置Stable Diffusion WebUl的文件夹及它所属的文件夹,任何一层文件夹里有中文都会导致一些路径索引的过程报错。比如:D:/Program&Files/Al绘画
为减小错误发生概率,也应该尽可能减少输入空格
Webui文件夹放在存储空间较多的盘里,尽量不要放在C盘
文件夹是可以自由拷贝的,不影响使用。
操作端和命令行
子主题
StableDiffusion(SD)
基本操作指南
常用功能
文生图
图生图
界面的功能基本介绍
模型
保存与导出
生成的图片会自动保存在本地文件夹里
图库浏览器:记录图像的各种生成信息
图片查看
用图库浏览器查看生成的图片
本地文件查看
位置:去Webui根目录里(安装位置)找到Outout的文件夹
txt2img-images:文生图
img2img-images:图生图
extras-images:图片分辨率放大
txt2img-grids:文生图_生成多张图片的预览图
img2img-grids:图生图_生成多张图片的预览图
模型
模型概念
AI绘画中的“大模型”,一般指Checkpoint
定义:AI训练的“数据集”,用来支持AI出图作画
Checkpoint概念的来源
大部分模型会进行不断的训练、微调、迭代,过程中的"储存点“就是一个大模型
基本属性
大小:1~7G
常见格式:.ckpt/.safetensor
小模型:除了大模型之小的其他模型
例如:LoRA、Embeddings、Hypernetwork等
对大模型起到“微调”作用
VAE:变分自编码器
简单理解作用:类似于“色彩滤镜”
如果模型没有自带VAE,需要正确配置VAE
否则:画面发灰发白,生成质量堪忧
不同模型会生成不同画面内容和画风
模型下载渠道
官方模型和私炉模型的区别
官方模型:花费了非常大的力气训练出来的基础模型,支持A作画的根源,但出图效果一般
私炉模型:在官方模型的基础上“微调”出来的具有风格化特点的模型!由个人创作者训练
训练模型,也被称为“炼丹”
版权问题目前尚存在争议
下载各类模型的渠道
Hugging Face(抱脸):https://huggingface.co/models
深度学习和人工智能的专业网站,大佬多,但找起来不是很直观
Civitai(C站): https://civitai.com/
全世界最受欢迎的AI绘画模型分享网站,除了模型还有很多优秀作品展示
模型的筛选方式
训练模型 & 融合模型
训练模型:从基础模型训练而来
融合模型:多个训练模型混合得到的新模型
模型标签
模型“擅长”的领域,如真人照片、动漫、插画、建筑、卡通、3D等
学会使用模型
查看版本
有些模型可能存在不同的迭代版本,一般选用最新的
查看ModelCard与模型说明
作者一般会提供使用说明,推荐采样器、VAE等
查看例图“抄作业”
在模型网站上,一般都可以直接复制作者或其他创作者上传图片的提示词并加以应用
模型文件夹路径
Webut根目录/Models/Stable-diffusions
模型风格分类与推荐
推荐模型
StableDiffusion1.4
AbyssOrangeMix(深渊橘)
新手包
BV1Us4y117Rg
二次元模型:偏漫画/插画风,具有较鲜明的绘画笔触质感
推荐模型:AbyssOrangeMix,Counterfeit,Anything,Dreamlike,Diffusion
真实系模型:偏真实系的,拟真化程度高,对现实世界还原强
推荐模型:Deliberate,Realistic Vision,LOFI
2.5D模型:介于前两者之间,接近目前观众对一些游戏和3D动画的想象
推荐模型:NeverEndingDream(NED),Protogen,国风3
其他特化风格模型
如:建筑设计、平面设计等
进阶模型的原理解析——小模型
Embeddings:词嵌入模型
可用于还原角色形象特征
比喻:一套指向特定页面的“书签”
例子:“猫又"是什么?→猫+人+妖怪
使用方式
安装:放置模型在根目录/Embeddings文件夹内
调用:在正/负面提示词框里输入模型文件名
应用拓展
三视图设计:使用CharTurnerEmbeddings,加上合适的句式提示词触发
示例:A character turnaround of a (corneo dva) wearing blue mechabodysuit,(CharTurnerV2:1.2)
负面词嵌入:解决错手坏手、画面质量低的问题
直接在负面提示词中加入对应Embeddings文件名即可
反推提示词
使用Clip或DeepBooru
推荐DeepBooru,Clip常有连接问题
LORA:低秩适应模型
一般被用于还原角色、形象特征,也可以用于训练画风
比喻:书里夹的一张额外“彩页”
使用方式
安装:放置模型在根目录/models/LORA文件夹内
周用:在正/负面提示词框里输入<lora:模型文件名:权重>
使用时可以控制权重避免过度影响画风或其他元素
Hypernetwork:超网络
一般被用于画风训练
(现在用的人不多)
使用方式
安装:放置模型在根目录/models/Hypernetwork文件夹内
调用:在正/负面提示词框里输入<hypernet:模型文件名:权重>
LoRA应用与实践
LORA的诞生与原理
最早被用于大语言模型
通过更少的数据量,对一个大模型实现“微调”
和Checkpoint搭配一起使用
训练门槛低,生态百花齐放
三种应用LORA的基本方式
通过提示词输入
格式:<Lora:文件名:权重>
通过内置菜单调用
在“生成“选项旁边,选择各种不同的附加模型(包括Embeddings.LoRA等)
点击对应选项卡,自动添加提示词到上方框内
可以管理缩略图
通过额外扩展调用
Additional Networks扩展
最多支持五个LORA,滑块化调节权重参数
五大LORA应用方向
人物LoRA
案例:“赛博Coser”,边缘行者Lucy
Tips:LORA可以配合Tagger反推使用,推出人物身上的特征以精确固定人物形象
Tips:同一LORA与不同风格的大模型结合会产生不同的效果
例如,选择真人风格的大模型,就可以绘制出真实质感的人物效果
画风LORA
案例:吉卜力画风
Tips:多个LORA可以组合使用,一个负责画风,一个负责人物
概念LoRA
案例:抽卡立绘(Gacha splash LORA)
Tips:阅读ModelCard获取更多作者建议的使用方式
如:采样器、关键提示词、参数等
服装LoRA
案例:机甲少女
Tips:多个同类LORA可以叠加使用,观察其”化学反应“来调配合适效果
权重忌太高,不然会导致画面冲突混乱
特定元素LORA
案例:赛博头盔 Cyberhelmet
Tips:LORA也可以在局部重绘中使用,从而使得仅有重绘的一部分应用LORA效果
例如,局部重绘头部实现精准“戴头盔”
提示词(Prompts)
基本书写方式
全英文输入
以词组作为单位的
多数时候推荐将长句拆分
词组与词组之间需要插入分隔符(一个英文里的半角逗号)
可以换行,但每一行的行未最好也打上分隔符
提示词概念
传达绘制需求,让AI理解我们”想画什么"
提示词分类
正向提示词:希望出现什么
内容型提示词
具体化地描述画面场景
人物体貌(gir, blonde hair, long hair等)
服饰特征(white dress,jeans,t-shirt等)
场景和环境(forest, tree, white flower, day, sunlight, cloudy sky等)
画面视角与构图(close-up,full body, distant等)
其他画面要素
标准化提示词
质量
高质量的:best quality, ultra-detailed, masterpiece, highres, 8k
特定高质量类型:extremely detailed CG unity 8k wallpaper(超精细的8K Unity游戏CG),unreal engine rendered(虚幻引擎渲染)
画风
插画风:Painting、lustration、drawing
二次元:Anime、Comic、Game CG
写实风:Photorealistic、Realistic
负向提示词:不希望出现什么
常见负面提示词
低质量的:如low quality、low res
单色灰度:如monochrome、grayscale
样貌身形:如badproportions、ugly
四肢问题:如missing hands、extra fingers
可以尝试用反向提示词正向生成一些元素
提示词权重语法
权重的作用:增强或者是减弱某些提示词的优先级
调整权重方式
第一种:套括号
例:(((white flower))) -增强1.1^3倍
例:{{{white flower}}} -增强1.05^3倍
例:[[[white flower]]] -减弱1.1^3倍
第二种:括号+冒号+数字
例:(white flower:1.5),
控制在0.5-1.5间
避免过大幅度调整权重,否则会让画面扭曲
推荐“魔咒”
正向提示词
(masterpiece:1,2),best quality,masterpiece,highres,original,extremely detailed wallpaper,perfect lighting,(extremely detremely detailed CG:1.2),drawing,paintbrush,
反向提示词
NSFW,(worst quality:2),(low quality:2),(normal quality:2),lowres,normal quality,((monochrome)),((grayscale)),skin spots,acnes,skin blemishes,age spot,(ugly:1.331),(duplicate:1.331),(morbid:1.21),(mutilated:1.21),(tranny:1.331),mutated hands,(poorly drawn hands:1.5),blurry,(bad anatomy:1.21),(bad proportions:1.331),extra limbs,(disfigured:1.331),(missing arms:1.331),(extra legs:1.331),(fused fingers:1.61051),(too many dingers:1.61051),(unclear eyes:1.331),lowers,bad hands,missing fingers,extra digit,bad hands,missing fingers,(((extra arms and legs)))
三大新手提示词方法
1.翻译大法
借助翻译软件,直接将自己的自然语言转化为提示词
先描绘一个具体场景,后面再慢慢往上补词条
2.借助工具
利用提示词工具,以“选取”的方式完成提示词撰写
一个工具箱:http://www.atoolbox.net/Tool.php?ld=1101
AI词语加速器:https://ai.dawnmark.cn/
不要被已有的词条限制了思维
3.抄作业
参考一些模型网站的例图与提示词记录网站的成品
OpenArt: https://openart.ai
ArtHubAi: https://arthub.ai/
按照需要参考内容/标准化提示词
参数设置
采样步数
采样步数越高,画面越细致
20步以上的提升较小,但却要花费额外算力
推荐范围:10~30之间(默认20)
采样方法
各种不同的生成算法
推荐下方几个带有"+”号的
如模型有推荐算法,优先使用
分辨率
分辨率太小:图片天生模糊,缺乏细节
分辨率太大:计算慢,容易爆显存,可能出现多人的情况
需要通过反复试验,了解当前设备条件下,什么分辨率既能保证质量又能兼顾效率
其它选项
提示词相关性:还原执行提示词的程度(安全范围:7~12)
面部修复:推荐勾选
平铺:如果不是做图案千万不要勾选
批量出图
按照批次数连续进行作图
单批数量推荐保持为1
因为单批作多张图的方法是将其“拼合”为一张大图去生成的
重绘幅度-图生图模式适用
推荐设置在0.6-0.8之间
随机种子的意义
提示词修正
对背景内容进行进一步定义
( )in background:精确定义背景内容
depth of field:景深,有助于营造摄影氛围
随机种子
“抽卡”的核心:
每次会以一种不同的方式进行随机生成,随机生成的方式被记录成一组数字,即随机种子
不同的随机种子带来随机性,相同的随机种子实现的效果相似
固定随机种子的方法
图库浏览器也有记录种子数
保持随机种子一致,对提示词进行修改,实现人物风格的相对一致
图生图
原理
和文字一样,图片也可以作为一种信息输送到AI那里进行分析
“重绘”的本质,是图片的像素被结构分析后,使得成品和原图存在相似之处
基本步骤
上传图片
填写提示词
使用提示词描述画面内容
即便是经由图生图去让AI绘画,也需要具体、准确的提示词
内容型+标准化提示词
参数设置
重绘幅度
原图和成品图有多“像”
太高了容易变形,太低了实现不了“重绘”的效果
推荐设置在0.6-0.8之间
分辨率
优先维持和原图一致
如果原图太大,可以按比例折算到安全范围内
如果成品比例与原图不同
先在电脑上裁剪好再导入
三种不同的裁切方式提供适应尺寸
其他参数
拓展应用
把真实的人像照片变得二次元
使用SD有更高的精确度和更大的定义空间
把静物、风景“拟人化”
导入不是人物的图片,用描述人物的提示词进行定义
把二次元角色“三次元化”
导入动漫、游戏人物的图片,用真实系的模型加上真实系的标准化提示词进行定义
可以使用Lora模型,更具体、准确地还原人物特征
进阶玩法
图像合成 +AI重绘
抽象画法
随机绘制一些颜色、线条,并导入AI生成
ControlNet应用与实践
ControINet原理解析
以特定信息进行引导,实现一些我们通过文生图、图生图不好精确控制的特征
精确控制的意义
如果只能靠”抽卡“产出需要的内容,生成是高度不可控的
精确控制的意义面对具体需求,只有“可控“才能成为“生产力”
基本结构:预处理器 → 模型
预处理器可以从图片里提取特征信息
训练过的ControlNet模型读取这些信息,并引导stable Diffusion 生成过程
ControlNet基本应用方式
拖入信息图,选择对应的预处理器和模型组合
对图像进行预处理
点击“爆炸”按钮,可以预览预处理结果
预处理的信息图可以保存下来复用
上传信息图时,将预处理设置为“无”
参数详解
控制权重:主要影响控制“力度”
引导时机:生成过程中ControINet"生效”的时间(从0~1)
控制模式:更倾向于提示词还是ControlNet
改变控制力度的方式:
加大力度:提高权重,降低开始引导步数并提高结束引导步数,选用ControlNet更重要“模式
降低力度:减小权重,提高开始引导步数并降低结束引导步数,选用“提示词更重要“模式
图生图中,会自动加载图生图原图作为信息图
五大ControlNet模型介绍
Openpose:控制姿势、手部、面部细节
几种不同的Openpose预处理
Hand:手部骨骼
Face(Only):面部特征点
Ful:全部加在一起
Depth:控制空间组成(深度)
深度图:黑色远,白色近
几种不同的Depth预处理
Leres精度高,midas较为泛用
精度越高的预处理,花费时间一般越久
Canny:控制线条轮廓
预处理时,阈值控制线条的多少,不宜太过密集
应用:线稿上色
Tips:白底黑线线稿应使用Invert,反色成黑底白线才可正确识别
SoftEdge:控制线条轮廓,但更加柔和、放松
几种不同的SofEdge预处理
没有太大差别
与Canny对比,SoftEdge对轮廓线条的还原更加“生动",不会太过于刻板
Tips:适当“放松“ControlNet的控制力度,有助于AI发挥更多自己的创造力
Scribble:涂鸦引导画面生成
可以从图片提取,也可以自己绘制
应用:灵魂画手
多重ControlNet应用逻辑
在设置中,开启多个ControINetUnit即可使用多重ControlNet
组合逻辑关键:要互补!
正确示范:Canny+Depth,利用线条补足深度里的细节
错误示范:Canny+SoftEdge,同样是控制边缘,开两个和开一个差不了多少
三种WebUI的原生放大处理方式
图生图:高清修复
本质:先生成一个低质量版本,再“打回重画”,生成高分辨率版本
有点像拿低质量图片做了一次”图生图“
目前绝大多数文生图过程中都会应用到
优劣势分析
优势
不会改变画面构图(经由随机种子固定)
稳定克服多人、多头等由分辨率产生的问题
操作简便、清晰、直观
劣势
仍然受到最大显存的限制
计算速度相对较慢
偶尔“加戏”,出现莫名的额外元素
参数解析
放大倍数
按比例放大
直接设置最终尺寸
重绘幅度
根据算法而异,一般不会设置得太高
推荐0.3~0.5
算法选择
Latent系列:对细节有丰富作用,但容易导致画面变形
注意:重绘幅度一般不能不低于0.5(否则会出现模糊)
GAN系列:最大程度保持原图相似,细节丰富效果没有Latent好
拿捏不准,可以无脑选择R-ESRGAN 4X
*二次元选择带Anime 6B的
不同算法间的差异,其实没有想象中那么大
文生图:SD放大
本质:将图片拆成小块重绘,再拼合成一张大图
优劣势分析
优势
可以突破内存限制获得更大的分辨率(最高可达4倍宽高)
画面精细度高,对细节的丰富效果出色
劣势
分割重绘的过程较为不可控(语义误导和分界线割裂)
操作繁琐且相对不直观
偶尔“加戏”,出现莫名的额外元素
参数解析
重绘幅度:一般不超过0.5,建议0.2~0.3
出现多人、多头的问题时,降低重绘幅度
放大算法:与高清修复中的一致
重叠像素(Tile Overlap):图块与图块之间的重叠部分,使图片拼合的理解重叠的作用:胶水+缓冲带时候更自然
理解重叠的作用:胶水+缓冲带
出现太过于生硬的接缝感时,增大重叠像素
额外:后期处理(更多)
本质:通过人工智能算法对图片进行单纯的分辨率提升,不涉及重绘
方便,高效,随时可用,用了不亏
优劣势分析
优势
使用方便,操作简单,随时可以调用
计算速度快,无重绘压力
完全不改变图片内容
劣势
效果不太显著(有点鸡肋)
(..这一个缺陷就够了)
参数解析
第二个放大算法
类似于提示词的“权重“逻辑
可以不设置,只用一个算法也够了
可以批量操作加工
在WebUI版本更新到1.6.0以后,“高清修复”功能从原来的勾选框变成了一个展开/折叠的标签,展开状态下为启用,折叠状态下不启用。具体的使用方式和原来完全一致。
局部重绘
局部重绘基础
基本操作流程
上传图片至”局部重绘”工作区,或通过图库浏览器等方式发送到局部重绘内
调整画笔大小,绘制区域覆盖需要重绘的部分
调整重绘幅度和各项参数,修改提示词,点击生成即可实现重绘
本质:重新图生图,再将重绘区域“拼回去”
核心参数解析
蒙版区域
涂抹部分为蒙版区域
以外的部分为“非蒙版”区域
蒙住的内容
原图:原样输入进行加噪去噪,重绘效果较接近
填充:对原图高度模糊后再进行加噪去噪,重绘效果差异会稍大一些
潜空间变量&空白潜空间:将蒙版区域转化为纯粹的潜空间噪声再去,重绘效果差异最大
一般需求较高的重绘幅度,不然会导致重绘区域混乱
针对不同图像,效果可能有所不同,需要多尝试
仅蒙版和全图
全图:针对全图重绘,再把涂抹部分“拼回去”
仅蒙版:单独针对涂抹部分和周围一小块区域重绘,再把涂抹部分“拼回去”
蒙版模糊和预留像素
蒙版模糊:边缘柔和程度,类似于”选区羽化”
预留像素:影响仅蒙版模式时提取周边区域的大小
其他重绘方式
涂鸦重绘(inPaint Sketch)
用有颜色的画笔涂抹,随后重绘涂抹区域并将绘制的颜色加入原图中
常用于修改图片中的错误部分,如改画错的手部
操作:先用和背景相近的颜色涂抹原图手部区域,再用和皮肤相近的颜色绘制手部形象
涂鸦(Sketch)
用有颜色的画笔涂抹,随后重绘整张图
和涂鸦重绘的区别:一个针对局部,一个针对全图
蒙版重绘(MaskInpaint、Inpaint Upload)
上传一张黑白蒙版图,用于划定重绘区域
默认情况下:白色为蒙版,黑色为非蒙版
可使用PS等其他软件抠图制作蒙版图并导出