Description

Instructor:
Ross Beveridge
Office: 348 CS Building
Office Hours: 2:00-3:00 Mon, 11:00-11:30 Wed
Email: ross@cs.colostate.edu
Lecture Time and Place:
10:00 - 10:50, MWF, CSB Room 325

Early computers were text-based. Data was entered as text, programs were run from the command line, etc. Then computer systems began to use images -- but only for output. Computer graphics was invented, and the compute gaming industry was born. We began to have special-purpose graphics computers, and traditional computers were outfitted with window-based operating systems. Now we are entering the next phase: images and video streams as input. Every computer and cell-phone has a digital camera, but how do we take advantage of all this raw visual data? This course tries to begin answering this question.

Prerequisites

In order to understand the material in this course you must be comfortable with linear algebra, and with computational geometry expressed through linear algebra. For example, you should be able to give a geometric interpretation of the dot (inner) product and cross product of two vectors, and for matrix multiplication. You should understand homogeneous coordinates and the mathematics of perspective projection. You should know the basic reflectance models (Lambertian, specular, and hybrid). You should know the basics about color spaces. This material is covered in CS410, which is a prerequisite for this course.

In order to do the programming assignments in this course, you must be able to write complex programs in either C++ or Python. (C, Java, MATLAB, and other programming languages are not acceptable.) You will be using the OpenCV library as well. Note that writing complex programs includes designing, testing and documenting your own programs from scratch.

Textbook

The (required) textbook for this class is Computer Vision: Algorithms and Applications by Richard Szeliski. The good news is that the on-line version of this text is free (just click the link above). The bad news is that the book is organized very differently from the lectures in this class, so we will be jumping back and forth within the text. We will also skip large portions of the book, and supplement with topics not included in the text. Some supplementary material will come from CVonline, curated by Bob Fisher, and from Computer Vision by Linda Shapiro and George Stockman.

Grading

Here are the formally graded elements of the course and associated weighting:

Activity Weight
Class Participation 10 %
Warm-up Programming Exercise 10 %
Programming Assignments (~3) 60 %
Midterm 10 %
Final Exam 10 %

Class participation includes much more than just attendance. It includes having read and understood the reading assignments before class, answering questions in class when called upon, and most importantly asking questions in class. The midterm will cover material from teh start of class to the date of the midterm exam, with an emphasis on material not covered by the programming assignments. The final exam will cover material from the midterm exam through the end of the course (i.e. it is not cumulative), again with an emphasis on material not covered by the programming assignments. There will be four programming assignments: a quick warm-up exercise due in week #2 (and worth half of what the other three are worth), and then three larger assignments.

Exams and programming projects will be done individually and grades assigned on an individual basis. Students not already familiar with the CSU Honor Pledge should review this clear and simple pledge and always adhere to it.

Late and Makeup Policy

Midterm and Finals: Make-up exams are only given for extraordinary circumstances (e.g., illness, family emergency). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.

Projects: Always check the assignment page for due dates. Late assignments will not be accepted except in extraordinary circumstances (e.g. illness, family emergency).

Important Dates

Midterm Wednesday, March 11th
Final Exam May 14th, 7:30-9:30am

The midterm and the final exam will be held in the same classroom as regular lectures. While no change to the midterm dates is anticipated, the instructor reserves the right to change these dates with a weeks notice.

In Class Participation

All students taking this course are expected to participate actively. For all students, includes asking and responding to questions. For distance students, the mechanism for asking and responding to questions is the bulletin board on the RamCT site. The TA will note how many questions you ask! For on-campus students, questions may be asked or answered in class, during office hours, or on the same bulletin board the distance students use.

Professional Conduct

All students are expected to conduct themselves professionally. We (the instructors and GTAs) assume you are familiar with the policies in the student information sheet for the department. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular:

  • Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
  • In class use of electronic devices in general, and laptops specifically, is permitted as a courtesy so that you may better participate and learn. If at any time the instructor judges that an electronic device is becoming a distraction the student may be asked to to turn it off and put it away.
  • All exams and quizzes are to be done without the aid of notes of any kind. Laptops and all other electronic devices must be shut and put away during exams and quizzes.