大家好,我是程序员晓晓
在使用AI绘画工具Stable Diffusion 进行绘图的时候,我们经常会碰到这类的问题,主要表现在
(1)大量抽签后抽到了一张自己满意的图片,但是图片局部的地方还有些瑕疵,图片整体满意度只能达到95%。
(2)大量抽签后好不容易抽到了一张自己非常满意的图片,想要获得多张类似的效果的图片,重新生成的话,由于SD默认每次生成的图片都是随机的,可能新生成的图片画面元素又不是我们想要的。
对于上面的2种场景,其实都是一类问题:我们希望对生成的图片进行局部微调,有瑕疵的修复照片上面的瑕疵,最终生成多张我们希望的效果图片。
对于SD生成的图片有瑕疵,当然使用传统的PS方式也可以很好地修复,但是既然是使用AI绘画工具,我们还是希望能找到对应的解决办法。
对于这一类的问题,我个人认为并没有一种方法可以适应所有的场景,今天先给大家介绍一种常见的方法:固定随机数种子。当然其他的方法,后面我会慢慢写。
一. 随机数种子(Seed)
随机数种子它相当于图片的DNA,决定了画面的内容。
通常情况下,我们无需指定随机数种子,即使用默认值-1。这样随机数种子就会随机生成,从而使每次生成的图片都各不相同。
从底层原理上,随机数种子是图像扩散前的噪声图,每一个种子数代表不同的噪声图。Stable Diffusion 的精髓在于它能够对图像进行“去噪”,使其看起来像我们熟知的事物。
如果使用相同的去噪方法、相同的提示、分辨率等设置,同时固定相同的随机数,就会产生相同的“去噪”过程,从而始终生成相同的图像。
在SD Web UI界面,随机数的参数设置(默认值为-1,表示随机生成)
二. SD中有哪些参数会影响随机数种子
在 Stable Diffusion 中,以下参数设置会影响随机数种子
1. 采样方法(Sampling Method):不同的采样方法可能会对随机数种子的效果产生影响。例如,常见的采样方法如 Euler、Euler a 等,它们在处理随机数生成和图像生成的过程中有所差异。
2. 采样步数(Sampling Steps):采样步数的多少会改变生成过程中的迭代次数,进而影响随机数种子发挥作用的方式和最终生成的图像效果。
3. 提示词(Prompt):提示词的具体内容和描述的精确程度会影响模型对随机数种子的解读和应用。
4. 模型版本和训练数据:不同版本的 Stable Diffusion 模型以及它们所基于的训练数据的差异,可能导致相同的随机数种子产生不同的结果。
5. 控制参数(Control Parameters):如果使用了如 ControlNet 等控制参数,它们也会与随机数种子相互作用,影响生成图像的特征和风格。
6. 图像尺寸(Image Size):图像的大小设定会影响生成过程中的计算和随机数的分布,从而对随机数种子的效果产生影响。
7. 随机数种子本身的数值:不同的数值自然会导致完全不同的随机生成结果。
总之,在 Stable Diffusion 中,多个参数之间相互作用,共同决定了随机数种子对生成图像的最终影响。需要通过不断的试验和调整,才能找到最符合需求的参数组合。
三. 使用随机数种子实现图片微调测试
随机数种子提供了创作的随机性及最大限度的还原性,通常我们生成图片时将随机数种子设置为-1,在多次抽签生成一张我们满意的图片时,我们可以将随机数种子设置为当前生成的图片的随机数种子,后续生成的图片都会参考这个种子进行生成。这样我们巧妙地使用固定种子随机数,可以在生成“相同”图像的基础上,提高图片质量或微调画面内容。
下面我们来对比测试验证一下效果。
公共参数设置
- 大模型:majicMIX realistic 麦橘写实_v7.safetensors
模型下载请看下方扫描免费获取哦
- VAE模型:vae-ft-mse-840000-ema-pruned.safetensors
正向提示词:1 super beautiful girl,solo,standing in the classroom,
反向提示词:(NSFW:1.3),teeth,(cleavage),(worst quality:1.65),(low quality:1.2),(normal quality:1.2),low resolution,watermark,dark spots,blemishes,dull eyes,wrong teeth,red teeth,bad tooth,Multiple people,broken eyelashes,(badhandv4-AnimeIllustDiffusion_badhandv4:1.2),(EasyNegative:1.2),
-
采样方法:DPM++ 2M Karras
-
采样迭代步数:30
-
提示词相关性(CFG Scale): 7
-
图片宽高:512*768
-
开启After Detailer插件,模型选择face_yolov8n和hand_yolov8n.pt
我们抽签选择一张图片。
随机数种子为:1179886945。
我们可以在SD Web UI界面随机数种子那一栏点击下图红框中的小图标,可以获取已生成图片的随机数种子值设置为当前图片的随机数种子值
我们现在固定随机数种子,随机调整一个影响随机数种子的参数来看看生成图片的效果变化。
(1)调整提示词
在正向提示词中添加人物表情的关键词。
从上面可以看到,固定随机数种子,适当添加提示词,整体图片风格主体元素几乎并没有太多的变化,除了美女表情。
(2)调整采样方法
从上面可以看到,调整采样方法,对图片的主体元素影响还是比较大的,可见采样方法对随机数的影响还是非常大的。
(3)采样迭代步数
从上面可以看到,固定随机数种子,调整采样迭代步数,对图片的整体影响效果非常小,这个比较好好理解,因为采样迭代步数40步渲染出的图片是在原30步基础上进一步渲染而已,风格主题元素基本定型,效果并不是很明显,当然这个是建立在采样迭代步数在一定合理的范围内。
(4)调整图片的宽高
从上面可以看到,固定随机数种子,调整图片宽高设置,对图片的主体元素影响还是比较大的,可见图片宽高设置对随机数的影响还是非常大的。
从上面的几组对比可以看出,如果是微调图片,最好的方式是添加提示词,或者是调整采样迭代步数。当然,这里列举的例子还不太全面,感兴趣的小伙伴可以多种风格的图片再尝试一下,这里主要是提供思路和大家一起讨论一下。
另外,图片微调也存在随机性,因此这种处理的方式是不是对图片微调有明显的效果还不一定,大家在实际使用时还是建议多尝试,多比较,多体会。
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
