We're going through a revolution at the minute with Artificial Intelligence, if you haven't noticed. The field is progressing at a frightening pace and Google, Facebook and Microsoft are at the forefront of it.
Although it's an arms race between these three companies, these companies do seem to do their bit for the community by releasing tools to help people develop AI applications. Facebook have recently released Caffe2, Microsoft have released their Cognitive Toolkit and Google have released some more tools as part of its TensorFlow framework.
This latest addition by Google, called the TensorFlow Object Detection API basically provides scientists, software developers and enthusiasts the same technology that Google uses in its own systems such as the Nest Cam, Google Image Search and the Street View number identification system.
The technology they are releasing enables you to take an image and identify and localize the objects within it using a computer. You might think this is an easy task, which it is for humans, but for computers, it's a different story, as to a computer, an image is just a series of numbers – one number for each pixel in a digital image.
Identifying objects in an image is still a major challenge for computers but Google are making huge strides and have managed to achieve state-of-the-art results with this software and managed to win the COCO detection challenge.
What's in the box?
OK so what do you get when you lift the lid on this awesome AI toolkit? Well the TensorFlow Object Detection API is built on top Google's super popular Tensorflow framework and makes it easy to construct, train and deploy algorithms (a series of computer instructions) that are able to detect objects in images.
You get a number of models that you can train yourself or you can use the exact pre-trained models that were used in the COCO detection challenge, so you can start recognising things in images right away. You also get an Jupyter notebook which will walk you through step by step through a trained model if you fancy having a go yourself.
You also get some models which use MobileNet, which are basically small neural networks designed to work on mobile devices in real time.
Fancy a go?
If you do fancy having a go at trying to get to grips with machine learning and AI, then this is probably a good place to start, but you'll need at least a basic grip on Python programming and an appreciation of Tensorflow.
Obviously if you're a machine learning expert then you can go ahead and start contributing to the codebase, but if you're just getting started you can download the code here and you can even start detecting objects in your own images using the Jupyter notebook or train your own pet detector using the Google Cloud Platform.
Have you used Tensorflow before or any other machine learning toolkits, I'd love to hear from you. Let me know in the comments!
Cheers!