InvertibleGrayscale icon indicating copy to clipboard operation
InvertibleGrayscale copied to clipboard

An invertible generative model that converts color images into grayscale variant such that the original color is still restorable. [SIGGRAPH Asia 2018]

Invertible Grayscale

We run this code under TensorFlow 1.6 on Ubuntu16.04 with python pakage IPL installed.

Network Architecture

TensorFlow Implementation of our paper "Invertible Grayscale" accepted to SIGGRAPH ASIA 2018.

Results

Notice

  • You can use any color image set as the training data of the network, as it is a self-supervised learning scheme.
  • The input image resolution is hard-coded in the Line:7~8 of model.py, and you need to modify it to match your data resolution (only multiple of 4 is supported).

Train

  • Set the training hyperparameters in main.py.
  • Download the pretrained VGG19 model in here.
  • Start training by specifying the training dataset and validation dataset.
python3 main.py --mode 'train' --train_dir 'your_train_dir' --val_dir 'your_val_dir'

Test

  • Download the pretrained model and place it into the folder './checkpoints'.
  • Start evaluation by specifying the testing images and the result saving directory.
python3 main.py --mode 'test' --test_dir 'your_test_dir' --save_dir './results'

Copyright and License

You are granted with the license for both academic and commercial usages.

Citation

If any part of our paper and code is helpful to your work, please generously cite with:

@article{XiaLW18,
  author    = {Menghan Xia and Xueting Liu and Tien-Tsin Wong},
  title     = {Invertible grayscale},
  journal   = {{ACM} Trans. Graph.},
  volume    = {37},
  number    = {6},
  pages     = {246:1--246:10},
  year      = {2018}
}