The model we'll use to enhance low-resolution blurry images is based on the paper Image-to-Image Translation with Conditional Adversarial Networks (https://arxiv.org/abs/1611.07004) and its TensorFlow implementation, pix2pix (https://affinelayer.com/pix2pix/). In our fork of the repo (https://github.com/jeffxtang/pix2pix-tensorflow), we added two scripts:
- tools/convert.py creates blurry images from ordinary images
- pix2pix_runinference.py adds a placeholder for a low-resolution image input and an operation to return the enhanced image, and saves the new checkpoint files, which we'll freeze to generate the model file used on mobile devices.
Basically, pix2pix uses GAN to map an input image ...