OpenCV - Computer Vision Library

OpenCV is an open source computer vision library developed by Intel. This library is written in C/C++ and it has lot of very powerful image processing features.

I got to know about this library few months back when I was doing researches for our final year project. Our project "Sign2Voice" interprets signs of sign language to voice in real time using a video captured using simple webcam.

OpenCV has rich image processing API that that provides wide range of functionally ranging from simple image processing tasks to machine learning algorithms.  In our project we uses OpenCV library to detect and identify sign language hand gestures. We uses Haar-Cascade classifier provided with OpenCV to detect hand. After training the classifier with set of positive and negative images we can use the classifier to detect objects. OpenCV has a good trained classifier for face detection.

Training of Haar-classifier is not an easy task. This became especially difficult because there is nor proper documentation for this process. Their are few web sites that give instructions on how to train, but they are not that comprehensive.

We had to do lot of experiments and learn through trail and error to find out how to do the training properly. After lot of failures we managed to achieve good results in had detection. 

hand_detect hand_detect1

 

I'm planning to do some posts regarding how to train haar-classifier share the knowledge I gained with you in future. So keep you figures crossed. :)

 

Artificial Neural Networks for Solving Complex Problems

I just completed my independent study review paper. As the title suggests, it was about "Using Artificial Neural Networks to Solve Complex Problems". If you haven't heard about neural networks before, they are a new approach for solve problem inspired by inner workings of human brain. In traditional computing we have to give step by step instructions on how to solve specific problem to the computer. But in ANN that is not necessary, they can learn how to solve a particular problem from samples.

ANN technology is not a new thing, they exist since 1940s. When I first started this study, I thought that ANNs are only used for pattern recognition/classification and predicting some factors. But when I go more deeper in to the research, I was amazed by the diversity of fields where ANN is used. Most of the applications I came across during my review were successful in achieving their goals, but in field of cryptography use of ANN was not as successful as other fields.

Even though ANN technology is very successful in solving complex problem they have their own set of limitations. Major limitation is it's lack of ability to explain how they generate output. Another main limitation is not having formal method to find optimal network architecture for solving particular problem. But even with these limitations, future of ANN looks promising. There is lot of research going on in dedicated ANN hardware and hybrid ANNS. 

You can download my complete review paper here. Hope this will help you to learn more about ANN and it's applications.

 

A Picture is Worth More Than Thousand Words

This picture tells the whole story....ATT1135779