Deep Learning is a class of machine learning algorithms based on learning data representations, for feature extraction and transformation of raw data for utilization in desired tasks. One version, known as Deep Dream, was based on a technique that utilized artificial neural networks (ANN) for image classification originally trained by providing it with a large number of training images and adjusted until desired classifications were returned. The ANN typically consisted of 1-30 stacked layers of artificial neurons, each taking an input from the previous layer and providing an output to the next until a result was reached in the final output layer. A method was devised to look at what happened at each layer by reversing the process, taking an initial randomized or unrelated image and processing it to more closely match a classification provided as an input. By iterating this, the features in the output image are amplified, and often pulling certain patterns derived from classification image libraries. If the algorithm were trained on a large set of images of dogs, the resulting processed images would end up as an abstraction where many of the original major features now patterned into the shape of dog heads.
With the release of Google’s Deep Dream code in 2015, others had to opportunity to make variations so that the image processing was much like a style filter. One of the more interesting implementations is DeepStyle, which can process one image to match the style of a different given image or images. If they were images of paintings by an artist with a distinct style, such as Vincent van Gogh’s post-impressionist bold and expressive brushstrokes, then the resulting output would look match that style as if the artist had painted it himself.
This is a first look at the method and I will take a deeper look into the underlying algorithms in the future as I attempt to implement DeepStyle for myself.
References: