University of Arizona, Department of Computer Science

CS 477/477H/577: Introduction to Computer Vision


Time and Place 3:30-4:45, Tuesday and Thursday, Gould-Simpson Room 701
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.

The subject involves substantial math. While much of the required math will be reviewed/developed as part of the course, students who are not strong in math should expect to spend extra time struggling with it.

The course will also have substantial programming. Assignments/projects will be in some combination (TBA) of Matlab (a C like interpreted language) and C/C++, and must either be developed on Linux, or ported to Linux for grading. Since some library support will be provided on Linux for certain assignments, doing them on an alternative platform may prove to be a disadvantage.

Participation in class discussion will be expected.

Pre requisite C SC 352, MATH 125, MATH 129, MATH 215, C SC 345 or C SC 346, or permission from the instructor based on strong alternative math and CS preparation. Knowledge of probability helpful.
Instructor Kobus Barnard
Email: kobus @ cs.arizona.edu    (remove blanks around the @)
TA Scott Morris
Email: smorris @ cs.arizona.edu    (remove blanks around the @)
Office Hours Open appointment times: Tuesday, 5:00-6:00, Thursday, 5:00-6:00. (A sign up system will be in place. If you want to see me briefly, 4:45-5:00 on these days is OK).
Text Computer Vision: A Modern Approach, by Forsyth and Ponce.
Topics Image formation, physics based vision, color, linear filtering, edge detection, texture , multiple view geometry (includes stereo and structure from motion), segmentation, tracking, recognition using templates and classifiers, recognition using structural models (relations between parts), and applications to graphics and image databases.
Projects Based on the current grad vs ugrad enrollment, all students will be expected to do a project. In the case of graduate and honors students, the project will be expected a research oriented project. In the case of under-graduate students, the project may be more along the lines of an extended assignment. Project ideas for both grad and ugrad will be circulated, but externally motivated projects are also welcome. Group projects are encouraged.

There will be a project proposal which may involve a short in class presentation, as well as some sort of project demo/presention.

Seminar Students are encouraged to participate in the weekly vision group meeting if possible which is held in GS 805 on Tuesdays at 2:00pm.
Grading Good attendance is required for this course. Attendance will be taken at the start of each class. You are allowed to miss 3 classes without advance permission. Two percent will be deducted from your grade for each class missed beyond those 3 classes (excluding those with advance notice with good reason, or believable medical excuse).
Undergraduate students (subject to minor changes)
    Project:     30% 
    Assignments: 30%
    Midterm:     15%   
    Final:       25%    

Graduate students (usubject to minor changes)
    Project:     45% 
    Assignments: 25%
    Midterm:     10%   
    Final:       20%    
A cumulative percentage of 90% guarantees an A, 80% guarantees a B, 70% a C, and 60% a D. Depending on overall class performance, these lines may be lowered a bit (possibly differently for 433 and 533).

Attendance is required, and poor attendance will result in grade reduction. In particular, 2% will be subtracted for each class missed beyond 3 grace classes unless the instructor is given a valid excuse before hand or a medical excuse is believed afterwards.

Exams
There will be two exams, one midterm, and one final. The format of each of the two exams is yet to be decided. Anything from take home to completely closed book is possible. The exams will include material which is not part of the programming assignments. Graduate and undergraduate students may (or may not) have different exams.
Policies Attendance will be noted, and can affect your grade as described above. (Extreme absenteeism may result in E-mail asking if you would like to be removed from the course with the default non-reply answer being "yes"). Students are responsible for all material presented in class. Class notes and slides will be made available, but note that these are only an overview of the material--some details will only be presented in class.

Exams must be attended at their appointed time unless you have permission in advance to do otherwise.

Assignment late policy: Late assignments will be accepted with penalty until the TA has finished with the marking, or ten days late, whichever comes later. From that point onwards, assignments will not be accepted. This is a matter of courtesy to your TA. The late penalty is 5% per day.

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.