Live Image Classification of Hot Dogs and Not Hot dogs

Background and Plan

This was Andrew's first hackathon ever and our first Tensorflow application and Peter's first IOS application so we started by learning how to train models to classify flowers. We then moved to retraining this algorithm for hotdogs. Lastly we decided the end user could best interact with the model through an IOS app. We used Googles tensorflow camera demo application and modified it to suit our needs.

Road Bumps

Our first issue was converting our Tensorflow model to a tflite file that can run on a mobile device. We had created a model that had 90% accuracy for identifying hot dogs by retraining the inception_v3 imagenet model with some python code. So unfortunately we ended up using the pre-trained inception_v1_tflite model which is not as effective. Another challenges we encountered was modifying this model to only work for hot dogs and not hot dogs instead of its extensive list of labels it can classify images as. We came up with a clever solution to only gather data on the top 2 classifications. This sped up our code and allowed us to use the existing model without retraining it. We would then say if the number 1 classification was a hot dog display the image indicating hot dog to the user and else say not hot dog. Because of our limited access to hot dogs we did the bulk of our app testing with water bottle classification instead. We also only had access to a USB-C to USB-C port so we only were able to develop and test our application on the I-Pad Pro.

Motivation

We really enjoyed the Not Hot Dog app put out by the creators of Silicon Valley but we wanted to improve upon it by classify hot dog or not hot dog in real time. We succeeded in this goal. While there app takes about 3 seconds to classify hot dog, ours is milliseconds.

Outcome

We now having a working prototype of Live Not Hot Dog that can be used on an IPad. We are both comfortable with building and retraining ensorflow models, Ios implementations of tensorflow, and Objective C code. We also will use this application to show off and advertise the fun and interesting capabilities of machine learning. The skills we have learned in this projects will serve us well in future machine learning and ios projects.

Built With

Share this project:

Updates