CSc 471 Computer Vision- Spring 2022

Instructor: Professor Zhigang Zhu

The City College of New York

Course No and Section (Code): CSC 47100-1EF (51286) Credits: 3.0
Class Meet Time: Monday 2:00 – 4:30 PM; Location (Hybrid: date [in-person] labeled): NAC 6/113 & Zoom Link
Office Hours: Every Thursday  2:00 pm – 4:00 pm, [Office Zoom Link

Course Update Information

Course Objectives

Computer vision has a rich history of fundamental work on stereo and visual motion, which has dealt with the problems of 3D reconstruction from multiple images, and structure from motion from video sequences. Recently, in addition to these traditional problems, the stereo and motion information presented in multiple images, a video sequence, or stereo and motion with images of expanded fields of view,  is also being used to solve several other interesting problems, for example, large-scale scene modeling, video interaction (including face and gesture interaction), panoramic video mosaicing, omnidirectional vision-based navigation, and video surveillance. This is sometimes summarized as video computing. Computer vision is playing an important and somewhat different role in solving these problems in video computing than the original image analysis approach in the early days of vision research.The course “Computer Vision” will include advanced topics in video computing as well as fundamentals in stereo and motion. 

Course Syllabus and Tentative Schedule (mm/dd)

(Spring 2022 academic calendar)

Part I. Computer Vision Basics 

I-1. Introduction: What, Why and How (pptx slides) -01/31
I-2. Image Formation: Digital Image Basics (pptx slides) (video)  (Assignment 1: submissions please send to 02/07
I-3. Image Enhancement: point operations, histograms and neighborhood operations   (slides) (video) (Assignment 2: submissions please send to (Lecture notes in PDF:I-3 and I-4) –02/14
I-4. Edge Detection: basics, advanced, and Hough Transform (slides) (video) – 02/28 ( 02/21 is a holiday)

Part II.  3D Computer Vision

II-1.  Camera Models (slides) (lecture notes in PDF) (Assignment 3: submissions please send to – 03/07 [in-person]
   – (Geometric Projection of a Camera) – (Camera Parameters) – (Camera Models Revisited)

II-2.  Camera Calibration (slides) (video) (lecture notes in PDF )  -03/14

   – (Problem Definition:  the Tools You Must Know) –  (Direct Approach: Divide and Conquer) –  (Projective Matrix Approach: All in One ) –

II-3.  Stereo Vision (slides) (lecture notes in PDF) (Assignment 4: submissions please send to -03/21 (video, with project idea discussion and an example), 03/28 (video)

    – (Problem Definition) &  Project Ideas & Requirements –  (Epipolar Geometry) -(Correspondence Problem & Reconstruction Problem) –

II-4.  Visual Motion – (slides) (lecture notes)  and Exam Review – 04/04 (video), 04/11 [in-person] (Please submit your project topic and teaming information to by the end of April 11. This will have 3% for your final).

    – (The Motion Field of Rigid Motion) – (Optical Flow Approach & Feature-based Approach) –

Part III.  Advanced Topics and Projects

III-1. Midterm Exam  -04/25 (Spring Recess: 04/15-04/22)

III-2. Advanced Topics: Computer Vision for a Smart and Accessible Transportation Hub (SAT-Hub) – 05/02
III-3. Project Discussions and Exam Discussions – 05/09

III-4. Student Group Project Presentations  – 05/16

Textbook and References

Main Textbook:
   In the form of Lecture Notes and Slides, provided by the instructor (above).


    Online References and additional readings when necessary. 

Grading and Prerequisites

The course will accommodate senior undergraduate students with background in computer science and computer engineering. Students who take the course for credits will be required to finish 4 assignments (40%), one midterm exam (40%), and  one programming project (20%, in the form of a presentation to the class at the end of the semester). The topics of the projects will be given in the middle of the semester and will be related to the material presented in the lectures.

Students are required to have a good preparation in both mathematics (linear algebra/numerical analysis) and advanced programming.