Inspiration
The Deep Dream project attempts to "see" what is happening inside neural networks on each layer. The engineers at Google discovered that indeed some magic was occurring underneath the hood. The visualizations were so entertaining that they open-sourced the project and started a website to allow people to share their personal contributions to the artwork of the world (a.k.a. the Internet).
https://github.com/google/deepdream
https://deepdreamgenerator.com/
What it does
DeepDreamVideo allows users to upload videos to a server and produce interesting artwork. Take a look at the examples for yourself!
Pirate Cat: https://www.youtube.com/watch?v=bHhF0Fza02c Titanic Scene: https://youtu.be/cRglvtafCEA
How we built it
Using the open source Google Deep Dream project on Github, which utilizes UC Berkeley's computer vision library Caffe, we produced a server that accepts videos from users and transforms them into euphoria-inducing masterpieces. In order to minimize dependencies, Python was used almost exclusively throughout the project.
Challenges we ran into
Installation of the Caffe computer vision library was probably the most challenging part of the project. The list of dependencies seemed endless, which made it very difficult to get everything installed. Ultimately, we placed all the relevant code in an Ubuntu virtual machine and used that to make installation easier. An additional benefit of the virtual machine is that integration builds are much less painful.
Another challenge is the slow speed of rending the videos. Our algorithm is not anything groundbreaking and is not optimized well for handling large volumes of data. Fortunately, it doesn't take high frame rate, high quality video to produce visually pleasing effects.
Accomplishments that we're proud of
We finished the project and it actually works as we had initially anticipated.
What we learned
Testing client-server interaction is hard. Testing graphics applications is hard. Testing graphics applications through client-server interactions is especially hard. They don't teach you this stuff in school.
What's next for DeepDreamVideo
The algorithm for DeepDreamVideo is definitely not optimized and it would be both instructive and personally satisfying to strive for greater accomplishments.
Log in or sign up for Devpost to join the conversation.