Does anyone have any suggestions on good resources or sites for learning about computer vision?
1$\begingroup$ Could you give some examples of terms you don't understand, and/or the types of processing you want to accomplish? Image processing is a pretty broad field, and any extra detail you provide will probably get you higher quality responses. $\endgroup$– datageist ♦Jul 1, 2012 at 7:37
4$\begingroup$ Similar question, already answered. $\endgroup$– LiborJul 1, 2012 at 20:50
$\begingroup$ Well, I could go through papers and pick out random terms, but I was hoping to build up a foundation. I didn't give the exact field, because by the nature of knowing nothing about it, I know nothing about it. :) Libor, didn't realize digital signal was the same thing as image, thank you! $\endgroup$– CannoliopsidaJul 2, 2012 at 6:26
1$\begingroup$ Maybe this will help. Are you more interested in computer vision or artistic (e.g. vfx) processing? $\endgroup$– datageist ♦Jul 2, 2012 at 10:08
1$\begingroup$ If you are, please edit the title to Resources for an introduction to computer vision. I have already added an answer according to this. $\endgroup$– GeertenJul 3, 2012 at 9:26
If (from the comments) you are interested in an introduction to computer vision (for the difference, see Question on difference between CV and IP), you could take a look at the introductory course of Coursera on Computer Vision..
I am also currently enrolled, but have not had much time to look into it, but it seems to me as a decent course (with the knowledge of computer vision I already have) to get an overview of the different subjects in computer vision, and the techniques that are used to overcome problems.
Next to this, there is a free download of the book Computer Vision by Richard Szeliski, which is also a great source for the basic principles of computer vision, accompanied with a lot of examples.
With this basic understanding and feeling with the subjects of computer vision, you will most likely understand more complicated things easier, because you can place things in perspective.
As @Geerten correctly pointed out, there is a difference between Computer Vision and Image Processing. Still, I think you should learn some basic Image Processing techniques as a first step (a script language like Matlab or python might be helpful in playing with these:)
- Thresholding of grayscale images (Wikipedia, Sezgin, M. and Sankur, B.:Survey over image thresholding techniques and quantitative performance evaluation, here on DSP - not complete yet, but someday it might be :))
- Colorspaces (for conversion to grayscale, and for many other things): (Wikipedia, very nice introduction with references, here on DSP)
- Image segmentation (Wikipedia, ...), Edge detection, Line/Circle detection (Hough transform: Great DSP links: 1, 2, 3), Line interpolation, I'm sure you can find many introductory classes - if only outlines, you can further search on the topics mentioned in the outline
After this, you'll be playing with images for a while and still won't feel like you can do anything useful :) But, all this should make reading the "serious" Computer Vision books easier. You can focus on any parts you want, or try and do a whole book (I did perspective transformations and camera calibration at the time). Here are some book suggestions:
Ramesh Jain, Rangachar Kasturi and Brian G. Schunck: Machine Vision - title page and contents
Yi Ma, Stefano Soatto, Jana Košecká and S. Shankar Sastry An Invitation to 3-D Vision - reference page
Hartley, R., Zisserman, A.: Multilpe View Geometry in computer vision - sample chapters, official page - it's a very, very good book
Now, this is not introductory material any more. This is what you do after a long while of learning the basics above: pick your poison :)
- object detection, object recognition, object reconstruction, visual tracking, visual servoing, ... I'm not going to provide links here, these are fields. And there are many more of them. At this point, you should be reading articles from the field.
1$\begingroup$ In the Szeliski book there is also a pretty thorough introduction to the important parts of Image Processing. So Szeliski agrees with you ;) $\endgroup$– GeertenJul 9, 2012 at 7:12
I think the course:
Image Based Recognition and Classification @KTH
was great for starting with CV <course_webpage>.
Checkout the literature (ex. <book>) and some of the exercises (under "Schedule"). It touches the most important concepts on CV and the exercises in MATLAB help alot in the learning.