You've heard about Machine Learning and AI - and you want to see what all the fuss is about. But you don't want to spend all your time installing bazel and Jupyter? Or maybe you're running an old computer or your only computer is a phone! What now, give up? Never! Thanks to Google Colab, you can run TensorFlow in a browser window, and all the computation is handled on Google's cloud service for free. It's a great way to dabble, without all the setup!
We've hacked together a Colab notebook that can see things using your computer, laptop, or phone camera! It takes live pictures from your camera and feeds them through the Mobilenet v2 + SSDLite model to find and box the objects it sees. This way you can see what Mobilenet v2 + SSDLite can do, instantly!
The algorithm produces three outputs here:
- The identified object, given both by name (water bottle) and an id number
- Confidence Level, a measure of the algorithm's certainty
- Bounding box, a box drawn around the image region that contains the object
Early object detection algorithms used hand-written heuristics to identify objects. For example: a tennis ball is usually round and green. While these had some successes, they were difficult to create and were prone to some hilarous false-positives.
In recent years, a technology called neural networks has made it possible to let computers develop the heuristics on their own, by showing them a large number of examples. Mobilenet v2 is one of the well-known Object Detection models beacuse it's optimized to run on devices like your cell phone or a raspberry pi. When attached to another model known as SSDLite, a bounding box can be produced.
The authors of Mobilenet v2 + SSDLite claim it runs in 200ms on a Pixel 1. You won't be able to see speeds like this in your browser because this demo sends images securely over the Internet to Google's datacenter for processing. But, think of this as a helpful reference if you want to use this in your own project.
Mobilenet v2 + SSDLite can recognize 90 different objects.
These objects are taken from the COCO dataset, a popular set of images used to develop object detection algorithms.