Stable Diffusion中放大图像的3种方法

前言

要执行 ControlNet tile upscale:

您想使用 Stable Diffusion 创建包含大量细节的大型图像吗?您将需要使用升频器。在本文中,您将学习 3 种放大图像的方法。

  • 人工智能升级器
  • 标清高档
  • ControlNet瓷砖高档

您将看到比较并了解这些方法的优缺点。

如果您不熟悉该主题,则可能需要学习升频器的基础知识。

软件

我们将使用 AUTOMATIC1111 Stable Diffusion GUI 来执行放大。您可以在Windows、 Mac或 Google Colab上使用此 GUI 。

对于最后一种方法,我们需要Ultimate SD Upscale和ControlNet扩展。

Colab 用户

如果您使用本站提供的Colab Notebook,您只需在启动笔记本前选择ControlNetUltimate SD Upscale扩展。

在这里插入图片描述

Windows 或 Mac 用户

安装 Ultimate SD 高级扩展

Ultimate SD upscale是一个扩展,提供类似于内置SD Upscale脚本的功能,但具有一些高级选项。

在 AUTOMATIC1111 中安装 Ultimate SD upscale:

  1. 导航到**“扩展”**页面。

  2. 选择从 URL 安装选项卡。

  3. 将以下 URL 放入扩展存储库字段的 URL 中。

https://github.com/Coyote-A/ultimate-upscale-for-automatic1111
  1. 单击安装按钮。

  2. 等待扩展安装成功的确认消息。

  3. 重新启动 AUTOMATIC1111。

如果安装成功,您应该会在img2img页面底部的脚本下拉菜单中看到Ultimate SD upscale

安装 ControlNet 扩展

ControlNet是一个扩展,可让您额外控制图像生成。请参阅ControlNet 教程以了解更多信息。

在 AUTOMATIC1111 中安装 Ultimate SD upscale:

  1. 导航到**“扩展”**页面。

  2. 选择从 URL 安装选项卡。

  3. 将以下 URL 放入扩展存储库字段的 URL 中。

https://github.com/Mikubill/sd-webui-controlnet
  1. 单击安装按钮。

  2. 等待说明扩展已安装的确认消息。

  3. 重新启动 AUTOMATIC1111。

  4. 访问ControlNet 模型页面。

  5. 下载所有模型文件(文件名以 结尾.pth)。如果您不想全部下载,您可以只下载_tile本教程的瓦片模型(结尾为 )。

  6. 将模型文件放入 ControlNet 扩展的模型目录中。

稳定扩散-webui\extensions\sd-webui-controlnet\models
  1. 重新启动 AUTOMATIC1111。

您应该在 txt2img 页面上看到 ControlNet 部分。瓷砖模型应该可以在模型下拉菜单中进行选择。如果看不到菜单,请按菜单旁边的刷新按钮。

输入图像

我们将使用 Stable Diffusion 生成的以下图像。

在这里插入图片描述

型号:Lyriel v1.5

提示与否定提示:

“最后一舞”:在一个盛大的舞厅里,我们命运多舛的恋人共舞。当他们跳华尔兹时,时间似乎变慢了,迷失在彼此的眼中。他们不知道,这将是命运介入之前他们在一起的最后时刻。

(我从 GPT-4 得到了这个提示)

毁容的,变形的

原始尺寸非常小(768×512 像素)。让我们将其放大 4 倍至 3,072×2,048 像素。我们将使用三种放大方法进行测试。

  1. 人工智能升级器
  2. 标清高档
  3. ControlNet瓷砖高档

方法一:AI Upscaler

AI Upscaler是一种AI 模型,经过训练可以放大照片并填充细节,从而使图像保持清晰。这是在 AUTOMATIC1111 中放大图像的基本方法。

  1. 在 AUTOMATIC1111 中,导航到Extras页面。

  2. 将图像上传到图像画布。

  3. Resize设置为 4。(将图像放大 4 倍。)

4. 在Upscaler 1中选择一个 upscaler 。我使用了Universal Upscaler v2,但你可以使用任何一个。(请参阅此处下载和安装新的升级器的说明)

  1. 点击生成

片刻之后,您将在右侧的输出窗口中看到放大后的图像。

在这里插入图片描述

让我们看看进展如何。我们先来看看裙子。

在这里插入图片描述

它在忠实地填充裙子的细节方面做得不错。

但是这位女士的脸需要一些超出这个升级器所能做的增强。

在这里插入图片描述

在这里插入图片描述

当然,你可以开启人脸修复,它使用另一个AI模型来修复人脸。但是因为模型没有用这种特殊的风格进行训练,它可能会引入伪像并使面部看起来不自然。

方法二:标清高档

有没有什么方法可以不使用面部修复来修复面部?

首先,这张脸有点像原始图像中的那张脸。这就是为什么我们在扩大规模时得到了我们所得到的。

但是,如果您接受更多更改,因为原始图像无论如何都是计算机生成的呢?您可以执行一轮额外的图像到图像以重新生成细节。

这正是 SD 高档脚本所做的。

这种方法的好处是

  • 可以使用相同的模型和提示生成新的放大细节。
  • 移除由 AI upscaler 引入的伪影。

您可以使用AUTOMATIC1111 中 img2img 页面上的SD Upscale脚本轻松地同时执行 AI upscaling 和 SD img2img。该脚本在小块中执行稳定扩散 img2img,因此它适用于低 VRAM GPU 卡。

分步指南

按照以下步骤执行 SD 升级。

  1. img2img页面,将图片上传到 Image Canvas。

2.输入原提示否定提示。如果您没有原始提示,您可以使用“非常详细”。

在这里插入图片描述

备选方案 1:如果您刚刚在txt2img页面上生成图像,请单击发送到 img2img按钮。图像和提示将自动填充。

备选方案 2:如果您将生成的图像保存在本地存储中,则可以将其上传到PNG 信息页面。您应该会看到生成此图像的所有信息,包括提示和模型。单击发送到 img2img。图像和提示将自动填充。

  1. 稳定扩散检查点下拉菜单中,选择生成此图像时最初使用的模型

  2. 将图像宽度高度都设置为 512。这是用于 SD 放大的图块大小。

  3. 去噪强度设置为 0.3。较高的值将导致更多的细节和恢复,但不应将其设置为高于 0.4。否则,您会看到伪影。

5. 在img2img页面的按钮附近找到脚本下拉菜单。选择标清高档

  1. 比例因子设置为 4 以放大 4 倍。

  2. 选择一个升频器。我选择了与之前方法相同的升频器。但如果没有,您可以选择 ESRGAN 或 R-ESRGAN。

在这里插入图片描述

  1. 单击生成

结果

这就是我得到的。

在这里插入图片描述

得益于 Stable Diffusion img2img,硬木地板有很多细节。

现在让我们比较一下脸。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

不错的改进!SD upscale 在不引入伪像的情况下修复面部。

让我们检查一下这件衣服,好吗?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

他们也有更多的细节。

您可以尝试使用以下参数。

  • 采样步长:设置为更高的值,例如 50 – 100,可以获得更多的细节。
  • 抽样法。细节可能不同,尤其是祖先采样器。
  • 去鼻强度。控制要添加多少细节。此方法的可行范围在 0.1 和 0.4 之间。
  • 种子:改变细节。

细节级别由去噪强度参数控制。正如我之前所说,如果将其设置为高于 0.4,则此方法会失效,因为稳定扩散会使图像改变太多。您将开始看到人工制品。

有什么方法可以在不牺牲原始构图的情况下增加去噪强度?嗯……这听起来非常类似于从参考图像复制构图的扩展功能……

这是正确的。解决方案是使用ControlNet!

方法 3:ControlNet 平铺高档

ControlNet tile是一种用于重新生成图像细节的 ControlNet 模型。如果本地图片详情与提示不符,则忽略提示,填写本地详情。这种行为使其非常适合在图块中放大,因此它适用于低 VRAM 设置。

您需要安装Ultimate SD Upscale和ControlNet扩展才能使用此方法。如果您还没有这样做,请按照软件部分中的说明进行操作。

我不知道为什么这种方法不适用于内置的 SD Upscale 脚本。它应该,但它没有。

分步指南

要执行 ControlNet tile upscale:

  1. 导航到AUTOMATIC1111 中的img2img页面。

  2. 将您的图像上传到img2img 画布

3.输入原提示和否定提示。如果您没有原始提示,您可以使用“非常详细”。

备选方案 1:如果您刚刚在 txt2img 页面上生成图像,则可以单击发送到 img2img按钮。图像和提示将自动填充在img2img页面上。

备选方案 2:如果您在本地图像中保存了生成的图像,请将其上传到PNG 信息页面。您应该会看到生成此图像的所有信息,包括提示和模型。单击发送到 img2img。图像和提示将自动填充。在img2img页面上。

  1. 采样步数设置为 50。

  2. 去噪强度设置为 0.5。

以下步骤适用于ControlNet部分。

  1. 将相同的原始图像上传到 ControlNet 的图像画布

  2. 选择启用以启用 ControlNet 扩展。

8.在预处理器下拉菜单中选择tile_resample

9.在模型下拉菜单中选择control_v…_sd15_tile

以下步骤适用于Ultimate SD Upscale扩展。

  1. 在页面底部附近的脚本下拉菜单中,选择****Ultimate SD Upscale

  2. Target size type下拉菜单中,选择Scale from image size

  3. 比例设置为 4。

  4. 选择一个升频器。我使用了 Universal Upscaler v2。但是您可以为通用升频器选择 ESRGAN 或 R-ESRGAN。

在这里插入图片描述

  1. 确认 Tile 宽度为 512,高度为 0。这将在放大期间使用 512×512 tile。

  2. 单击生成

结果

这是放大后的图像。

让我们放大比较。

这是面孔。

惊人的!ControlNet 磁贴升级的质量无异于改变生活。面部和头发的渲染非常清晰,有很多细节。

现在让我们检查一下这件衣服。

看到添加了多少细节让我大吃一惊!

这种方法的缺点可能是添加了太多细节。它可能会以某种方式改变图像,使其不再是原始图像的忠实放大。但这取决于你的目标。

参数调整

您可以尝试使用以下参数。

  • 降噪强度:降低它以减少添加的细节量。根据我的经验,最高合理值是 0.5。
  • 下采样率(ControlNet):控制对控制块进行多少下采样。增加此值会使控制图像更加模糊。控制图像越隐蔽,模型在制作细节时就越自由。

使用下采样控制图像。

  • 采样步数:增加步数往往会改善细节和清晰度。
  • Sampling method : 和SD Upscale一样,sampler可以起到最后细节的作用。
  • 种子:更改种子以更改详细信息。
  • Seam fix (Ultimate SD Upscale):如果您觉得可以看到 512×512 的拼贴,请启用。此选项会沿着图块的边界运行额外的一轮放大。

你应该使用哪一个?

在三个升级选项中 — AI 升级、SD 升级和 ControlNet tile 升级,您应该使用哪一个?

在开始推荐之前,我认为 SD upscale 和 ControlNet tile upscale 的用例是相似的。ControlNet tile 高档是优越的。在任何情况下,您都不会想要使用 SD upscale 而不是 ControlNet tile upscale。

所以它归结为 2 个选择:(1) AI upscaler,和 (2) ControlNet tile upscale。

由于您通常会在 ControlNet tile 操作之前使用 AI upscale 对图像进行 upscale,因此本质上归结为是否使用 ControlNet tile conditioning 执行额外的图像到图像。

如果您使用的是真实照片或保真度对您很重要,您可能希望放弃 ControlNet tile 并仅使用 AI upscaler。有许多AI 升频器可用于不同类型的图像。

事实上,即使是这些 AI upscalers 也会弥补细节,因此请明智地使用它们。

如果您还可以甚至更喜欢添加细节,ControlNet tile upscale 是您的不二之选。这适用于使用 Stable Diffusion 或其他 AI 图像生成器生成的图像。

这是一位SD资深大神整理的,100款Stable Diffusion超实用插件,涵盖目前几乎所有的,主流插件需求。

全文超过4000字。

我把它们整理成更适合大家下载安装的【压缩包】,无需梯子,并根据具体的内容,拆解成一二级目录,以方便大家查阅使用。

单单排版就差不多花费1个小时。

希望能让大家在使用Stable Diffusion工具时,可以更好、更快的获得自己想要的答案,以上。

如果感觉有用,帮忙点个支持,谢谢了。

想要原版100款插件整合包的小伙伴,可以来点击下方插件直接免费获取
在这里插入图片描述

img

100款Stable Diffusion插件:

面部&手部修复插件:After Detailer

在我们出图的时候,最头疼的就是出的图哪有满意,就是手部经常崩坏。只要放到 ControlNet 里面再修复。

现在我们只需要在出图的时候启动 Adetailer 就可以很大程度上修复脸部和手部的崩坏问题

img

AI换脸插件:sd-webui-roop

换脸插件,只需要提供一张照片,就可以将一张脸替换到另一个人物上,这在娱乐和创作中非常受欢迎。

img

模型预设管理器:Model Preset Manager

这个插件可以轻松的创建、组织和共享模型预设。有了这个功能,就不再需要记住每个模型的最佳 cfg_scale、实现卡通或现实风格的特定触发词,或者为特定图像类型产生令人印象深刻的结果的设置!

img

现代主题:Lobe Theme

已经被赞爆的现代化 Web UI 主题。相比传统的 Web UI 体验性大大加强。

img

提示词自动补齐插件:Tag Complete

使用这个插件可以直接输入中文,调取对应的英文提示词。并且能够根据未写完的英文提示词提供补全选项,在键盘上按↓箭头选择,按 enter 键选中

img

提示词翻译插件:sd-webui-bilingual-localization

这个插件提供双语翻译功能,使得界面可以支持两种语言,对于双语用户来说是一个很有用的功能。

img

提示词库:sd-webui-oldsix-prompt

提供提示词功能,可能帮助用户更好地指导图像生成的方向。

上千个提示词,无需英文基础快速输入提示词,该词库还在不断更新。

以后再也不担心英文写出不卡住思路了!

img

由于篇幅原因,有需要完整版Stable Diffusion插件库的小伙伴,点击下方插件即可免费领取
在这里插入图片描述

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

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

相关文章

【Arduino】小飞鱼通达二开实验ESP32使用红外寻迹传感器 (图文)

在智能小车项目中都会有一个功能就是自动巡线,今天小飞鱼通达来实验的就是这个红外寻迹传感器。 红外寻迹传感器的原理就是有一个小灯发出红外光,光线照到物体后进行反射,有一个接收器进行接收,当在一定距离内会导通电路&#xf…

【AI绘画Stable Diffusion】教你制作 SD 光影文字,保姆级教程建议收藏!(附模型下载)

大家好,我是设计师阿威 最近光影文字又开始火起来了。今天讲讲怎么利用 Stable Diffusion 的 ControlNet 插件来制作光影图片。 1.下载光影模型组件 1.SD主模型:majicMIX realistic V6、xxmix9realistic_v26 2. ControlNet 的模型:Bright…

3、加密算法-AES和RSA

前两节博客主要是针对MD5和哈希算法,数字签名算法做了阐述和总结; 这篇文章主要是针对AES和RSA做一个概况和比较,以及相关的一些概念; 一、对称加密算法 对称加密算法是指加密和解密采用相同的密钥口,是可逆的(即可解…

高等数学在Android开发中的应用:函数极限与算法优化

高等数学在Android开发中的应用:函数极限与算法优化 在Android开发中,高等数学中的许多概念和技术都能够显著提高应用程序的性能和功能。这篇博客将探讨一些具体的数学原理,特别是函数极限在Android中的实际应用。 函数极限的基本概念 函数极限是微积分的基础,广泛应用于…

R可视化:好看的气泡图

加载R包 library(tidyverse) library(camcorder)gg_record(dir "tidytuesday-temp", device "png", width 8, height 8, units "in", dpi 320)导入数据 team_results <- readr::read_csv(https://raw.githubusercontent.com/rfordata…

有手就行,轻松本地部署 Llama、Qwen 大模型,无需 GPU

用 CPU 也能部署私有化大模型&#xff1f; 对&#xff0c;没错&#xff0c;只要你的电脑有个 8G 内存&#xff0c;你就可以轻松部署 Llama、Gemma、Qwen 等多种开源大模型。 非技术人员&#xff0c;安装 Docker、Docker-compose 很费劲&#xff1f; 不用&#xff0c;这些都不…

vue中路由来回切换页面直接卡死

今天发现一个很严重的问题&#xff0c;项目好不容易做好了&#xff0c;结果页面多了&#xff0c;切换之后卡死。页面所有的交互效果都失效了。 排查了许久的错误原因最后发现原来是路由名称重复了。 如上图当页面跳转到riskdetails详细页面之后&#xff0c;框架则被这个详情页…

SSE代替轮询?

什么是 SSE SSE&#xff08;Server-Sent Events&#xff0c;服务器发送事件&#xff09;&#xff0c;为特定目的而扩展的 HTTP 协议&#xff0c;用于实现服务器向客户端推送实时数据的单向通信。如果连接断开&#xff0c;浏览器会自动重连&#xff0c;传输的数据基于文本格式。…

高温下的稳定选择 —— PP消解管,耐化学更耐用

PP消解管&#xff0c;即聚丙烯材质的消解管&#xff0c;是一种常用于化学分析中的实验室设备&#xff0c;主要用于样品的消解处理。以下是PP消解管的一些主要特性和应用&#xff1a; 主要特性&#xff1a; 1. 耐化学腐蚀&#xff1a;PP材料对多数酸、碱和有机溶剂具有良好的耐…

Vue笔记-vue中使用JS创建的函数

主要是公司对前端要求不高&#xff0c;能解决问题就行了&#xff0c;前端不太熟&#xff0c;用js这种处理起来方便&#xff0c;在此记录下。 在src中创建一个api目录&#xff0c;新建custom.js export const getDivHeightByClass (className) > {let divElements docume…

MySQL数据库中文乱码处理

出现中文乱码之后处理方式 1、执行下面语句查看一下关于编码方式 show variables like %char%结果展示&#xff1a;【你应该和我的不一样】 2、如果你的和我查询结果不一致请设置成一致语句&#xff0c;根据自己需要复制语句 如下&#xff1a;【除了最后一条记录哈】 SET G…

mysql中的递归函数recursive

递归部门 WITH recursive dept_tree AS (SELECTsd.mine_id AS mine_id,sd.dept_id AS dept_id,sd.tenant_id AS tenant_id,sd.order_num,sd.dept_name AS topName,sd.dept_id AS topIdFROMsys_dept sdWHERE<!-- 加上or后也会查询出dept节点 sd.parent_id #{deptId} or sd.…

.net core 的缓存方案

这里主要讲两个缓存的使用&#xff0c;MemoryCache和Redis 先讲讲常见的缓存 1、.net framework web中自带有Cache缓存&#xff0c;这种缓存属于粘性缓存&#xff0c;是缓存到项目中的&#xff0c;项目从服务器迁移的时候缓存的内容也能够随着服务器一起迁移 2、MemoryCache缓存…

The First Descendant联机失败?第一后裔联机异常这样做

第一后裔/The First Descendant是一款由nexon开发的免费网游TheFirstDescendant第一后即将正式上线了&#xff0c;游戏的外观自定义系统还是非常不错的&#xff0c;人物角色可以选择不同风格的面部妆容&#xff0c;而且外观不仅可以更改颜色&#xff0c;还可以更改对应的材质和…

linux 控制台非常好用的 PS1 设置

直接上代码 IP$(/sbin/ifconfig eth0 | awk /inet / {print $2}) export PS1"\[\e[35m\]^o^\[\e[0m\]$ \[\e[31m\]\t\[\e[0m\] [\[\e[36m\]\w\[\e[0m\]] \[\e[32m\]\u\[\e[0m\]\[\e[33m\]\[\e[0m\]\[\e[34m\]\h(\[\e[31m\]$IP\[\e[m\])\[\e[0m\]\n\[\e[35m\].O.\[\e[0m\]…

65、基于卷积神经网络的调制分类(matlab)

1、基于卷积神经网络的调制分类的原理及流程 基于卷积神经网络&#xff08;CNN&#xff09;的调制分类是一种常见的信号处理任务&#xff0c;用于识别或分类不同调制方式的信号。下面是基于CNN的调制分类的原理和流程&#xff1a; 原理&#xff1a; CNN是一种深度学习模型&a…

如何用matplotlib绘制图像分类任务的类别特征空间分布

import matplotlib.pyplot as plt import numpy as np from sklearn.decomposition import PCA from sklearn.datasets import load_iris from mpl_toolkits.mplot3d import Axes3D# 加载示例数据&#xff08;Iris 数据集&#xff09; data load_iris() X data.data y data.…

SQLyog脚本无限试用重置脚本

文章目录 引言脚本(win)必要操作、说明 引言 SQLyog 需要po jie&#xff0c;但是网上的没看到很好使的&#xff0c;直接下的官方。能处理14天试用也是很ok的。 脚本(win) echo offREM SQLyog注册表key&#xff0c;可能跟你的不一样&#xff0c;如果不一样&#xff0c;请替换…

聊聊gitlab ci如何构建以时间为版本号的docker镜像

前言 最近朋友他们部门有部分内部项目&#xff0c;打算用gitlab ci来做项目持续集成部署&#xff0c;他们有个需求&#xff0c;构建docker镜像的时候&#xff0c;版本需要是以当前时间作为版本。其格式为yyyymmddhhmm 一开始朋友翻阅官方文档&#xff0c;发现gitlab ci有个变…

uniapp实现可拖动悬浮按钮(最新版2024-7月)

此章主要介绍如何使用uniapp跨平台开发&#xff0c;实现悬浮按钮&#xff0c;移动端经常会有所这样的需求&#xff0c;那么功能如下&#xff1a; 1.圆圈悬浮球&#xff0c;上下左右靠边显示 2.可以界面任何拖动&#xff0c;不会超出界面 3.单击悬浮球的点击事件 效果&#xf…