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.

References

Here are some links that may be interesting to you on Neural Style Transfer:

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:

Content Image

Style Image:

Style Image

Output 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.

Output Goes Here
Output Goes Here

Output: