Neural Style Transfer
I am mainly creating this page to test out my Flask backend. I am using a Node.js backend for most of this site and I need to test whether I am handling requests that should be routed to a different systemd service correctly. This requires configuring ngnix and systemd correctly, so I am killing two birds with one stone here.
Also, this site is running into problems when it comes to uploading multiple files at once. I think this is caused by something to do with the Amazon EC2 server or CloudFront, so I will also be able to fix that here.
Here are some links that may be interesting to you on Neural Style Transfer:
- TensorFlow Neural Style Transfer Tutorial
- Frank's Jupyter Notebooks: Generative Deep Learning - Paint and Write
- Neural Style Transfer Wikipedia
- A Neural Algorithm of Artistic Style - The first published paper on Neural Style Transfer
- A Learned Representation for Artistic Style - In 2017, Google AI introduced a method that allows a single deep convolutional style transfer network to learn multiple styles at the same time. This algorithm permits style interpolation in real-time, even when done on video media.
Neural style transfer is an optimization technique used to take two images - a content image and a style reference image (such as an artwork by a famous painter) - and blend them together so the output image looks like the content image, but "painted" in the style of the style reference image. This is implemented by optimizing the output image to match the content statistics of the content image and the style statistics of the style reference image. These statistics are extracted from the images using a convolutional network. See the example below for an example of neural style transfer. An image of a dog is recreated in the style of Wassily Kandinsky's Composition 7:
Content Image:
Style Image:
Output Image:
Apply Style Transfer
Upload a style image and a content image below and get the resulting image using arbitrary-image-stylization-v1:
About the Model
Images should have similar aspect ratios to achieve the best style transfer. The minimum dimension (width and height) of both of the images must be greater than or equal to 50px. The images will be shrunk down to a square shape of the minimum dimension, and they will be cropped around the center before applying style transfer.