当前位置: 首页 > news >正文

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页那个生效)。

相关文章:

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

前言 在 Stable Diffusion 想要生成高清分辨率的图片。在文生图的功能里,需要设置更大的宽度和高度。在图生图的功能里,需要设置更大的重绘尺寸或者重绘尺寸。但是设置完更大的图像分辨率,需要更大显存,1024*1024的至少要电脑的空…...

想要检测TikTok网络是否安全?这五个网站请收好

Tiktok目前在海外大火,越来越多的人想要进入TikTok的海外市场并捞一桶金。然而,成功并非易事。想要在TikTok中立足,我们必须保证我们的设备、网络环境和网络节点完全符合官方的要求,并且没有任何异常或风险。那么我们该如何设置、…...

【docker:容器提交成镜像】

容器创建部分请看:点击此处查看我的另一篇文章 容器提交为镜像 docker commit -a "sinwa lee" -m "首页变化" mynginx lxhnginx:1.0docker run -d -p 88:80 --name lxhnginx lxhnginx:1.0为啥没有变啊,首页? 镜像打包 …...

UE5中一机一码功能

创建蓝图函数库 1、获取第一个有效的硬盘ID // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "GetDiskIDClass.gen…...

gpt支持json格式的数据返回(response_format: ‘json_object‘)

Api.h5.chatCreateChatCompletion({model: gpt-3.5-turbo-1106,token: sk-f4fe8b67-fcbe-46fd-8cc9-fd1dac5d6d59,messages: [{role: user,content:使用json格式返回十二生肖,包含中文名和英文名,[{id:"1", enName:"", cnName: &quo…...

MySQL(13):约束

约束(constraint)概述 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。 它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息 而提…...

可以为一个servlet定义多个servlet-mapping、或url-pattern

在web描述符文件web.xml文件中,可以为同一个servlet定义多个servlet-mapping;也可以在同一个servlet-mapping中,定义多个url-pattern。也就是说,可以把多个地址(相对于上下文路径)映射到同一个servlet处理。…...

.net在使用存储过程中IN参数的拼接方案,使用Join()方法

有时候拼接SQL语句时&#xff0c;可能会需要将list中的元素都加上单引号&#xff0c;并以逗号分开&#xff0c;但是Join只能简单的分开&#xff0c;没有有单引号&#xff01; 1.第一种拼接方案 List<string> arrIds new List<string>(); arrIds.Add("aa&qu…...

基于RK3399的室内健身魔镜方案

I 方案背景 一、健身魔镜的兴起 2020年疫情席卷全球&#xff0c;宅家是防疫的措施之一&#xff0c;因而宅家运动火爆&#xff0c;随之而来的宅家运动器材也风靡起来&#xff0c;其中包含既有颜值又具有多种功能的健身魔镜。 Ⅱ 方案介绍 一、健身魔镜的方案介绍 …...

leetCode 25.K 个一组翻转链表

给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。k 是一个正整数&#xff0c;它的值小于 或 等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值&a…...

ElasticSearch中常见的分词器介绍

文章目录 ElasticSearch中常见的分词器介绍前言分词器的作用如何指定分词器分词器的组成分词器的类型标准分词器空格分词器简单分词器关键词分词器停用词分词器IK分词器NGram分词器正则匹配分词器语言分词器自定义分词器 ElasticSearch中常见的分词器介绍 前言 ElasticSearch是…...

前端案例-css实现ul中对li进行换行

场景描述&#xff1a; 我想要实现&#xff0c;在展示的item个数少于4个的时候&#xff0c;则排成一行&#xff0c;并且均分&#xff08;比如说有3个&#xff0c;则每个的宽度为33.3%&#xff09;&#xff0c;如果item 个数大于4&#xff0c;则进行换行。 效果如下&#xff1a…...

【Unity】 场景优化策略

Unity 场景优化策略 GPU instancing 使用GPU Instancing可以将多个网格相同、材质相同、材质属性可以不同的物体合并为一个批次&#xff0c;从而减少Draw Calls的次数。这可以提高性能和渲染效率。 GPU instancing可用于绘制在场景中多次出现的几何体&#xff0c;例如树木或…...

JavaWeb Day09 Mybatis-基础操作01-增删改查

目录 环境准备 ①Emp.sql ②Emp.java 一、删除 ①Mapper层 ②测试类 ③预编译SQL&#xff08;查看mybatis日志&#xff09; 1.性能 2.安全 ④总结 二、新增 ①Mapper层 ②测试类 ③结果 ④新增&#xff08;主键返回&#xff09; 1.Mapper层 2.测试类 ⑤总结​…...

2.前端调试(控制台使用)

消息堆叠 如果一条消息连续重复&#xff0c;而不是在新行上输出每一个消息实例&#xff0c;控制台将“堆叠”消息并在左侧外边距显示一个数字。此数字表示该消息已重复的次数。 如果您倾向于为每一个日志使用一个独特的行条目&#xff0c;请在 DevTools 设置中启用 Show times…...

Jenkins简介及Docker Compose部署

Jenkins是一个开源的自动化服务器&#xff0c;用于自动化构建、测试和部署软件项目。它提供了丰富的插件生态系统&#xff0c;支持各种编程语言和工具&#xff0c;使得软件开发流程更加高效和可靠。在本文中&#xff0c;我们将介绍Jenkins的基本概念&#xff0c;并展示如何使用…...

sqli-labs关卡14(基于post提交的双引号闭合的报错注入)通关思路

文章目录 前言一、回顾上一关知识点二、靶场第十四关通关思路1、判断注入点2、爆显位3、爆数据库名4、爆数据库表5、爆数据库列6、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不…...

【广州华锐互动】楼宇智能化VR虚拟教学系统

在如今的技术时代&#xff0c;教育行业正在逐步引入各种创新方法以提升教学质量。VR公司广州华锐互动开发的楼宇智能化VR虚拟教学系统就是其中的一种&#xff0c;它利用虚拟现实(VR)技术&#xff0c;为学生提供一种全新的、沉浸式的学习体验。 楼宇智能化VR虚拟教学系统涵盖综合…...

5. HTML常用标签

5.1 标签语义 学习标签是有技巧的&#xff0c;重点是记住每个标签的语义。简单理解就是指标签的含义。即这个标签是用来干嘛的。 根据标签的语义&#xff0c;在合适的地方给一个最为合理的标签。可以让页面结构给清晰。 5.2 标题标签 <h1>-<h6>(重要) HTML提供了…...

傅里叶分析(2)

在《傅里叶分析&#xff08;1&#xff09;》中&#xff0c;讲述了连续信号的傅里叶分析方法&#xff0c;本文讲述离散信号的傅里叶分析方法。 虽然电、声、光、机械振动等信号在物理上是连续函数&#xff0c;但在实际工程中&#xff0c;其通常为离散信号&#xff0c;即若干离散…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

21-Oracle 23 ai-Automatic SQL Plan Management(SPM)

小伙伴们&#xff0c;有没有迁移数据库完毕后或是突然某一天在同一个实例上同样的SQL&#xff0c; 性能不一样了、业务反馈卡顿、业务超时等各种匪夷所思的现状。 于是SPM定位开始&#xff0c;OCM考试中SPM必考。 其他的AWR、ASH、SQLHC、SQLT、SQL profile等换作下一个话题…...

mcts蒙特卡洛模拟树思想

您这个观察非常敏锐&#xff0c;而且在很大程度上是正确的&#xff01;您已经洞察到了MCTS算法在不同阶段的两种不同行为模式。我们来把这个关系理得更清楚一些&#xff0c;您的理解其实离真相只有一步之遥。 您说的“select是在二次选择的时候起作用”&#xff0c;这个观察非…...

第14节 Node.js 全局对象

JavaScript 中有一个特殊的对象&#xff0c;称为全局对象&#xff08;Global Object&#xff09;&#xff0c;它及其所有属性都可以在程序的任何地方访问&#xff0c;即全局变量。 在浏览器 JavaScript 中&#xff0c;通常 window 是全局对象&#xff0c; 而 Node.js 中的全局…...

Spring是如何实现无代理对象的循环依赖

无代理对象的循环依赖 什么是循环依赖解决方案实现方式测试验证 引入代理对象的影响创建代理对象问题分析 源码见&#xff1a;mini-spring 什么是循环依赖 循环依赖是指在对象创建过程中&#xff0c;两个或多个对象相互依赖&#xff0c;导致创建过程陷入死循环。以下通过一个简…...

OpenHarmony标准系统-HDF框架之I2C驱动开发

文章目录 引言I2C基础知识概念和特性协议&#xff0c;四种信号组合 I2C调试手段硬件软件 HDF框架下的I2C设备驱动案例描述驱动Dispatch驱动读写 总结 引言 I2C基础知识 概念和特性 集成电路总线&#xff0c;由串网12C(1C、12C、Inter-Integrated Circuit BUS)行数据线SDA和串…...