跳转到内容

【SD】 超大尺寸绘制、分区控制,详解Tiled Diffusion & VAE插件功能

📗

作者:白马少年

介绍:SD实践派,出品精细教程

发布时间:2023-08-09 20:02

原文网址:https://mp.weixin.qq.com/s/qtlxNT8TSpKPxAbt5HC-aw

使用秋叶整合包的朋友,在下面的插件面板中想必都能看到这两个插件——Tiled Diffusion 和 Tiled VAE。

很多小伙伴可能还不太清楚它们是做什么用的,那么今天呢,我们就来聊一聊它们的使用方法。

# 安装

如果没有这个插件的小伙伴可以使用以下网址进行安装——https://gitcode.net/ranting8323/multidiffusion-upscaler-for-automatic1111。使用网址安装,或者直接下载都可以。

不会魔法的朋友,可以去我的云盘里面下载这个插件文件夹。

# 生成超大图像

如果你想用SD来画一幅超高分辨率的图片,比如10000x768的清明上河图,直接调分辨率画是不太可能的,因为这样一定会爆显存。

而且正常的尺寸设置,最高也就到2048了,没法设置出10000的宽度来。

我们首先需要在PS中设置一个这么大尺寸的画布,然后保存成jpg图片。

然后将图片放入ControlNet当中,点击右下角的箭头,将当前图片尺寸信息发送到生成设置,

可以看到,我们需要的尺寸就设置好了。

填入正反向提示词,这里我使用了一个中国风lora。

正向:masterpiece,best quality,qingming riverside map,painting,guofeng,chinese style,<lora:Chinese style illustration v2:1>,

反向:lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

分别启用这两个插件,Tiled Diffusion中的方案选择Mixture of Diffusers,这一种方案可以协调分块扩散过程的混合方式,适合用来直接生成大图,防止接缝的产生。

然后呢,它的显存使用主要是和分块大小有关,相信之前看过我们SD脚本放大(【Stable Diffusion】如何画出商用级别的高清大图)的小伙伴都能理解这个分块放大的原理,如果你的电脑显存比较小的话,可以把分块设置得再小一点。

我们点击生成,可以看一下我后台的GPU使用情况,占用基本在5G左右,因为它是分块绘制的,所以理论上多大的图都能绘制得出来。

我们放大来看看全图,很完整,而且完全看不出接缝在哪,当然从审美的角度来看这幅图中的房子有点太多了,随机性很强。但是如果我们能在ControlNet当中放入绘制好的草图线稿等一些控制信息,配合使用,相信AI是可以辅助我们制作一些美观的超大分辨率的绘图的。

# 图像放大

又聊到我们的图像放大了,在SD中图像放大的方式是真的很多。不知道的小伙伴可以参考一下我之前的文章:

我们使用过插件,使用过脚本,使用过后期处理,但是总结起来原理都是一样的,具体的好坏大家可以去尝试,因为AI生图本来就是一个随机抽卡的过程,不像我们做数学题,有很强的确定性,有唯一解。

在我们的Tiled Diffusion中,MultiDiffusion方案就很适合图像的重绘、风格迁移和放大等功能。

下面的四个滑块代表着,分块的大小,分块之间的重叠像素、以及同时处理的分块数量。它们的数值越大,效果就越好、速度就越快,数值越小呢,占用的显存就是越小,大家根据自己的情况来使用。一般情况下,保持默认就可以。重叠像素大小建议使用 MultiDiffusion 时选择32或48,使用 Mixture of Diffusers 选择16或32

下面的Tiled VAE可以极大程度地降低VAE编解码大图所需的显存字节,同样,分块大小根据我们自己的电脑情况来调节,数值越小,占用显存越低。

我们来做一个测试,生成一张512x512的图片。使用最简单的提示词,绘制一个女孩的形象。

可以看到,这个图片是很模糊的,我们将他发送到图生图进行重绘。

在Tiled Diffusion下面会多出一个放大算法,里面都是我们熟悉的老朋友,它们说话都很好听的。 选择自己熟悉的放大算法和所需的放大倍数即可。

重绘幅度设置为0.35,这样能保持和原图的基本相似。

点击生成,我们就得到最终的放大图像。

在放大算法的下面,还有一个噪声反转,它可以在我们重绘之前,对原图像进行一次噪声图反推,从而让我们放大的图片能更接近原图。

我们再来生成一次,看看效果。

我们可以对比一些细节,比如手臂上的这一圈花环、头上的花朵、哪怕是背景中模糊的门的造型,开启噪声翻转后的效果和原图更接近一些。

所以,我们总结一下,是否开始噪声反转,就取决于你是想让重绘后的图片更像原图,还是想要让AI有更大的发挥空间。

# 分区绘制

我们来到文生图的Tiled Diffusion中,展开分区提示词控制,可以看到如下界面。

我们接下来使用这个功能绘制两个女孩坐在泳池边上,穿着不同的服装的图片。

首先将宽度改为920x512的横图。

启用Tiled Diffusion,启用分区提示词控制,然后创建文生图画布。

启用区域1,将红框拖拽至铺满背景,类型设置为背景,然后输入关键词:泳池。

启用区域2,拖动黄色框子的大小和位置,类型为前景,旁边还有一个羽化值,控制的是前景和背景的融合程度,一般保持默认就可以,提示词设置为:一个短头发穿黄色泳衣的女孩在泳池里。

绘制区域3,一样的方法,提示词为:一个长头发穿着红色泳衣的女孩在泳池里。

我们可以看到Tiled Diffusion中所有的区域都是可以设置单独的提示词和随机种子的,所以如果我们生成的背景比较满意,我们就可以锁定背景的随机种子,只调整前景人物的提示词。

选择一个二次元模型,正向提示词不用重复下面的分区提示,可以描述一些通用的词汇,比如:夏天,泳池,光影,上半身之类的。

点击生成,我们就得到了一幅符合我们分区构图的画面。

接下来,我们将图片发送到图生图进行一下放大,重绘幅度设置为0.6。

打开Tiled Diffusion,方案选择MultiDiffusion,放大算法选择R-ESRGAN 4x+ Anime6B,放大2倍。

启用Tiled VAE。

启用controlnet插件的tile模型,给图片添加细节。

放大完成,画面增加了很多细节,tile模型配合放大是非常好用的组合,产出细节合适的高质量大图。

# 配合其他插件使用

我们之前讲过一期关于StableSR脚本放大的文章,这个放大器呢主要是可以帮助我们放大一些非AI生成的图,可以极大程度的保留原图的结构,不会改变原图。

这个脚本就是配合我们的Tiled Diffusion & VAE插件使用的,感兴趣的朋友可以移步——【Stable Diffusion】超清无损放大器StableSR

以上就是关于Tiled Diffusion & VAE插件的介绍,如果想要这个插件的话,可以添加我的公众号【白马与少年】,回复【SD】即可。

-END-

白马与少年

Stable Diffusion、Blender等学习心得分享

139篇原创内容(持续更新中)

公众号

微信扫一扫 关注该公众号