Keras implementation of Image OutPainting

This is an implementation of Painting Outside the Box: Image Outpainting paper from Standford University. Some changes have been made to work with 256*256 image:

  • Added Identity loss i.e from generated image to the original image
  • Removed patches from training data. (training pipeline)
  • Replaced masking with cropping. (training pipeline)
  • Added convolution layers.

Results

The model was train with beach data for 200 epochs.
Demo

Recursive painting

Demo

Tested with

  • python 3.5
  • keras==2.2.0
  • keras-contrib==2.0.8
  • tensorflow==1.5.0
  • opencv-python==3.4.0.12
  • Pillow==5.0.0
  • CUDA Version 9.0.176

Get Started

  1. Prepare Data:
    # Downloads the beach data and converts to numpy batch data
    # saves the Numpy batch data to 'data/prepared_data/'
    sh prepare_data.sh
    
  2. Build Model
    • To build Model from scratch you can directly run 'outpaint.ipynb'

      OR
    • You can Download my trained model and move it to 'checkpoint/' and run it.

GitHub