Stable Diffusion 常用放大算法详解

news2024/11/23 21:47:30

常用放大算法

图像放大算法大致有两种:

  • 传统图像放大算法(Lantent、Lanczos、Nearest)
  • AI图像放大算法(4x-UltraSharp、BSRGAN、ESRGAN等)

传统图像放大算法是基于插值算法,计算出图像放大后新位置的像素值。AI图像放大算法,比一般的传统图像放大算法效果更好。

  • 推荐放大算法 ESRGAN系列 和 4X-UltraSharp
  • R-ESRGAN 4x+ 适用于写实图片
  • R-ESRGAN 4x+ Anime6B 适用于二次元类图片或二三次元混合图片

Latent 系列(不常用)

Latent 系列放大算法是在潜空间对图像进行放大,然后重新采样来增加图像的细节。

此外由于不是对图像像素级别的直接放大操作,当高分迭代步数不够或者重绘幅度过低时,生成的图像会模糊或失真。

重绘幅度在0~0.5的时候放大生成的图像是模糊的,因此在使用 Latent 系列算法时,需要一定的重绘幅度,并且随着放大倍数的提高,放大的图像会变得扭曲。

不同 Latent 算法之间的区别。

  • Latent (antialiased):结合抗锯齿 (antialiased) 技术来消除图像中的锯齿状边缘。
  • Latent (bicubic):使用双立法插值 (bicubic) 算法来放大图像,其在每个像素的位置使用一个三次多项式来拟合周围16个邻近像素(4x4的像素网格)的值。该算法考虑了每个像素点与其周围像素点之间的非线性关系,从而能够更准确地模拟图像中复杂的灰度变化,使得图像更加细致。
  • Latent (bicubic antialiased):结合双立法插值 (bicubic) 算法和抗锯齿 (antialiased) 技术,放大图像的同时消除锯齿状边缘,提高图像的分辨率和质量。
  • Latent (nearest):使用最近邻插值 (Nearest Neighbor Interpolation) 算法来放大图像,其在放大图像后,对于新位置的像素直接采用最近的原图像像素作为其值。这导致新像素之间缺乏过渡,容易导致图像边缘出现明显的锯齿状或阶梯状效果,放大后的图像质量不高。适用于像素艺术、图标、文字等强调清晰像素边界的图像,或者在对速度要求较高、对放大后图像质量要求相对较低的情况。
  • Latent (nearest-exact):结合了最近邻插值算法和双线性插值算法,以达到更精确的放大效果。

Lanczos(不常用)

Lanczos放大算法基于Lanczos核函数,对于放大后新位置像素进行插值计算时,该算法会根据源图像中以该像素为中心的一定邻域内的像素值计算加权平均来确定新像素。在保留边缘清晰度和减少锯齿现象方面表现出色。

Nearest(不常用)

使用最近邻插值 (Nearest Neighbor Interpolation) 算法来计算放大图像后新像素,和 Latent (nearest) 不同,是直接放大真实图像。适用于某些简单图像的放大,在复杂图像的放大中,无法获得很好的结果。

4x-UltraSharp(常用)

基于 ESRGAN 做了优化模型。将图像分辨率提升4倍,在提高分辨率的同时保持或增强图像的细节、清晰度和逼真度。一般在纠结哪种算法放大图片时,可以选这个算法,照片级别的,真人模型上的效果可能会更好。

BSRGAN(不常用)

BSRGAN(Bilinear Super-Resolution Generative Adversarial Network)是一种专门针对盲图像超分辨率问题的生成式对抗网络模型。通常包含一个退化模型和一个超分辨率模型(即生成器),两者联合训练。退化模型模拟各种可能的图像退化过程,为超分辨率模型提供多样化的训练样本;超分辨率模型则学习如何从这些退化图像中恢复出高分辨率、高质量的原始图像。

ESRGAN系列(常用)

ESRGAN(Enhanced Super-Resolution Generative Adversarial Network)是一种先进的深度学习模型。ESRGAN沿用了GAN(Generative Adversarial Networks)的基本框架,包含一个生成器和一个判别器。生成器负责从低分辨率图像中生成高分辨率图像,而判别器则用于判断生成的高分辨率图像与真实高分辨率图像之间的差异,二者通过对抗训练共同优化。

  • ESRGAN_4x:一般适用于写实类图片。
  • R-ESRGAN 4x+:特别适合于处理保留细节和纹理的图像,在放大人像照片时,提供更自然的放大效果,尤其在面部、头像细节方面。一般适用于写实类图片。
  • R-ESRGAN 4x+ Anime6B:该算法针对动漫和二次元图像进行了优化。能够更好的处理二次元图像中的色彩、线条和细节。一般适用于二次元类图片。

ScuNET系类(不常用)

  • ScuNET:通过ScuNET可以生成更加清晰,细节更加丰富的图像,是一种真实感图像放大方法。
  • ScuNET PSNR:PSNR(Peak Signal-to-Noise Ratio)指峰值信噪比,是评价图像质量的一种指标,PSNR越高,说明图像质量越好。

SwinIR_4x(不常用)

SwinIR(Swin Transformer Image Restoration)是一种基于Transformer架构的图像恢复模型,专门设计用于解决各种图像恢复任务,如图像去噪、超分辨率、去模糊等。

DAT系列

Stable Diffusion WebUI 1.8.0 版本中支持了3个放大模型:DAT x2,DAT x3,DAT x4。

  • 放大图像质量:DAT x2 > DAT x3 > DAT x4
  • 放大生成速度:DAT x4 > DAT x3 > DAT x2

图像放大方式

一、高清修复(Hires-Fix)

高清修复本质就是“图生图”,先绘制一份低分辨率的图像,再根据它画第二幅高分辨率的图像。

缺点:没办法突破显存的限制,电脑能画到多大尺寸,最后还是多大。

常规用法:先在低分辨率下反复画图,确定一个比较满意的图像时,再借助固定随机种子,来进行高清修复,得到分辨率更高的图像。

高清修复有时候会修改图像,增加不必要的元素,可以通过调整重绘幅度进行抑制。如果只是想放大图片,可以设置为(0.3-0.5),如果想要AI自由发挥,可以设置更高的重绘幅度。

二、SD放大(SD Upscale)

图生图中,可以选择 SD Upscale 脚本进行放大。

和高清修复不同,这个是通过把图片均匀切成4块去画图的,画完之后拼合在一起。

优点:这种方式可以突破显存限制获得更大的分辨率(最高4倍),画面精细度高,对细节的丰富效果出色。

注意:如果人脸、身体等关键部位处于分界线,会出现图像错位的问题,可以通过减小重绘幅度保持一致性、增大缓冲区尺寸进行调整

如果只是机械的拆分成4块,图块之间的接缝处会出现生硬的过渡边缘,设置Tile overlap(图块重叠的像素)为64,可以起到缓冲带的作用。

三、附加功能放大算法

一般用在图片生成后的图片处理上,就像是一个重绘幅度为0的高清修复,完全不改变图片内容,放大速度极快。

是在拉伸放大的基础上,适当润滑了线条和色块边缘的模糊区域。

四、使用Ultimate SD upsale

该方法是 Sd upscale 的升级版,也需要额外下载。

下载地址:

https://github.com/Coyote-A/ultimate-upscale-for-automatic1111

安装后记得重启UI界面。

来到图生图界面,使用的还是之前的照片参数,降低重绘幅度和固定种子。然后在脚本中找到 Ultimate SD upsale。

这个脚本也可以搭配controlnet的tiled进行使用。细节会更丰富些。

1、进入Img2Img界面,选择与图片风格相近的大模型。

2、设定正向提示词和反向提示词。

3、导入图片,设定参数

  • 采样方法(Sampling method)选择DPM++ 2M Karras
  • 放大尺寸不需要调整
  • 重绘幅度(Denoising strength)设为0.2

4、设置ControlNet

  • 控制类型选择Tile
  • 预处理器选择tile_resample
  • 模型选择control_v11f1e_sd15_tile

5、设置脚本

  • 脚本选择Ultimate SD upscale
  • Target size type选择Scale from image size,后面的尺度即为放大倍数
  • Upscaler选择R-ESRGAN 4x+,如果是动漫,则选择R-ESRGAN 4x+ Anime6B
  • 类型选Chess,接缝问题会小很多
  • 分块宽度为512,表示每一个放大Tile(小块)都是512x512

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

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

相关文章

用友政务财务系统 FileDownload 任意文件读取漏洞复现

0x01 产品简介 用友政务财务系统具有多项核心功能,旨在满足各类组织的财务管理需求。首先,它提供了财务核算功能,能够全面管理企业的总账、固定资产、现金、应付应收等模块,实时掌握企业的财务状况,并通过科目管理、凭证处理、报表分析等功能为决策提供有力支持。 0x02 …

Elcomsoft iOS Forensics Toolkit: iPhone/iPad/iPod 设备取证工具包

天津鸿萌科贸发展有限公司是 ElcomSoft 系列取证软件的授权代理商。 Elcomsoft iOS Forensics Toolkit 软件工具包适用于取证工作,对 iPhone、iPad 和 iPod Touch 设备执行完整文件系统和逻辑数据采集。对设备文件系统制作镜像,提取设备机密&#xff08…

13.电子产品拆解分析-插排带3USB

13.电子产品拆解分析-插排带3USB 一、功能介绍二、电路分析以及器件作用1、三个插座之间通过电线连接,总开关控制火线2、通过FSD3773低待机功耗原边反馈AC/DC驱动芯片控制5V的输出一、功能介绍 ①一键控制总电源开关;②带三路USB输出;③最大支持2500W输出,10A输出电流;④8…

STM32自己从零开始实操01:原理图

在听完老师关于 STM32 物联网项目的所有硬件课程之后,就是感觉自己云里雾里,明明课程都认真听完了,笔记也认真记录,但是就是感觉学到的知识还不是自己。 遂决定站在老师的肩膀上自己开始设计项目,将知识变成自己的&am…

【机器学习】集成学习:强化机器学习模型与创新能的利器

集成学习:强化机器学习模型预测性能的利器 一、集成学习的核心思想二、常用集成学习方法Bagging方法Boosting方法Stacking方法 三、集成学习代表模型与实现四、总结与展望 在大数据时代的浪潮下,机器学习模型的应用越来越广泛,而集成学习作为…

微信小程序简单实现购物车功能

微信小程序简单实现购物车结算和购物车列表展示功能 实现在微信小程序中对每一个购物车界面的商品订单,进行勾选结算和取消结算的功能,相关界面截图如下: 具体实现示例代码为: 1、js代码: Page({/*** 页面的初始数…

Windows下搭建Flutter开发环境

IDE:VS code Flutter官网:Flutter: 为所有屏幕创造精彩 - Flutter 中文开发者网站 - Flutter 下载&安装 下载Flutter SDK,如图,建议自行下载安装: SDK还是挺大的,近1G,使用迅雷下载会快不少。 下载完成,解压缩到指定目录即可! 设置Local SDK,按下面步骤操作即…

【Docker】Docker 实践(一):在 Docker 中部署第一个应用

Docker 实践(一):在 Docker 中部署第一个应用 1.使用 YUM 方式安装 Docker2.验证 Docker 环境3.在 Docker 中部署第一个应用3.1 小插曲:docker pull 报 missing signature key 错误3.2 重新安装 Nginx 1.使用 YUM 方式安装 Docker…

git 基础知识(全能版)

文章目录 一 、git 有三个分区二、git 基本操作1、克隆—git clone2、拉取—git fetch / git pull3、查看—git status / git diff3.1 多人开发代码暂存技巧 本地代码4、提交—git add / git commit / git push5、日志—git log / git reflog6、删除—git rm ‘name’7、撤销恢…

云计算和边缘计算究竟有什么不同

在数据时代,无论是人的活动还是机器的运作都会产生各种各样海量的数据。在对数据梳理和筛选过程中,计算机的运算处理必不可少。为了减少本地计算机算力成本等限制,越来越多的企业选择了云计算和边缘计算。今天,德迅云安全就带您来…

中电金信:深度解析|数字化营销运营体系搭建

如何更好更快地梳理好体系搭建思路,稳步实现落地?下文将为大家明确搭建的推进步骤、执行要点,帮助商业银行理顺数字化营销运营体系的“点”“线”“面”~ 与所有转型的曲折、阵痛等特征一样,商业银行构建数字化营销运营体系过程中…

线性代数 --- 计算斐波那契数列第n项的快速算法(矩阵的n次幂)

计算斐波那契数列第n项的快速算法(矩阵的n次幂) The n-th term of Fibonacci Numbers: 斐波那契数列的是一个古老而又经典的数学数列,距今已经有800多年了。关于斐波那契数列的计算方法不难,只是当我们希望快速求出其数列中的第100&#xff0…

普通屏幕已过时?裸眼3D屏幕显示效果更胜一筹!

随着多媒体技术的迅猛进步,我们日常生活中的内容展现方式,已经经历了前所未有的变革。在这其中,裸眼3D屏幕的应用,无疑是最为引人注目的亮点,它相较于传统屏幕,在显示效果上展现出了鲜明的优势,…

走向大规模应用之前,DePIN 如何突破技术、数据与市场之网

近期,随着分布式物理基础设施网络(DePIN)的快速演变,一个旨在利用区块链技术彻底改造传统基础设施模型的新兴生态系统正在逐渐浮现。2024 年 4 月,以 peaq 为代表的 DePIN 项目成功筹集了 1500 万美元用于生态系统的扩…

Unreal Engine动态添加Button实例

在控件蓝图中添加容器&#xff0c;注意命名不要有中文 C代码中找到容器实例 1 2 3 4 5 6 7 8 UVerticalBox* verticalBox Cast<UVerticalBox>(CurrentWidget->GetWidgetFromName(TEXT("VerticalBox_0"))); if (verticalBox ! nullptr) { UScrollBox* …

【声网】实现web端与uniapp微信小程序端音视频互动

实现web端与uniapp微信小程序端音视频互动 利用声网实现音视频互动 开通声网服务 注册声网账号 进入Console 成功登录控制台后&#xff0c;按照以下步骤创建一个声网项目&#xff1a; 展开控制台左上角下拉框&#xff0c;点击创建项目按钮。 在弹出的对话框内&#xff0c;依…

计算机视觉——OpenCV 使用分水岭算法进行图像分割

分水岭算法 分水岭算法&#xff1a;模拟地理形态的图像分割 分水岭算法通过模拟自然地形来实现图像中物体的分类。在这一过程中&#xff0c;每个像素的灰度值被视作其高度&#xff0c;灰度值较高的像素形成山脊&#xff0c;即分水岭&#xff0c;而二值化阈值则相当于水平面&am…

Pytorch 的神经网络 学习笔记

参照官方网址 Module — PyTorch 2.2 documentation 一. 介绍 1. torch.nn模块&#xff1a; torch.nn是PyTorch中专门用于构建神经网络的模块。它提供了构建深度学习模型所需的所有构建块&#xff0c;包括各种层类型&#xff08;如全连接层、卷积层、循环层等&#xff09;、…

Web3解密:理解去中心化应用的核心原理

引言 在当前数字化时代&#xff0c;去中心化技术和应用正在逐渐引起人们的关注和兴趣。Web3技术作为去中心化应用&#xff08;DApps&#xff09;的基础&#xff0c;为我们提供了一个全新的互联网体验。但是&#xff0c;对于许多人来说&#xff0c;这个复杂的概念仍然充满了神秘…

【源码】WBF多语言交易所/申购+自发币平台币+币币+杠杆+合约/附带安装教程/带VUE工程源码

【源码介绍】 WBF多语言交易所/申购自发币平台币币币杠杆合约/附带安装教程/带VUE工程源码 【源码说明】 带VUE工程源码最新申购&#xff0c;自发币平台币&#xff0c;币币&#xff0c;法币&#xff0c;杠杆&#xff0c;合约多语言交易所&#xff0c;附带pc和手机VUE&#x…