Tiled Diffusion

2年前发布 85,126 0 0

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code lik...

所在地:
新加坡
收录时间:
2023-09-24
使用chatgpt

本插件通过以下三种技术实现了在有限的显存中进行大型图像绘制:

两种 SOTA diffusion tiling 算法:Mixture of DiffusersMultiDiffusion

  • mixture:Mixture of Diffusers(扩散体混合)是一种图像生成方法,它包含了多个不同的扩散过程,共同合作生成一张图像。每个扩散体专注于图像中的特定区域,并考虑边界效应以促进平滑混合。这种方法的目标是通过并行使用多个扩散过程,每个过程使用特定的提示和设置,并专注于图像的特定区域,从而提供更好的图像组合工具。通过这种方式,可以更精确地控制图像中对象的位置,并实现特定的构图。这种方法还可以防止生成图像中出现“接缝”效应。Mixture of Diffusers引入了高斯平滑的处理,接缝可以设置小一些。
  • MultiDiffusion是一种用于控制图像生成的方法。它利用一个预先训练的文本到图像模型,无需额外的训练或微调,能够生成高质量且多样化的图像。MultiDiffusion的核心是一个基于优化任务的新型生成过程,它将多个扩散生成过程以及一组共享的参数或约束绑定在一起。通过这种方式,可以轻松实现用户所需的图像控制,如期望的长宽比和空间引导信号。MultiDiffusion还可以应用于生成全景图、基于准确分割掩码或粗糙掩码的区域性生成。它生成的图像具有高质量、无缝连接,并且能够合理组合场景、场景效果和物体的相对大小。
  • 区别:MultiDiffusion和混合模型(mixture model)在图像生成方面有一些不同之处。首先,MultiDiffusion是基于扩散路径的方法,而混合模型是一种基于概率分布的方法。MultiDiffusion通过在每一步生成过程中绑定多个扩散生成路径来生成图像,这些生成路径具有共享的参数或约束。它的生成过程更加灵活,可以根据用户提供的控制信号生成具备所需属性的图像,如长宽比和空间引导信号。相比之下,混合模型通过将多个概率分布加权组合来生成图像,这些分布可以是不同类型的分布,如高斯混合模型。混合模型的生成过程是根据每个分布的权重和参数进行的,而不具备用户控制的灵活性。 其次,MultiDiffusion不需要额外的训练或微调,它利用了一个预训练的文本到图像扩散模型。相反,混合模型通常需要通过训练来估计分布的参数和权重。这意味着在使用MultiDiffusion时,我们可以直接应用预训练模型来生成图像,而在使用混合模型时,需要在生成图像之前进行模型的训练过程。

综上所述,MultiDiffusion是一种灵活、可控且无需额外训练的图像生成方法,而混合模型是一种基于概率分布的生成方法,其生成过程更依赖于估计的分布参数和权重。

使用Mixture of Diffusers还具有在生成非常大的图像时的实际优势,因为GPU内存需求与生成单个瓷砖大小的图像相似。

原创的 Tiled VAE 算法。

原创混合放大算法生成超高清图像

结合 ControlNet v1.1 tile模型

高质量图像放大,产生清晰且整洁的细节。

  • 本插件的 Tiled Noise Inversion 功能可以与 ControlNet v1.1 Tile模型 (简称 CN Tile) 协同工作,产出细节合适的高质量大图。
  • 高重绘幅度下(>= 0.4)CN Tile 倾向于产生过多的细节,使图像看起来脏乱。
  • MultiDiffusion Noise Inversion 倾向于产生整洁但过度磨皮的图像,缺乏足够的细节。然而把这两个功能结合,就能同时消除两者的缺陷。
  • 能产生整洁清晰的线条、边缘和颜色能产生适当和合理的细节,不显得怪异或凌乱。
  • 推荐的设置:
    • 重绘幅度 >= 0.75,采样步数25步
    • Method = Mixture of Diffusers,overlap = 8
    • Noise Inversion Steps >= 30
    • Renoise strength = 0
    • CN Tile 预处理器 = tile_resample,下采样率 = 2
  • 如果您的结果模糊:
    • 尝试增加 Noise Inversion Steps
    • 尝试降低重绘幅度
    • 尝试换一个模型
  • 与纯 CN Tile 对比,画面更加整洁:
    • 比较1,50 NI 步数,重绘幅度 = 0.75
    • 比较2,200 NI 步数,重绘幅度 = 1
  • 高重绘幅度下画面颜色会变,这是CN Tile的已知bug,我们无法修复

Tiled Noise Inversion

  • 适用于不想改变作画结构的 Img2Img
  • 超高分辨率高质量图像放大,8k图仅需12G显存
  • 尤其适用于人像放大,当你不想大幅改变人脸时
  • 4x放大效果,去噪强度0.4:对比图1,对比图2
  • 对比Ultimate SD Upscale, 这一的算法更加忠实于原图,且产生更少的奇怪结果。与Ultimate SD Upscale(实测最佳去噪强度0.3),对比如下 对比图1,对比图2
  • 请不要一上来就放的非常大,建议先在小图上用1.5x测试。通常需要denoise小于0.6,CFG敏感度不大,可自行尝试。
  • Tiled VAE

  • 极大降低 VAE 编解码大图所需的显存开销
  • 几乎无成本的降低显存使用。
  • 您可能不再需要 –lowvram 或 –medvram。
  • 以 highres.fix 为例,如果您之前只能进行 1.5 倍的放大,则现在可以使用 2.0 倍的放大。通常您可以使用默认设置而无需更改它们。但是如果您看到 CUDA 内存不足错误,请相对降低两项 tile 大小。
  • 使用教程:Tiled Diffusion+Tiled VAE+ControlNet Tile模型,低显存打造AI绘画超高清6K分辨率体验!StableDiffusion扩展插件教程

    数据统计

    相关文章

    相关导航