Home

Awesome

Alice4Alice

ALICE algorithms for painting the cartoon "Alice's Adventures in Wonderland"

Ideas: Leveraging weakly-supervised information can significantly alleviate the non-identifiablility issues of CycleGAN/DiscoGAN/DualGAN in image-to-image translation.

If interested, please check out the main code repo for our NIPS 2017 paper ALICE:

Note: These are results based on noisy edge inputs

Experiments

For 52 images (21 alice image and 31 rabbit images) in each domain (cartoon and edge), we provide 1 pairwise correspondence for each character, which significantly improves the generation quality.

Results on sample correspondence

ALICE (Explicit variant)
CycleGAN

As references:

Real Cartoon (Groundtruth)
Edges (Input)

Detailed Comparison:

Rabbit

Alice

Cat (remotely related to the training set)

How to use

The scripts to train and test with various algorithms are in alice_tesorflow/script.sh. For example, training with explicit ALICE:

 $ CUDA_VISIBLE_DEVICES=0 python main.py --checkpoint_dir ./alice_exp_checkpoint --sample_dir=./alice_exp_sample --test_dir=./alice_exp_test_dir --L1_lambda_sup 10.0 --cgan_lambda 0.0

Creat a dataset with two domains

  1. Convert video to images.

    For example: https://image.online-convert.com/convert-to-jpg

    You might be ineterested in youtube video: https://keepvid.com/sites/download-youtube-video.html

  2. Resize your images, and extract edges from the images.

    For example: https://github.com/ppwwyyxx/tensorpack/tree/master/examples/HED

Our development is largely based on the code (greatly appreciated!): https://github.com/xhujoy/CycleGAN-tensorflow

Note: these are only for academic use, please ask the providers for commercial purposes.

Citation

If you use this code for your research, please cite our paper:

@article{li2017alice,
  title={ALICE: Towards Understanding Adversarial Learning for Joint Distribution Matching},
  author={Li, Chunyuan and Liu, Hao and Chen, Changyou and Pu, Yunchen and Chen, Liqun and Henao, Ricardo and Carin, Lawrence},
  journal={Neural Information Processing Systems (NIPS)},
  year={2017}
}