i want to do a small project on object recognition, any any tools or literature suggestions on this topic ?
It's free, useable from c/c++ and python. And has a lot of community and a lot of examples and college courses based on it.
An alternative if you have a copy (or some spare money) is matlab.
A nice playground is to have and use Processing ( http://processing.org/ ) and the various computer vision libraries, especially OpenCV ( http://ubaa.net/shared/processing/opencv/ ). You don't need the libraries for simple frame grabbing from an inbuilt or external usb camera because it works out of the box.
With a connected with a USB camera you can start doing some interesting stuff straight away because programming with Processing is very, very easy. I mean I was detecting and tracking faces in no time and I have no background in the subject.
Literature:
You will probably need to work with Image Processing techniques in your project. A very good introductory book to this area is the Digital Image Processing by Gonzalez and Woods. It covers topics such as image segmentation, which is a technique used to separate the objects to be recognized from the rest of the image
After you have identified the objects in the input image, the next step consists in finding a way to measure how similar they are to one another. Probably, the best way to do that is to use image descriptors. Usually, for object recognition, the best class of descriptors are the ones based on shape. The article "Review of shape representation and description techniques" by Zhang D. and Lu G. provides a great review about shape descriptors.
Finally, you have to classify those objects. [Machine Learning] by Mitchell is a classical book that discusses techniques such as k-NN that you can use in your project.
Tools:
OpenCV or Matlab. I particularly use OpenCV and I really like it for the following reasons:
- Very good documentation and a great number of good books and tutorials about it.
- A number of segmentation algorithms implementations, such as the Otsu method and the Watershed.
- Provides basic GUI and Media IO.