Stable Diffusion应用入门全攻略(上)

AI探索1年前 (2023)更新 8kmm.com
63.1K 0 1
本文主要介绍Stable Diffusion的下载,安装、运行,界面参数基本介绍,提示词及提词器的详细说明。

一、前言

Stable Diffusion 是什么?

  Stable Diffusion 是利用扩散模型进行图像生成的产品,可以支持 text2image、image2image。并且由于“论文公开+代码开源”,其用户群体远大于其他 AI 图像生成产品。另外,而且众人拾柴火焰高,代码和项目开源使得各项优化技术在其上快速应用,使其不断迭代优化。

传送门:官网 | 论文 | Git

WebUI 是什么?

  Stable Diffusion WebUI 是 AUTOMATIC1111 为 Stable Diffusion 开发的一套 UI 操作界面,大幅度降低了 Stable Diffusion 的使用门槛,让用户甚至可以不用写代码就能够实现模型的推理、训练等操作。

  因Stable Diffusion WebUI支持多系统又有很好的扩充性,便成为最多人使用的图形化程序。其图形界面是通过网页访问的,上手无难度,还有社群制作的界面中文化扩充功能。

  与其他云端AI绘图软件Midjoruney、NovelAI、DALL-E相比,Stable Diffusion WebUI最大优点是可以免费在自己的电脑或服务器跑,且只要遵照 Creative ML OpenRAIL-M授权条款的话,几无使用限制。因其开放原代码的特性,任何人都可以贡献代码,参与改进项目。

  一开始Stable Diffusion WebUI支持的是x86架构,配备独立显卡的Linux和Windows电脑。不过AI绘图热门到让Apple公司亲自下场优化,于是macOS也可以跑Stable Diffusion WebUI了。只是用笔电跑的要小心,AI绘图会占用大量GPU资源,小心散热。

  至2023年,Stable Diffusion WebUI已支持Linux/Windows/MacOS系统,以及Nvidia/AMD/Apple Silicon M的GPU。

传送门:Git

以下是一些Stable Diffusion WebUI生成的图像,无后期处理。

Stable Diffusion应用入门全攻略(上)

启动器是什么?

启动器是秋葉 aaaki 团推开发的用来启动 Stable Diffusion WebUI 的启动工具。不仅能够实现一键启动(否则需要用户先打开 webui 服务,在打开浏览器网页),还包含了诸如环境选项、疑难解答、版本管理、模型管理、扩展插件管理等诸多功能。让没有开发经验的同学能够用起来更顺手。

这三者依次递进,最终呈现在我们眼前,让我们能够方便的使用 Stable Diffusion 的能力。下面我们分别介绍如何使用 WebUI 进行推理(即生成内容)和训练,以及他们的应用场景。     

感谢B站秋叶大佬的整合包,小白也能放心食用,

B站秋叶大佬 

配置要求:

显卡要求:需要使用 N 卡(NVIDIA 显卡),显卡的显存至少需要 4GB 以上显存才能在本地运行。最低配置需要 4GB 显存,基本配置 6GB 显存,推荐配置 12GB 显存或者以上。Stable Diffusion Ai 绘画主要是运行显卡,算力越强,出图越快。显存越大,所设置图片的分辨率越高)

硬盘要求:软件主要依赖于 GAN 模型进行图像的生成,而下载的模型文件通常都非常大(一个模型可能需要 2G 以上),批量处理时也需要占用大量内存。因此,我们建议使用 Stable Diffusion 的用户应配置至少 60GB 的硬盘空间。

网络要求:***你**懂**的***

操作系统:需要是 Win10 或 Win11。

满足以上需求,就能去下载使用了。

 Stable Diffusion下载地址:https://www.8kmm.com/sites/7244.html(提取码在正文)

如果自己的电脑硬件不满足,也可以使用网络版,比如:Stable Diffusion XL免费用户可以每天免登录生成 60 张 1024 像素的 AI 图片。

 

二、安装\运行

1.无需要安装,解压后点击启动器运行依赖,然后点击A启动器(绘世)。

 

2.更新本体和扩展

下载自己需要的模型。推荐C站(civitai)找自己喜欢的模型并下载。点右上角的“添加模型”,选择下载好的模型文件即可。

三、使用界面参数(文生图)

1.提示词

masterpiece,best quality, 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

  提示词分为两种,分别是正向提示词反向提示词,正向提示词用来输入目标图片的关键特征词汇,反向提示词用来排除图片中不需要的内容。一张精美的图片少不了反向提示词,需要通过大量的词汇来屏蔽图片中的异常内容,换句话说图片中出现你不想要的内容,你就把该改词汇添加到反向提示词中重新生成。

  其次,若有些提示词是常用的,可以将提示词保存为模板,这样就可以通过右侧的下拉选项中快速选择和使用了,常用语保存和选择一些万能通用的提示词。

提示词内容

提示词中可以填写以下内容:

类型
要求
自然语言 可以使用描述物体的句子作为提示词。大多数情况下英文有效,也可以使用中文。避免复杂的语法。
单词标签
可以使用逗号隔开的单词作为提示词。一般使用普通常见的单词。单词的风格要和图像的整体风格搭配,否则会出现混杂的风格或噪点。避免出现拼写错误。
可参考 Tags | Danbooru (donmai.us)
Emoji颜文字 Emoji (???????) 表情符号也是可以使用并且非常准确的。因为Emoji只有一个字符,所以在语义准确度上表现良好。关于 emoji 的确切含义,可以参考 Emoji List, v15.0 (unicode.org)

值得注意的是,Emoji 在构图上有影响。举个例子,???输出后:

提示词语法

根据自己想画的内容写出提示词,多个提示词之间使用英文半角符号 [ , ],如:

masterpiece, best quality, ultra-detailed, illustration, close-up, straight on, face focus, 1girl, white hair, golden eyes, long hair, halo, angel wings, serene expression, looking at viewer

一般而言,概念性的、大范围的、风格化的关键词写在前面,叙述画面内容的关键词其次,最后是描述细节的关键词,大致顺序如:

(画面质量提示词), (画面主题内容)(风格), (相关艺术家), (其他细节)

不过在模型中,每个词语本身自带的权重可能有所不同。如果模型训练集中较多地出现某种关键词,在提示词中只输入一个词就能极大地影响画面。

反之如果模型训练集中较少地出现某种关键词,在提示词中可能输入很多个相关词汇都对画面的影响效果有限。提示词的顺序很重要,越靠后的权重越低。关键词最好具有特异性,譬如 Anime (动漫)一词就相对泛化,而 Jojo 一词就能清晰地指向 Jojo 动漫的画风。措辞越不抽象越好,尽可能避免留下解释空间的措辞。

正向反向提示词,如果要加大提示词比重,(word:1.5) – 将权重提高 1.5 倍。

可以使用括号人工修改提示词的权重,方法如:

  • (word) – 将权重提高 1.1 倍
  • ((word)) – 将权重提高 1.21 倍(= 1.1 * 1.1)
  • [word] – 将权重降低至原先的 90.91%
  • (word:1.5) – 将权重提高 1.5 倍
  • (word:0.25) – 将权重减少为原先的 25%
  • \(word\) – 在提示词中使用字面意义上的 () 字符
( n ) = ( n : 1.1 )
(( n )) = ( n : 1.21 )
((( n ))) = ( n : 1.331 )
(((( n )))) = ( n : 1.4641 )
((((( n )))) = ( n : 1.61051 )
(((((( n )))))) = ( n : 1.771561 )

请注意,权重值最好不要超过 1.5。

还可以通过 Prompt Editing 使得 AI 在不同的步数生成不一样的内容,譬如在某阶段后,绘制的主体由男人变成女人。

语法为:

[to:when] 在指定数量的 step 后,将to处的提示词添加到提示[from::when] 在指定数量的 step 后从提示中删除 from处的提示词[from:to:when] 在指定数量的 step 后将 from处的提示词替换为 to处的提示词
例1:

a [fantasy:cyberpunk:16] landscape

在一开始,读入的提示词为:the model will be drawing a fantasy landscape.

在第 16 步之后,提示词将被替换为:a cyberpunk landscape, 它将继续在之前的图像上计算

例2:

对于提示词为: fantasy landscape with a [mountain:lake:0.25] and [an oak:a christmas tree:0.75][ in foreground::0.6][ in background:0.25] [shoddy:masterful:0.5],100 步采样,

一开始。提示词为:fantasy landscape with a mountain and an oak in foreground shoddy

在第 25 步后,提示词为:fantasy landscape with a lake and an oak in foreground in background shoddy

在第 50 步后,提示词为:fantasy landscape with a lake and an oak in foreground in background masterful

在第 60 步后,提示词为:fantasy landscape with a lake and an oak in background masterful

在第 75 步后,提示词为:fantasy landscape with a lake and a christmas tree in background masterful

提示词还可以轮转,譬如

[cow|horse] in a field

在第一步时,提示词为“cow in a field”;在第二步时,提示词为”horse in a field.”;在第三步时,提示词为”cow in a field” ,以此类推。

2.采样和迭代步数

  • Sampler(采样器/采样方法)
Euler a(Eular ancestral)可以以较少的步数产生很大的多样性,不同的步数可能有不同的结果。

DPM 相关的采样器通常具有不错的效果,但耗时也会相应增加。

Euler 是最简单、最快的

Euler a 更多样,不同步数可以生产出不同的图片。但是太高步数 (>30) 效果不会更好。

DDIM 收敛快,但效率相对较低,因为需要很多 step 才能获得好的结果,适合在重绘时候使用。

LMS 是 Euler 的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性)。大概 30 step 可以得到稳定结果

PLMS 是 Euler 的衍生,可以更好地处理神经网络结构中的奇异性。

DPM2 是一种神奇的方法,它旨在改进 DDIM,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是 DDIM 的两倍,生图效果也非常好。但是如果你在进行调试提示词的实验,这个采样器可能会有点慢了。

UniPC 效果较好且速度非常快,对平面、卡通的表现较好,推荐使用。

推荐 Euler a ,DPM2++2M Karras,DPM2++SDE Karras,UniPC
  • 迭代步数

Stable Diffusion 的工作方式是从以随机高斯噪声起步,向符合提示的图像一步步降噪接近。随着步数增多,可以得到对目标更小、更精确的图像。但增加步数也会增加生成图像所需的时间。增加步数的边际收益递减,取决于采样器。一般开到 20~30。

不同采样步数与采样器之间的关系:

3.修复和图片相关设置

  • 高清修复 默认情况下,文生图在高分辨率下会生成非常混沌的图像。如果使用高清修复,会型首先按照指定的尺寸生成一张图片,然后通过放大算法将图片分辨率扩大,以实现高清大图效果。最终尺寸为(原分辨率*缩放系数 Upscale by)。
  • 面部修复 修复画面中人物的面部,但是非写实风格的人物开启面部修复可能导致面部崩坏。
  • 放大算法中,Latent 在许多情况下效果不错,但重绘幅度小于 0.5 后就不甚理想。ESRGAN_4x、SwinR 4x 对 0.5 以下的重绘幅度有较好支持。
  • Hires step 表示在进行这一步时计算的步数。
  • CFG Scale(提示词相关性) 图像与你的提示的匹配程度。增加这个值将导致图像更接近你的提示,但它也在一定程度上降低了图像质量。可以用更多的采样步骤来抵消。过高的 CFG Scale 体现为粗犷的线条和过锐化的图像。一般开到 7~11。
  • CFG Scale 与采样器之间的关系:

  • 生成批次 每次生成图像的组数。一次运行生成图像的数量为“批次* 批次数量”。
  • 每批数量 同时生成多少个图像。增加这个值可以提高性能,但也需要更多的显存。大的 Batch Size 需要消耗巨量显存。若没有超过 12G 的显存,请保持为 1。
  • 尺寸(Width * Height) 指定图像的长宽缺省宽高为512×512,新版的建议可以试试768×768。

出图尺寸太宽时,图中可能会出现多个主体。1024 之上的尺寸可能会出现不理想的结果,推荐使用小尺寸分辨率+高清修复(Hires fix)。可用的宽高比(ratio)请参考下表。

 

  • 种子 种子决定模型在生成图片时涉及的所有随机性,它初始化了 Diffusion 算法起点的初始值。理论上,在应用完全相同参数(如 Step、CFG、Seed、prompts)的情况下,生产的图片应当完全相同。
  • 脚本 Scripts  加载用户撰写的指令稿。内置的有:
    • Prompt Matrix:会生出一个表格图片,用于比对不同提示词生图的效果
    • Prompts from files or textbox:从写好提示词的文件生成图片。
    • X/Y/Z plot:用于比对不同提示词、采样方法、CFG Scale、种子码的组合所生图的效果。

 

提示词模板:

可参考 Civitai | Stable Diffusion models优秀作品的提示词作为模板。类似的网站还有:

 

调整图片

若图片不满意,则一般通过以下几种方式来调整图片:

  • 补充提示词:在正向提示词中补充细节描述,或加重和减轻某些词汇的权重;
  • 补充反向提示词:在反向提示词中进一步补充图片中不好的效果词汇,不断减少负面效果,提高图片的品质;
  • 面部修复:当不满意人像的面部效果时,则可以勾选这个选项尝试修复;
  • 增强图片品质:当图片的效果不满意时,可以使用插件进行针对性的修复和重新生图,比如图片降噪、手部修复或分辨率增强等,都可以通过插件的方式来弥补,
  • 优化图片:在同时生成的多张图片中发现一张还不错的,想要进一步增强图片品质的话,可以尝试【图生图】的按钮,能尽可能保留一张图的要素并重新生成,可以一直生成下去,直到选中一张你喜欢的。
© 版权声明

相关文章

文章目录

    暂无评论

    暂无评论...
    退出移动版