/SPADE-Tensorflow

Simple Tensorflow implementation of "Semantic Image Synthesis with Spatially-Adaptive Normalization" (CVPR 2019 Oral)

Primary LanguagePythonMIT LicenseMIT

Semantic Image Synthesis with SPADE (GauGAN) - Tensorflow

Simple Tensorflow implementation of "Semantic Image Synthesis with Spatially-Adaptive Normalization" (CVPR 2019 Oral)

Preparation

  • Image
  • Segmentation map
    • Don't worry. I do one-hot encoding of segmentation map automatically (whether color or gray).

Usage

├── dataset
   └── YOUR_DATASET_NAME
       ├── image
           ├── 000001.jpg 
           ├── 000002.png
           └── ...
       ├── segmap
           ├── 000001.jpg
           ├── 000002.png
           └── ...
       ├── segmap_test
           ├── a.jpg 
           ├── b.png
           └── ...
       ├── segmap_label.txt (Automatically created) 
       
├── guide.jpg (example for guided image translation task)

Train

> python main.py --dataset spade_celebA --img_ch 3 --segmap_ch 3 --phase train 

Random test

> python main.py --dataset spade_celebA --segmap_ch 3 --phase random

Guide test

> python main.py --dataset spade_celebA --img_ch 3 --segmap_ch 3 --phase guide --guide_img ./guide_img.png

Our Results

Loss grpah

CityScape

CelebA-HQ (Style Manipulation)


CelebA-HQ (Random Manipulation)


How about the Least-Square loss ?

CelebA-HQ (Style Manipulation)


CelebA-HQ (Random Manipulation)


Architecture

Generator Image Encoder Discriminator All-in-one

SPADE architecture

SPADE SPADE Residual Block

Author

Junho Kim