U. Arizona
ISTA 452/552
Fall 2013

Computer Vision A: Understanding Images and Video

Instructor Kobus Barnard
Email: kobus @ sista.arizona.edu    (remove blanks around the @)
Time and Place MW 1:30-2:15, Shantz 242E
Standard office times 1) MWF 9:15-9:45
2) MW 12:30-1:15

Important: Office hours need to be claimed by email 18 hours in advance.

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 topics that will be considered include multiple view geometry (includes stereo and structure from motion) and tracking.

Prerequisites ISTA 130 (or an equivalent introductory programming course); Math 215 (Linear Algebra), or other course work covering matrix algebra and basic calculus, or permission of the instructor. While mathematical methods will be developed as needed, the topic is inherently mathematical, and students with the minimum math background should be prepared for extra study.
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, many students will find it the advanced level of presentation difficult.
Seminar Students are encouraged to participate in the weekly computational intelligence seminar, which is held Fridays at 1:30-3:00. This is optional, but could be used to satisfy part of the requirements for honor's credit.
Assignments The course will have a number of moderate length programming assignments. The first assignment needs to be done using Matlab. All other assignments can be done in any language you like, with Matlab being highly recomended unless yuou are trying to achieve some other specific purpose (e.g., learning how to use the IVILAB libraries).

You will be required to hand in code for your assignments, but the instructor will not necessarily look a it. Grading will largely be based on reports submitted in PDF format. Exposition will be considered when grading these. For more details, see the assignment general instructions.

There will be 8-10 assignments. There will be two midterms and one final. One or both midterms and the final could be take home assignments, under the discretion of the instructor with input from the class.


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. Participation in the conputational intelligence seminar can also be used to satisfy some of the requirements for honors. The exam portion of the grad for honors student will be computed as for regular undergraduates.

Undergraduates who want to do extra (grad) parts of assignments can receive modest extra credit. Each assignment grade will be capped at 120%, and the overall assignment grade will be capped at 65/60. These caps will also apply to graduate student if bonus marks are available to them.

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 452 and 552).

Mailing list The mail list ista452@list.arizona.edu is being set up. I 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.

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 instructor the liberty of answering the question to the benefit of others who may have a similar question.

I will also use the D2L email mechanism to some extent for course announcements.

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 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.
Policies Exams must be attended at their appointed time unless you have permission in advance to do otherwise.

Assignment late policy: After the instructor has graded a particular assignment, all missing submissions will receive zero.

Some assignments may be graded using "demo" sessions.

Students are responsible to ensure that they are on the class mail list, and that the email that D2L has for them is current. 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.