Today’s youth are completely connected to the internet. Kids these days are using social media services like Twitter for everything. Now videos circulating on social media are showing children biting into brightly colored liquid laundry detergent packets called Tide Pods. Or cooking them in frying pans, then chewing them up before spewing the soap from their mouths. One of the biggest issues we are facing in combating this Tide pod eating epidemic, is just how damn delicious they look. Kids these days just don’t know whether or not they should eat Tide pods. We are here to help children who are not always sure if they are about to eat a Tide Pod by telling them they are about to eat a Tide Pod.
What it does
Use a Twitter Bot to feed received images into a deep learning model that determines whether an image contains a Tide Pod. If the image contains a Tide pod, the bot will tell the user not to eat it.
Replies to the user with an appropriate response. When numerous images are given in a single tweet, Twitter bot replies to which image(s) contain a Tide Pod.
Twitter Bot responses sent by a Secondary Twitter Bot that is connected a Raspberry Pi robot. Images tweeted from a Raspberry Pi camera on the robot. The robot moves in the direction of where the a Tide Pod is found.
Automated Twitter Bot
The Twitter bot is connected with the handle @tidepodbot. When tweeted at with an image, a response classifying whether or not it is safe to eat is sent.
Anyone can do a reverse google image search for an image they found on the internet. The trick is making this work on novel photos that users might take on their phone. This is a use case that modern deep learning models excel in. Deep Learning is a subset of machine learning that specializes in the creation and training of deep neural networks, nested math functions whos parameters can be updated via gradient descent to give the desired output to complex data. While the training of a large, modern deep learning model often takes millions of images, dozens of GPUs, and several weeks, it is possible to avoid this expense with some trickery that falls into the class of problems called transfer learning. The general idea is that someone else has already trained a high quality neural network to recognize thousands of different objects. We keep every layer except for the last static, retraining the very last layer to perform well on our small (but varied) dataset of 200 tide pod images, and 10,000 images with no tide pods in them. On a powerful gaming PC, this can be done in a few minutes, on a laptop, in an hour.
Challenges we ran into
Arguably the most important aspect of any machine learning project is the data itself. Techniques for working with data of poor quality are few, and highly specialized so as to often not be applicable to real workloads. We couldn’t simply download images from a google image search, as that distribution is highly processed, and often has no resemblance to a real world setting. In order to achieve respectable results, we need photos taken by phone cameras. In order to get a varied dataset, we took 50 images from google, 100 images with our own cameras, and are constantly saving images that are sent to us, in order to keep learning.
Accomplishments that we're proud of
We are proud that we got 13 total hours of sleep and 2 showers throughout the course of this weekend. We are also proud of the millions of innocent lives this will save.
What we learned
We started this project knowing only cursorily of a meme involving tide pods. We were unprepared for the scale of the cataclysm. We found dozens of highly trafficked youtube videos, photoshopped food containers with tide pod in the place of the original food, and dozens of hospital cases involving the ingestion of detergent. It turns out Tide pods really do look delicious. After doing this research on the problem, we redoubled our efforts, knowing that we were doing good in the world
What's next for tide pod bot
Tide pod bot will continue to save lives, because it isn’t the hero we need, but the hero we deserve.