Stable Diffusion 进阶与ComfyUI的高级图像生成
在基础篇中,我们介绍了 Stable Diffusion 的基本使用方法。本进阶篇将深入探讨 Stable Diffusion XL (SDXL) 的高级功能,并通过 ComfyUI 工具来演示如何构建和优化使用 SDXL 的 workflow。
模型概览
Stable Diffusion XL 是基于 Stable Diffusion v1.5 版本的升级,它具备以下显著优势:
- 生成更高质量的图像
- 图像细节更加丰富
- 更好地理解复杂的 prompt
- 支持更大尺寸的图像生成
与 SD v1.5 相比,SDXL 的最大变化在于它采用了两阶段的图像创建过程:基础模型和细化模型。这种设计使得 SDXL 在图像细节上得到显著提升。
SDXL 的 Workflow 构建
使用 ComfyUI 构建 SDXL 的工作流程不仅仅是替换模型文件那么简单,它涉及到对 workflow 的重新设计,以适应两阶段图像生成的需要。
下载模型
首先,你需要下载以下两个模型文件并存放到 ComfyUI 的 models/checkpoints
文件夹内:
推荐下载含有 0.9 vae
的模型版本,它包含了优化的 vae 模型,可以提供更好的效果。
构建 Workflow
替换 KSampler: 在 ComfyUI 中,将默认的 KSampler 替换为 KSampler Advanced,以适配 SDXL 的两个模型。需要添加两个 KSampler 节点,并将它们串联起来。
配置 Checkpoint: 添加两个 Checkpoint 节点,第一个设置为 base 模型,第二个设置为 refiner 模型。这样能确保图像从基础构图到细节加工的无缝衔接。
连接 CLIP Text Encode: 为了简化操作,可以使用单一的输入框来控制两个 KSampler 的 prompt 输入。通过配置 Primitive STRING 和转换 text widget,可以将 prompt 输入统一管理。
调整 KSampler 参数: 为了统一管理并简化 workflow,将 KSampler 的关键参数如 steps、scheduler 等设置为可通过界面直接调整的 widgets。这样可以方便地在运行时调整这些参数,而无需进入节点内部。
优化图像质量: 最后,调整 Empty Latent Image 节点的分辨率至 1024x1024,确保生成的图像具有最佳质量。
效果对比
通过比较同一 prompt 下,仅使用 base 与同时使用 base 和 refiner 的效果,可以明显看到后者在自然性和细节上的提升。