『SD』文生图基础讲解

点赞 + 关注 + 收藏 = 学会了

本文简介

我曾自信满满地以为,既然使用 ChatGPT 那么易如反掌,掌握其他 AI 工具肯定也是小菜一碟。直到打开 Stable Diffusion 的 WebUI 界面,吓得我立刻关掉。

Stable Diffusion WebUI(简称 SD WebUI)的界面默认是英文的,而且参数设置多得让人眼花缭乱。相比起只有一个输入框的 ChatGPT,这种复杂的界面很容易让人望而却步,尤其是像我这样意志力薄弱的人。

不过,多年切图的我有个习惯,就是喜欢把界面拆解来看。我知道 SD 可以用来生成图片,而且这么复杂的界面肯定不是每个参数都要填写的。那么,怎样才能快速生成一张图片呢?

我的推测是有一个"生成"按钮,让我可以快速生成一张图片。但要生成什么内容,肯定还要有一个输入框。再看看 SD WebUI 界面,很容易就找到这两部分内容。

本文将以初学者的角度,逐步讲解 SD 的文生图功能,让你轻松上手 SD 的文生图。

在此之前,你需要先安装好 SD WebUI。

文生图基础功能讲解?

什么是文生图?

文生图就是文生图,字面意思。就是将文本提示词的内容转换成图片。

小学写的作文经常出现"看图写作",现在使用 SD 就是先写作,然后让 AI 去画图。反过来了~

在 SD WebUI 中,txt2img 就是文生图的功能面板。

提示词(正向和反向)

txt2img 下方有2个输入框:

  • Prompt 是输入正向提示词的地方。第一个输入框。
  • Negative prompt 是输入反向提示词的地方。第二个输入框。

正向提示词 Prompt 里输入的内容是要生成的内容,比如你想生成一张女生照片,可以输入 girl,然后点击右侧浅橙色的 Generate 按钮,等待几秒钟就生成一张女生照片。

而反向提示词 Negative prompt 就是告诉 SD 生成图形时尽量避免的内容,比如可以使用 worst qualitylow quality 等提示词避免生成低质量的图像。

注意,提示词和提示词之间需要用逗号分隔。

选择模型

可以在下图中红框的两个区域选择模型。

我通常会在下方的 Checkpoints 选择模型,因为在这里可以查看配置好的预览图。

当你的模型数量越来越多,光靠模型名字是记不住这个模型能干嘛的。有预览图的话会比较直观。

可以到这几个网站下载模型:

其中,哩布哩布不需要使用魔法就能访问,它是国内的平台。

将下载好的大模型放在 sd.webui\webui\models\Stable-diffusion 这个目录下即可。

如果要配置模型封面,可以在模型下载的网页把别人做好的图下载下来,并且将图片命名成模型的名字。SD WebUI 会根据名字匹配封面图。

比如我这里有2个模型,分配给它们配置封面图。

采样器、调度器、迭代步数

继续往下看,可以见到Sampling method(采样器)、Schedule type(调度器)和 Sampling steps(迭代步数)。

在之前的版本中,采样器和调度器是放在一起的。在 SD WebUI 的 1.9版本将其分开了。

关于采样器和调度器,在现阶段不用深究。后面我会单独开一篇文章讲解。此时只需简单的理解,不同的采样器就是不同的算法。

现阶段我们要关注的是迭代步数 Sampling steps,这个参数会影响生成图片的质量。

迭代步数越小,生成的图片质量就越差。

我分别用 2, 4, 8, 16, 32, 64 这几个迭代步数生成一组图片作对比。提示词是 girl

可以看到,迭代步数为2时,图片基本就没法看了。迭代步数越高,生成的图片就越精细,可以放大看看每张图片的发丝和衣服的细节。

但迭代步数并不是越大越好,这个值是有边际效应的,当数值超过一定程度后,生成图片的差距就会减少,但绘图耗时却大大增加。

看看下面这组图,从照片的精细程度看,很难说出30和50有多大差距。但迭代不是是30时,生成的图片用时9.6秒;迭代步数50时耗时14.9秒。

设置宽高

下图的参数很好理解,就是设置图片的宽高。

右侧的切换按钮就是将宽高的数值进行对调。

高分辨率修复

V1.5的模型的训练精度是 512 * 512 像素,新的 SDXL 模型也只是 1024 * 1024 像素的精度,如果直接将宽高设置得比较大,生成出来的图片很容易出现多头多手等怪异问题。

SD 提供了 Hires. fix 功能,可以高清放大图片。具体的使用方法我在 《『SD』文生图-如何生成高分辨率图片?》 里有讲解。

Refiner 精炼器

Refiner 精炼器的作用是可以允许你用2个模型生成一张图片。

例如,我的主模型选择了A,那么在 Refiner 选择另一个B模型,并且 Switch at 设置了 0.8,意思就是前80%使用A模型绘图,剩下的20%使用B模型绘图。

生成的总批次数和单批数量

在设置宽高的选项旁边有 Batch count(总批次数) 和 Batch size(单批数量)选项。

举个例子,我把 Batch count(总批次数) 和 Batch size(单批数量)都设置成4。

  • Batch count(总批次数):每次生成一张图片,总共执行4次。这项的功能是要重复执行多少次任务的意思,耗时比较长,以时间换空间。而且它每次生成出来的图片都是很随机的。等于你点了4次生成按钮。
  • Batch size(单批数量):一次生成4张图片。这项的功能是将提示词以及其他参数都放在同一个潜空间去运行,通过一次任务生成多张图片,这样会占用更多的显存和计算资源,属于空间换时间。能生成风格一致的图片。但对于电脑性能较差的工友来说,这项的数值默认使用1即可。

提示词相关性

CFG Scale 这项用于设置生成图像与输入提示词的相关信息,数值越大,生成的图像就越符合提示词的意思。但如果数值太大的话会出现锐化效果。这个值越小,对 SD 的约束程度就越低,AI就有更大的自由发挥空间。默认值是7,这是一个比较平衡的数值。

简单来说,这项是设置 SD 的服从性。具体要设置什么数值需要根据你使用的模型以及要生成的效果去调整。

种子数

Seed 值就是种子数,默认是 -1 ,也就是每次生成图片会随机分配一个 seed 数。

种子数这项设置很重要,即使使用相同的提示词和参数,但种子数不一样,生成的图像也不一样。

如果提示词和所有参数都一样,种子数也一样,那么生成的图像也会一模一样。

Seed 输入框旁边有几个按钮,骰子的意思是将种子数设置回 -1,也就是随机数。

绿色回收icon的那个按钮会将上一次生成图像的种子数填入 Seed 输入框里。点击该按钮后,在不改变模型、提示词以及其他参数,再次生成生成图片时,会得到一张与上一次任务非常接近的图。

开启 Extra 后,界面会额外多出一些选项。

  • Variation seed 变异随机种子
  • Variation strength 变异强度
  • Resize seed from width 从宽度中调整种子
  • Resize seed from height 从高度中调整种子

我们可以将 Seep 种子数 和 Variation seed 变异随机种子配合使用。

比如你生成了2张图,分别是A图和B图。

你用A图的种子数作为基础种子数 Seep,用B图的种子数作为 变异随机种子 Variation seed,并将变异强度 Variation strength 的值设为0.2。此时再生成一张图片就会以8:2的比例结合A图和B图去生成新图。


关于 SD WebUI 文生图的基础功能讲解就到这了。其实使用 Stable Diffusion WebUI 已经是很简单了,还有一个界面看上去更复杂的 ComfyUI。这个留在之后的文章中讲解。

点赞 + 关注 + 收藏 = 学会了

相关推荐
埃菲尔铁塔_CV算法23 分钟前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法
EasyCVR23 分钟前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
打羽毛球吗️30 分钟前
机器学习中的两种主要思路:数据驱动与模型驱动
人工智能·机器学习
好喜欢吃红柚子1 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python1 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
正义的彬彬侠1 小时前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
Debroon1 小时前
RuleAlign 规则对齐框架:将医生的诊断规则形式化并注入模型,无需额外人工标注的自动对齐方法
人工智能
羊小猪~~1 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
AI小杨1 小时前
【车道线检测】一、传统车道线检测:基于霍夫变换的车道线检测史诗级详细教程
人工智能·opencv·计算机视觉·霍夫变换·车道线检测