SD文生图:如何生成高分辨率图片?
SD文生图:如何生成高分辨率图片?
在使用SD(Stable Diffusion)模型生成图片时,我们常常会遇到分辨率不足的问题。虽然可以直接调整图片的宽度和高度,但这样做往往会导致图像质量下降,甚至出现多头等异常情况。为了解决这一问题,SD模型提供了一个名为Hires. fix的功能,可以有效提升图片分辨率,同时保持图像质量。本文将详细介绍如何使用这一功能生成高分辨率图片。
SD模型类型简介
在使用SD文生图功能时,我们能选择的大致有两种模型:普通模型和SDXL模型。
普通模型:这是SD的一些旧版模型,通常是基于SD 1.5或SD 2.0开发的。这类模型是我们现阶段使用最多的,其基础分辨率为512 x 512像素。
SDXL模型:这是更新的模型版本,通常具有更高的分辨率支持。
如果我们直接修改文生图的宽度和高度,生成的效果往往并不理想。有时候还会出现多头的情况,如下图所示:
图1:直接修改分辨率导致的异常情况
这种情况出现的原因是,模型原本擅长处理512 x 512像素的图像,当我们突然将画布扩大很多时,AI在自由绘画时需要处理的像素点增多,就容易出现不合理叠加等问题。
Hires. fix功能详解
什么是Hires. fix?
Hires. fix是SD模型提供的一种图片放大功能。其工作原理是先生成一张基础分辨率的图片,然后基于这张图片的内容选择一个放大算法提升分辨率,最后在放大后的图片基础上进行整体重绘。
实例展示
让我们看一个实例:
图2:使用Hires. fix前后的对比
- 左图的分辨率为768 x 512
- 右图使用了Hires. fix功能放大了2倍
使用Hires. fix生成的图片效果不错,细节更加丰富。但需要注意的是,这个功能会大幅增加出图时间,配置不高的设备甚至会出现显存不足的情况。建议配置不高的电脑不要将图片放大得太多,最好不超过2倍。
实操步骤
接下来是具体的实操步骤:
设置提示词和参数:
(best quality, masterpiece, perfect face, beautiful and aesthetic:1.2, colorful, dynamic angle), handsome beautiful woman humanoid woman robot part metal wires with wavy short dark hair, elegant, red lighting, realistic, concept art, smooth, detailed, high quality, alphonse mucha and waterhouse,, <lora:add_detail:0.5>, (high contrast, official art, extreme detailed, highest detailed) Negative prompt: portrait, doll, (leaning against wall:1.3), (asian, chinese:1.3), (worst quality, low quality), FastNegativeV2 Steps: 20, Sampler: DPM++ 2M SDE, Schedule type: Exponential, CFG scale: 6, Seed: 2055601004, Face restoration: CodeFormer, Size: 768x512, Model hash: 07341fcad2, Model: aniverse_v30Pruned, Downcast alphas_cumprod: True, Version: v1.9.3
选择Hires. fix功能:
- 设置图片的宽高(例如768 x 512)
- 选择Hires. fix功能
- 在Upscale by中设置放大倍数(例如2倍)
- 将Denoising strength设置为0.6(这个参数控制重绘幅度)
- 点击生成按钮
Hires. fix参数详解
在Hires. fix面板中,有很多参数可以配置:
放大算法(Upscaler)
- Latent:简单直接的放大算法,速度快但效果不好
- Lanczos:通过计算权重插入新像素,速度较快,效果尚可
- Nearest:通过最近邻插值算法,速度快但可能产生锯齿
- ESRGAN_4x:通过学习映射关系提升分辨率,适合油画风格
- LDSR:通过潜在扩散模型提升分辨率,效果好但资源消耗大
- R-ESRGAN 4x+:通过残差连接和递归结构提升质量,推荐使用
- R-ESRGAN 4x+ Anime6B:专门用于二次元漫画修复
- ScuNet GAN:去除图像噪声,速度慢
- ScuNET PSNR:降噪效果好,速度慢
- SwinIR 4x:增强真实感和清晰度,速度慢
放大倍数和手动调整宽高
- 放大倍数(Upscale by):建议不要超过2倍
- 手动调整宽高:不建议使用,因为它会修改原图比例
高分迭代步数(Hires steps)
- 默认值是0,表示使用文生图设置的迭代步数
- 数值越高,精细度越高,但出图速度越慢
重绘幅度(Denoising strength)
- 这个值会影响出图效果
- 数值越大,生成的图片与原图差异越大
- 建议设置在0.5以下,但具体数值需要根据底模调整
高分模型(Checkpoint)
- 可以选择不同的模型和采样算法
- 可以在Hires. fix中添加正反向提示词
注意事项
- 在设置中开启Hires fix的高级选项
- 注意区分底模提示词和Hires. fix提示词
通过以上步骤和参数调整,我们可以生成高质量的高分辨率图片。虽然Hires. fix功能强大,但需要根据设备配置合理设置参数,以避免资源不足的问题。