在 Stable Diffusion 模型中,采样方法是从学习到的概率分布中生成图像的算法。采样方法影响生成图像的质量、样式、速度以及过程的控制程度。以下是一些采样方法的概述和它们对图像生成可能产生的影响:
DPM++系列
DPM++ 2M / 3M: 这些是扩展的扩散概率模型,其中数字表示模型使用的标记步数(例如2M表示200万步)。步数越多,通常生成的图像细节和质量越高,但需要更长的计算时间。 DPM++ SDE: 指扩展的扩散概率模型结合了随机微分方程(SDE),提供了不同的扩散和逆扩散路径,可能带来更自然的图像生成过程。 DPM++ SDE Karras / DPM++ 2M SDE Karras: 这些方法可能结合了由 Timo Aila 和 Samuli Laine 提出的扩展模型,以及随机微分方程和 Karras 等人提出的优化策略,以提高图像质量和生成速度。 DPM++ SDE Exponential: 可能应用了指数积分策略在 SDE 中,影响扩散过程,可能导致生成图像的平滑程度和细节有所不同。DDIM
DDIM (Denoising Diffusion Implicit Models): 这是一种更快的采样方法,能够在更少的迭代次数下生成图像,通常会产生较为确定性的结果,适合需要快速反馈的场景。PLMS
PLMS (Pseudo Likelihood Markov Sampler): 这种方法通过改进的马尔可夫链来逼近模型的概率分布,可能会生成更加多样且高质量的图像。Euler 和 Heun
Eulera / Euler / Heun: 这些都是数值积分方法,用于求解随机微分方程,影响图像的生成过程和最终质量。Euler 方法更简单,而 Heun 提供了更好的近似,可能会产生更高质量的图像。DPM系列
DPM fast / DPM adaptive: 这些方法可能是对传统的扩散概率模型的优化,"fast" 和 "adaptive" 表示采样过程中采取了加速技巧或自适应调整步骤大小,以加快生成速度或提高图像质量。 DPM2 / DPM2 Karras: "DPM2" 可能表示第二代扩散概率模型,而 "Karras" 表示应用了 Karras 的优化策略。这可能提高了图像生成的效率和质量。UniPC
UniPC: 这可能是一种唯一的采样策略,具体细节可能需要参考文献或实现代码,但其目的通常是优化生成过程,提高图像质量或生成速度。不同的采样方法适用于不同的场景,具体取决于用户对生成图像的质量、速度和控制程度的需求。以下是一些通用指导原则,帮助选择适合特定场景的采样方法: