Question

I'm interested in writing some basic computerized object recognition application, so I figure I need some theoretical background in image processing algorithms, along with some AI for decision making capabilities.

I'm a computer science graduate, and one day I plan to get my Master's degree, hopefully in one of these fields. In the mean time, I'd like to get a head start and do some self-learning.

So my question is, where do I start? I'd appreciate an arrow in the right direction, a few links if possible.

Was it helpful?

Solution

You may want to check out the answers to these similar question:

OTHER TIPS

Maybe take a look at: OpenCV. Really good library for image processing, and when you will know what to use for what purpose, you can take a look 'under the hood' to know how is it working :)

Welcome to the fun world of computer vision, which is basically the field you deal with image processing with AI algorithms to do recognition/tracking/segmentation etc. Without being exhaustive, the whole deal involves image acquisition, image processing, image segmentation, image recognition.

The easiest way to start is probably OpenCV. In most applications however, using OpenCV is probably overkill, as it's really not that difficult to start from scratch. Once you got past the picture loading (You probably would wanna consider BMP as it's easiest to parse) part, you can implement many basic image processing algorithms if you just had the mathematical formula. There are also other library you could probably try, stuff like torchvision, AForge (.NET) are good choices.

When it comes to the AI part, here's where things become interesting. You probably would want to use SVM where there a host of library you can use, e.g. libsvm, SVMlight and etc.

If you're interested in books I'd recommend "Introduction to image processing and analysis" by John Russ at an introductory level. I also used ImageJ as a good, free image analysis application - good for prototyping and trying things out. As others have said the OpenCV library is well worth looking at too.

I have written some OpenCV image processing / computer vision tutorials with free source-code, so you might want to look at a few of them to help get a start: http://www.shervinemami.co.cc/openCV.html

Good answers. I hope you're not math-phobic. My favorite technique these days is Markov-Chain Monte Carlo (Google Spiegelhalter). Recognition is an optimization problem, and MCMC is a general way to handle them via Bayesian inference.

An open source .NET SDK implemented in C# & C++ was recently released by Microsoft with some very rudimentary webcam interfacing and image analysis. It may be worth taking a browse around the extremely well documented code just to get going with.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top