时间线
以下是一些重要的里程碑,它们代表了基于Diffusion的图像生成方法的发展:
时间&机构 | 名称 | 简述 |
---|---|---|
- | VAE | Variational AutoEncoder,变分自编码器用于图像生成 |
2020.12 | VQ-VAE | Vector Quantized-Variational AutoEncoder,一种用于生成模型的量化技术 |
2020.12 | VQ-GAN | Vector Quantized-Generative Adversarial Network,结合了量化和对抗性生成模型 |
2020.12 UCBerkeley | DDPM | Denoising Diffusion Probabilistic Models,开创性地使用扩散过程生成图像 |
2020.12 Stanford | DDIM | Denoising Diffusion Implicit Models,显著提高了DDPM的生成速度 |
2021.12 Runway | LDM | Latent Diffusion Models,将扩散过程应用于潜在空间以生成图像 |
2021.12 Stability AI | StableDiffusion | LDMs模型效果比较好的开源图像生成模型 |
2022.02 OpenAI | DALLE | 以文本与图像作为token,利用Transformer的自回归机制来生成图像 |
2022.03 OpenAI | GLIDE | 基于DiffusionModel,关键创新在于提Classifier-free,将类别c直接作为模型先验输入 |
2022.04 OpenAI | DALLE2 | 也叫UnClip,通过text embedding扩散为img embedding,将img embedding扩散出image |
2022.10 OpenAI | DALLE3 | 推测基于DALLE2,通过仿真加入部分高描述性的图文对 |
2022.05 Google | Imagen | 通过LLM抽取text embedding,通过cross attention融入Diffusion Model |
2023/03 UC Berkeley && NYU | DIT | 将latent diffusion中的UNet替换为ViT |
OpenAI | SOTA参考1、 SOTA参考2 | 将latent diffusion中的UNet替换为ViT |
Stanford University | ControlNet | Fintinue |
更多文章参考 https://github.com/CroitoruAlin/Diffusion-Models-in-Vision-A-Survey
数据集
在基于Diffusion的图像生成研究中,常用的数据集包括但不限于:
Unconditional Image Generation
数据集名称 | 机构 | 数量 | 官网 |
---|---|---|---|
CelebA-HQ | NVIDIA | 3万分辨率1024×1024人脸 | 超分算法+人工筛选,具体参考文章中AppendixC |
FFHQ | NVIDIA | 7万分辨率1024×1024人脸 | 具体参考项目 |
LSUN | Princeton University | 1M 10个场景20个类别 | paper |
Conditional Image Generation
数据集名称 | 机构 | 数量 | 官网 |
---|---|---|---|
LAION-400M | LAION | 400M | paper, project |
YFCC100M | 2016年Yahoo Labs等 | 100M图文对,源于雅虎 | paper |
JFT300M | 2017年Google/CMU | 300M 18291个类别 | paper |
评测方法
FID(Fréchet Inception Distance)
衡量的是生成图像与真实图像在特征空间中的分布距离,FID越低,表示生成图像与真实图像的分布越接近。具体测试方法如下:真实样本与生成样本采样相同数据集,使用CNN提取特征点后,用高斯分布来拟合,判断这两个分布之间距离。例如zero shot FID-30K 是从验证集中随机抽取30k个prompts,待评测模型使用这些prompts生成图像再使用CNN抽取特征,计算特征拟合出的高斯分布与验证集所有图像特征的高斯分布之间的距离。
IS(Inception Score)
一种衡量生成模型输出图像质量的指标,特别是在评估图像生成模型时被广泛使用,IS越高,表示生成图像的质量与多样性越好。
IS from kimichat
Fromkimichat(提示词:那Inception Score有如何衡量生成图像的质量高低呢?) ## Inception Score 衡量生成图像质量的指标Inception Score (IS) 是一种衡量生成模型输出图像质量的指标,特别是在评估生成对抗网络(GANs)时被广泛使用。它基于一个简单的观点:如果一个模型能够生成多样且真实的图像,那么这些图像在类别层面上应该是不可区分的,即模型生成的图像应该能够被Inception网络正确分类,并且类别分布应该是多样化的。
Inception Score 的计算步骤
-
生成图像集合:首先,从生成模型中生成一批图像。
-
分类概率分布:接着,使用一个预训练的Inception网络(或类似的分类网络)对这些生成的图像进行分类,得到每张图像的类别概率分布。
-
计算边缘熵:对于每张图像,计算其类别概率分布的边缘熵(即类别熵的期望值)。边缘熵是一个衡量分布多样性的指标,熵越高,表示分布越分散,即类别越多样化。
-
计算Inception Score:最后,Inception Score是所有生成图像边缘熵的平均值乘以一个常数(通常是分类网络的类别数)。数学上,如果 ( p(y|x) ) 是模型预测图像 ( x ) 属于类别 ( y ) 的概率,那么Inception Score 可以表示为:
[ IS = \exp\left(\mathbb{E}_{x}\left[ H(p(y|x)) \right] \right) ]
其中,( H(p(y|x)) ) 是针对单个图像的熵,计算为 ( -\sum_{y} p(y|x) \log p(y|x) )。
Inception Score 反映的质量指标
- 多样性:生成图像的类别分布越分散,得分越高。
- 真实性:生成图像需要能够被正确分类,即类别概率分布的峰值不应太低。
一个高的Inception Score 意味着生成的图像既多样又真实。然而,Inception Score 也有一些局限性,例如它可能不会考虑到图像的感知质量,也不会衡量图像的分辨率或细节。此外,Inception Score 也可能受到模型过拟合的影响,因为过拟合的模型可能会生成高度一致的图像,从而获得较高的分数。
尽管存在这些局限性,Inception Score 仍然是评估生成模型性能的一个有用且广泛使用的指标。
CLIP Score
将condition text与生成的图像送入训练好的CLIP模型中,计算整个测试集得分。
经典方法框架
基于Diffusion的图像生成方法通常遵循以下框架:
- 正向扩散: 逐步向数据添加噪声,将其转化为一个简单的分布。
- 训练阶段: 使用神经网络学习如何逆转扩散过程,即预测并去除噪声。
- 逆向生成: 从简单的分布开始,逐步去除噪声,生成高质量的图像。
核心原理参考:DDPM原理
最新研究方向及SOTA
最新的研究方向包括:
- 条件扩散模型: 通过引入条件信息(如文本描述、高描述性Text、草图)来控制图像生成过程。
- 扩散空间:图像空间 -> 潜空间
- 扩散模型的加速: 通过改进算法和硬件加速,减少生成图像所需的时间。例如 DDIM、DeepCache。
- 扩散模型的稳定性: 通过改进模型结构和训练策略,提高生成图像的稳定性和质量。
当前SOTA (State of the Art) 的模型包括:
业务使用场景
基于Diffusion的图像生成技术在多个业务场景中具有广泛的应用:
- 艺术创作: 生成独特的艺术作品和图案。
- 游戏开发: 生成游戏中的环境、角色和物品。
- 广告设计: 生成吸引人的广告图像和海报。
- 数据增强: 为机器学习模型提供更多的训练数据。
- 虚拟试衣: 根据用户的身材和偏好生成服装的试穿效果。
- 个性化推荐: 根据用户的兴趣生成个性化的图像内容。
随着技术的不断发展,基于Diffusion的图像生成方法将在更多领域发挥重要作用,推动人工智能和创意产业的进步。
相关链接
Diffusion Models in Vision: A Survey
相关Paper汇总
An Overview of Diffusion Models: Applications, Guided Generation, Statistical Rates and Optimization
Video Diffusion Models: A Survey