AI 绘画 | Stable Diffusion 高清修复、细节优化

前言

在 Stable Diffusion 想要生成高清分辨率的图片。在文生图的功能里,需要设置更大的宽度和高度。在图生图的功能里,需要设置更大的重绘尺寸或者重绘尺寸。但是设置完更大的图像分辨率,需要更大显存,1024*1024的至少要电脑的空余显存在8G以上。如显存不够,就会爆显存生图失败。即使显卡的显存够用,更大的分辨率的生成的时间也会越久。这里我们就需要高清修复的功能了,这个功能能大大降低生成高清图对显存的要求。

  • 目前主要有三种方式,分别是高清修复(Hi-Res.Fix)、SD放大(SD Upscale)、附加功能放大。
    在这里插入图片描述

高清修复(HiRes.Fix)

高分辨率修复 (Hires. fix)是指使用高分辨率(HiRes)修复(.Fix)的稳定扩散(Stable Diffusion)技术。只在文生图的功能有这个选项,位置在采样算法下方,点击展开后,有6个参数设置。分别是方法算法,高分迭代步数,重绘幅度,放大倍数,修复后的宽度和高度设置。
在这里插入图片描述
下图中的从512512到10241024是指我们文生图的设置的宽高是512512,要重新修复生成的图片的宽高是10241024。
在这里插入图片描述
这里我们先简单讲解下这些参数的作用

放大算法

简单来说就是我们要把一张512512的图片变成10241024的高清图片的放大算法。算法选择框里包含的放大算法有16种。
在这里插入图片描述

  • Latent
    Latent 放大算法是一种基于 VAE 模型的图像增强算法,通过将原始图像编码成潜在向量,并对其进行随机采样和重构,从而增强图像的质量、对比度和清晰度。这种方法通常能得到不错的效果,但与4x-UltraSharp、R-ESRGAN等相比,显存消耗比较小,但效果不是最优。
  • Latent (antialiased)
    结合了抗锯齿(antialiasing)技术的图像Latent放大算法。抗锯齿是一种用于消除图像中锯齿状边缘的技术,常用于提高图像的视觉质量。
  • Latent (bicubic)
    Latent 放大算法是一种图像超分辨率技术,可以通过插值算法来放大图像的尺寸,从而提高图像的分辨率。其中,双立方插值算法(Bicubic Interpolation)是一种常见的插值算法,它基于双线性插值算法,通过扩展影响范围至邻近的16个像素点,依据对未知像素点P的远近影响进行插值计算,从而得到更细致的影像。
  • Latent (bicubic antialiased)
    结合了双立方插值算法(Bicubic Interpolation)和抗锯齿(Antialiasing)技术的图像超分辨率技术的Latent放大算法。该算法通过插值算法来放大图像的尺寸,同时消除锯齿状边缘,从而提高图像的分辨率和质量。
  • Latent (nearest)
    结合了最近邻插值算法(Nearest Neighbor Interpolation)的图像超分辨率技术的Latent放大算法。该算法通过插值算法来放大图像的尺寸,同时保持图像的原始像素值,从而提高图像的分辨率和质量。
  • Latent (nearest-exact)
    结合了最近邻插值算法和双线性插值算法的特点的Latent放大算法,以达到更精确的放大效果。
  • None(无)
    没有使用放大算法。如何重绘幅度设置为0的画,单纯改变图像的宽高。图片放大程度越高,图像越模糊。不建议选择这个,选择None 生成图片速度和其他算法比不经没有提升,清晰度也比不上使用算法放大的。
  • Lanczos
    Lanczos算法是一种将对称矩阵通过正交相似变换变成对称三对角矩阵的算法,以20世纪匈牙利数学家Cornelius Lanczos命名。Lanczos算法是一种注重质量的放大算法,在缩小画面时能保持较好锐度。
  • Nearest
    最临近点插值算法(Nearest Neighbor)是一种最简单也是速度最快的一种算法。其做法是将放大后未知的像素点,将其位置换算到原始影像上,与原始的邻近的4周像素点A,B,C,D做比较,令P点的像素值等于最靠近的邻近点像素值即可。
  • BSRGAN
    BSRGAN是一种第三类放大算法,其核心是通过建立一个对抗网络,让这个网络去判断图像放大的好坏,最终得出成功放大的图像。
  • ESRGAN_4x
    ESRGAN_4x是使用生成对抗网络(GAN)技术进行图像放大的算法,其工作原理是将图像分割成小块,然后以生成式对抗网络算法来进行局部演算,最后再统一拟合。该算法比系统自带的其它放大演算法更加高效,能够增加细节纹理,图像质量更高。
  • LDSR
    LDSR算法是一种深度卷积神经网络(DCNN)实现的图像超分辨率技术。它具有高精度、高效率、易于实现等优点,在图像超分辨率等领域得到了广泛应用。不建议选择这个,出图时间是其他算法的好几倍,太慢了!!!
  • R-ESRGAN 4x+
    ESRGAN_4x的增强版,使用它将原图放大四倍之后,仍能充分保留原图细节的连贯性。它工作原理是通过将图片分割成小块,然后再以生成式对抗网络算法来进行局部演算,最后再统一拟合。所以,它比系统自带的其它放大演算法更加高效,并且能够增加细节纹理,图像质量更高。
  • R-ESRGAN 4x+ Anime6B
    R-ESRGAN 4x+ Anime6B 是一种结合了 R-ESRGAN 4x+ 和 Anime6B 两种算法的图像放大技术。
    R-ESRGAN 4x+ 是一种基于生成对抗网络(GAN)的图像超分辨率算法,可以将低分辨率的图像通过神经网络模型增强到4倍的分辨率。该算法通过生成器网络(Generator)和判别器网络(Discriminator)相互对抗,以提高生成器的超分辨率效果。
    Anime6B 是一种插画模式,可以应用于图像的放大过程,旨在补充细节并增强色彩。
    将这两种算法结合使用,可以在保证图像质量的同时,增加更多的细节和色彩,从而得到更加丰富和生动的图像效果。这种技术在动漫、游戏、插画等领域中得到了广泛的应用。
  • ScuNET
    ScuNET是一种真实感图像超分辨率增强方法。
  • ScuNET PSNR
    ScuNET的PSNR值(峰值信噪比)是评价图像质量的一种指标,PSNR值越高,说明图像的质量越好。ScuNET是一种真实感图像超分辨率增强方法,通过自注意力机制和残差学习,能够有效地提高图像的分辨率和视觉效果。
  • SwinIR_4x
    SwinIR_4x是一种基于Swin Transformer的图像超分辨率算法,使用4倍放大倍数进行超分辨率计算。该算法使用小尺寸卷积核来模拟感受野更大的卷积,将小尺寸的卷积核通过窗口分割和跳跃连接,将小尺寸的感受野扩大到大尺寸的感受野。通过这种方式,SwinIR_4x能够有效地提高图像的分辨率和视觉效果。

高分迭代步数

高分迭代步数即高质量高分辨的的迭代次数,原图和要放大倍数4倍以内, 高分迭代步数对最终的画质和细节只有很小的影响,肉眼很难看出来。越高的迭代步数步数,越要更长的出图时间,所以建议对设置为0。

重绘幅度

即在原来文生图的基础上,重新绘制的程度。SD web的默认值是0.7。同一随机种子和其他参数、提示词完全相同的情况下,重绘幅度幅度越大和原图越不像。

放大倍数

放大倍数即将文生图设置的原始宽高放大多少倍。放大倍数越大,需要的显存越大、出图时间越久。

宽高设置

除了通过设置放到倍数以外,还是可以通过设置要高清修复的宽度和高度来控制最终生成图片的大小。宽度和高度设置有一个不为0时,放大倍数设置的参数失效。
在这里插入图片描述

SD Upscale(SD 放大脚本)

SD Upscale 是Stable Diffusion web ui的第三方脚本(SD秋叶整合包内自带)。它能解决因为显存不足,而无法生成高分辨率图片的问题。原理是通过图像分块按比例放大图像。安装这个插件后,它只在图生图的功能的脚本显示,文生图的脚本选择框没有。

安装

通过国内镜像仓库 https://gitcode.net/ranting8323/multidiffusion-upscaler-for-automatic1111下载后,解压到 SD web根目录下的extensions文件夹内,或者通过web页面中的扩展》》从网址安装里填入仓库地址,安装即可。
在这里插入图片描述
这两种方式选则其一弄好后,重启下服务就安装成功了!
在这里插入图片描述

参数设置介绍

安装后在图生图面板网页最下方的脚本选择框里,选择SD Upscale 就能展开SD Upscale 参数设置。
在这里插入图片描述
在这里插入图片描述
选择SD Upscale 后,出现以下参数设置的面板。只有三个参数设置,一是分块重叠像素宽度、一个是放大倍数、一个是放大算法。放大倍数和放大算法上面已经说过,这里主要解释下什么是分块重叠像素宽度?
在这里插入图片描述

分块重叠像素宽度

“分块重叠像素宽度”可以理解为在进行图像处理或计算机视觉任务时,将图像分割成多个小块,并且每个小块之间会有一定程度的重叠。这里的“重叠像素宽度”就是指这些小块之间的重叠区域的大小。

这样做通常是为了在处理图像时能够更好地捕捉到图像的整体信息,避免出现边界效应或者信息丢失。通过调整重叠区域的大小,可以平衡图像的整体效果和计算效率。

分块重叠像素宽度的设置大小设置需要要根据具体的任务和需求来决定。

在图像处理或计算机视觉任务中,分块重叠像素宽度的设置需要考虑以下几个因素:

  • 图像分辨率和尺寸:对于高分辨率的图像,分块重叠像素宽度可以设置得相对较大,以更好地捕捉图像的细节和整体信息。而对于低分辨率的图像,则可以设置较小的重叠宽度,以避免浪费计算资源和产生过多的噪点。
  • 任务特点和需求:不同的计算机视觉任务对图像处理的要求和效果不同。例如,在图像分割或目标检测任务中,分块重叠像素宽度可以设置得相对较大,以更好地捕捉到目标物体和其周围的区域。而在图像去噪或超分辨率任务中,则可以设置较小的重叠宽度,以避免引入过多的噪点或产生过度锐化的效果。
  • 计算资源和时间限制:分块重叠像素宽度的设置也受到计算资源和时间的限制。如果处理任务需要大量的计算资源和时间,那么重叠宽度的设置应该相对较小,以减少计算量和时间成本。

综上所述,分块重叠像素宽度的设置需要根据具体的任务和需求来决定,需要权衡考虑图像分辨率和尺寸、任务特点和需求以及计算资源和时间限制等多个因素。一般情况下,我们维持默认就行。越大分块重叠像素宽度,需要耗费更多的计算资源。

后期处理(Extras)

Extras有的翻译为附加功能,我这里的中文插件翻译为了后期处理。在这里可以处理单张或者多张图片的高清方法功能。参数中的缩放比例和方法算法上面已讲,这里主要说一下。GFPGAN visibilityCodeFormer visibility
在这里插入图片描述
GFPGAN 和CodeFormer 都是用于放大图片人物的面部修复的开源的面部修复模型。多数情况,当人像图片成倍放大依托发达算法,对人脸的生成会有问题,或者原始图片就是问题的时候,我们可以选择面部修复的模型,对图片人物的面部进行高清修复。GFPGAN 和CodeFormer选择两个设置一个即可,两个的效果有一些微小的区别,看个人的喜好选择了!

  • 值得注意的是,这里必须选择方法算法后,缩放倍数和缩放尺寸才生效(缩放倍数和缩放尺寸切换到那个tab页那个生效)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍两个好用又好玩的大模型工具

先让数字人跟大家打个招呼吧。 我的AI数字人会手语了 发现没,我的数字人本周又学了一个新技能:手语。 这些数字人都是通过AI生成的。 但数字人不是今天的主题,今天要跟大家聊聊大模型。 自从大模型出现后,很多人(包…

模态对话框和非模态对话框

创建到堆区这样非模态对话框就不会一闪而过 .exec使程序进入阻塞状态 ()[]{}lambda表达式 55号属性可以在对话框关闭的时候将堆区的内存释放掉从而防止内存泄露

Failed to connect to github.com port 443:connection timed out

解决办法: 步骤1: 在这里插入图片描述 步骤2: -步骤3 :在git终端中执行如下命令: git config --global http.proxy http:ip:port git config --global https.proxy http:ip:port git config --global http.proxy htt…

debian/ubuntu/windows配置wiregurad内网服务器(包含掉线自启动)

文章目录 前言一、服务器配置安装wireguard软件生成私钥公钥配置服务器参数配置服务器sysctl参数启动、停止服务端 二、用户端配置安装wireguard软件生成私钥公钥配置客户端参数启动、停止客户端配置服务开机启动 三、服务器添加、删除客户四、配置掉线自启动配置掉线自启动脚本…

centos的docker镜像下载ffmpeg的方式

ffmpeg是业界比较好用的开源的音频处理工具,当我们在实际业务中使用ffmpeg的时候,直接使用yum安装回提示找不到ffmpeg的包,遇到这种情况,可以通过以下方式来进行安装(docker环境)。 已经拥有镜像 更新源 …

计算机丢失mfc100.dll如何恢复,详细解析mfc100.dll文件丢失解决方法

在计算机使用过程中,我们可能会遇到一些错误提示,比如“mfc100.dll丢失”。这是因为动态链接库(DLL)文件是Windows操作系统的重要组成部分,它们包含了许多程序运行所需的函数和数据。当这些DLL文件丢失或损坏时&#x…

在已有的虚拟环境中升级python版本

对于现有的虚拟环境,想升级python版本方法,试了无数的方法终于找对了。 1.首先activate对应的虚拟环境,然后输入下面的命令: conda install python3.8 建议加上镜像源 ​conda install python3.8 -i https://pypi.tuna.tsingh…

说话人识别声纹识别CAM++,ECAPA-TDNN等算法

参考:https://www.modelscope.cn/models?page=1&tasks=speaker-verification&type=audio https://github.com/alibaba-damo-academy/3D-Speaker/blob/main/requirements.txt 单个声纹比较可以直接modelscope包运行 from modelscope.pipelines import pipeline sv_pi…

pytest中的pytest.ini

[pytest] filterwarnings ignore::DeprecationWarning addopts -v -s markers uat:1 smok:2 log_cli1 xfail_strict True filterwarnings ignore::DeprecationWarning 这个的功能就是 test_login.py::Test_login::test_login_correct_password PASSEDwarnings summary …

推荐大学生考研党都来使用的白板笔记软件!上岸卷王必备!

考研这条路,对于很多大学生来说,是一条漫漫长路。相信很多人都有这样的体会:看了大量的书籍,记了大量的笔记,但是到了临近考试的时候,却发现复习的内容和思路都不是很清晰,效率不高。 针对这个…

算法通过村第十八关-回溯|白银笔记|经典问题

文章目录 前言组合总和问题分割回文串子集问题排序问题字母大小写全排列单词搜索总结 前言 提示:我不愿再给你写信了。因为我终于感到,我们的全部通信知识一个大大的幻影,我们每个人知识再给自己写信。 --安德烈纪德 回溯主要解决一些暴力枚举…

13 # 手写 concat 方法

concat 的使用 concat() 方法用于合并两个或多个数组。此方法不会更改现有数组&#xff0c;而是返回一个新数组。如果省略了所有参数&#xff0c;则 concat 会返回调用此方法的现存数组的一个浅拷贝。 <script>var arr1 ["k", "a", "i"…

2023年眼镜行业分析(京东眼镜销量数据分析):市场规模同比增长26%,消费需求持续释放

随着我国经济的不断发展&#xff0c;电子产品不断普及&#xff0c;低龄及老龄人口的用眼场景不断增多&#xff0c;不同年龄阶段的人群有不同的视力问题&#xff0c;因此&#xff0c;视力问题人口基数也随之不断加大&#xff0c;由此佩戴眼镜的人群也不断增多。 同时&#xff0c…

【凡人修仙传】预计开播倒计时,线下举办超前观影活动,隆重期待

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 深度爆料凡人最新资讯&#xff0c;《凡人修仙传》这部备受期待的动漫作品&#xff0c;终于在新年之际宣布了定档日期。据悉&#xff0c;该动漫将于11月25日&#xff0c;也就是周六上午11点&#xff0c;与广大…

Linux搭建我的世界MC服务器 【Minecraft外网联机教程】

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 前言 Li…

通过创建自定义标签来扩展HTML

使用HTML时&#xff0c;例如&#xff0c;使用<b>标记显示粗体文本。 如果需要列表&#xff0c;则对每个列表项使用<ul>标记及其子标记<li> 。 标签由浏览器解释&#xff0c;并与CSS一起确定网页内容的显示方式以及部分内容的行为。 有时&#xff0c;仅使用一…

什么是前台、中台、和后台?

前台&#xff1a;即包括与用户直接交互的界面&#xff0c;如&#xff1a;web页、app&#xff1b;也包括服务端各种实时响应用户请求的业务逻辑&#xff0c;如&#xff1a;商品查询、订单系统等。 后台&#xff1a;面向内部运营人员的管理系统、配置系统&#xff0c;如&#xf…

Leetcode---370周赛

题目列表 2923. 找到冠军 I 2924. 找到冠军 II 2925. 在树上执行操作以后得到的最大分数 2926. 平衡子序列的最大和 一、找到冠军I 第一题模拟题&#xff0c;简单来说是看每一行(列)是否全是1&#xff0c;当然不包括自己比自己强的情况&#xff0c;需要特判 代码如下 …

SpringCloudAlibaba——Sentinel

Sentinel也就是我们之前的Hystrix&#xff0c;而且比Hystrix功能更加的强大。Sentinel是分布式系统的流量防卫兵&#xff0c;以流量为切入点&#xff0c;从流量控制、流量路由、熔断降级等多个维度保护服务的稳定性。 Sentinel采用的是懒加载&#xff0c;这个接口被访问一次&a…

react 实现chatGPT的打印机效果 兼容富文本,附git地址

1、方式一 &#xff1a;使用插件 typed.js typed.js 网站地址&#xff0c;点我打开 1.1、核心代码如下&#xff1a; //TypeWriteEffect/index.tsx 组件 import React, { useEffect, useRef } from react; import Typed from typed.js; import { PropsType } from ./index.d;…