We are interested in machine learning, especially deep learning and neural networks
What it does
It uses deep learning, via a convolutional neural network, to take an image and apply a texture to it. A base or textured image is used as the base. Any other image is used as input to style. Inputs are via twitter or email, outputs are the same.
We created a twitter account called @baseballize to allow people to tweet to that account (+ #baseballize) with an image to trigger the process. The @baseballize account will tweet back your "baseballized" image.
How we built it
We used Keras with TensorFlow and an algorithm sourced from the book "Deep Learning in Python" to do the texturizing. We used Azure Logic Apps to have images sent to our algorithm. If someone tweets an image at us, we put a message on a queue containing the url of the image. The texturizer runs an infinite loop looking for new messages on that queue. When there is one, it grabs the image from the url, texturizes it, puts it into blob storage and sends a message back with the url to the texturized image. Another logic app on the other end reads that and tweets it.
Challenges we ran into
Timeouts with the twitter api
We spent a lot of time trying to optimize the process, but ultimately nobody our team knew how to save the trained model, so this could be run quickly, so each time through we are training a new model. It results in the process taking longer than necessary.
Accomplishments that we're proud of
We used deep learning at a hackathon!
What we learned
Time goes by quickly
What's next for Baseballizer
Safe image detection in case anyone tries to upload a photo about the Yankees. :-0