If you've been on the internet in the last two years and you are somewhat tech-savy you've probably heard about the latest fad in Computer Science: Machine Learning.
Wikipedia describes Machine Learning as the subfield of computer science that "gives computers the ability to learn without being explicitly programmed". While this does sound like it's coming straight from a science fiction novel about computers that gain consciousness and eradicate mankind it's not really that extreme. At least not yet.
There is a lot of cool stuff we can get computers to do using this kind of theory. While Google was able to get a computer to become an even better player of the the board game "Go" than professional player Lee Sedoy, which might be the first step in enslaving mankind, we can also use Machine Learning to take the stylistic elements of one painting to draw another one.
So as an example we are able to take Van Gogh's famous "Starry Night" and have a computer paint a photograph we've taken in Van Gogh's style:
Using the website deepart.io we can use the same technique to apply the characteristic style of a Bob Ross painting to real life photographs. For best results we chose paintings that were similar to the photographs we wanted to bobrossify.
So let's start with one of the most iconic mountains in Europe: the Matterhorn in Switzerland:
While the trees and grassy areas in the photo are no problem to replicate the deep blue sky and the rocky parts of the Matterhorn don't yield very good results, since there are no areas that look like this in the painting we used as reference.
Up next is another famous mountain, the Mt Fuji, or Fujiyama, in Japan:
Overall a pretty good result, since we have almost all the things in the photo in our painting as well. There is a little bit more snow on in our generated painting, but it seems like it's snowing on Mount Fuji.
There are not only paintings of mountains done in "The Joy of Painting", there is also at least one painting of a beach in every season. So let's try El Matador State Beach in Malibu:
Besides the tree in the sky a job well done.
Going back to mountains, here are the Maroon Bells in Aspen, Colorado:
Since there is almost no difference between the photo and a Bob Ross painting we get a pretty good replica, besides the new mountain that grew in the sky.
All in all we can get pretty close to Bob's style with this technique, but since Bob Ross always uses very simple methods that dont rely on details to create great looking paintings it's hard for the algorithm to apply this style to very detail heavy photographs.
If you want to generate your own pictures like this visit deepart.io, and if you would like to learn more about machine learning there is a fantastic introduction done by Google on YouTube. If you already know some basics and want to start programming there is a great book about programming machine learning using Python.
I hope you enjoyed this article. If you have any comments, feel free to reach out on Twitter.