All Projects → eveningglow → multitask-CycleGAN

eveningglow / multitask-CycleGAN

Licence: other
Pytorch implementation of multitask CycleGAN with auxiliary classification loss

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to multitask-CycleGAN

BicycleGAN-pytorch
Pytorch implementation of BicycleGAN with implementation details
Stars: ✭ 99 (+12.5%)
Mutual labels:  generative-adversarial-network, image-translation, cyclegan
pytorch-CycleGAN
Pytorch implementation of CycleGAN.
Stars: ✭ 39 (-55.68%)
Mutual labels:  generative-adversarial-network, image-translation, cyclegan
Pixel2style2pixel
Official Implementation for "Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation"
Stars: ✭ 1,395 (+1485.23%)
Mutual labels:  generative-adversarial-network, image-translation
Cyclegan
Software that can generate photos from paintings, turn horses into zebras, perform style transfer, and more.
Stars: ✭ 10,933 (+12323.86%)
Mutual labels:  generative-adversarial-network, cyclegan
Cocosnet
Cross-domain Correspondence Learning for Exemplar-based Image Translation. (CVPR 2020 Oral)
Stars: ✭ 211 (+139.77%)
Mutual labels:  generative-adversarial-network, image-translation
Sparsely Grouped Gan
Code for paper "Sparsely Grouped Multi-task Generative Adversarial Networks for Facial Attribute Manipulation"
Stars: ✭ 68 (-22.73%)
Mutual labels:  generative-adversarial-network, image-translation
Alice
NIPS 2017: ALICE: Towards Understanding Adversarial Learning for Joint Distribution Matching
Stars: ✭ 80 (-9.09%)
Mutual labels:  generative-adversarial-network, image-translation
Gannotation
GANnotation (PyTorch): Landmark-guided face to face synthesis using GANs (And a triple consistency loss!)
Stars: ✭ 167 (+89.77%)
Mutual labels:  generative-adversarial-network, cyclegan
Contrastive Unpaired Translation
Contrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)
Stars: ✭ 822 (+834.09%)
Mutual labels:  generative-adversarial-network, cyclegan
CycleGAN-gluon-mxnet
this repo attemps to reproduce Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks(CycleGAN) use gluon reimplementation
Stars: ✭ 31 (-64.77%)
Mutual labels:  generative-adversarial-network, cyclegan
cycleGAN-PyTorch
A clean and lucid implementation of cycleGAN using PyTorch
Stars: ✭ 107 (+21.59%)
Mutual labels:  image-translation, cyclegan
pytorch-gans
PyTorch implementation of GANs (Generative Adversarial Networks). DCGAN, Pix2Pix, CycleGAN, SRGAN
Stars: ✭ 21 (-76.14%)
Mutual labels:  generative-adversarial-network, cyclegan
Cyclegan Qp
Official PyTorch implementation of "Artist Style Transfer Via Quadratic Potential"
Stars: ✭ 59 (-32.95%)
Mutual labels:  generative-adversarial-network, cyclegan
Cyclegan Tensorflow
An implementation of CycleGan using TensorFlow
Stars: ✭ 1,096 (+1145.45%)
Mutual labels:  generative-adversarial-network, cyclegan
Lggan
[CVPR 2020] Local Class-Specific and Global Image-Level Generative Adversarial Networks for Semantic-Guided Scene Generation
Stars: ✭ 97 (+10.23%)
Mutual labels:  generative-adversarial-network, image-translation
Image To Image Papers
🦓<->🦒 🌃<->🌆 A collection of image to image papers with code (constantly updating)
Stars: ✭ 949 (+978.41%)
Mutual labels:  generative-adversarial-network, image-translation
Gesturegan
[ACM MM 2018 Oral] GestureGAN for Hand Gesture-to-Gesture Translation in the Wild
Stars: ✭ 136 (+54.55%)
Mutual labels:  generative-adversarial-network, image-translation
gans-2.0
Generative Adversarial Networks in TensorFlow 2.0
Stars: ✭ 76 (-13.64%)
Mutual labels:  generative-adversarial-network, cyclegan
Pytorch Cyclegan
A clean and readable Pytorch implementation of CycleGAN
Stars: ✭ 558 (+534.09%)
Mutual labels:  generative-adversarial-network, cyclegan
Fewshot Face Translation Gan
Generative adversarial networks integrating modules from FUNIT and SPADE for face-swapping.
Stars: ✭ 705 (+701.14%)
Mutual labels:  generative-adversarial-network, image-translation

Multitask-CycleGAN

Implementation of CycleGAN : Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks using pytorch. Futhermore, this implementation is using multitask learning with semi-supervised leaning which means utilize labels of data. This model converts male to female or female to male. Following image shows improvements such as facial features(make-up, mustache, beard, etc) and image qualities.

original : without semi-supervised learning / improved : with semi-supervised learning

What are differences with original CycleGAN?

  1. Batch size 1 -> 16
  2. Instance Normalization -> Batch Normalization
  3. Model architecture
  4. Smooth labeling
  5. Multitask learning with classification loss (semi-supervised learning).

Effects and Details

1. Increasing Batch Size & Replacing Instance Norm with Batch Norm
This change makes the model recognize the difference of hair length between male and female. The generator started to draw or erase hair after applying this change.

2. Smooth Labeling & Model Architecture Change
Basicially, the discriminator easily overwhelms the generator. If it happens, the generator tries to fool the discriminator in an improper way. The balance between discriminator and generator is important for the performance. To solve this problem, smooth labeling is used and model architecture is changed.

3. No Batch Norm in the First Convolution in Discriminator
DCGAN suggests not to use normalization in the first convolution. If you don't follow this, the generator will make images with range of approximately -0.7 ~ 0.7 instead of -1.0 ~ 1.0, the blurry images.

4. Semi-Supervised Learning with Classification Loss
Discriminators need to classify domains not only measure the realism. The weight of classification loss, cls_lambda is 1 for training the discriminators and 0.1 for training generators to encourage the generators to focus more on the realism. The Followings are effects of this change.

  • The image quality and clearity increase in most cases.
  • The model recognizes the features of each gender such as mustache, beard, color lens and make-up better
  • However, recognition of hair length becomes worse.

Process

Discriminator

Generator

Prerequisites

Dataset

CelebA dataset is used. After downloading the dataset, all images are supposed to be located in the following path.

  • data/train/0 : Training male images
  • data/train/1 : Training female images
  • data/val/0 : Validation male images
  • data/val/1 : Validation female images
  • data/test/0 : Test male images
  • data/test/1 : Test female images

Results

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].