Image Generation Models: A Technical History
Abstract
Image generation has advanced rapidly over the past decade, yet the literature seems fragmented across different models and application domains. This paper aims to offer a comprehensive survey of breakthrough image generation models, including variational autoencoders (VAEs), generative adversarial networks (GANs), normalizing flows, autoregressive and transformer-based generators, and diffusion-based methods. We provide a detailed technical walkthrough of each model type, including their underlying objectives, architectural building blocks, and algorithmic training steps. For each model type, we present the optimization techniques as well as common failure modes and limitations. We also go over recent developments in video generation and present the research works that made it possible to go from still frames to high quality videos. Lastly, we cover the growing importance of robustness and responsible deployment of these models, including deepfake risks, detection, artifacts, and watermarking.
Figures & tables
| Method | Inception Score |
| AC-GANs | 28.5 0.20 |
| concat | 21.1 0.35 |
| projection | 29.7 0.61 |
| projection (850K iterations) | 36.8 0.44 |
| Dataset | Config | FID | EQ-T | EQ-R |
| FFHQ-U | StyleGAN2 | |||
| 70,000 img, | StyleGAN3-T (ours) | |||
| Train from scratch | StyleGAN3-R (ours) | 3.66 | 64.78 | 47.64 |
| FFHQ | StyleGAN2 | 2.70 | ||
| 70,000 img, | StyleGAN3-T (ours) | |||
| Trained from scratch | StyleGAN3-R (ours) | 64.76 | 46.62 |
| Model | CIFAR-10 | ImageNet 32 32 | ImageNet 64 64 |
| Real NVP | 3.49 | 4.28 | – |
| Glow | 3.35 | 4.09 | 3.81 |
| IAF-VAE | 3.11 | – | – |
| Flow++ | 3.08 | 3.86 | 3.69 |
| PixelCNN | Row LSTM | Diagonal BiLSTM |
|---|---|---|
| conv mask A | ||
| Multiple residual blocks: | ||
| Conv mask B | Row LSTM i-s: mask B s-s: no mask | Diagonal BiLSTM i-s: mask B s-s: no mask |
| ReLU followed by conv, mask B (2 layers) | ||
| 256-way Softmax for each RGB color (Natural images) or Sigmoid (MNIST) | ||
| Model | NLL |
| PixelCNN | 3.14 |
| Row PixelRNN | 3.00 |
| Gated PixelCNN | 3.03 |
| PixelCNN++ | 2.92 |
| PixelSNAIL | 2.85 |
| Image Transformer | 2.9 |
| Model | ImageNet | CIFAR |
| Improved DDPM [ 87 ] | 3.53 | 2.94 |
| DDPM (cont. flow) [ 88 ] | – | 2.99 |
| DDPM [ 83 ] | 3.77 | 3.70 |
| Sparse Transformers [ 89 ] | 3.44 | 2.80 |
| Routing Transformers [ 90 ] | 3.43 | – |
| Pixel SNAIL [ 69 ] | 3.52 | 2.85 |
| Model | NFE | FID | Precision | Recall |
| PD [ 91 ] | 1 | 15.39 | 0.59 | 0.62 |
| DFNO [ 94 ] | 1 | 8.35 | – | – |
| CD | 1 | 6.20 | 0.62 | 0.63 |
| PD [ 91 ] | 2 | 8.95 | 0.63 | 0.65 |
| CD | 2 | 4.70 | 0.69 | 0.64 |
| Model | Zero-shot FID-30K |
| DALL-E | 17.89 |
| GLIDE | 12.24 |
| DALL-E 2 | 10.39 |
| Imagen | 7.27 |
| Dataset | DALL-E 3 | Midjourney 5.2 | Stable Diffusion XL | DALL-E 2 |
| DALL-E 3 Eval (prompt following) | 153.3 | -104.8 | -189.5 | – |
| DALL-E 3 Eval (style) | 74.0 | 30.9 | -95.7 | – |
| MSCOCO (coherence) | 71.0 | 48.9 | -84.2 | – |
| Drawbench | 61.7 | – | -34.0 | -79.3 |
| Model | SDXL | SD 1.4/1.5 | SD 2.0/2.1 |
| # of UNet params | 2.6B | 860M | 865M |
| Transformer blocks | [0, 2, 10] | [1, 1, 1, 1] | [1, 1, 1, 1] |
| Channel mult. | [1, 2, 4] | [1, 2, 4, 4] | [1, 2, 4, 4] |
| Text encoder | CLIP ViT-L & OpenCLIP ViT-bigG | CLIP ViT-L | OpenCLIP ViT-H |
| Context dim. | 2048 | 768 | 1024 |
| Pooled text emb. | OpenCLIP ViT-bigG | N/A | N/A |
| CIFAR-10 | ImageNet | |||||
| Model | BPD | FID | NFE | BPD | FID | NFE |
| Ablations | ||||||
| DDPM | 3.12 | 7.48 | 274 | 3.54 | 6.99 | 262 |
| Score Matching | 3.16 | 19.94 | 242 | 3.56 | 5.68 | 178 |
| ScoreFlow | 3.09 | 20.78 | 428 | 3.55 | 14.14 | 195 |
| Ours | ||||||
| User preference, % | Facial Exp. | Tai-Chi |
| MoCoGAN / VGAN | 84.2 / 15.8 | 75.4 / 24.6 |
| MoCoGAN / TGAN | 54.7 / 45.3 | 68.0 / 32.0 |
| Method | Resolution | FID ( ) | IS ( ) |
| MoCoGAN [ 121 ] | 16x64x64 | 26998 33 | 12.42 |
| TGAN-F [ 127 ] | 16x64x64 | 8942.63 3.72 | 13.62 |
| TGAN-ODE [ 128 ] | 16x64x64 | 26512 27 | 15.2 |
| TGAN-F [ 127 ] | 16x128x128 | 7817 10 | 22.91 .19 |
| VideoGPT [ 124 ] | 16x128x128 | — | 24.69 0.30 |
| TGAN-v2 [ 129 ] | 16x64x64 | 3431 19 | 26.60 0.47 |
| Methods | UADFV | DeepfakeTIMIT | |
| LQ | HQ | ||
| Two-stream NN [ 153 ] | 85.1 | 83.5 | 73.5 |
| Meso-4 [ 154 ] | 84.3 | 87.8 | 68.4 |
| MesoInception-4 [ 154 ] | 82.1 | 80.4 | 62.7 |
| HeadPose [ 151 ] | 89.0 | – | – |
| VGG16-backbone | 84.5 | 84.6 | 57.4 |
| Training dataset | Testing dataset | Accuracy |
| CycleGAN | StarGAN | 99.49 |
| StarGAN | cycleGAN | 93.42 |