Machine Learning techniques are very effective for image recognition.
Various large enterprises like Google and Baidu have been training very large convolutional networks with many layers to achieve highly complex tasks like facial recognition for building access. These are trained on large super computers.
We can take advantage from a lot of the pattern matching used for object recognition trained into these models by simply retraining the last few layers of the model. This yields excellent results while avoiding us having to use significantly costly hardware.A demonstration of such an application is shown here.