无码高清?Stable DIffusion教程 | 如何利用 Stable Diffusion webui 将图片变得更清晰?全方位对比4种放大方法!

大家好,我是大师兄

1、引言

"高分放大"(有时候也叫"超分放大"或"高清修复")描述了在确保图像清晰度的前提下提升图片分辨率的过程。例如,将一张512 x 512的图片放大四倍,得到的就是2048 x 2048分辨率的图片,这个过程不仅放大了图片尺寸,也丰富了图像细节以保持图像清晰度。

在SD webui中,直接生成一张2048 x 2048分辨率的图片由于模型底层机制的限制而变得极其困难。这主要有以下3个原因:

1、显存限制: 与512 x 512相比,2048 x 2048的像素点数量增长16倍,生成图片所需的内存也随之增长16倍。基本上,运行SD webui会占用约3G的显存,处理512 x 512分辨率的图像,显存使用将增加约1G。因此,若要直接生成2048x2048的图片,需要约20G的显存,而当前主流显卡通常只配备8G甚至4G的内存,无法支撑生成高分辨率图片。

2、时间限制: 随着显存使用的增加,生成时间也会以指数级别增长,达到正常时间的16倍!

3、模型限制: 用于训练模型的图片分辨率最高为768 x 768,直接生成过高分辨率的图片可能会导致模型产生重复元素的图片,如重复的人物或头部等。

因此,若想获取一张高分辨率的图片,通常需要进行以下步骤:

1、生成一张低分辨率的图片,例如512 x 512、768 x 512、或512 x 768。

2、然后选择合适的方法放大图片。

下面正式开始介绍本期的内容。

2、插件下载和安装

想要使用高分放大功能,需要借助一些插件的帮助。如果你打算按照这个教程进行操作,那么我建议你安装以下插件。每种插件都提供了三种安装方法,请根据需要自行选择。

1、Ultimate SD Upscale 插件安装

Ultimate SD upscale(终极SD放大) 与 SD webui 内置的放大插件类似,只是 Ultimate SD Upscale 插件提供了更多高级选项。

安装该插件的方法有以下3种。

其中第1种和第2种需要魔法,第3种国内网络即可完成

1)通过SD webui 内部安装

① 打开SD webui,点击 extensions(插件),点击 install from URL(从网址安装)

② 在第一行框内输入:https://github.com/Coyote-A/ultimate-upscale-for-automatic1111 (注意需要科学上网)

③ 点击 install(安装)

④ 等待安装完成,然后重启SD webui

⑤ 如果安装成功,你可以在 img2img 标签页的 script(脚本)框的下拉菜单中找到该插件。

2)手动安装

① 下载 Ultimate SD upscale 原文件,下载地址有以下两个,选择其中一个下载:

从 github 下载:https://github.com/Coyote-A/ultimate-upscale-for-automatic1111/archive/refs/heads/master.zip

(如无法下载,请看文末扫描获取)

② 解压文件,并将 ultimate-upscale-for-automatic1111 文件夹转移到 stable-diffusion-webui\extensions 路径下

③ 重启 SD webui,如果安装成功,你可以在 img2img 标签页的 script(脚本)框的下拉菜单中找到该插件。

2、ControlNet 插件安装及模型下载

ControlNet 是 SD webui 中功能非常强大的插件,提供了许多控制图片生成效果的方法。在这个教程中我将利用 ControlNet 对图片进行高分放大。

sd webui 的插件安装基本都是异曲同工的,安装步骤完全相同,因此下面的安装方法将不再配图。

手动安装

① 下载 ControlNet 原文件,下载地址有以下两个,选择其中一个下载:

从 github 下载:https://github.com/Mikubill/sd-webui-controlnet/archive/refs/heads/main.zip (如无法下载,请看文末扫描获取)

② 解压文件,并将 sd-webui-controlnet 文件夹转移到 stable-diffusion-webui\extensions 路径下

③ 重启 SD webui,如果安装成功,你可以在 txt2img 标签页中找到该插件。

ControlNet 模型下载:

不同于其他插件,ControlNet 的运作还需要下载它独有的模型。

① 打开ControlNet 模型下载地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main (如无法获取请看文末扫描获取)

② 此网址包含了所有可下载的 ControlNet模型,你可以下载所有 .pth 结尾的文件,但这个教程只会使用到其中的 tile 模型,该模型下载链接:https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1e_sd15_tile.pth,你也可以只下载这个模型,后续有需要再下载其它模型。

③ 将下载的模型放在 stable-diffusion-webui\extensions\sd-webui-controlnet\models 目录下

④ 重启 SD webui,如果安装成功,你应该可以在如下位置找到 tile 模型

生成输入图片

图片的生成参数如下:

模型:ChilloutMix

模型下载链接:

https://huggingface.co/swl-models/chilloutmix/resolve/main/Chilloutmix-non-ema-fp16.safetensors

(如无法下载请看文末扫描获取)

下载的模型移动到 stable-diffusion-webui\models\Stable-diffusion 路径下。

图片生成参数:

Prompt(正向提示词):raw photo, high quality, 1 girl, young, (detailed clear eyes:1.2), radiant skin, white dress, pink short hair, swept bangs, (collorbone:1.1), slim, perfect nose, (pink lip:1.1), highly detailed, flowering land as background, expansive view, upper body, sunlight, side light, (cinematic lighting:1.1), bright color, dramatic, fantasy, stunningly beautiful,8k, uhd,
Negative prompt(反向提示词):nsfw, naked, asymmetric eyes,out of frame, abnormal face, ugly, deformed, distorted, (easynegative:1.2), low contrast, (Pale skin:1.2),open mouth

其它参数:

Sampling method(采样方法):DMP++ 2M Karras

Sampling steps(采样步数):20

Size(尺寸):768 x 512

CFG scale(CFG值):7

Seed(种子):4263532296

Clip skip:2

获得如下图片:

下面的示例都将以此图作为输入进行测试。

高分放大方法

1、Hires. Fix

这个高清修复的方法我简单概述一下这个方法的优缺点:

缺点: 这种方法对显存的占用较高,处理时间较长,且会放大生成的每一张图片。然而,有些图片可能并无需放大,因此这种方法的效率偏低,不是特别推荐使用。(以我的4G显存为例,是无法运行的,高显存请随意)

优点: 有独有的放大算法

接下来,我们将深入探讨另外三种高清修复的方法。

2、AI Upscaler(AI放大法)

AI放大法是 SD webui 中非常基础的一种高分放大方法,操作最简单。这种方法需要使用到AI 放大模型,在 SD webui 中已经内置了几种AI放大模型,如 4xESRGAN、R-ESRGAN 4x+ 和 Lanczos 等等。

更多AI放大模型可以从这个网址下载:https://upscale.wiki/wiki/Model_Database

将下载的模型放在 stable-diffusion-webui/models/ESRGAN 路径下即可。

下面介绍操作步骤。

① 进入 SD webui,点击 Extra(后期处理)标签页

② 拖拽或者上传一张照片到图片框内

③ 改变 Scale by 下的 Resize(调整大小)可以调整放大倍率,默认4倍即可。Scale to 可以放大图片到指定大小

④ 在 Upscaler 1(放大算法1)的下拉菜单中选择 4xESRGAN 4x+,Upscaler 2(放大算法2)选择 4x_CountryRoads_377000_G(这个模型需要自行安装),Upscaler 2 visibility(放大算法2能见度)设置为0.5。由于这张图片的人脸正常,其它设置保持默认

⑤ 点击 Generate(生成),生成图片如下

先来对比一下脸部细节

完全保留了原图的该有的样子,而且清晰度提升非常显著,保留了人脸皮肤的质感。但是会产生一些不太自然的现象,比如眼睛部分,瞳孔模糊,眼角异常。

再来看看其他衣服细节:

可以看出,使用AI放大法对图片进行高分放大后的效果是相当不错的,能够完全保留原图信息,而不做更改。

总结一下AI放大的优缺点

优点: 处理时间非常短,占用内存少,不改变原图的内容

缺点: 有较为明显的人工痕迹,且无法处理瑕疵

使用技巧:

1、多试几个放大算法,选择最合适的

2、如果内置的放大算法不能满足你的要求,那么可以下载新的放大算法。

3、Ultimate SD Upscale(终极SD放大法)

在使用AI放大法的时候,可以观察到,放大后的结果是完全忠于输入的图像的,也就是说当你觉得生成的图片已经足够完美了,你不想有任何一点点改动,那么AI放大法是一个很好的高分放大法。

但是如果生成的图片不是那么完美,你希望在放大的时候对其稍微改善,那么终极SD放大法会是一种很不错的方法。

操作步骤:

① 在 txt2img 标签页,点击send to img2img。如果是存在本地的图片,那么先上传到 PNG info 界面,然后再点击 send to img2img。

② 设置 Denoising strength(重绘幅度)为0.25。此值需要根据实际情况选择数值。如果不想让图片有过多的变化,可以使用0.1-0.2的重绘幅度。重绘幅度越大,图片的变化越大,但不能超过0.5。其它保持默认设置,设置好后的界面如下

③ 在 script(脚本)框内选择 Ultimate SD Upscale,其它设置按照下图方式设置

④ 保持 tile width 为512,tile height 为0,此设置会使图片按512x512的大小分别处理

⑤ 点击 Generate(生成),生成图片如下

先来看看脸部细节

效果还是相当不错的,会去除一些瑕疵,比如人脸上的痣,瞳孔也更正常。不过磨皮效果有点过强了,同时眼角还是有点泛白。

再来看一下衣服细节:

总的来说 Ultimate SD Upscale 插件的效果非常不错。在处理复杂图片信息时,终极SD放大法的效果会更为突出

总结一下优缺点

优点: 能够简单处理瑕疵,与SD放大法相比能够添加更多的细节。

缺点: 处理时间相比AI放大法更长,对瑕疵的处理程度还不够强

4、ControlNet tile upscale(瓦片放大法)

这种高分放大方法为进阶方法,需要 ControlNet 和 Ultimate SD Upscale 两种插件的共同参与。

瓦片放大法具有两个比较突出的优点:1、能给原始图片添加更多的细节;2、显存占用低,因此可以绘制分辨率更高的图。

具体的操作步骤如下:

① 在 txt2img 标签页,点击send to img2img。如果是存在本地的图片,那么先上传到 PNG info 界面,然后再点击 send to img2img。

设置 Sampling steps(迭代步数)为20,如果要添加更多细节,可以适当增加迭代步数

设置 Denoising strength(重绘幅度)为0.4,值越大图片的变化越大,反之亦然

打开 ControlNet 界面,将待处理图片上传上去

② 勾选上 Enable(启用),显存小的显卡勾选 Low VRAM(低显存模式),勾选Pixel perfect(完美像素模式)

③ Preprocessor(预处理器)选择 tile_resample(分块重采样)

④ Model(模型)选择 control_v11f1e_sd15_tile,设置好后的界面如下:

⑤ Script(脚本)选择 Ultimate SD upscale,其它设置如下

⑥ 点击 Generate(生成)

先来看看脸部细节对比

只能说效果相当炸裂!注意下眼皮的纹理,瞳孔的纹理,嘴唇的褶皱,细节完全拉满!

再看一下衣服细节

总结一下优缺点

优点: 给图片添加更多细节,是三种方法中效果最好的

缺点: 处理时间更长,是三种方法中最长的

5、总结

下面综合对比以上三种方法生成的效果

人脸部分:

衣服部分:

以下是我对三种方法的个人打分,相对直观的反应了3种高分放大方法的使用体验。

总的来说,无论是使用 Ultimate SD upscale 还是 ControlNet + Ultimate SD upscale 进行放大,其处理时间都会远远大于AI放大法,相应的效果也会更好。而普通的SD放大能真实的还原图片原本信息,不做修改,而且处理时间很短,但也意味着会放大图片本身存在的下次。

具体应该选择哪种方法,就需要根据个人情况自行选择了。

好啦,本期的内容到这里就结束了!

相关推荐
矢量赛奇18 分钟前
比ChatGPT更酷的AI工具
人工智能·ai·ai写作·视频
KuaFuAI26 分钟前
微软推出的AI无代码编程微应用平台GitHub Spark和国产AI原生无代码工具CodeFlying比到底咋样?
人工智能·github·aigc·ai编程·codeflying·github spark·自然语言开发软件
Make_magic36 分钟前
Git学习教程(更新中)
大数据·人工智能·git·elasticsearch·计算机视觉
shelly聊AI40 分钟前
语音识别原理:AI 是如何听懂人类声音的
人工智能·语音识别
源于花海43 分钟前
论文学习(四) | 基于数据驱动的锂离子电池健康状态估计和剩余使用寿命预测
论文阅读·人工智能·学习·论文笔记
雷龙发展:Leah43 分钟前
离线语音识别自定义功能怎么用?
人工智能·音频·语音识别·信号处理·模块测试
4v1d1 小时前
边缘计算的学习
人工智能·学习·边缘计算
风之馨技术录1 小时前
智谱AI清影升级:引领AI视频进入音效新时代
人工智能·音视频
sniper_fandc1 小时前
深度学习基础—Seq2Seq模型
人工智能·深度学习
goomind1 小时前
深度学习模型评价指标介绍
人工智能·python·深度学习·计算机视觉