在之前的文章中,我们知道了如何通过Web UI和Confy UI两种SD工具来进行图片生成,今天进一步地讲解其中的参数用处及如何调节。
文生图
参数详解
所谓文生图,就是通过文字描述我们想要图片包含的内容。初学的话,还是以Web UI为例来看看,在整个过程中,涉及到了哪些参数,以及我们可以做哪些事情来调整最后的效果。
我们先来看看上面标记的5个位置:
1、Stable Diffusion模型:这是生成图片的基石,目前该模型也有很多版本,比如SD1.0、SD1.5、SD2.0、SDXL、SD3.0、SD3.5等,可以根据我们自己的需要选择。不过目前基本不会用最原始的版本,而是使用在该模型上经过微调后的模型,图中的anything-v5模型就是在SD1.5原始模型上微调过。
2、外挂VAE模型:可以将原始图片空间映射到低维空间,减少显存占用率。使用VAE模型,可以让生成的图像颜色更鲜艳、细节更锐利,在一定程度上改善局部细节的生成质量。目前很多大模型已经自带VAE了,不需要我们手动选择,除非作者在模型发布页面着重提到需要外挂的VAE模型。
3、文生图:这是核心功能区域,可以看到其后面还有各种各样的功能模块,比如图生图、后期处理等,我们需要用到哪一部分,就点击该选项即可。
4、正向提示词:用来描述我们想要生成的图像呈现的效果,提示词框下面是已经内置的一些提示词,方便我们快速设置。
5、负向提示词:用来描述我们不想要图像呈现的效果,和正向提示词一样,也有一些内置的提示词。
然后再看看剩下标记的10个位置(均处于生成选项栏,其余的后续会介绍):
1、采样方法:决定如何从噪声图像估计无噪声的图像,直接影响生成图像的速度、质量及风格,目前内置了数十种采样方法,需要依据我们想要实现的效果进行选择。
2、调度类型:控制扩散模型中去噪的时间步和噪声的分布,和采样方法共同决定了最后呈现的图像效果。
3、迭代步数:步数越少,生成速度越快,但是细节可能不足,步数越多,细节更丰富,但是计算量更大。
4、高分辨率修复:默认不开启,开启后会在文生图之后,先对生成的图像放大相应的倍数,然后对放大后的图像重绘以添加更多的细节。
5、Refiner:默认不开启,开启后会在文生图之后,借助refiner模型提升分辨率,进一步优化和改进生成的图像质量。
6、宽度和高度:控制最后生成的图像大小。
7、总批次数:控制同参数下进行文生图的批次数。
8、单批数量:控制同参数下单批次生成的图像数目。
9、提示词引导系数:控制我们的正向、负向提示词对于图像的影响程度,数值越大越会限制模型的创意。
10、随机数种子:决定了生成图像时的随机性,默认为-1,表示每次生成图像都是随机状态,也可以直接填写一个数值,那么后续生成图像时都会参考这个种子,以便最大限度地保证结果一致。
了解了基本功能后,我们再着重讲讲模型选择、提示词书写、采样方法与调度类型的选择这三个方面,其他设置大家可以多尝试一下。
如何选择模型
目前大家用的比较多的模型可以分为三类:
- 二次元类模型:Anything V5、Counterfeit V2.5、Dreamlike Diffusion。
- 真实性模型:Deliberate、Realistic Vision、LOFI。
- 2.5D模型:Never Ending Dream、Protogen、国风3。
假如我们的正向提示词为:a girl, cute,负向提示词不写,生成的选项如下所示:
分别采用Anything V5、Deliberate、国风3模型得到的效果如下。
如何书写提示词
模型选择好之后,我们再来看看如何书写好的提示词(参考了B站Nenly同学教学),在实际使用中,可以将其分为两大类:
- 内容型提示词
- 标准化提示词
所谓内容型提示词,就是指我们想要呈现的画面内容,可以从四个角度书写:
- 人物及主体特征:服饰穿搭(white dress)、发型发色(long hair)、五官特点(small eyes)、面部表情(smilling)、肢体动作(stretchinig arms)。
- 场景特征:室内室外(indoor、outdoor)、大场景(forest、city、street)、小细节(tree、bush、white flower)。
- 环境光照:白天黑夜(day、night)、特定时段(morning、sunset)、光环境(sunlight、bright)、天空(blue sky)。
- 画幅视角:距离(close-up)、人物比例(full body、upper body)、观察视角(from above)、镜头类型(wide angle)。
而标准化提示词,则可从两个角度书写: - 画质提示词:通用高画质(best quality、masterpiece、8k)、特定高分辨率类型(unreel engine rendered)。
- 画风提示词:插画风(illustration、painting)、二次元(anime、comic)、写实系(realistic)。
另外提示词还有一些特殊的写法:
- 权重分配
- 括号加数字: ( w h i t e f l o w e r : 1.5 ) (white flower:1.5) (whiteflower:1.5)代表权重调整为以前的1.5倍。
- 套括号
- 圆括号:每套一层,权重调整为之前的1.1倍, ( ( ( w h i t e f l o w e r ) ) ) (((white flower))) (((whiteflower)))为以前的1.331倍。
- 大括号:每套一层,权重调整为之前的1.05倍, w h i t e f l o w e r {{{white flower}}} whiteflower为以前的1.15倍。
- 方括号:每套一层,权重调整为之前的0.9倍, [ [ [ w h i t e f l o w e r ] ] ] [[[white flower]]] [[[whiteflower]]]为以前的0.729倍。
- 混合:混合两个描述同一对象的提示词要素, w h i t e ∣ y e l l o w f l o w e r white | yellow flower white∣yellowflower生成黄白相混合的花。
- 迁移:连续生成具有多个不同特征的对象, [ w h i t e ∣ r e d ∣ y e l l o w ] f l o w e r [white|red|yellow] flower [white∣red∣yellow]flower先生成白花,再生成红花,最后生成黄花。
- 迭代:与采样过程关联,一定阶段以后再生成特定对象, ( w h i t e f l o w e r : b u s h : 0.8 ) (white flower:bush:0.8) (whiteflower:bush:0.8)进程达到80%以前生成黄色的花,之后再生成灌木。
如何选择采样方法和调度类型
除了模型和提示词之外,采样方法和调度类型也极大地影响了生成图像的质量,SD提供了多种采样器,不同采样器生成图像的细节、风格和速度各有特点。以下是常见的采样器及其特点:
当我们选择采样方法的时候,可以先依据下面的技巧:
- 快速测试:选择 DDIM 或 Euler,可以快速生成图像,便于调整参数。
- 写实风格图像:选择 LMS 或 DPM++ 2M Karras,能生成细节丰富、清晰的图像。
- 艺术风格图像:选择 Euler a 或 PLMS,可以生成带有艺术风格的多样化图像。
- 高分辨率图像:选择 DPM++ 系列 或 UniPC,可以更好地处理细节和边缘。
同样地,不同的调度类型也有自己的特点,下面是几种常见的调度器对比:
当我们选择调度器的时候,也可以先依据下面的技巧:
- 高分辨率图像生成:选择 Karras 调度器,能更好地优化细节。
- 快速生成任务:选择 Linear 调度器,简单高效。
- 平滑细腻图像:选择 Cosine 调度器,能提升艺术风格图像的质量。
不过大多数情况下,我们将调度类型设置为Automatic即可。
图生图
上面已经介绍完了文生图,我们再看看图生图,实际上它俩最大的区别有两个地方:
- 图生图需要事先上传一个图片,作为后续生成的参照。
- 除了提示词引导系数外,还有个重绘幅度,用于控制参照图片的影响程度。
我们使用Anything V5模型,正向提示词和之前保持不变,仍然是a girl, cute,生成选项也与之前保持不变,上传一张照片:
然后点击生成,可以看到与原图相比,保留的元素不多,更多是模型自由发挥:
但如果我们把重绘幅度调到0.5,生成出来的图则保持了原图更多的元素:
总结
本篇文章介绍了SD中文生图和图生图的基本用法,相信阅读后大家对于SD都有个基本的了解,剩下的就是多去实操,在这个去中心化时代,每个人都可以成为不可忽略的重要节点。