AI绘图:使用Stable Diffusion WebUI绘制第一幅AI图

2023年11月1日 2770点热度 0人点赞 0条评论

前言

image-20231101213355074

这篇博文会从一个初学者的角度来记录一次使用Stable Diffusion WebUI的过程,并且只是记录一次使用txt2imag 的使用过程。

PS:这里并不会讲如何安装Stable Diffusion WebUI。

模型选择

我使用的模型是Majicmix-Realistic,这是一个主打写实画风的模型,下载好模型并放入WebUi的stable-diffusion-webui\models\Stable-diffusion 相对路径下即可。

image-20231101205609415

点击刷新按钮可以重新读取本地的模型列表,之后使用下拉按钮选择要使用的模型。

绘图方式

image-20231101210146634

Stable Diffusion WebUI 中提供了两种绘图方式,这里我选择的是txt2img,即使用文字描述生成图片。

img2img为使用图片生成图片。

提示词

image-20231101210443242

提示词分为Prompt(正面提示)和Negative prompt(负面提示)。

Prompt用于描述你希望画面中出现的内容。

Negative用于描述你想禁止出现在画面中的内容。

初学者不知道怎么编写提示词,可以到C站 找一些别人分享的提示词,我这里复制了一个美少女的脸部特写的提示词。

Prompt:

tia, best quality, masterpiece, illustration, (realistic, photo-realistic:1.37), amazing, finely detail, incredibly absurdres, huge filesize, ultra-detailed, highres, extremely detailed CG unity 8k wallpaper, ray tracing, nsfw, 1girl, huge breasts, A cute Korean high school girl with long blonde hair and a silver hair clip. She wears a white shirt stretched open at the front due to her large bust, along with an open blue sweater jacket. She has a blue bow tie around her collar. She wears a very short, tight black skirt showing off her thighs. White over-the-knee socks pulled tight on her legs and black boots. A small white pouch bag hangs at her waist. She sits in the classroom smiling, full of youthful energy.

Negative prompt :

blurry, text overlay, trademark, brand, copyright, signature, watermark, artist name, artist logo, logo parody, username, markings, jpeg artifacts, abs, muscular, tattoo, paintings, sketches, (worst quality, low quality, normal quality:1.5), lowres, monochrome, grayscale, skin spots, acnes, skin blemishes, age spot, strabismus, mosaic censoring, bar censor, censored, convenient censoring, ng_deepnegative_v1_75t, badhandv4, easynegative,

这些提示词,这些提示词使用Majicmix-Realistic 和Stable Diffusion WebUI中的默认设置,点击Generate 就可以生成提示词描述中的图片,大概就是金发,韩国女孩,大胸,制服。这是我生成的图片。

img

由于使用的模型很优秀,所以即使使用默认的参数也能生成很棒的图片,但是这个图片分辨率只有512 x 512,这会导致图片中没有很多的细节,并且由于使用了默认的参数设置,角色的手臂看起来似乎也有点问题,所以这都是后面需要通过参数修改要解决的问题。

image-20231101213355074

这是通过参数修改后最终得到的图片。

Seed - 种子

image-20231101213901671

Seed 对AI绘图非常重要,它虽然对图片生成的质量没有影响,但是他是生成图像的起始潜在图像。如果你想重复生成一张图(微调细节)的关键,并且也是生成不同图像的关键。

默认值为 -1,表示随机。种子旁边有两个按钮。一个骰子按钮和一个回收按钮。

骰子按钮的意思是:使用随机种子,并将其值设置为-1。

回收按钮的意思是:重用我们刚刚生成的图像的种子,并将前一个图像的种子放入输入框中。

你也可以手动输入种子。

Sampling Method 采样方法

image-20231101215210474

这是 Stable Diffusion AI 用来将噪声从潜在图像中剔除的算法,默认提供了很多的算法,目前我只使用过比较常用的两种,Euler a和 DPM++ 2M Karras.

Euler a的速度非常快,这会影响你生成图片的速度,当然它生成的质量也很不错,但是它生成的图片会显得比较空洞,缺少一些细节。

DPM++ 2M Karras 相比与Euler a它回升更多的图片细节,相对的它的速度会比Euler a 的速度慢很多。

在使用的时候建议使用Euler a调节提示词和其他参数,这样可以快速的生成图像,在真正成片的时候,再使用DPM++ 2M Karras。

Sampling Steps: 采样步骤

image-20231101215232412

这是AI绘制图片迭代的步骤数量,这里需要注意到的关键是,步骤越多并不意味着越好,如果你把步数调到 150 步,你最终可能会在你的图像中出现很多额外的“噪音”,因为 AI 在 40步 之后就想出了如何绘制你的图像,但现在 AI 必须继续再走 110 步,所以它编造了随机的东西,试图让它与你的提示保持一致。

此外这跟采样算法也有关系,像是Euler a大多数时候只需要20步就可以生成质量相当不错的图片,但是DPM++ 2M Karras基本上要用到40步才行。

建议设置为20~50,一般超过了50步就不会有太大的正向作用,有点时候还会使得图片的质量变差。

Restore Faces 面部修复

面部修复专门用于修复人脸,有的时候图片由于分辨率太小,或者由于模型的原因。会导致图片中人物的脸变形或者产生裂痕或者其他奇怪现象,这个选项会在图片生成后单独对面部进行修复。

Tiling

不知道干嘛用的。。。

Hires. fix 超分辨率修复

这个用于提升图片的分辨率,并对图片进行修复,可以理解一个比简单的超分辨率AI更高级一点的工具,一般使用这个选项来生成更大分辨率的图片。

相比于面部修复,更推荐使用Hires.fix来修复面部奇怪的问题,因为如果你是想生成一个特定的人的图片,那么面部修复可能会让角色的脸变得很奇怪。

image-20231101220513125

选择Hires.fix 之后会弹出一些选项

  1. Upscaler 超分辨率使用的工具
  2. Upscale by 分辨率上升的倍数
  3. Hires steps
  4. Denoising strength 降噪强度

Upscaler

可以选择默认提供的几种工具,也可以选择下载其他的工具(我暂时还没有试过)。我一般都是使用第一个Latent。

Hires steps

这与采样步骤非常相似。创建基础图像后,Upscaler将根据你在Hires steps中选择的步骤数来放大的图像。如果将此值保留为 0,那么将使用与你的采样步骤相同的步骤数量。因此,如果你的采样步骤为 20,并且你的 Hires 步骤设置为 0,则你将获得 20 个 Hires 步骤,总共 40 个图像步骤。

Denoising strength

当Upscaler处理你的图像时,允许更改总图像的百分比作为放大的“成本”。这个“成本”就是降噪强度。降噪强度为 0 意味着不允许Upscaler更改任何内容,这意味着你将无法获得任何额外的质量。降噪强度为 1 意味着升频器可以改变一切,你的结果将与您预期的截然不同。

建议将降噪强度设置到0.3~0.5之间,是一个比较好的区间。

Upscale by

这是分辨率放大倍数,假如你的基础分辨率设置为512x512,Upscale by设置为2,那么你最终得到的图片分辨率为1024x1024。

PS:这个值可以为小数。

这里建议根据显卡配置来设置分辨率,比如我的3060ti一般使用的是512x512(正方形)、512x768(纵向)、768x512(横向),在这个分辨率生成图像速度还是勉勉强强。然后开启Hires.fix之后倍数设置为2就非常慢了,通畅生成一张图片需要1分钟。

CFG Scale

CFG Scale 是你希望你的提示描述在AI绘画中的权重。如果你将 CFG 比例设置为 30,你基本上是在用枪指着 AI 的头,迫使它只使用提示中提供的标签。如果你将 CFG 比例设置为 0,你就是在告诉 AI,你的提示甚至无关紧要,AI 可以做任何它想做的事。

Batch count / Batch size

这个两个参数对图像的生成的质量没有任何影响。

Batch count 指需要生成多少轮图片,Batch size指每轮要生成多少张图片。

Batch size 的设置取决于你的硬件条件,如果你的GPU有足够大的显存,那么你可以设置一轮生成很多张图片。

Clip skip

AI在解析提示词的时候,会分层进行解析,如果你将这个值设置为2,那么就是告诉AI跳过最后一层。这个默认值为2。

这个选项需要在Setting ->Show all pages 选项卡中找到。

生成参数

这是我的生成参数

image-20231101223029063

生成的结果:

image-20231101213355074

如何复制C站上的图片的生成参数?

C站上展示的图片,很多都给出了提示词以及参数,点击复制按钮,可以复制参数。

image-20231101223454147

注意是这个小按钮。

然后粘贴到Prompt 输入框中,然后点击这个小按钮,会将所有的参数都应道到输入框中。

image-20231101223606417

需要注意的是,有的提示词中使用了Loar(使用<>包裹的提示词)如果你本地没有这些Loar,那么生成的图片可能跟别人的图片会有很大的不一样,Loar也可以在C站下载。

Upscale和 Sampling Method 也可能找不到对应的,这里就需要手动选择一个,否则生成图片时控制台会报出错误,并且无法生成。

大脸猫

这个人虽然很勤快,但什么也没有留下!

文章评论