无码高清?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放大能真实的还原图片原本信息,不做修改,而且处理时间很短,但也意味着会放大图片本身存在的下次。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679195.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二进制安装Prometheus

从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就 能用,不需要编译 1、下载软件 [rootlocalhost ~]# wget -c https://github.com/prometheus/prometheus/releases/download/v2.45.5/prometheus…

容器中运行ping提示bash: ping: command not found【笔记】

容器中运行ping提示bash: ping: command not found 原因是容器中没有安装ping命令 在容器中安装ping命令,可以使用以下命令: 对于基于Debian/Ubuntu的容器,使用以下命令: apt-get update apt-get install -y iputils-ping对于基…

Latex中标注通讯作者

** 直接使用脚注,不用添加宏包 多个同地址的并列,建议加点空格,好看一些 ** \title{xxxxxxxxxxxxxxxxxxx}\author{xxxxxxxxxxxxxxxxxxx\footnote{Corresponding author} ,bbbbbbbbbbbbbbbbbbb}\address{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx…

2022 hnust 湖科大 javaweb课设 数据库课设 报告+源代码+流程图文件+课设指导书+附赠数据库课堂实验指导书

2022 hnust 湖科大 javaweb课设 数据库课设 报告源代码流程图文件课设指导书附赠数据库课堂实验指导书 描述 湖南科技大学大二下学期先后开展java web和数据库课程设计,两个课设项目可以通用,老师一般会允许自拟选题,所以在此统一打包&…

今日增长工具精选 | 三款你不知道但很实用的运营工具

PartnerShare作为一款分销裂变系统,受到国内多数工具类saas企业的青睐,旗下还有产品分享社区,介绍多种实用的工具,林叔从它那里获得灵感,新开了增长工具集合分享!希望能帮助更多saas企业增长。 一、Charac…

lua vm 一: attempt to yield across a C-call boundary 的原因分析

使用 lua 的时候有时候会遇到这样的报错:“attempt to yield across a C-call boundary”。 1. 网络上的解释 可以在网上找到一些关于这个问题的解释。 1.1 解释一 这个 issue:一个关于 yield across a C-call boundary 的问题,云风的解释是…

ctfshow解题,知识点学习

1.easy_zip(misc) 1)打开环境后是一个压缩包,解压里面有个flag.txt文件需要密码, 2)直接用工具爆破,即可找到密码 2.easy_eval 1)进入题目环境,先进行代码审计 首先说是…

【前端技术】 ES6 介绍及常用语法说明

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

个人网站建设方案书

个人网站建设方案书 一、项目背景 随着互联网的迅猛发展,个人网站已经成为展示个人能力、情感表达的重要平台。无论是个人品牌推广,还是个人作品展示,个人网站都能够为个人提供一个独特的展示空间。因此,建设一个个人网站已经成为…

【AIGC】PULID:对比对齐的ID定制化技术

论文链接:https://arxiv.org/pdf/2404.16022 github:https://github.com/ToTheBeginning/PuLID comfyui节点:GitHub - cubiq/PuLID_ComfyUI: PuLID native implementation for ComfyUI 论文亮点 增加了对比对齐loss和ID loss,最大限度减少…

MoE 大模型的前世今生

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

【TB作品】MSP430G2553单片机读取DS18B20温度传感器,OLED显示

功能 MSP430G2553单片机读取DS18B20 0.96寸 IIC 四针OLED 部分程序 uint temp_value 0; /* 温度 */ int main(void) {unsigned char xianshi[10];WDTCTL WDTPW WDTHOLD; /* Stop WDT */OLED_Init(); /* OLED初始化 *///显示汉字 温度:摄氏度OLED_ShowCHinese(…

Socket编程学习笔记之TCP与UDP

Socket: Socket是什么呢? 是一套用于不同主机间通讯的API,是应用层与TCP/IP协议族通信的中间软件抽象层。 是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面&#…

npm install 出错,‘proxy‘ config is set properly. See: ‘npm help config‘

背景 从远程clone下项目之后,使用命令 npm install 安装依赖,报错如下 意为: 报错: npm犯错!network与网络连通性有关的问题。 npm犯错!网络在大多数情况下,你背后的代理或有坏的网络设置。 npm犯错!网络 npm犯错…

C++基础与深度解析 | 类进阶 | 运算符重载 | 类的继承 | 虚函数

文章目录 一、运算符重载二、类的继承1.类的继承2.虚函数 一、运算符重载 在C中,operator关键字用于重载运算符,使得类的实例可以使用内置的操作符(如、-、*、/等)进行操作。 运算符重载的特性: 重载不能发明新的运算…

Fast-Retry:一个支持百万级多任务异步重试框架【送源码】

前言 假设你的系统里有100万个用户,然后你要轮询重试的获取每个用户的身份信息, 如果你还在使用SpringRetry和GuavaRetry 之类的这种单任务的同步重试框架,那你可能到猴年马月也处理不完,即使加再多的机器和线程也是杯水车薪,而F…

6.4 cf E(题目难理解)

Problem - E - Codeforces 翻译: 小车在0点,时间为0时开始移动,从0,a1,a2......ak有k1个标志点,对应的时间为0,b1,b2...bk 在任意两个标志间,小车以匀速行驶,所以 vai1​−ai​​…

SpringBoot 统一返回格式

目录 一、为什么要统一返回? 二、全局异常处理代码 三、统一返回对象代码 四、使用方法 五、结果展示 一、为什么要统一返回? 在Spring Boot应用中,为了保持API接口的响应格式统一,通常会采用全局异常处理和自定义返回对象的方…

Sd-CDA (自退化对比域适应框架):解决工业故障诊断中数据不平衡问题

现代工业故障诊断任务常常面临分布差异和双不平衡的双重挑战。现有的域适应方法很少关注普遍存在的双不平衡问题,导致域适应性能差或甚至产生负面迁移。在这项工作中,提出了一种自降级对比域适应(SdCDA)诊断框架,用于处…

如何实现单例模式及不同实现方法分析-设计模式

这是 一道面试常考题:(经常会在面试中让手写一下) 什么是单例模式 【问什么是单例模式时,不要答非所问,给出单例模式有两种类型之类的回答,要围绕单例模式的定义去展开。】 单例模式是指在内存中只会创建…