Art generation with Neural Style Transfer

Neural Style Transfer (NST) is one of the most fun techniques in deep learning. As seen below, it merges two images, namely: a "content" image (C) and a "style" image (S), to create a "generated" image (G). The generated image G combines the "content" of the image C with the "style" of image S.
Below are two such images: On the left is a picture of lake that I captured recently and on the right is the famous impressionist painting Poppies by Monet.

                .

after


This Neural Style Transfer was built using transfer learning i.e. using a previously trained convolutional network, and builds on top of that. The model has learned to recognize a variety of low level features (edges, simple textures etc.) at lower layers and high level features (objects, complex shapes etc.) at deeper layers. We select the ouput from the middle layer to get the most visually appealing results.

Art generation in action:

Below are few animations that show how the generated image is modified with increasing iterations.

after after after after