Many have been enchanted by the bizarre images from Google’s Deep Dream project, but the process of creating these mindscapes was difficult and time-consuming for the average person. A group of students tackled this issue by building an app, Dreamify, that Popular Science called “Instagram for Deep Dream”. Dreamify also caught the eye of the Verge, Yahoo, Wired The Next Web, Discovery News, and a slew of other sites. The app, which takes ordinary images and runs them through Google’s Deep Dream process, is available for Android and will soon be available on iOS. Dreamify is currently the top new free photography app on the Google Play store.
“We were sitting at a coffee spot near the school, talking about how there’s this Google Deep Dream thing, that no one can really use, but when they do it’s really cool,” recalls Matt Jacobs, who built Dreamify with Brian Loughnane, Jason Menayan and Jason Martin.
Deep Dream came out of Google’s broader efforts in image recognition and neural network processing. Google’s algorithm (and, it’s believed, human minds) will sometimes “recognize” patterns in an object, such as seeing a dog in a cloud. With each level of processing, that recognized pattern becomes more vivid. Google Deep Dream creates an exaggerated version of this, with patterns and forms exploding out of objects. As you would expect, this gets weird fast.
“It’s really hard for people to use Deep Dream on their own,” says Martin. “Dreamify puts this in the hands of an end consumer that’s not a techie and still lets them customize the images.”
The Dreamify app provides a handful of preset image processing presets, and four parameters users can manipulate to create their own customized filters. This lets the user control how many times the image is processed, the simplicity or complexity involved with each processing, and two parameters related to the size of the patterns that the system works with.
A key element of the project was creating a system that could efficiently handle the intense processing involved in “dreamifying” photos.
“If you run this off your CPU, dreamifying an image can take an hour. So instead we ran it through Amazon servers,” notes Martin. “Our first test took over 6 minutes, we got that down to 6 seconds.”
What drove this efficiency was an architecture that eliminated bottlenecks by allowing different operations to happen in parallel.
“We used service-oriented architecture,” Jacobs explains. “Our servers are totally modular. That was a huge design phase. We spent two days just designing that architecture.”
The team is already working on a premium version of the app, which will incorporate a variety of extra features, such as dreamified animated gifs and the ability to dreamify an image while zooming in.
“Eventually we want to make simple plug-ins for Facebook: ‘press a button to dreamify my Facebook profile picture,’” Martin describes.
Dreamify’s Instagram-like filters allow for a variety of dreamy styles.
“One of the most exciting things we have coming is the choice of different models,” adds Loughnane. “Most of the models you see are trained on the ImageNet dataset.” Google Deep Dream uses these image sets to learn different visual patterns. “We plan to incorporate as many models as we can, like MIT Places. It’s a giant image set of pictures of places.”
The project marks a triumphant end to the quartet’s time as Hack Reactor students.
“There’s a culture here of optimism and encouragement,” says Loughnane. “Everyone who comes here comes out successful. People feel like they are already successful and anything is already possible.”
Martin echoes that sentiment:
“This is a really invigorating environment. It’s filled with so many bright, driven people.”
This culture had a palpable effect on the reach of the Dreamify project.
“Hack Reactor really let us set our own goal,” adds Jacobs. “They gave us so much freedom.”
Particularly educational was the process of going from concept to submitting their app to the App Store.
“We really got a sense of what the whole process looks like,” notes Menayan. “From the development phase, to figuring out our distribution channels, to making use of frameworks that are still not a hundred percent there.”
Want to make your dreams a reality via code? Apply to our program, online and in four major cities, today.