MixNMatch: Multifactor Disentanglement and Encoding for Conditional Image Generation
[Paper]
Yuheng Li,
Krishna Kumar Singh,
Utkarsh Ojha,
Yong Jae Lee
UC Davis
In CVPR, 2020
1/31/2020 update: Code and models released.
This is our CVPR2020 presentation video link
For interactive web demo click here. This web demo is created by Yang Xue.
- Linux
- Python 3.7
- Pytorch 1.3.1
- NVIDIA GPU + CUDA CuDNN
git clone https://github.com/Yuheng-Li/MixNMatch.git
cd MixNMatchDownload the formatted CUB data from this link and extract it inside the data directory
Pretrained models for CUB, Dogs and Cars are available at this link. Download and extract them in the models directory.
In code
- Run
python eval.py --z path_to_pose_source_images --b path_to_bg_source_images --p path_to_shape_source_images --c path_to_color_source_images --out path_to_ourput --mode code_or_feature --models path_to_pretrained_models - For example
python eval.py --z pose/pose-1.png --b background/background-1.png --p shape/shape-1.png --c color/color.png --mode code --models ../models --out ./code-1.png- NOTE:(1) in feature mode pose source images will be ignored; (2) Generator, Encoder and Feature_extractor in models folder should be named as G.pth, E.pth and EX.pth
In code/config.py:
- 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_CATEGORIESandFINE_GRAINED_CATEGORIES. - For the first stage training run
python train_first_stage.py output_name - For the second stage training run
python train_second_stage.py output_name path_to_pretrained_G path_to_pretrained_E- NOTE: output will be in
output/output_name - NOTE:
path_to_pretrained_Gwill beoutput/output_name/Model/G_0.pth - NOTE:
path_to_pretrained_Ewill beoutput/output_name/Model/E_0.pth
- NOTE: output will be in
- For example
python train_second_stage.py Second_stage ../output/output_name/Model/G_0.pth ../output/output_name/Model/E_0.pth
| Cartoon -> image | Sketch -> image |
|---|---|
![]() |
![]() |
If you find this useful in your research, consider citing our work:
@inproceedings{li-cvpr2020,
title = {MixNMatch: Multifactor Disentanglement and Encoding for Conditional Image Generation},
author = {Yuheng Li and Krishna Kumar Singh and Utkarsh Ojha and Yong Jae Lee},
booktitle = {CVPR},
year = {2020}
}






