If you’ve been on the internet in the last years and you are somewhat tech-savy you’ve probably heard about the latest fad in Computer Science: Machine Learning.
What Is 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.
A Famous Example
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.
Starting The Bob-Rossification
A Not So Little Happy Mountain
So let’s start with one of the most iconic mountains in Europe: the Matterhorn in Switzerland. We’re using a typical Bob Ross landscape painting as our style template:
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.
Another Mountain Halfway Across The Globe
Up next is another famous mountain, Mt Fuji, or Fujiyama, in Japan. Once again we select a Bob Ross painting looks kind of like the photograph.
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 in our generated painting, but it seems like it’s snowing on Mount Fuji.
Another Type Of Painting
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.
Another Day, Another Mountain
Going back to the 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 don’t rely on details to create great-looking paintings it’s hard for the algorithm to apply this style to 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.