Stable Diffusion WebUI从入门到精通

前言

第三十部分 Tiled Diffusion

30.1 概述

我们已经比较熟练地掌握了利用Stable Diffusion来生图,然而显卡性能却阻碍我们生成高分辨率的大图,对于一张2K分辨率的大图来说,就需要24G显存的显卡才能直接生成。所以我们这部分就来讲讲如何实现这个突破,让我们的显卡能生成远高于自己分辨率上限的图片。我们可以通过Tiled Diffusion技术,它可以通过将图像划分为多个小块(tiles),然后对每个小块进行处理,从而生成高分辨率的图像。这种方法可以有效地提高图像的分辨率,而不会增加显存的需求。

30.2 安装和配置

我们只需要在扩展中搜索**"Tiled Diffusion with Tiled VAE"**这个插件安装即可。

你也可以直接下载插件后放到extensions文件夹中来完成安装。

所有的AI设计工具,模型和插件,都已经整理好了,👇获取~

安装完成并重启WebUI后,你便可以在菜单中看到**"Tiled Diffusion" "Tiled VAE"。其中 "Tiled Diffusion"负责扩散生成图片,"Tiled VAE"**负责通过编码和解码将图片呈现。

和之前讲过的Ultimate Upscale相比,虽然同为分块生成图片,但Tiled Diffusion的效果更好、速度更快。

30.3 Tiled Diffusion的基本使用

首先,我们在文生图中生成一张512*512低分辨率的图片,并将其发送到图生图中。

维持其**"随机数种子(Seed)"不变,勾选启用 "Tiled Diffusion" "Tiled VAE" "潜空间分块宽度"就是你希望分块的每一块的大小, "潜空间分块重叠"就是相邻两块间的重叠部分的大小,方案中你也可以尝试不同的方案,它在不同的图片中的效果可能不一样。这里我们先使用默认的参数即可, "放大算法"和我们之前讲过的一样,根据你图片的类型来选择,我这里是真实系的图片,就选择 "R-ESRGAN 4x+""放大倍数"**根据你的需要选择,我这里选择放大3倍,然后将重绘幅度适当调低。

点击生成,我们就能又快又好地生成一张高分辨率的图片了。

30.4 参数解析

1.Tiled Diffusion

**保持输入图像大小:**保留原始输入图像的尺寸。

**方案:**选择不同的扩展方案,如MultiDiffusion。不同的方案会对图像分割、拼接和放大方式产生不同的影响。

**潜空间分块高度和潜空间分块宽度:**这些参数决定了图像在潜空间中分割的块的高度和宽度。值越大,分块越大。分块越少,绘制的次数就越少,理论上速度就越快。建议数值64-160像素。

**潜空间分块重叠:**调整图像分块的重叠区域,值越大,重叠区域越大,有助于减少拼接痕迹,但会增加运算。如果出图出现明显接缝感,可以适当增大。建议数值:MultiDiffusion为32或48、Mixture of Diffusers为16或32。

**潜空间分块批数量:**调整同时处理的图像分块批的数量。

**放大倍率:**决定图像放大时的倍率,如2倍、4倍等。

**放大算法:**选择图像放大的算法,如R-ESRGAN 4x+,不同算法对放大的效果和速度有不同影响。

**噪声反转:**启用或禁用噪声反转,用于修复图像中的噪声。

**反转步数(Steps):**控制反转的步数,步数越多,反转效果越明显。

**修复程度:**决定修复的强度。

**重铺噪声强度和重铺噪声大小:**调整修复过程中添加的噪声强度和大小。

**分区提示词控制:**控制不同分区使用不同的提示词,以实现更细致的控制和生成效果。

2.Tiled VAE

**将VAE移动到GPU(如果允许):**将VAE解码器的计算从CPU移动到GPU,以加速处理。

**编码器分块大小:**调整编码器处理的图像分块大小。较大的分块可以加快处理速度,但可能需要更多的显存。当提示显存不足的时候,可以适当降低编码器分块大小。

**解码器分块大小:**调整解码器处理的图像分块大小。类似于编码器,较大的分块可能加快处理,但需要更多显存。

**快速编码器颜色修复:**当使用的Tile太小且图片颜色和清晰度不佳的时候可以勾选此选项。

**使用快速解码器:**启用此选项可以使用优化过的解码器,以进一步提升处理速度。

30.5 超高分辨率生成方法

普通的放大功能仅仅是把当前图像放大而并不会增加图片中内容的细节,Tiled Diffusion就可以在把图片分辨率提高的同时为图片增加更丰富的细节内容。

示例

我这里先绘制了一张540*960分辨率的图片。

正向提示词:

masterpiece,best quality,``cube hair ornament,blue eyes,instrument,guitar,pink hair,hair ornament,1girl,jacket,bangs,holding instrument,multiple girls,holding,hair between eyes,hood,one side up,electric guitar,shirt,open mouth,long sleeves,hood down,black shirt,blurry,:o,white jacket,collarbone,hoodie,solo focus,playing instrument,looking at viewer,short hair,gibson les paul,

反向提示词:

badhandv4,EasyNegative,verybadimagenegative_v1.3,(worst quality:2),(low quality:2),(normal quality:2),

然后我们勾选**"高分辨率修复",放大算法选择"Latent"**(此算法可以增加图片细节),选择适当重绘幅度(建议在0.5-0.6),生成后会发现图片的细节比960分辨率提升了不少。

接着我们把图片发送到图生图,并开启**"MultiDiffusion" "Tiled VAE",放大算法根据图片类型选择,我这里是二次元,就选 "R-ESRGAN 4x+Anime6B",重绘幅度设置为0.3,潜空间分块宽度调大至144,否则处理速度会非常慢,高分辨率的图可以勾选"启用噪声反转"**,放大3.2倍让分辨率达到6K以上。等待了一段较长的时间后,便生成了一张具有更丰富细节的6K图片。值得一提的是我的显卡是只有8G显存的2080s。

30.6 ControlNet Tile

接下来,我们来讲一下在文生图中通过ControlNet和Tiled Diffusion技术的结合来生成图片。由于文生图中对图片控制能力比图生图要差很多,所以很容易在放大图片时出现多个人物的情况,所以ControlNet Tile就可以通过分块反推内容并进行重绘来实现较好的控制。

首先在文生图的ControlNet中导入一张低分辨率的图片,预处理器和模型都选择tile相关的,控制类型选择**"Tile"**。

然后开启**"MultiDiffusion" "Tiled VAE",在 "MultiDiffusion"中勾选"覆盖图像尺寸"**并将图像尺寸设置为原图的3倍大小。

点击生成,便能生成一张3倍于原图的图片了。

在加入了ControlNet之后,整张图片的质量是有明显提升的。ControlNet Tile与之前的其他放大方式,它几乎是个万能的模型,可以应用在任何一种放大的手段之中,无论是你用upscale还是Tiled Diffusion,只要你同时启用ControlNet Tile,整个画面就会比较稳定、高质量。

这里分享给大家一份Adobe大神整理的《AIGC全家桶学习笔记》,相信大家会对AIGC有着更深入、更系统的理解。

有需要的朋友,可以点击下方免费领取!

AIGC所有方向的学习路线思维导图

这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:

AIGC工具库

AIGC工具库是一个利用人工智能技术来生成应用程序的代码和内容的工具集合,通过使用AIGC工具库,能更加快速,准确的辅助我们学习AIGC

有需要的朋友,可以点击下方卡片免费领取!

精品AIGC学习书籍手册

书籍阅读永不过时,阅读AIGC经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验,结合自身案例融会贯通。

AI绘画视频合集

我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,科学有趣才能更方便的学习下去。

相关推荐
jun778895几秒前
机器学习-监督学习:朴素贝叶斯分类器
人工智能·学习·机器学习
FL16238631292 分钟前
基于yolov5的混凝土缺陷检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
人工智能·python·yolo
Kenneth風车5 分钟前
【第十三章:Sentosa_DSML社区版-机器学习聚类】
人工智能·低代码·机器学习·数据分析·聚类
jndingxin13 分钟前
OpenCV运动分析和目标跟踪(4)创建汉宁窗函数createHanningWindow()的使用
人工智能·opencv·目标跟踪
机器之心14 分钟前
o1 带火的 CoT 到底行不行?新论文引发了论战
android·人工智能
机器之心20 分钟前
从架构、工艺到能效表现,全面了解 LLM 硬件加速,这篇综述就够了
android·人工智能
jndingxin1 小时前
OpenCV特征检测(1)检测图像中的线段的类LineSegmentDe()的使用
人工智能·opencv·计算机视觉
@月落1 小时前
alibaba获得店铺的所有商品 API接口
java·大数据·数据库·人工智能·学习
z千鑫1 小时前
【人工智能】如何利用AI轻松将java,c++等代码转换为Python语言?程序员必读
java·c++·人工智能·gpt·agent·ai编程·ai工具
赚钱给孩子买茅台喝1 小时前
智能BI项目第四期
java·spring boot·spring cloud·aigc