在入门阶段,我们生成了很多低分辨率的图片(512~1024像素),如果是体验那显然足够了。但是当我们面对实际需求时,例如生成壁纸、商业海报或插画,我们就需要 高 清 大 图(懂得都懂)。
本期迹寒将介绍一款十分好用的低显存制作高清大图工具——Tiled VAE。话不多说,我们赶紧开始~
Let’s try~
一、下载和安装
下载方式有两种,一种是在“扩展-从网站安装”输入http://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111就可以安装了,如果不行的话就自行下载压缩包解压放到SD的extensions目录下。
(๑•̀ㅂ•́) ✧很棒的一点是插件作者是华人,他很慷慨地把代码上传到gitee上,所以不用梯子也能下载,并且有全中文教程:https://gitee.com/stable_diffusion/multidiffusion-upscaler-for-automatic1111.git
安装完之后一定要重启sd进程!仅仅应用更改并重启前端是不够的。之后我们可以看到文生图的左下方多了Tiled Diffusion和Tiled VAE选项:
二、基础使用
1)Tiled VAE基本原理是对图像进行分块,然后分别送入Stable Diffusion模型,最后进行融合。
下面是使用要点:
- 在第一次使用时,脚本会为我们推荐设置。
- 因此,通常情况下,我们不需要更改默认参数。
- 只有在以下情况下才需要更改参数:
- 当生成之前或之后看到CUDA内存不足错误时,降低编码器分块大小
- tile 太小且图片变得灰暗和不清晰时,启用编码器颜色修复。
2)Tiled Diffusion
下面介绍下一个模块Tiled Diffusion:
-
潜空间分块宽度要多大才合适?
-
- 较大的块大小将提升处理速度,因为小块数量会较少。
- 然而,最佳大小取决于SD模型。由于大多数模型无法生成大于1280 * 1280的好图片。因此,在潜在空间中将其除以8后,将得到64-160。因此,应该选择64-160之间的值。
- 个人建议选择96或128以获得更快的速度。
-
潜空间分块重叠要多大才合适?
-
- 重叠减少了融合中的接缝。显然,较大的重叠值意味着更少接缝,但会显著降低速度,因为需要重新绘制更多的小块。
- 与 MultiDiffusion 相比,Mixture of Diffusers 需要较少的重叠,因为它使用高斯平滑(因此可以更快)。
- 个人建议使用 MultiDiffusion 时选择32或48,使用 Mixture of Diffusers 选择16或32
-
放大算法(Upscaler) 选项将在图生图(img2img)模式中可用,可选用一个合适的前置放大器。
区域提示词控制:
通常情况下,所有小分块共享相同的主提示语。如果我们需要对不同分块使用不同提示词就需要用到这个工具。
- 首先,启用区域提示语控制。
- 注意:启用区域控制时,默认的小块分割功能将被禁用。
- 如果自定义区域不能填满整个画布,它将在这些未覆盖的区域中产生棕色(MultiDiffusion)或噪声(Mixture of Diffusers)。
- 建议使用自己的区域来填充整个画布,因为在生成时速度可能会更快。
- 如果懒得绘制,也可以启用绘制完整的画布背景(Draw full canvas background)。但是,这将显著降低生成速度。
上传一张图片,或点击按钮创建空白图像作为参考。
点击区域1的启用,将在图像中看到一个红色的矩形。
在区域中点击并拖动鼠标以移动和调整区域大小。
选择区域类型。如果想绘制对象,请选择前景。否则选择背景。
-
- 如果选择前景,则会出现羽化。
- 较大的值将提供更平滑的边缘。
输入区域的提示语和负面提示语。
-
- 注意:提示将附加到页面顶部的主提示语中。
- 可以利用此功能来节省你的词条,例如在页面顶部使用使用常见的提示语(如“masterpiece, best quality, highres…”)并使用“EasyNegative”之类的 embedding 。
- 也可以在提示语中使用 Textual Inversion 和 LoRA
三、效果展示
对于笔者这种低显存玩家而言(8G),简直是福音!下面我们开始演示~
1)生成超高清大图
我们来生成一幅山水画,提示词:masterpiece, best quality, highres, landscape, Chinese_style, mountain, lake, waterfall, trees, very_wide_shot, pavilion, tower, palace, <lora:Ink scenery:0.9>
勾选“高分辨率修复”,修改重绘幅度为0.35
我们尝试将1024x512的图片扩展到4096x2048。如果不启用Tiled VAE将很容易得到Cuda out of memory错误,表示显存不够。可以先关闭其它应用试试。
然后我们同时启用Tiled VAE和Tiled Diffusion,刚开始的时候很容易显存不足,为此可以调整参数(减小编码器分块大小、减小潜空间分块单批数量)。
整个过程还是很慢的,耗时10分钟左右,我们来看看效果:
原图(1024*512):
高清大图(4096*2048):
完整模式下凭肉眼很难看到区别,所以我们放大来看(左边原图,右边高清图):
高清化效果还是比较明显的!
2)图片高清化
如果我们有一张图片需要高清化,也可以用Tiled VAE来实现。
采样方法默认为Euler a,迭代步数20。重绘尺寸建议不修改,但是重绘幅度要改成0.3~0.35,不然整个画面都会劣化。提示词:masterpiece, best quality, highres, extremely detailed 8k wallpaper, very clear, absurdres,
Tiled VAE和Tiled diffusion的参数和之前一样设置,有几点不同:
- 勾选“保持图像大小”。那么上面的重绘尺寸就会失效;
- 噪声翻转。适用于不想改变作画结构的 Img2Img
- 超高分辨率高质量图像放大,8k图仅需12G显存
- 尤其适用于人像放大,当你不想大幅改变人脸时
- 4x放大效果,去噪强度0.4:对比图1,对比图2
- 对比Ultimate SD Upscale, 这一的算法更加忠实于原图,且产生更少的奇怪结果。与Ultimate SD Upscale(实测最佳去噪强度0.3)
⚠ 请不要一上来就放的非常大,建议先在小图上用1.5x测试。通常需要denoise小于0.6,CFG敏感度不大,可自行尝试。
原图:majicMIX realistic(1152x1152)
高清图(4608x4608):
高清图带噪声翻转(4608x4608):
整体的色彩都有优化。
人物表情有细微变化,这和重绘幅度设置有关。不过无伤大雅,可以直接用来做桌面哈哈~
3)区域提示词控制
通过融合不同区域实现大型图像绘制。例如我们想在一幅画同时画一个男孩和女孩。所用模型为国产AWPainting。
注意全局提示词里不能有关于画面主体的描述。可以是画面风格和质量例如:masterpiece, best quality, highres, extremely clear 8k wallpaper, absurdres
- 注意:编码器分块大小(tile size)参数将不起作用
区域设定:
- 区域 1:提示语 = masterpiece, best quality, highres, landscape, Chinese_style, mountain, lake, waterfall, trees, very_wide_shot, pavilion, tower, palace, <lora:Ink scenery:1.5>,类型 = Background
- 区域 2:提示语 = 1girl, long_hair, standing, white_dress, full_body, holding, sword,lora:xrs_v20:1,类型 = Foreground,羽化 = 0.2
生成的效果还是很赞的,女孩和美景融为一体了。
再加入第三个区域,提示词:1boy, standing, black_clothes, full_body, holding, feather_fan,side_view, looking_left, lora:hanfu_v30:0.8
是不是很美呢?
此外,Tiled VAE还可以与 ControlNet 配合使用。
四、提高分辨率特别提示
- 提高分辨率的推荐参数
采样器(Sampler) = Euler a,步数(steps) = 20,去噪强度(denoise) = 0.35,方法(method) = Mixture of Diffusers,潜变量块高和宽(Latent tile height & width) = 128,重叠(overlap) = 16,分块批处理规模(tile batch size)= 8(如果 CUDA 内存不足,请减小块批量大小)。 - 支持蒙版局部重绘(mask inpaint)
如果你想保留某些部分,或者 Tiled Diffusion 给出的结果很奇怪,只需对这些区域进行蒙版。
- 所用的模型很重要
MultiDiffusion 与 highres.fix 的工作方式非常相似,因此结果非常取决于你所用的模型。
一个能够绘制细节的模型可以为你的图像添加惊人的细节。
使用完整的模型而不是剪枝版(pruned)模型可以产生更好的结果。
- 不要在主提示语中包含任何具体对象,否则结果会很糟糕。
只需使用像“highres, masterpiece, best quality, ultra-detailed 8k wallpaper, extremely clear”之类的词语。
推荐使用区域提示语控制来控制具体对象。
- 不需要使用太大的块大小、过多的重叠和过多的降噪步骤,否则速度会非常慢。
- 提示词相关性(CFG scale)可以显著影响细节
较大的提示词相关性(例如 14)可以提供更多的细节。
- 可以通过0.1 - 0.6 的降噪强度来控制你想要多大程度地改变原始图像.
五、总结
Tiled VAE可以帮助我们解决生成高清大图的问题,并且支持对画面进行区域提示词绘制,这是非常实用的。对于低显存的玩家来说还是非常给力的,强烈建议大家都尝试一下哦~
关于AI绘画技术储备
学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!
感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。
需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】