All Projects → kkanshul → Finegan

kkanshul / Finegan

Licence: bsd-2-clause
FineGAN: Unsupervised Hierarchical Disentanglement for Fine-grained Object Generation and Discovery

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Finegan

Anycost Gan
[CVPR 2021] Anycost GANs for Interactive Image Synthesis and Editing
Stars: ✭ 367 (+52.92%)
Mutual labels:  generative-adversarial-network, gans, image-generation, image-manipulation
Selectiongan
[CVPR 2019 Oral] Multi-Channel Attention Selection GAN with Cascaded Semantic Guidance for Cross-View Image Translation
Stars: ✭ 366 (+52.5%)
Mutual labels:  generative-adversarial-network, gans, image-generation, image-manipulation
Cyclegan
Software that can generate photos from paintings, turn horses into zebras, perform style transfer, and more.
Stars: ✭ 10,933 (+4455.42%)
Mutual labels:  generative-adversarial-network, gans, image-generation, image-manipulation
Gesturegan
[ACM MM 2018 Oral] GestureGAN for Hand Gesture-to-Gesture Translation in the Wild
Stars: ✭ 136 (-43.33%)
Mutual labels:  generative-adversarial-network, gans, image-generation, image-manipulation
Contrastive Unpaired Translation
Contrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)
Stars: ✭ 822 (+242.5%)
Mutual labels:  generative-adversarial-network, gans, image-generation, image-manipulation
Pytorch Cyclegan And Pix2pix
Image-to-Image Translation in PyTorch
Stars: ✭ 16,477 (+6765.42%)
Mutual labels:  generative-adversarial-network, gans, image-generation, image-manipulation
Tsit
[ECCV 2020 Spotlight] A Simple and Versatile Framework for Image-to-Image Translation
Stars: ✭ 141 (-41.25%)
Mutual labels:  generative-adversarial-network, image-generation, image-manipulation
AODA
Official implementation of "Adversarial Open Domain Adaptation for Sketch-to-Photo Synthesis"(WACV 2022/CVPRW 2021)
Stars: ✭ 44 (-81.67%)
Mutual labels:  image-manipulation, image-generation, gans
Cocosnet
Cross-domain Correspondence Learning for Exemplar-based Image Translation. (CVPR 2020 Oral)
Stars: ✭ 211 (-12.08%)
Mutual labels:  generative-adversarial-network, gans, image-manipulation
Data Efficient Gans
[NeurIPS 2020] Differentiable Augmentation for Data-Efficient GAN Training
Stars: ✭ 682 (+184.17%)
Mutual labels:  generative-adversarial-network, gans, image-generation
Mixnmatch
Pytorch implementation of MixNMatch
Stars: ✭ 694 (+189.17%)
Mutual labels:  gans, image-generation, image-manipulation
Focal Frequency Loss
Focal Frequency Loss for Generative Models
Stars: ✭ 141 (-41.25%)
Mutual labels:  generative-adversarial-network, image-generation, image-manipulation
Anime2Sketch
A sketch extractor for anime/illustration.
Stars: ✭ 1,623 (+576.25%)
Mutual labels:  generative-adversarial-network, image-generation, gans
Faceswap Gan
A denoising autoencoder + adversarial losses and attention mechanisms for face swapping.
Stars: ✭ 3,099 (+1191.25%)
Mutual labels:  generative-adversarial-network, gans, image-manipulation
CoCosNet-v2
CoCosNet v2: Full-Resolution Correspondence Learning for Image Translation
Stars: ✭ 312 (+30%)
Mutual labels:  image-manipulation, image-generation, gans
Pix2pix
Image-to-image translation with conditional adversarial nets
Stars: ✭ 8,765 (+3552.08%)
Mutual labels:  generative-adversarial-network, image-generation, image-manipulation
Bringing Old Photos Back To Life
Bringing Old Photo Back to Life (CVPR 2020 oral)
Stars: ✭ 9,525 (+3868.75%)
Mutual labels:  generative-adversarial-network, gans, image-manipulation
Lggan
[CVPR 2020] Local Class-Specific and Global Image-Level Generative Adversarial Networks for Semantic-Guided Scene Generation
Stars: ✭ 97 (-59.58%)
Mutual labels:  generative-adversarial-network, image-generation, image-manipulation
Unetgan
Official Implementation of the paper "A U-Net Based Discriminator for Generative Adversarial Networks" (CVPR 2020)
Stars: ✭ 139 (-42.08%)
Mutual labels:  generative-adversarial-network, image-generation
Generative adversarial networks 101
Keras implementations of Generative Adversarial Networks. GANs, DCGAN, CGAN, CCGAN, WGAN and LSGAN models with MNIST and CIFAR-10 datasets.
Stars: ✭ 138 (-42.5%)
Mutual labels:  generative-adversarial-network, gans

FineGAN

Pytorch implementation for learning to synthesize images in a hierarchical, stagewise manner by disentangling background, object shape and object appearance.



FineGAN: Unsupervised Hierarchical Disentanglement for Fine-grained Object Generation and Discovery

Krishna Kumar Singh*, Utkarsh Ojha*, Yong Jae Lee
project | arxiv | demo video | talk video
CVPR 2019 (Oral Presentation)

Architecture


Requirements

  • Linux
  • Python 2.7
  • Pytorch 0.4.1
  • TensorboardX 1.2
  • NVIDIA GPU + CUDA CuDNN

Getting started

Clone the repository

git clone https://github.com/kkanshul/finegan
cd finegan

Setting up the data

Note: You only need to download the data if you wish to train your own model.

Download the formatted CUB data from this link and extract it inside the data directory

cd data
unzip birds.zip
cd ..

Downloading pretrained models

Pretrained generator models for CUB, Stanford Dogs are available at this link. Download and extract them in the models directory.

cd models
unzip netG.zip
cd ../code/

Evaluating the model

In cfg/eval.yml:

  • Specify the model path in TRAIN.NET_G.
  • Specify the output directory to save the generated images in SAVE_DIR.
  • Specify the number of super and fine-grained categories in SUPER_CATEGORIES and FINE_GRAINED_CATEGORIES according to our paper.
  • Specify the option for using 'tied' latent codes in TIED_CODES:
    • if True, specify the child code in TEST_CHILD_CLASS. The background and parent codes are derived through the child code in this case.
    • if False, i.e. no relationship between parent, child or background code, specify each of them in TEST_PARENT_CLASS, TEST_CHILD_CLASS and TEST_BACKGROUND_CLASS respectively.
  • Run python main.py --cfg cfg/eval.yml --gpu 0

Training your own model

In cfg/train.yml:

  • Specify the dataset location in DATA_DIR.
    • NOTE: If you wish to train this on your own (different) dataset, please make sure it is formatted in a way similar to the CUB dataset that we've provided.
  • Specify the number of super and fine-grained categories that you wish for FineGAN to discover, in SUPER_CATEGORIES and FINE_GRAINED_CATEGORIES.
  • Specify the training hyperparameters in TRAIN.
  • Run python main.py --cfg cfg/train.yml --gpu 0

Sample generation results of FineGAN

1. Stage wise image generation results

2. Grouping among the generated images (child).

Citation

If you find this code useful in your research, consider citing our work:

@inproceedings{singh-cvpr2019,
  title = {FineGAN: Unsupervised Hierarchical Disentanglement for Fine-Grained Object Generation and Discovery},
  author = {Krishna Kumar Singh and Utkarsh Ojha and Yong Jae Lee},
  booktitle = {CVPR},
  year = {2019}
}

Acknowledgement

We thank the authors of StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks for releasing their source code.

Contact

For any questions regarding our paper or code, contact Krishna Kumar Singh and Utkarsh Ojha.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].