LayerDiffusion是什么
LayerDiffusion(现已更名为LayerDiffuse)是由来自斯坦福大学的研究人员 Lvmin Zhang(即ControlNet的作者张吕敏)和 Maneesh Agrawala 共同提出的一种利用大规模预训练的潜在扩散模型(如Stable Diffusion)生成透明图像的技术,可以帮助用户生成单个透明图像或多个透明图层。该方法的核心在于引入了“潜在透明度”的概念,将图像的alpha通道的透明度信息编码到潜在空间中,从而使得原本用于生成非透明图像的模型能够生成具有透明度的图像。
借助LayerDiffusion,用户无需先生成图片再利用如Remove.bg之类的AI技术进行抠图,可以直接快速生成背景透明的免抠图片。

LayerDiffusion的官网入口
GitHub代码库:https://github.com/layerdiffusion/LayerDiffusion(模型和源码即将上线) LayerDiffusion SD WebUI版:https://github.com/layerdiffusion/sd-forge-layerdiffusion arXiv研究论文:https://arxiv.org/abs/2402.17113LayerDiffusion的功能特性
生成透明图像:LayerDiffusio 能够生成具有透明度的图像,这意味着它可以创建具有 alpha 通道的图像,其中 alpha 通道定义了图像中每个像素的透明度。生成多个透明图层:除了单个透明图像,LayerDiffusion还能够生成多个透明图层。这些图层可以独立生成,也可以根据特定的条件(如前景或背景)生成,并且可以混合在一起以创建复杂的场景。条件控制生成:LayerDiffusion 支持条件控制生成,根据透明图像生成前景或背景,为创建特定场景的图像提供了灵活性。图层内容结构控制:用户还可以将 LayerDiffusion 与 ControlNet 控制框架相结合,对图层内容进行结构控制,以指导图层、布局、元素和对象形状等。 重复迭代组合图层:LayerDiffusion可以通过重复背景条件前景模型来迭代地组合多个层,以增量地构建具有任意数量的透明图层的组合图像。 高质量的图像输出:通过将透明度作为潜在偏移量添加到预训练模型的潜在空间中,LayerDiffusion 能够在不显著改变原始潜在分布的情况下,保持预训练模型的高质量输出。LayerDiffusion的工作原理
潜在空间的准备: 首先,LayerDiffusion 使用预训练的潜在扩散模型(如 Stable Diffusion)的潜在空间,该潜在空间是通过变分自编码器(VAE)将 RGB 图像编码得到的。 为了支持透明度,LayerDiffusion 在潜在空间中引入了一个额外的维度(潜在透明度),用于表示图像的 alpha 通道(透明度信息)。潜在透明度的编码和解码: LayerDiffusion 训练两个独立的神经网络:一个潜在透明度编码器和一个潜在透明度解码器。 编码器接收原始图像的 RGB 和 alpha 通道,并将透明度信息编码为一个潜在偏移量,这个偏移量被添加到潜在空间的表示中。 解码器则从调整后的潜在表示中提取透明度信息,并将其解码回原始的 alpha 通道。
