Thursday, 9 August 2012

How to train your dragon?


No! this post is not about the dragon from the animated movie (although it's one of my favourite). However this picture explains almost everything there is about the topic. For those of you who have seen this movie, computer vision machines can be thought to be like the dragon which can not fly. You have to train it about every single incident and how it should react to each one of them in order to fly.

Yup! that's right, this post is about training. Training a computer!

I have been working on a project, where I have to train a classifier using a lot of sample data. It is interesting to see what you can do with different machine learning algorithms.

Therefore while doing my research I came across multi-layer perceptron, otherwise known as Artificial Neural Network. This is a biologically inspired machine learning technique and works with the same mechanism as our brain cells do. The idea is simple, divide the program into many cells-like architecture and then based on their output make a decision. Another interesting thing to see is how well you can train this algorithm.

But you know what is even more interesting? The training data itself!

Here I present to you an example of how this training data looks like (only in the case we want to have a look at it).

This single image contains over 4000 images worth of sample data.

What is inside it?
This data is of four different hand postures, and if you look closely from top to bottom you can clearly identify the different patterns in different poses.

An example hand pose is typically like this:

It's amazing to see how little we can make sense out of this, however for a computer vision algorithm the above training data is the most vital part in identifying this hand pose.