手把手教你制作AI头像

根据需要对图片进行裁剪。调整Sampling method(采样器)为DPM++ 2s a。它在每一步之后将生成的图像与文本提示符要求的图像进行比较。生成图像可能出现噪点等不良效果。二次元图像、小场景。可以快速生成高质量图像。可以生成高质量的图像。并生成更精确的图像及其细节。增加这一点直接增加了生成图像所需的时间。

 

看过自己照片AI化吗?那如何将自己的照片A呢?这个中间都有哪些步骤呢?让我一起通过本文,揭秘通过Stable Diffusion AI化照片AI的整个过程。

 

准备工作

要完成照片AI化,首先得有Stable Diffusion环境,这个网上有很多搭建的方案。如果没有的话,也可以直接看,我之前的文章,快速搭建一个自己的Stable Diffusion环境

之后还需要完成以下三步模型准备工作:

1. 基础模型(dreamshaper_8.safetensors),放到models/Stable Diffusion目录下

2. lora微调模型(blindbox_v1_mix.safetensors),放到models/Lora目录下

3. ControlNet模型(control_canny.pth),放到models/ControlNet

可通过点击上述文件,直接点击到百度云上下载。

照片裁剪及高清化(可选)

这里先以晚上的照片作为练习照片,以下是从百度找的一张照片。

根据需要对图片进行裁剪,一般可以用如下网站进行裁剪:

https://www.birme.net/

比如裁剪为512,512的头像

如果图片比较模糊,可以将图片高清化,高清化的链接可以用如下地址,一天免费10次:

https://imglarger.com/

经过高清化后,产生更清晰的照片:

 

填入Prompt及负向词

Prompt词:

(masterpiece),(bestquality),(ultra-detailed), 
1girl, solo, (beautifuldetailedface),((( chibi))), (((cute))),
brown hair, black eyes,  jewelry earrings, long hair,
bare shoulders,read dress, 
 looking at viewer, simple background, upper body, <lora:blindbox_v1_mix:1>

 

(杰作),(最佳质量),(超详细),
1girl, 独奏, (美丽详细的脸),(((chibi))), (((可爱))),
棕色头发,黑色眼睛,珠宝耳环,长发,
裸肩,阅读连衣裙,

看着观众,简单的背景,上半身

 

负向词:

realistic,  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))), ng_deepnegative_v1_75t, badhandv4, 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,bad feet,Wrong multiplayer structure,Confusing human body structure,Unclear human body, 

 

逼真、NSFW、(最差质量:2)、(低质量:2)、(正常质量:2)、低分辨率、正常质量、((单色))、((灰度))、皮肤斑点、痤疮、皮肤瑕疵、老年斑,(丑陋:1.331),(重复:1.331),(病态:1.21),(残缺:1.21),(变性:1.331),突变的手,(画得不好的手:1.5),模糊,(不良解剖结构: 1.21), (比例不良:1.331), 额外肢体, (毁容:1.331), (缺少手臂:1.331), (额外腿部:1.331), (融合手指:1.61051), (手指太多:1.61051), (不清楚眼睛:1.331),降低,坏手,缺失手指,额外的手指,坏手,缺失手指,(((额外的手臂和腿))),ng_deepnegative_v1_75t,badhandv4,低分辨率,坏解剖学,坏手,文本,错误,缺失手指,多余的数字,数字少,裁剪,最差质量,低质量,正常质量,jpeg伪影,签名,水印,用户名,模糊,脚不好,错误的多人结构,混乱的人体结构,不清楚的人体,

 

在选择模型后,将Prompt词及负向词填入,并上传上面处理好的图片

如果这个时候直接执行,则会产生一个差距很大的图片,因为那个Lora模型是盲盒模型,所以产生的就是盲盒人物。

 

对生成参数做调整

调整Sampling method(采样器)为DPM++ 2s a,调整Sampling Steps(采样步数)为35,调整Denoising strength(重绘幅度)为0.1

 

以下是具体参数说明,可以重新回顾下:

Sampling method(采样器):我们知道Stable Diffusion是一种基于扩散模型实现生成画像,它的过程是将以一张满是噪点的图为基准,一点一点地向目标(prompt)“扩散”靠近。这就是扩散采样器工作的地方。简单地说,这些采样器是一种算法,它在每一步之后将生成的图像与文本提示符要求的图像进行比较,然后对噪声添加一些更改,直到逐渐达到与文本描述相匹配的图像。

常见的采样器及其特性见下:

1. Euler a:富有创造力,是一种基于时间步长大小的可调控制参数,适当的迭代步长值能够捕捉到细节和纹理,但如果值太大会导致过度拟合,生成图像可能出现噪点等不良效果。适合场景:二次元图像、小场景

2. DDIM: 收敛快,可以快速生成高质量图像,但需要配合较高的迭代步数去使用,随着步数增加可以叠加细节。适合场景:写实人像、复杂场景

3. DPM++2S a Karras:可以生成高质量的图像,随着迭代步数增加,画像细节会逐步增加与完善,相比其它采样器,可以在小分辨率画像中,容纳更多的细节。适合场景:写实人像、复杂场景

4. DPM++ 2M Karras:是一种二阶扩展概率模型求解的算法,可以在速度与质量之间进行平衡,并生成更精确的图像及其细节。适合场景:二次元图像、三次元图像

5. DPM++ KDE Karras: 也是一种二阶扩展概率模型求解的算法,随着迭代步数的增加,整体出图细节会跟着进行变化。适合场景:写实人像、复杂场景

Sampling Steps(采样步数):扩散模型的工作方式是从随机高斯噪声向符合提示的图像迈出小步。这样的步骤应该有多少个。更多的步骤意味着从噪声到图像的更小、更精确的步骤。增加这一点直接增加了生成图像所需的时间。回报递减,取决于采样器。一般建议值在20-30,根据不同的采样器,需要进行调整

CFG Scale(无分类指导规模):控制图像与提示词之间的契合度,这个值越高,生成的图像也越接近你的提示词,但它也在一定程度上降低了图像质量,可以用更多的采样步数来抵消。过高的 CFG Scale 体现为粗犷的线条和过锐化的图像。一般建议在7-15。

Batch count:每次生成图像的组数。一次运行生成图像的数量为 Batch count * Batch size。

Batch size:同时生成多少个图像。增加这个值可以提高性能,但你也需要更多的 VRAM。图像总数是这个值乘以批次数。除 4090 等高级显卡以外通常保持为 1。

Width:图像的宽度,像素。要增加这个值,你需要更多的显存。大尺度的图像一致性会随着分辨率的提高而变差(模型是在 512x512 的基础上训练的)。这个值必须是 8 的倍数。一般建议不超过基础模型的训练图集宽度,否则容易出现图崩。

Height:图像高度。同上,一般建议不超过基础模型的训练图集高度,否则容易出现图崩。

Denoising strength(重绘幅度):仅在 img2img(图生图)或 高清修复 时被应用,其表征最后生成图片对原始输入图像内容的变化程度。通过调整该值,可以降低对画风的影响,但也会弱化 img2img 能力。值越高 AI 对原图的参考程度就越低 (同时增加迭代次数)。对于图生图来说,低 denoising 意味着修正原图,高 denoising 就和原图就没有大的相关性了。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些。实际执行中,具体的执行步骤为 Denoising strength * Sampling Steps。

Seed:随机数的起点。保持这个值不变,可以多次生成相同(或几乎相同,如果启用了 xformers)的图像。没有什么种子天生就比其他的好,但如果你只是稍微改变你的输入参数,以前产生好结果的种子很可能仍然会产生好结果。

在完成参数调整后,点击生成后,图片已经很接近照片了

 

通过ControlNet进行重绘

其中Prepocessor和Model都选择Canny的,之后再进行图片生成,就变为如下图片了。看,图片又更加接近原始照了。

 

回顾整个优化流程

 

4
2