Introduction
简称latent-diffusion,其实从名称上就可以大致体会到该论文使用的方法,已知diffusion全程都没有改变图片的shape,始终保持原通道数和长宽,此举带来了大量的计算成本,尤其是对于高分辨率图像的生成。为了解决该问题,该方法从原尺寸图片生成尺寸更小的latent code,以减少diffusion的计算量
Contribution
- 对比transformer-based的方法,该方法能够在压缩的空间(work on a compression level)对图像进行重建,生成比之前的方法更加可靠与详细的结果。并能应用于百万像素图像的高分辨率合成(high-resolution synthesis of megapixel images)。
- 在多任务上均有较好的表现,同时显著降低计算成本。并且对比像素级别的diffusion方法,节省了推断成本。
- 该方法不需要平衡重建和生成的能力,对latent space几乎不需要正则化。
- 本文设计了一种基于cross-attention的通用条件生成控制机制,能够实现多模态的训练。(class-conditional, text-to-image、layout-to-image)
Method
Perceptual Image Compression
思路很简单,使用一个自编码模型学习了一个感知上等同于图像空间的空间,但显著降低了计算复杂度
对于图像,可以使用encoder和decoder重建图像,
为了避免潜在的高方差空间,作者使用了两种正则化方法进行实验。一种是KL-reg,一种是VGgan中使用到的VQ-reg。这部分不是很理解,应该是需要对生成的潜在空间进行一定的约束,具体还需要了解下上述两种方法
Latent Diffusion Models
就是在原来Diffusion的基础上添加上述encoder和decoder,现将图片变换为潜在编码,然后再进行diffusion process,需要使用图片时使用decoder变换回原尺寸
原DM(Diffusion Models)Loss为
该方法的LDM(Latent Diffusion Models)Loss为
Conditioning Mechanisms
该文同样提供了文字图像等为条件的生成方法,可以直接进行concat,或者使用cross-attention,条件输入为,为了适应不同种类的条件,使用一个encoder 将映射为中间表示,然后使用,其中
这里是Diffusion Model里生成的Unet模型的中间表示,最终Loss为
Experiments
总结
这篇文章的思路很简单,前面看完就大概猜到是怎么做的了,我觉得该最重要的是将Diffusion与GAN联系了起来,StyleGAN的latent code会随着维度的增加编辑能力下降、重建能力上升,而Diffusion的latent code是的,比StyleGAN的空间的18\time 512都要大的多,所以是否可以用同样的思路将Diffusion Model的latent code映射到便于编辑的空间中。不过得先看看有没有用Diffusion进行图像编辑的方法,以及他们是怎么做的
该如何将StyleGAN与Diffusion联系起来,使用Diffusion解决一些StyleGAN可以解决的问题,或者将两者结合解决一些新的问题,可能需要多看看Diffusion的论文,写写代码对比下效果才行