CS 583: Introduction to Computer Vision

Fall 2009




[Announcements] [Syllabus] [Lectures] [Assignments] [Resources]

Time/Room
Monday 6:00-8:50PM@Crossings 149
Instructor
Ko Nishino
e-mail: kondrexel.edu
office: University Crossing 108
phone: (215) 895-2678
office hours: Tuesday 2:00-3:00 or by e-mail appointment
TA
Geoffrey Oxholm
e-mail:geoff.oxholmdrexel.edu
office: University Crossing 147
office hours: Thursday 2:00-3:00 or by e-mail appointment

Announcements

[09/21/2009] No class next week (9/28) (instructor out of town to attend a conference)
[09/21/2009] First class will be 09/21 (Mon)

Syllabus

  Overview

The goal of computer vision is to enable computers see the world. By using a camera as the eye of a computer, studies in computer vision seek to develop better means to capture and extract useful visual information from images and videos and to use such information to automatically interpret the beautiful world surrounding us.

This course provides an introduction to computer vision. The first half of this course will focus on fundamental models and algorithms in computer vision, including such topics as image formation, image sensing, image filtering, edge extraction, brightness and reflectance. In the second half, we will mainly focus on computer vision applications, including various algorithms for reconstructing 3D shape (shape-from-X, stereo, photometric stereo), and recognizing objects in images.

  Objectives

This course aims for students to (1) understand and apply fundamental mathematical and computational techniques in computer vision and (2) implement basic computer vision applications.

  Prerequisites

There is no official prerequisite. However, basic (undergraduate-level) understanding of Linear Algebra and Calculus will be necessary. For the assignments, one will need to program in C/C++ (example skeleton codes will be prepared in C++). Assignments will require access to a digital camera. Students are encouraged to purchase one (an inexpensive one will suffice) if he/she does not own one. A few cameras can be checked out from the lab, too.

  Topics

The following is a list of topics that will be covered in this course. The timeline is preliminary and will most likely change.
Week 1 9/21 Introduction, Image Formation, Image Sensing
Week 2 9/28 No class (instructor attending a conference)
Week 3 10/5 Camera Models, Projective Geometry
Week 4 10/12 University Holiday (Columbus Day)
Week 5 10/19 Image Filtering
Week 6 10/26 Edge Detection, Motion
Week 7 11/2 Midterm Exam
Week 8 11/9 Mosaicing
Week 9 11/16 Lightness, Radiometry
Week 10 11/23 Photometric Stereo, Shape-from-Shading
Week 11 11/30 Stereo, Recognition
Week 12 12/7 Final Exam

  Textbook

Robot Vision, by B.K.P. Horn, MIT Press, 1986. (ISBN: 0262081598)
Most of the lectures will follow this book. Although it is not required, it is highly recommended. You can order this textbook from Drexel Bookstore.
Supplemental readings will be posted in Lectures.

The following is a list of general computer vision text books recommended (but not required) for supplemental reading.

Computer Vision: A Modern Approach, by D.A. Forsyth and J. Ponce, Prentice Hall, 2002. (ISBN: 0130851981)
A Guided Tour of Computer Vision, by V.S. Nalwa, Addison-Wesley, 1993. (ISBN: 0201548534).
Computer Vision: Three-Dimensional Data from Images, by R. Klette, K.Schluns, and A. Koschan, Springer Singapore, 1998. (ISBN: 9813083719)

  Assignments

Students will be assigned 3 multi-week individual projects. These projects will bring all aspects of the learned material at each stage. In each project, graduate students will be required to do additional implementation. The first two of these projects will also be competitions; students will vote for the top 3 artifacts in class. Those who produced the top 3 artifacts will receive extra credits according to their ranks. See Assignments for details.

You must be the sole original author of all assignments and examination solutions in their entirety. As the university's policy explains, penalties up to and including a failing grade for the course with no opportunity to withdraw, will be given for plagiarism, fabrication, or cheating*.
*The standards for originality in a program are similar to those of other written works. Programs by different authors show clear and substantial differences as judged by most criteria, including but not limited to: choice of variable and procedure names, line spacing and indentation, choice of program structure, choice of algorithms, ordering of modules, module design, and ordering and choice of instructions. The original author of an assignment can explain each detail and how they came to create it on their own.

  Grading

Projects: 70% (23% x 3)
Exams: 30% (midterm and final ; closed book)
Assignments turned in up to one day late incur a 50% penalty; assignments turned in more than one day late cannot be accepted and receive a score of 0. Missed exams also receive a score of 0. Make-up exams will only be allowed in extreme circumstances.

  Communication

The instructor will disseminate important announcements by email through the course mailing list, and also post these announcements on the course web site. Also, the web site contains a time-line with links to all information (lecture slides, assignments, etc.) relevant to the course.

  Policies

Attendance for lectures and exams is expected. In the case of a school closing on an exam day, the exam will be given in the next class period. The Drexel snow emergency information number is (215) 895-6358.

Academic honesty is essential. Cheating, academic misconduct, plagiarism, and fabrication of any submitted material, including both code and prose, are serious breaches of academic integrity and will be dealt with accordingly. Violations will result minimally in a grade of zero for the exam/assignment in question, an additional reduction of one letter grade in the overall course grade, and a report of the violation to the Drexel administration; further penalties may apply to more serious and/or repeat violations. Please refer to Drexel's official Academic Honesty Policy for more information.

Lectures

Week Topic Slides Reading Assignment
1 (9/21) Introduction
Image Formation
[ PDF ] Robot Vision Ch. 1 and 2 Self Introduction
3 (10/5) Camera Models
Projective Geometry
[ PDF ] Mundy and Zisserman's Book Appendix (Read 23.1-23.5 and 23.10)
Simoncelli's Linear Algebra Notes Geometric Review and Least Squares
Project 1 assigned (due 10/18)
5 (10/19) Image Filtering [ PDF ] Robot Vision Ch. 6 and 7  
6 (10/26) Edge Detection
Motion
[ PDF ] Robot Vision Ch. 8 and 12
Lucas-Kanade
 
7 (11/2) Mosaicing
Midterm Exam
[ PDF ] Szeliski's tutorial (especially, sections 2 and 3) Project 2 due 11/16 (cylindrical image due 11/9)
8 (11/9) Lightness
Radiometry
[ PDF ] Robot Vision Ch. 9  
9 (11/16) Photometric Stereo
Shape-from-Shading
[ PDF ] Robot Vision Ch. 10 Project 3 due 11/30

Acknowledgments: A significant part of this course is similar to the courses offered at Columbia (Shree Nayar), Univ. of Washington (Steve Seitz) and CMU (Alyosha Efros). The instructor thanks the instructors of these courses for the materials (slides, content) used in this course. In addition, several photographs and illustrations are borrowed from Internet sources. The instructor thanks them all.
Permission to use/modify materials: The instructor gladly gives permission to use and modify any of the slides for academic and research purposes. Since a lot of the material is borrowed from other sources, please acknowledge the original sources too. Finally, since this is a continuously evolving course, all suggestions and corrections (major, minor) are welcome!

Assignments

  Project 1

Homography
Homography
In this project, you will implement a program to (1) rectify an image (Image Rectification) (2) and superimpose one whole image or a part of an image into another (Image Composite) using manually selected correspondences on planar surfaces in the images. Along the way, you will learn how to compute homographies and how to use them to warp images.

Follow this link for details. Make sure you read the page carefully. Those who need a CS account and/or wish to use the lab camera, please contact the instructor and TA by e-mail as soon as possible. Again, please go to this page for details.

  Project 2

Mosaicing
In this project, you will implement a program to combine multiple images into a panorama. The program has to automatically align the input images by computing their relative motions and then blend the resulting tile of images into a single seamless panorama. Along the way, you will learn how to warp images into cylindrical coordinates and compute translational motion between images using a Gaussian pyramid.

Follow this link for details. Make sure you read the page carefully. Please schedule with the TA for the tripod, if necessary.

  Project 3

3D Reconstruction
In this project, you will implement photometric stereo which is a method to recover the 3D geometry of an object from multiple images taken under varying illumination. The program will first have to compute light directions and then, for each pixel, estimate surface normals and recover depth information from the surface normals.

Follow this link for details. Make sure you read the page carefully.

Resources