教程推荐

(下)【一文掌握AI绘图】Stable Diffusion 绘图喂饭教程

上篇——我们将站在小白的视角,了解从0开始到底要怎么开始学习AI绘图,需要掌握哪些知识安装哪些软件了解哪些功能,以及一张图片的绘制流程(点击跳转上篇)

下篇——我们将进一步了解SD画图的进阶技巧,了解关于模型、功能、提示语、插件和参数这五大方面的细节和技巧,让生成的图片效果更加可用和美观。


查阅、整理和输出教程属实不易,觉得这篇教程对你有所帮助的话,不妨点赞关注和在看哦😊

建议文章最下查看原文,阅读体验更佳哦

SD画图进阶技巧

/ 1 /

了解和使用模型

 

正如上期所说,模型是决定生成图片效果的最重要因素,所以了解每种模型的区别和使用方式是很有必要的,以下将五种模型类型进行分别讲解:

模型的获取获取的重要网址:

C站:https://civitai.com/ (最方便使用的)

抱脸:https://huggingface.co/models?pipeline_tag=text-to-image (最大最全的)

(1)大模型(底模型、主模型、base model)

  • 定义:SD默认的模型也就是官方提供出来的模型现已支持到2.1版本,C站上所有的模型都是基于官方的不同版本进行再训练后打包的。因为该模型数据集最大且影响也最大,所以称为大模型

  • 常见模式:尾缀ckpt、safetensors
  • 常见大小:2G-7G
  • 存放路径:

    Dtoolnovelai-webui-一键包novelai-webui-.akimodelsStable-diffusion

(2)VAE美化模型

  • 定义:可以理解为滤镜,选择了VAE就像是给图片套上了一层滤镜,会改变图片原有的颜色风格;一般默认是无,而且有些大模型中会自带VAE,没什么特殊需求可以不用勾选使用。
  • 常见模式:尾缀ckpt、pt
  • 名字中带有vae
  • 存放路径:

    Dtoo小novelai-webui-一键包novelai-.webui-akimodelsVAE

(3)Lora模型

  • 定义:LoRA 模型是通过截取大模型的某一特定部分生成的小模型,虽然不如大模型的能力完整,但短小精悍。因为训练方向明确,所以在生成特定内容的情况下,效果会更好。
  • 常见模式:尾缀ckpt、safetensors、pt
  • 常见大小:100MB左右
  • 存放路径:

    D.toolnovelai-webui-一键包novelai-webui-akimodelsLora

(4)Embeddings

  • 定义:通过角色训练产出,能够让你的主模型识别某个指定的角色,因为你的主模型不可能每个角色都认识,通过文件名来触发。
  • 常见模式:尾缀pt
  • 常见大小:几十KB
  • 存放路径:

D:toolnovelai-webui-一键包novelai-webui–akiembeddings

(5)Hypernetworks
  • 定义:通过画风训练产出,能够指定特定的画风
  • 常见模式:尾缀pt
  • 常见大小:几十KB
  • 存放路径:

Dtoolnovelai-webui-一键包novelai-webui-akimodelshypernetworks

/ 2 /

功能类型选择

 

除了文生图,也可根据自己的需求选择其他选项卡进行操作,以下简单介绍正常流程会用到的选项卡:

  • 图生图:将文生图的结果继续生成图片,或自己上传一张图片,常用于调整和优化图片,或修改图片风格、背景、人物形象等场景;
  • 附加功能:对单张或批量图片进行缩放的操作;
  • 图片信息:将本地图片上传后,可以用于其他选项卡的功能中;
  • 模型合并:将多个模型进行不同权重的合并,从而获得一个新的模型;
  • Tag反推:将本地图片上传,可以获得图片的提示语内容,并重新作用在其他选项卡中;
  • 扩展:SD的扩展插件配置区,可以查看已安装的插件内容,并控制开启和禁用状态;也支持通过URL的方式获取其他插件。

    / 3 /

    掌握提示语输入技巧(必看)

关于提示语的输入指南建议通读下方链接,写的很详细,看完你将对于理解和使用提示语有非常大的帮助:

https://guide.novelai.dev/guide/prompt-engineering/txt2img

本人基于这篇指南,结合个人经验将常用的技巧整理如下:

(1)提示语输入基本要求

  • 使用英语描述最佳,避免出现单词拼写错误;(不同模型可能有训练中文和日文,可自行判断)
  • 标点符号同样使用英文半角进行输入;
  • 建议使用逗号隔开的单词作为提示词;(也可用句号、甚至是空字符()来分隔关键词,可以提高图像质量)
  • 也可以使用自然语言描述图片内容,比如:A handsome hero armed with a sword(一个英俊的英雄装配着剑)
  • 提示语描述和图像风格要尽可能搭配,相近的描述不要重复出现
  • 善于利用反向提示语来去除图片的负面效果;
  • 尽可能使用特定含义的词汇,比如将 big 调整为 huge ,避免使用有多种含义的词汇;
  • 避免使用with、and之类的连接词
  • 可使用emoji(💰,💶,💷,💴,💵,🎊,🎀,👩) 进行补充描述;
  • 逗号前后的少量空格并不影响实际效果;
  • 可以通过指定风格提示语来创作带有特效或指定画风的图片;(风格获取参考下文👇)
  • 姿势的描述越精简越好,否则容易出现肢体重复的情况;(肢体生成是AI硬伤,可用controlnet来解决)
  • 避免过长提示词,越尾部的提示词在图片中的权重默认就越低,因此关键特征尽可能放在头部或通过语法来提高权重;(过长提示词可适当提高生成步数获取更好效果)

(2)输入技巧

    输入模板

将自己构思的图片特征抽象为标签描述,并将标签按分类进行排列,以下为模板示例:

(quality), (subject)(style), (action/scene), (artist), (filters)
  • (quality) 代表画面的品质,比如 low res 结合 sticker 使用来 “利用” 更多数据集, 1girl 结合 high quality 使用来获得高质量图像。
  • (subject) 代表画面的主题,锚定画面内容,这是任何提示的基本组成部分。
  • (style) 是画面风格,可选。
  • (action/scene) 代表动作/场景,描述了主体在哪里做了什么。
  • (artist) 代表艺术家名字或者出品公司名字。
  • (filters) 代表一些细节,补充。可以使用 艺术家,工作室,摄影术语,角色名字,风格,特效等等。

    提示语语法

对于 SD-WebUI,具体规则如下:

  • (word) – 将权重提高 1.1 倍
  • ((word)) – 将权重提高 1.21 倍(= 1.1 * 1.1),乘法的关系。
  • [word] – 将权重降低 90.91%
  • (word:1.5) – 将权重提高 1.5 倍
  • (word:0.25) – 将权重减少为原先的 25%
  • (word) – 在提示词中使用字面意义上的 () 字符

使用数字指定权重时,必须使用 () 括号。如果未指定数字权重,则假定为 1.1(权重增加通常会占一个提示词位,应当避免加特别多括号)

> ( n ) = ( n : 1.1 )> (( n )) = ( n : 1.21 )> ((( n ))) = ( n : 1.331 )> (((( n )))) = ( n : 1.4641 )> ((((( n )))) = ( n : 1.61051 )> (((((( n )))))) = ( n : 1.771561 )

(3)相关模板(可在SD中保存使用)

正向提示语:

#万能画质要求#(masterpiece, best quality),

反向提示语:

#避免糟糕的人像#ugly, fat, obese, chubby, (((deformed))), [blurry], bad anatomy,disfigured, poorly drawn face, mutation, mutated, (extra_limb),(ugly), (poorly drawn hands fingers), messy drawing, morbid,mutilated, tranny, trans, trannsexual, [out of frame], (bad proportions),(poorly drawn body), (poorly drawn legs), worst quality, low quality,normal quality, text, censored, gown, latex, pencil
#避免生成水印和文字内容#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
#通用#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
#避免变形的手和多余的手#extra fingers,fused fingers,too many fingers,mutated hands,malformed limbs,extra limbs,missing arms,poorly drawn hands,

(4)辅助工具推荐(建议收藏)

理论是理论,实践是实践,刚开始要纯手敲提示语终究是太难,所以下面将推荐一些提示语的工具网页,点开即可用:

工具的推荐使用流程如下:

【标签参考】

  • 最全tag库(根据分类查找):https://danbooru.donmai.us/
  • 颜色列表:https://en.wikipedia.org/wiki/List_of_colors_by_shade
  • 表情符号:https://unicode.org/emoji/charts/emoji-list.html
  • 标签冰山图:https://icebergcharts.com/i/Danbooru_Tags

【美图灵感】

  • C站不多说:https://civitai.com
  • AI生图的成品图:https://finding.art/#/?prompt=
  • PromptHero:https://prompthero.com/
  • PromptSearch(韩风居多):https://www.ptsearch.info/home/
  • Crowdsourced AI Art(质量高):https://arthub.ai/
  • Lexica(艺术风格):https://lexica.art/

【提示语工具】必用!!!!!!!!!!!

  • 标签超市(选择复制粘贴):https://tags.novelai.dev/
  • 魔咒百科词典:https://aitag.top/

【风格化标签】

  • Stable Diffusion V1 Artist Style Studies(网友总结的风格标签):https://proximacentaurib.notion.site/e28a4f8d97724f14a784a538b8589e7d?v=42948fd8f45c4d47a0edfc4b78937474
  • https://www.urania.ai/top-sd-artists
  • Artists To Study:https://artiststostudy.pages.dev/

建议文章最下点击原文进行查看哦,阅读体验更加,觉得文章对你有用的话,不妨点赞关注和在看哦😉

/ 4 /

获取和使用插件

 

插件系统作为SD的能力扩展, 很多大佬发挥想象力制作了许多强力的插件,个人认为普通画图不需要研究太多的插件内容,因为你根本没那个时间精力,不过有几个常用插件可以安装和尝试使用,以下我以本地部署的SD页面为例,介绍如何获取插件、使用插件和插件推荐:

(1)获取插件

获取插件可在SD中查询获取或者复制git仓库地址进行下载安装:

(2)使用插件

不同的插件有着各自的个性化配置,所以在这里就不展开讲了,只给大家演示一下在哪里可以选用插件,在文生图和图生图中都可以使用插件。

有些插件可能不存在配置项,是直接内置在SD的功能里面来加强效果,总之每种插件的作用效果和配置内容都有所不同,需要阅读插件的文档来搭配使用。

(3)插件推荐

本地部署的话一般内置就有插件了,这里推荐一些对普通画图过程中有帮助的插件,具体使用教程有需要的话以后再来讲解。

插件聚合页,有需要的自取:

https://guide.novelai.dev/advanced/development/extensions

  1. C站助手:

    (方便在SD中查看模型预览图,也支持复制链接直接下载模型)

插件地址:https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper.git

  1. ControlNet:

    (必装,可根据上传的图片或视频进行转绘,想要让AI精准确定人物姿势和肢体细节,这个插件是必装的)具体使用教程会在后续出

插件地址:https://github.com/Mikubill/sd-webui-controlnet  (也可直接在“扩展”中搜索controlnet下载即可)

ControlNet插件安装后,还需要到官网中下载下载特定的模型:

大型的预训练模型: 

https://huggingface.co/lllyasviel/ControlNet/tree/main/models

压缩模型、第三方模型 :

https://huggingface.co/TencentARC/T2I-Adapter/tree/main/models

(模型下载到 extensionssd-webui-controlnetmodels)

  1. Tiled Diffusion+Tiled VAE插件:

    (小显存福音:这个插件可以让小显存玩家将图片放大到2K、4K甚至8K,并且速度非常快)

插件地址 https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111

其他后续再添加

 

/ 5 /

了解和配置参数

 

(1)常用参数的基本介绍

  • 采样器(Sampler):不同采样器的图片效果有所差异,具体看下文介绍;
  • 采样迭代步数(Steps):图片生成时需要进行多少步的计算,20~50即可,太低图片质量差,太高可能图片失真;更多的步骤意味着从噪声到图像的更小、更精确的步骤。增加这一点直接增加了生成图像所需的时间;
  • 面部修复(Restore faces):可选项,修复面部细节,用于人像图片生成;
  • 平铺/分块(Tiling):可选项,生成平铺拼接的图案,类似瓷砖拼接的效果;
  • 高清修复(Hires.fix):可选择,常用于大尺寸的高清图片输出需求,非常耗性能速度很慢;
  • 宽度/高度(Width/Height):图像的宽高像素。要增加这个值,你需要更多的显存。大尺度的图像一致性会随着分辨率的提高而变差(模型是在 512×512 的基础上训练的)。非常小的值(例如 256 像素)也会降低图像质量。这个值必须是 8 的倍数;出图尺寸太宽时,图中可能会出现多个主体,推荐使用 小尺寸分辨率 + 高清修复;
  • 生成批次(Batch count):每次执行画图的批次数;最终出图=生成批次*每批数量
  • 每批数量(Batch size):每批画图的数量,增加这个值可以提高性能,但你也需要更多的 VRAM,默认为1即可;(数量与时间成正比)
  • 提示词相关性(CFG Scale):是否严格按照提示词的要求来生图,数值越小AI就会自由发挥,过大过小的数值都会让图片变形;一般7~10
  • 随机种子(seed):是图片生成算法在初始状态的基础,指定一个数值,那么对于相同提示词+同样参数+同样的种子,就会出来一个一模一样的图片;-1是指每次生成时都随机一个值,这样图片的生成就会有差异性;图片的种子值可在右侧输出的日志中找到;不同显卡由于微架构不同,可能会造成预料之外的不同结果。

(2)Samplers 采样器推荐

  • 目前好用的有 EulerEuler a(更细腻),和 DDIM
  • 推荐 Euler aDDIM,新手推荐使用 Euler a
  • Euler a 富有创造力,不同步数可以生产出不同的图片。调太高步数 (>30) 效果不会更好;
  • DDIM 收敛快,但效率相对较低,因为需要很多 step 才能获得好的结果,适合在重绘时候使用;
  • LMSPLMSEuler 的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性)。大概 30 step 可以得到稳定结果;
  • PLMS 是一种有效的 LMS(经典方法),可以更好地处理神经网络结构中的奇异性;
  • DPM2 是一种神奇的方法,它旨在改进 DDIM,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是 DDIM 的两倍。但是如果你在进行调试提示词的实验,这个采样器效果不怎么样;
  • Euler 是最简单的,因此也是最快的之一;
  • 真人图片更推荐使用DPM++2M DPM++2M Karras;生成人像特写:DPM adaptive DPM++SDE Karras

(3)不同的效果示例图:


 

画图疑难解答

  1. 生成黑/绿图(Green or Black screen)

如果是 GTX 16xx 系列,启动参数需要加 --precision full --no-half, 因此如果显存不足还要加 --medvram

如果是其他显卡而且加载了 VAE 时出现黑图,加入 --no-half-vae 参数。

  1. RuntimeError Sizes of tensors must match

(img2img) 如果你得到 RuntimeError: Sizes of tensors must match,你需要改变输入图像的分辨率

  1. 彩虹混乱图

如果 AI 输出了混乱的彩虹色图片,可能是生成分辨率或步数设置得太低。

  1. 高分辨率出鬼图 / 低显存生成大分辨率图片

使用 Highres. fix 或先使用低分辨率成图后再使用 Waifu2x 等技术提升分辨率。

  1. RuntimeError: Unable to find a valid cuDNN algorithm to run convolution

生成报错解释:显存不足

先检查 CUDA 是否可用,打开命令窗,输入 python 并分行输入

import tor
chprint(torch.cuda.is_available())
  1. CUDA out of memory

显存不足!!显存低于8g一直出现这个报错的话,最好的解决方案就是——换硬件😭

🎊教程完毕🎊


查阅、整理和输出教程属实不易,觉得这篇教程对你有所帮助的话,不妨点赞关注和在看哦,有能力的老板也可以赞赏支持一下 (球球了🙏)


欢迎大家来关注我的公众号!进入AI兔子洞,掌握最全面最专业的行业资讯工具分享变现指南实战教程,开启你的AI智慧之旅!

有什么问题可评论或公众号留言哦

jovi

AiCC : AI Creative Commons AI 设计,关注 AiCC 知识共创! AiCC.pro

发表回复

相似文章

Back to top button