AI绘画教程

发布于 15 天前 50 次阅读 预计阅读时间: 16 分钟


Prompt与参数设置

提示词之间用英文的逗号隔开,可以去提示词商店里选。

提示词权重

可以给某个提示词加英文的圆括号(),每加一层表示权重增加1.1倍。方括号[]为减少至0.9倍。

也可以用数字权重,比如(flower:1.5) 表示直接定义权重为flower这个提示词的权重为1.5。

就经验之谈,一般给一个提示词的权重要控制在0.5-1.5的范围内,如果过高或过低会导致画面扭曲,那如果1.5倍还没有达到想要的效果,应该增加同类型提示词。

提示词模版

正向提示词通用模版:

SFW, (masterpiece:1.2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2),

负向提示词通用模版:

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 fingers:1.61051), (unclear eyes:1.331), lowers, bad hands, missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs))),

以上适用于插画风格,其他的酌情修改。

采样迭代步数

一般情况下25-30步是最优的,我习惯设置成28步。对于2M及以下的模型,超过40步提升不大还浪费显存计算。

但对于例如3M等模型,这种模型每一步迭代都更加精细,因此可能要60步才能出完整画面。不需要额外记住,一般使用这种模型的时候作者会在注意事项里写建议迭代步数等参数配置的。

采样方法

采样方法为AI生成图片时采用的某种算法,SD提供了非常多的算法,但实际用的多的也就四五种,其中Eular 和Eular a这两个适合插画风格,出图比较朴素,DPM 2M出图比较快,SDE细节会比较丰富。当然这些并不绝对准确,但建议是用那几个带+号的,因为这些都是改进过的新算法,应当比前面的都稳定。

另外,当你去下载某个模型时,作者可能会在注意事项里面写推荐某个算法,这可能是作者亲自测试过的,那么就按照作者说的做就行了。

宽度&高度

即分辨率。如果分辨率很低的话出图的内容细节不会很丰富。但如果分辨率过高,一是容易爆显存,二是图片可能会出现多人。这是因为AI训练时看的图片一般都是低分辨率的,这时你用高分辨生成图片,AI会认为你的出图是多个图片拼接起来的。

提示词权重(CFG scale)

即AI对你输入提示词的忠实程度,一般在7-12之间浮动。

生成批次&每批数量

生成批次就是十连抽,因为同样的提示词生成的图也是不同的,可以生成多张然后选最好的一张。每批数量能让每批次生成的数量增多,但它的方法是把所有的图拼在一起看成一个分辨率更高的图。

因此建议生成批次调为6,每批数量调为1.

图生图

重绘幅度

改变原图的幅度,如果想还原度高(比如真人照片改成漫画风那种效果),建议0.6-0.8。

图生图的分辨率

建议调成和原图一样的大小,但如果原图过大,则可以按比例缩小。如果你就是想生成某个尺寸的图片,那建议先把上传的原图裁剪成该尺寸。

随机种子

默认值为-1,即每次都生成随机的图。而在生成一张图后,可以在图库浏览器里看那副图的种子,只要把这个种子号填到随机种子里,就能最大幅度的保证下次生成的图片和该种子图的一致。

常用于只对部分区域不满意的情况。例如只不满意背景,那就可以用相同的种子,再将背景的提示词修改,再次生成即可保证人物不大幅度改变。

SD模型

要什么风格就选什么样的模型,和炼丹一样,一个只喂了真人图片的模型是永远生成不了漫画风格的图片的。

因此,想要复现别人跑的图,只有模型+提示词+参数全部相同时才能做到。

SD模型在整合包里面又叫checkpoint,保存路径在sd-webui-aki-v4.10\models\Stable-diffusion这个目录下面。一般SD模型的后缀为ckpt或者safetensor。这种大小为几GB的模型称之为大模型。在SD模型下载网站下载后放到上述路径目录就可以加载该模型了。秋叶的启动器里,在模型管理那块可以直接下载模型。

VAE

VAE能直观的影响出图的色彩质感,目前比较新的模型都把VAE整合进模型里了,此时VAE选择无就可以。没有整合进模型的作者也一般会说明建议选择哪个VAE模型。

当一个模型没有整合VAE,且没有说明用哪个VAE时,推荐使用kl-f8-anime这个选项,普遍适用于大多数模型。

VAE文件同样可以从网上下载下来,后缀一般是pt,也有用safetensor做后缀的。VAE文件的保存地址同样在model文件夹下的VAE目录。

模型下载

大模型(checkpoint)只是SD模型中的一种,还有用于画面微调的hypernetwork,优化画风的embedding,固定任务特征的LoRa。

上面说的几个模型,都可以从C站和抱脸网站找到,建议是以C站为主,如果找不到再去抱脸网站找。

模型风格区分

大体来讲,SD模型可以分为三大类:二次元风格,真实系,2.5D模型。以下是搜索这三种画风可以用到的关键词,这些关键词也可以作为提示词用来加强出图的效果。

二次元:

illustration, painting, sketch, drawing, painting, comic, anime, catoon

真实系:

photography, photo, realistic, photorealistic, RAW photo

2.5D:

3D, render, chibi, digital art, concept art, {realistic}

提高AI绘画分辨率的三个方法

高分辨率修复(Hires fix)

高分辨率修复,相当于把初次生的图进行图生图,能放大多少还是取决于你的显存,如果你的显卡不支持跑很高分辨率的图,不要使用这种方法。

放大算法:即打回重绘的时候用到的算法,根据大佬们的经验,如果修真实系的,用R-ESRGAN 4x+,如果修二次元的,用R-ESRGAN 4x+ Anime6B。当然,也有作者会在分享模型的时候说明用哪个放大算法更好。

高分迭代步数,相当于AI绘画里的迭代步数。

重绘幅度,即改变原图的幅度,如果不想和原图差别过大,最好不要超过0.5.

SD upscale

也被翻译为SD放大,原理是将图裁成四份,每一块重新绘制,并在四份的接口处留一定的像素作为缓冲带,防止重新拼起来的时候有割裂感。

在生成好图片后,使用图生图,然后在最下面脚本选项处选择SD scale。放大倍数按需选择,重叠像素默认64。然后选择了多少像素,就在宽高分别加上这个值,例如原图是512×512的,这里就要改成576×576.

如果放大的效果不好,可以选择将重绘幅度调低一点,并且将重叠像素调高(例如128)。这个方法的自由度比高分辨率修复大,也不是很吃显存,即使是放大4倍,也就是重绘16个区域的事。

后期处理

这种方法就是简单粗暴的人工智能放大,将成品发送到后期处理,这种方法的重绘幅度=0,过程就是给图片加了锐化,和市场上那种修复照片是一样的原理。

总结

在显存够用的情况下,我的建议是先经过高分辨率修复放大两倍,然后在后期处理这里再放大两倍。

高级进阶模型(Embedding,hypernetwork,LoRa)

对于AI绘画来说,checkpoint相当于一个总领,你可以随意的和checkpoint描述你的提示词,他就会根据训练的内容绘画。但如果想要固定的修改某方面,比如人物特征,就需要更高级的模型。

embeddings(文本嵌入模型)

在C站里,这种模型被翻译为Textual Inversion。embeddings的大小通常只有几十kb,它能精确的指向某个词的含义,从而建议更高效的索引。

embeddings可以指向某一种特定的形象,C站上就有很多训练某个具体角色的embeddings文件。下载下来放到models文件夹同级的embeddings文件夹内。embedding模型不需要调用,只需要在写正向提示词的时候特定的“咒语”就可以了。

例如,在C站上下载的D.VA的embedding模型中,作者说明了该embedding模型的特定咒语是“corneo_DVA”,那么,你只需要在正向提示词里加上这个词,AI就会稳定画出DVA这个人物。为了效果更好,还是需要额外描述DVA的人物特征。在这里有个小技巧,那就是在生成图片之前,先在图生图那里导入一张DVA的图片,然后点击“生成”按钮下方的DeepBooru反向推导提示词,然后选择需要的提示词,放在接下来的文生图提示词中。

(更新,现在最新的反向推导提示词叫做WD1.4标签器,也集合在秋叶的启动包中)

现在想要更完美的复现角色特征都用LoRa了,不过embeddings对做更加广泛的作品(比如同人作品)还是很适用的。

LoRa(低秩适应模型)

LoRa和embeddings类似,但LoRa会告诉你一个特征准确,主体清晰的形象。LoRa的大小一般在几十到几百MB之间。

LoRa的放置位置是models文件夹内的LoRa文件夹,你需要记住下载的Lora文件的名字,然后在正向提示词里调用它。例如,下载了一个辉夜姬的LoRa模型,名称为Kaguya Pony.safetensors,那么你需要在正向提示词中加上<lora:Kaguya Pony>,这样,就完成LoRa模型的调用了。当然,LoRa的作者可能也会附加一些提示词,额外加入这些提示词会使生成的图片更接近需要的角色特征。

因为LoRa训练时使用的图源影响,生成的图片风格可能不太符合你的checkpoint模型,这时候就要降低LoRa的权重,0.5-08是比较好的。写法为<lora:Kaguya Pony:0.8>

hypernetwork(超网络模型)

hypernetwork主要是对画风的把控,和checkpoint那种二次元和真实系的画风区别不同,这里的画风区别像是莫奈和梵高之间的细微差别。在C站上,有很多像素风、Q版的hypernetwork模型可以使用。

hypernetwork的使用方法:将模型文件放在models文件夹里的hypernetwork文件夹内,使用时要在设置里的“附加功能”选项中选中对应的超网络模型到提示词中

局部重绘

局部重绘适用于只对图片一小部分不满意的情况,只会修改涂抹的部分而其他部分保持不变。

局部重绘功能在图生图板块内。

操作:用画笔涂抹想要修改的部分,如有必要修改/添加提示词

参数介绍:

重绘幅度:同上节,在局部重绘时,建议调到0.7-0.8。

蒙版边缘模糊度:和第二种放大方法一样,为涂抹部分边缘处的模糊像素大小,起缓冲作用,建议不超过10。如果蒙版过大可以选8-10,蒙版很小可以选2-4。

蒙版区域内容处理:即你涂抹的部分给AI看什么,原图就是原图部分(让AI有个参考),填充就是把涂抹部分变成空白,使AI有更多发挥空间,剩下两个选项涉及到更复杂的算法。可以四个都试试,选最好的。

重绘区域:全图即把整张图都重绘一遍,然后只把蒙版部分重新拼接回去。仅蒙版部分即只重绘蒙版部分,由于看不到图的全貌,所以这种效果不会很好。配置够的情况下建议默认全图。

此作者没有提供个人介绍
最后更新于 2025-01-03