主业写代码,副业做 AI
大家好,我是程序员晓晓
采样器详解及对比
在图像生成领域,采样器是一种关键的算法组件,用于从模型学习到的概率分布中生成图像。简单来说,采样器的作用是根据模型的预测,决定如何步步细化最终图像的每一个像素,从而确保生成的图像既符合用户的输入指令,又保持了视觉上的连贯性和高质量。
采样器对图像的风格、清晰度以及细节的呈现有着直接的影响。选择不同的采样器,即便在相同的模型和输入条件下,也能产生风格迥异的图像。这是因为每种采样器都有其独特的算法逻辑,影响着图像生成的路径和细节的呈现方式。因此,了解和选择合适的采样器,对于实现特定的视觉效果,优化图像质量,有着至关重要的作用。
本文将介绍常用采样器(Sampling method)特点及区别,并借助 x/y/z 脚本对比不同采样器的出图效果。
SD WebUI 采样器
在 Stable Diffusion WebUI 界面的参数调整区域,可通过下拉菜单快速切换采样器:
采样器
采样器是图像生成过程中用于从模型的概率分布中选择像素值的算法,直接影响生成图像的质量和风格。
WebUI 中支持多种采样器,每种采样器都有其独特的算法和适用场景,影响图像的生成速度、质量和风格。以下是各采样器及其特点:
• DPM++ 2M Karras: 结合了 DPM++ 技术和 Karras 提出的改进,旨在提高图像生成的质量和效率,特别是在保持细节的同时加速生成过程。
• DPM++ SDE Karras: 应用了 Karras 的方法在随机微分方程(SDE)框架下的 DPM++ 采样器,专注于提高图像的质量和生成的一致性。
• DPM++ 2M SDE Exponential: 利用指数映射的方法在 SDE 框架下进行图像生成,旨在增强图像的清晰度和细节表现,适合对图像质量要求较高的场景。
• DPM++ 2M SDE Karras: 结合了 Karras 的改进和 SDE 框架,该采样器旨在提升图像生成的速度和质量,平衡了效率与输出的精细度。
• Euler a: 是 Euler 采样器的一个变种,通过调整算法参数来优化生成过程的稳定性和图像的细节保留,适合需要更精细控制生成结果的场景。
• Euler: 基于 Euler 数值方法的采样器,提供了一个稳健的框架来逼近图像生成的连续过程,适用于各种图像生成任务,特别是在需要稳定输出的情况下。
• LMS (Least Mean Squares): 采用最小均方误差方法优化图像生成过程,旨在提高生成图像的精确度和质量,尤其适用于对图像清晰度和细节有高要求的应用。
• Heun: 使用 Heun 方法的采样器,提供了比 Euler 方法更精确的数值解,通过改进的迭代过程提高了图像生成的质量和稳定性。
• DPM2: 第二代深度概率模型采样器,通过优化算法来提高图像生成的速度和质量,适合需要快速反馈的应用场景。
• DPM2 a: 是 DPM2 采样器的改进版本,通过调整算法参数增强了图像的细节和质量,尤其适用于对输出图像有更高要求的场合。
• DPM++ 2S a: 结合了速度和质量的优化,DPM++ 2S a 采样器专注于在保持图像生成速度的同时,提升图像的细节表现和整体质量。
• DPM++ 2M: 采用 DPM++ 技术针对中等规模模型的优化,平衡了生成速度和图像质量,适合多数图像生成需求。
• DPM++ SDE: 结合随机微分方程(SDE)方法的 DPM++ 采样器,改进了图像生成的稳定性和质量,特别适用于生成复杂场景的图像。
• DPM++ 2M SDE: 在中等规模模型上应用 SDE 方法的 DPM++ 采样器,旨在提升图像质量,同时保持合理的生成速度。
• DPM++ 2M SDE Heun: 结合 Heun 方法的 2M SDE 采样器,进一步提升图像生成过程的精确度和图像的清晰度。
• DPM++ 2M SDE Heun Karras: 在 Heun 方法的基础上整合 Karras 的优化,提高了图像生成的效率和质量,特别适合细节丰富的图像生成。
• DPM++ 2M SDE Heun Exponential: 应用指数映射改进 Heun 方法,增强了图像的细节表现和整体质量,适合对图像质量要求极高的场景。
• DPM++ 3M SDE: 针对大模型应用 SDE 方法的 DPM++ 采样器,提供了卓越的图像质量和细节,适合复杂图像生成任务。
• DPM++ 3M SDE Karras: 结合了 Karras 的改进在大模型上的 SDE 采样器,进一步优化了图像的质量和生成速度。
• DPM++ 3M SDE Exponential: 在大模型上应用指数映射优化的 SDE 采样器,专注于提高图像的清晰度和细节表现。
• DPM fast: 旨在提高图像生成速度的 DPM 采样器,适合需要快速生成结果的应用。
• DPM adaptive: 自适应调整生成参数的 DPM 采样器,根据图像内容优化生成过程,提高质量和效率。
• LMS Karras: 结合了 Karras 方法的 LMS 采样器,优化了图像的细节和清晰度,适合高质量图像生成。
• DPM2 Karras: 应用 Karras 优化的 DPM2 采样器,提升了图像的生成速度和质量,平衡了细节保持和效率。
• DPM2 a Karras: 在 DPM2 基础上整合 Karras 方法的改进版本,提供更精细的图像细节和改善的生成质量。
• DPM++ 2S a Karras: 结合了速度优化和 Karras 方法的采样器,专注于快速且高质量的图像生成。
• Restart: 提供重新启动生成过程的能力,增加了生成图像的多样性和创新性。
• DDIM: 使用确定性逆向过程生成图像的采样器,以高质量和一致性为特点。
• PLMS: 针对稳定性和图像质量进行优化的采样器,提供了平滑的图像生成过程。
• UniPC: 采用独特的概率校正方法,优化生成图像的质量和一致性,适用于多种图像生成场景。
• SDE:(随机微分方程,Stochastic Differential Equations)是一类包含随机过程的微分方程,用于描述在连续时间内随机变量的动态变化。在图像生成领域,SDE 被用来模拟图像从噪声到最终图像的逐渐清晰的过程,这一过程可以被视为一系列连续的、随机的变化。
• DPM++ 技术:基于深度概率模型(Deep Probabilistic Modeling,简称 DPM)的一种改进。
• Karras:Tero Karras,一位在深度学习和图像生成技术方面有着显著贡献的研究者。在 NVIDIA 工作期间以生成对抗网络(GANs)的研究而闻名。
• Heun 方法:改进的欧拉方法或二阶龙格 - 库塔方法,是一种用于求解常微分方程(ODEs)初值问题的数值方法。它通过取平均的方式结合了欧拉方法的两个估计值(一个来自当前点,另一个来自预测的下一个点),以提高求解的准确性。Heun 方法是显式迭代法的一种,特别适用于需要比简单欧拉方法更高精度的场景。在图像生成中,使用 Heun 方法可以更准确地模拟图像从噪声到清晰图像的生成过程,从而提高生成图像的质量。
• Euler 数值方法:一种基本的数值积分方法,用于求解常微分方程(ODEs)的初值问题。该方法通过当前点的斜率来估计下一个点的值,以此逐步逼近解的过程。
采样器特点及区别
在 Stable Diffusion WebUI 中,不同的采样器对图像生成过程有着显著的影响,主要体现在图像的质量、生成速度和风格多样性上。以下是几种关键类型采样器的特点及其区别:
• Euler 和 Heun 方法:这两种都是数值积分方法。Euler 方法简单直观,适合快速生成,但可能牺牲一些图像质量。Heun 方法作为改进的欧拉方法,提供了更高的准确度,适用于追求更高质量图像的场景。
• DPM 系列(DPM2, DPM++ 等):DPM 系列采样器专注于深度概率模型的优化,提高了图像生成的效率和质量。DPM2 适用于快速生成,而 DPM++ 系列通过引入额外的技术改进(如 SDE、Heun 等),进一步提升了图像的细节和真实感。
• LMS(最小均方):LMS 采样器通过最小化生成过程中的误差,优化图像的细节保留,适合需要高质量细节表现的图像生成任务。
• DDIM:DDIM 采样器通过确定性逆向过程生成图像,保持了高质量的输出,同时提供了较快的生成速度,适合那些需要快速且高质量输出的应用场景。
• PLMS:PLMS 采样器旨在提供平滑的图像生成过程,通过改进的采样策略,它在保持图像质量的同时,增加了生成过程的稳定性和多样性。
• Karras 方法:通常指的是采用了 Tero Karras 等人提出的技术或优化的采样器,这些采样器通过特定的改进提高了图像的生成质量,尤其是在细节和一致性方面。
• UniPC:UniPC 采样器使用概率校正技术,优化了图像生成过程中的随机性处理,提高了生成图像的一致性和质量。
采样器的选择依赖于特定的需求,如生成速度、图像质量或特定风格的偏好。例如当需要快速出图看模型效果时,可选择 Euler 和 Heun 方法类型采样器,而当需要精细出图时,可选择 DPM++ 等采样器。
采样器效果对比
利用 X/Y/Z plot 脚本可以很方便地对比不同采样器之间的出图效果差异。
参数设置区域的 Script 选择 X/Y/Z plot,X type 选择 Sampler,点击 value 输入框右侧的图标全选采样器。
全选采样器
正向提示词:
masterpiece,best quality,1girl,devil pupils,frown,grey hair,side ponytail,hair stick,puffy lips,brooch,arms behind back,(Knit_cardigan:1.4),(Skinny_jeans:1.3),(Ankle_boots:1.2),(Beachside_boardwalk_background:1.4),
负向提示词:
(worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), bad anatomy,DeepNegative, skin spots, acnes, skin blemishes,(fat:1.2),facing away, looking away,tilted head, lowres,bad anatomy,bad hands, missing fingers,extra digit, fewer digits,bad feet,poorly drawn hands,poorly drawn face,mutation,deformed,extra fingers,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,missing arms,missing legs,extra digit, extra arms, extra leg, extra foot,teethcroppe,signature, watermark, username,blurry,cropped,jpeg artifacts,text,error,
其它参数配置:
其它参数配置
点击 Generate 出图:
可看到不同采样器之间的出图效果差异。
写在最后
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。