Semantic Image Synthesis with SPADE (GauGAN) - Tensorflow
Simple Tensorflow implementation of "Semantic Image Synthesis with Spatially-Adaptive Normalization" (CVPR 2019 Oral)
- scipy == 1.2.0
- The latest version is not available.
imsave
is deprecated.
- tqdm
- numpy
- pillow
- opencv-python
- tensorflow-gpu
- keras
- YOUR DATASET
- Image
- Segmentation map
- Don't worry. I do one-hot encoding of segmentation map automatically (whether color or gray)
- CelebAMask-HQ
- Download checkpoint
- CelebAMask-HQ, hinge loss
- It is a better performance than the results in the
READEME
├── 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)
> python main.py --dataset spade_celebA --img_ch 3 --segmap_ch 3 --phase train
> python main.py --dataset spade_celebA --segmap_ch 3 --phase random
> python main.py --dataset spade_celebA --img_ch 3 --segmap_ch 3 --phase guide --guide_img ./guide_img.png
CelebA-HQ (Style Manipulation)
CelebA-HQ (Random Manipulation)
How about the Least-Square loss ?
CelebA-HQ (Style Manipulation)
CelebA-HQ (Random Manipulation)
Generator |
Image Encoder |
Discriminator |
All-in-one |
![](./assets/generator.png) |
![](./assets/image_encoder.png) |
![](./assets/discriminator.png) |
![](./assets/architecture.png) |
SPADE |
SPADE Residual Block |
![](./assets/spade.png) |
![](./assets/spade_resblock.png) |
Junho Kim