[Inpainting CVPR2017] [Image Restore ICASSP2018]
Tensorflow implementation for semantic image inpainting:
Semantic Image Inpainting With Deep Generative Models
Raymond A. Yeh*, Teck Yian Lim*, Chen Chen, Alexander G. Schwing, Mark Hasegawa-Johnson, Minh N. Do
In CVPR 2017
* indicating equal contributions.
Implementation of proposed cost function and backpropogation to input.
In this code release, we load a pretrained DCGAN model, and apply our proposed objective function for the task of image completion.
To reproduce the CVPR2017 work, run the inpainting example.
- Tensorflow >= 1.0
- scipy + PIL/pillow (image io)
- pyamg (for Poisson blending)
Tested to work with both Python 2.7 and Python 3.5
- src/model.py - Main implementation
- src/inpaint.py - command line application
- src/external - external code used. Citations in code
- graphs/dcgan-100.pb - frozen pretrained DCGAN with 100-dimension latent space
Git doesn't work nicely with large binary files. Please download our weights from here, trained on the CelebA dataset.
Alternatively, train your own GAN using your dataset. Conversion from checkpoint to Tensorflow ProtoBuf format can be done with this script
Generate multiple candidates for completion:
python src/inpaint.py --model_file graphs/dcgan-100.pb \
--maskType center --in_image testimages/face1.png \
--nIter 1000 --blend
Generate completions for multiple input images:
python src/inpaint.py --model_file graphs/dcgan-100.pb \
--maskType center --inDir testimages \
--nIter 1000 --blend
@inproceedings{
yeh2017semantic,
title={Semantic Image Inpainting with Deep Generative Models},
author={Yeh$^\ast$, Raymond A. and Chen$^\ast$, Chen and Lim, Teck Yian and Schwing Alexander G. and Hasegawa-Johnson, Mark and Do, Minh N.},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2017},
note = {$^\ast$ equal contribution},
}