Hi, I'm an undergrad who finds computer vision to be fascinating. Where should somebody brand new to computer vision begin?
- Must have background on signal processing methods - Transform - Fourier - Hough -etc
- May use a better environment such as MATLAB for image processing
- Pattern classification methods
- Neural Networks is an important and widely use tool in Computer Vision
I found this guide to be pretty good at introducing the novice to computer vision, but you really need to go for a MS for that. Electrical and Computer Engineering Departments offer it under a Digital Signal Processing Program, from which you can choose to specialize in Machine Vision or Digital Imaging (whatever they may call it).
Get your hands dirty! What language do you program in? I would recommend looking at OpenCV, which is an open source library that comes with many functions you can use to build interesting systems. It is written for C++ but also has bindings for Python. It comes with many demos that you can run right away and hack around with.
For complete overview of the field books are the best way to go.
For any particular topic you want to know more about, survey papers found through Google Scholar are the way to go.
For most recent research, look at papers from CVPR, which is a vision journal:
You definitely need a solid math background: calculus, linear algebra, signal processing, probability and statistics.
You also need to understand what specific problems are studied in computer vision: recognizing an image of a particular object, recognizing a general class of objects ("cars"), detecting whether an object is present in an image, locating an object in an image, tracking moving objects in video, reconstructing a 3D object or scene from an image or a set of images, etc.
I was once told by a professor of a good way to get into a new field. Go to the library, find the main journal for that field, and start reading abstracts to papers, until you get the lingo. In the case of computer vision, good journals to look at are IEEE Transations of Pattern Analysis and Machine Intelligence, aka PAMI, and International Journal of Computer Vision (aka IJCV). By the way, the two major conferences in computer vision are CVPR (IEEE International Conference on Computer Vision and Pattern Recognition) and ICCV (International Conference on Computer Vision).
Topics that are related or heavily overlap with vision are image processing and machine learning.
If there is a course in computer vision offered at your school, take it. Get some books on the subjects I've mentioned. If there is vision-related conference near where you live, sneak in and look at the posters.
Oh, and Matlab is a great environment to play with image processing and vision algorithms.
Check out this book http://research.microsoft.com/en-us/um/people/szeliski/book/ it is in beta stage right now and available for free. Richard Szeliski, the author, is a a well known researcher in the field of computer vision. He is also behind the Photosynth project.
as with all other things @ school ....start by taking up a course with a good amount of project work. Explore ideas and implement algorithms in those projects that you find interesting. Wikipedia is a good beginners resource as usual. if you want books, the most popular ones are 1. http://www.amazon.com/Multiple-View-Geometry-Computer-Vision/dp/0521540518 2. http://www.amazon.com/Computer-Vision-Approach-David-Forsyth/dp/0130851981/ 3. http://research.microsoft.com/en-us/um/people/szeliski/book/drafts/SzeliskiBook_20100423_draft.pdf
But I would suggest before you jump in to books, take a course/ go through some course slides at one of the top ten universities or via itunesU.