U. Arizona
CS 477 / 577
Spring 2010

Introduction to Computer Vision



Time and Place 3:30-4:45, Tuesday and Thursday, Gould-Simpson Room 906
Instructor Kobus Barnard
Email: kobus @ cs.arizona.edu    (remove blanks around the @)
Office Hours: By electronic signup. (Follow preceding link to get times and instructions.)
TA Kyle Simek
Email: ksimek @ cs.arizona.edu    (remove blanks around the @)
Description Computer vision is about building systems that see. Such a system would be able to take images and output a representation of what is in the world in front of the camera. We are all familiar with this process as it happens whenever we look around. However, putting this capability into a machine has proven to be very difficult and is the topic of much current research. In this course we we will study the basic approaches that have been developed to analyze image data in an attempt to solve this problem, and their applications to other related areas such as computer graphics and image databases.

This course should be considered by students interested in computer vision, image processing, image databases, computer graphics, artificial intelligence, and cognitive science.

Topics Image formation including geometric camera calibration and physics based vision, color, linear filtering, edge detection, texture , segmentation and grouping, local features (e.g. SIFT), recognition using on pose consistency, recognition using templates and classifiers, and recognition using models.

Additional important computer vision topics that will be mentioned, but that we do not have time to go into depth include multiple view geometry (includes stereo and structure from motion), tracking, and applications to graphics and image databases.

Prerequisites MATH 215 (implies calculus as well), C SC 352, C SC 345 or C SC 346; graphics (C SC 433) is helpful, knowledge of probability is also helpful.

Alternatively, permission from the instructor based on strong alternative math and CS preparation.

The subject involves substantial math. While much of the required math will be reviewed/developed as part of the course, students who have only modest math background should expect to spend extra time struggling with it.

Text Computer Vision: A Modern Approach, by Forsyth and Ponce. This book is recommended but not required, as all needed material for this course will be provided. The text is no-nonsense book that offers much insight into the topic. However, but many students find it the advanced level of presentation difficult.
Assignments The course will have a number of moderate length programming assignments. Assignments can be done in either Matlab (a C like interpreted language) or C/C++, and must either be developed on Linux, or ported to Linux for grading. Since some library support for C/C++ will be provided on Linux for certain assignments, doing them first on an alternative platform and then porting may prove to be a disadvantage.
Grading

There will be roughly ten assignments. Some assignments may be optional. There will be two midterms and one final.

Graduate students will be have to do extra parts on some/all assignments, and perhaps will have to do a few extra or different assignments. Graduate students will also be expected to perform better on tests (undergraduate tests will be graded out of less, or undergraduates will have fewer questions).

Honors credit is available by doing at least 1/2 (by value, not number) of the graduate portion of the assignments. The exam portion of the grad for honors student will be computed as for regular undergraduates.

Grading breakdown.

    Assignments:   60%
    Midterms:      20%   
    Final Exam:    20%    
A cumulative percentage of 90% guarantees an A, 80% guarantees a B, 70% a C, and 60% a D. Depending on the instructors perception of the difficulty of this edition of the class, some of these cutoffs may be lowered a bit (possibly differently for 477 and 577).

Mailing list The mail list cs477@listserv.arizona.edu is being set up. We will bulk add most students. However, it is your responsibility to ensure that you are on the list and add yourself if you are not. If you drop the course, you will have to remove yourself from the list.

It is also your responsibility to monitor the list. This is where you will find out about such things as assignment typos, extensions, and adjustments to the scope of tests.

The mail list will be our "discussion" board. If you have a question, please consider posting it to the list. You may get a faster response from your peers, and it gives the TA and the instructor the liberty of answering the question to the benefit of others who may have a similar question.

On-line materials This course has an on-line section. Even if you are not in the on-line section, you may find the on-line recordings of the class useful. A link to them will be provided here as soon as we are set up.

On-line access to the material will be provided using the SLIC video browsing system under construction. Patience is appreciated and feedback is is very welcome!

An approximation slides for the next few lectures will be made available on-line. The actual slides used will be viewable using the browsing system. Slices with corrections will be also be posted.

Participation Class participation is strongly encouraged. However, there is a very broad range of relevant background in this class including undergraduates taking the class out of interest, to graduate students not is CS, to graduate students who plan to do their dissertation in computer vision. Hence, if you happen to simply "know" the answer to questions, please defer answering to students who are seeing the material for the first time. If silence persists, consider offering a 1/2 step that others can pick up on. Helping each other learn the material is strongly encouraged.
Advanced Vision Seminar This term, the vision reading group will be synchronized with the vision class. Students who have additional time and are especially interested in computer vision may wish to join. Details will be posted to the mail list.
Policies Exams must be attended at their appointed time unless you have permission in advance to do otherwise.

Assignment late policy: Assignments will be graded an indeterminate amount of time after they are due. Once the TA has graded a particular assignment, all missing submissions will receive zero. Some assignments may be graded during "demo" sessions.

Students are responsible to ensure that they are on the class mail list. Students are expected to check their E-mail reasonably often.

Some attempt will be made to detect violations of the University of Arizona's academic integrity policy. Specifically, exams and written assignment must be the sole work of the student. Students may help each other with the problem analysis and general strategies relevant to the programing assignments, but detailed help or code sharing is not permitted. All code in programming assignments will be assumed to have been written by the student (or student team) unless attribution is given. An obvious exception to this rule is sample code which has been provided by the instructor for this course through the course web page tree. Such code does not require attribution (we know where it came from). It is also permissible to include with attribution code from external sources provided that the code is published, has not been solicited, and was not written for course requirement for this or a similar course given elsewhere.