University of Minnesota
CSci 5561: Computer Vision

CSCI 5561 Computer Vision (Spring 2015)

09:45 A.M. - 11:00 A.M. , Tu,Th (01/20/2015 - 05/08/2015), MechE 108
Lab sessions will be held in Keller 2-170 and 2-172 on Thursdays 9:45 -- 11 am starting second week.
Note: Because UMN owns a limited number of licenses for MATLAB image processing toolbox, we may end up working in pairs in the lab. One way to circumvent this problem is to install student copy of MATLAB on your laptop (if you have one).

Instructor: Volkan Isler (Office hour: 11am on Tuesdays or by appointment).
TAs: Ahmed Mehdat and Kejian Wu (office hours: 1:00PM, Mon, Wed, Keller 2-140B).

Please use the address csci5561-help@cs for course related emails (this alias forwards to isler and TAs.)

Other links:

Course Description

The primary goal of this course is to introduce students to computer vision -- how to make computers make sense of images! Traditionally, computer vision is studied in a bottom up fashion. At the lowest level, images are processed to obtain simple features (e.g. corners, edges). Then comes geometry in which these features are used to build 3D models of the environment. Next up is mid-level vision in which features are grouped into segments or other salient regions. At the highest level is the big problem of object recognition. It is impossible to cover all aspects of computer vision in depth in a single course. However, after taking this course, you will:
  • Learn about basic tools and techniques for designing (and analyzing) computer vision algorithms
  • Become familiar with active research challenges in vision
  • Gain hands-on experience in building vision systems

Topics Covered and Text Book

There is no required textbook for the course. We will take a hands-on approach and combine lectures with matlab-based lab sessions. For the first part of the course (image processing) a good resource is Hany Farid's lecture notes. Two recommended textbooks are Computer Vision: A Modern Approach by Forsyth and Ponce (2nd Edition) , and Rick Szeliski's book.

Multiple View Geometry in Computer Vision by Hartley and Zisserman and Computer Vision Models by Simon Prince are great resources for advanced material.

Topics: We will start with cameras (chapters 1) and continue with local features (Ch. 4-6), Then cover projective geometry, stereo and structure from motion (chapters 7 and 8). Next we will cover Segmentation and Grouping (Chapters 9 and 10) and selected topics from High Level Vision. The chapter numbers are from Forsythe and Ponce. I will make my notes available. Most of these books are available on course reserve.

Prerequisite Information

You need to be familiar with basic concepts in calculus (Math 1271/1371) , linear algebra (Math 2243), and discrete math (CSci 2011). If you have not taken equivalents of these courses, you need permission from the instructor. Homework and lab sessions will be based on MATLAB. Previous courses in AI and Robotics are useful but not required.


We will cover a relatively large range of topics which rely on various background material. As a result, at times, you might find that the current topic is quite challenging (or rather basic). For example, dynamic programming may be easy to grasp for a student who has taken advanced algorithms courses. The same student may find projective geometry quite challenging. Here are some tips that you might helpful:
  • Do not rely on a single source to learn the material. If the topic in one book does not make sense, do not hesitate to review other books, or even basic texts such as your linear algebra textbook. If you need guidance, do not hesitate to talk to your instructor or the TA. There are excellent resources online.
  • Learn from each other. The diversity of this class is a big asset.
  • Work regularly. As the list of topics is quite diverse, make sure that you review the material in a timely fashion.


Evaluation will be composed of the following components:
  • Class Participation (20%): In addition to lectures, we will have lab sessions including quizzes. If there is a quiz, I will announce it at least a week in advance. Lab sessions will be held in Keller 2-170 on Thursdays starting second week.
  • Homework (30%): Three assignments. Important: The assignments will require writing (lots of!) matlab code. If you haven't used Matlab before, it's time to start familiarizing yourself! Additional links on obtaining a copy of Matlab and getting started are posted here.
  • Course Project (30%): More about the project will be on the project page.
  • Term Paper and Presentation (20%). Details here.

Grades: 93.0% or above yields an A, 90.0% A-, 86% = B+, 82% = B, 78% = B-, 74% = C+, 70% = C, 67% = C-, 63% = D+, 60% = D, and less than 60% yields an F.

Other grade related issues: Late submissions are not allowed. Questions about a specific mark should be raised within 10 days after the mark is given. Incompletes (or make up exams) will, in general, not be given. Exceptions will be considered only when a provably serious family or personal emergency arises, proof is presented, and the student has already completed all but a small portion of the work.

Scholastic Misconduct

Scholastic misconduct is broadly defined as "any act that violates the right of another student in academic work or that involves misrepresentation of your own work. Scholastic dishonesty includes, (but is not necessarily limited to): cheating on assignments or examinations; plagiarizing, which means misrepresenting as your own work any part of work done by another; submitting the same paper, or substantially similar papers, to meet the requirements of more than one course without the approval and consent of all instructors concerned; depriving another student of necessary course materials; or interfering with another student's work."
Important: MATLAB should make your life easy but should not do the homework for you! You are welcome to use standard matrix functions, or utilities to read and write images, but when, e.g., the problem asks you to implement an edge detector, you should not use built-in edge detection functions. When in doubt, just ask. Using implementations off-the-web or elsewhere in homeworks yields an immediate F. If you use code from anyone or anywhere, you must give reference. Otherwise, this constitutes cheating.

A Note from DRC

The University of Minnesota is committed to providing equitable access to learning opportunities for all students. Disability Resource Center (DRC) is the campus office that collaborates with students who have disabilities to provide and/or arrange reasonable accommodations.

  • If you have, or think you may have, a disability (e.g., mental health, attentional, learning, chronic health, sensory, or physical), please contact DRC at 612-626-1333 to arrange a confidential discussion regarding equitable access and reasonable accommodations.
  • If you are registered with DRC and have a current letter requesting reasonable accommodations, we encourage you to contact Prof. Isler early in the semester to review how the accommodations will be applied in the course.

Additional information is available on the DRC website:

As a student you may experience a range of issues that can cause barriers to learning, such as strained relationships, increased anxiety. alcohol/drug problems, feeling down, difficulty concentrating and/or lack of motivation. These mental health concerns or stressful events may lead to diminished academic performance or reduce your ability to participate in daily activities. University  of Minnesota services are available to assist you with addressing these and other concerns you may be experiencing.  You can learn more about the broad range of confidential mental health services available on campus via