I6716 - Spring 2004

Video Computing and 3D Computer Vision

Instructor: Prof. Zhigang Zhu
Time: Tuesday 1:50 - 4:20 pm
Room: NAC 6/136
Credits: 3.0
Office Hours:
Tuesday, 10:30 am - 1:30 pm

Course Update Information  (Bulletin Board )

Feb. 10, 2004. Course Syllabus (with links to slides in Lectures 1 & 2) and Course Requirements online.
March 23, 2004. Grading for Homework 1
April  12, 2004.  You should submit the programming part of the Assignment 3  by email on April 13 before midnight. But you may select to bring your paper work (answers for Questions 1-5 and writing part for Question 6) on April 20 when we meet in class.  In order to do Question 5, you need to read the Visual Motion part in the textbook. The reading is required - we are going to have a small quiz for that part in the class meeting of April 20.
April 20, 2004. Grading for Homework 2
April 20, 2004. Project Topics online.
May 10, 2004. Grading for Midterm
May 17, 2004. Grading for Homework 3 and the Quiz

May 24, 2004. Final Presentations Schedule
                        (May 25, NAC 6/136. Please bring your laptops or CD-ROMS. I cannot read floppy disks!)

June 3, 2004.  Project and Final Grading.  
                        Calculation of the final grade: HW1*15% + HW2*15%+HW3*15%+Quiz*5%+Exam*20%+Project*33%
                        Break-down (after you round your scores to the nearest integers):
                            A+ >=95; A> = 90; A- >=85; B+ >= 80; B >=75; B- >=70; C+ >=65; C>=60

Course Objectives

Computer vision has a rich history of work on stereo and visual motion, which has dealt with the problems of 3D reconstruction from binocular or N-ocular images, and structure from motion from video sequences. Recently, in addition to these traditional problems, the stereo and motion information present in multiple images or a video sequence is also being used to solve several other problems, for instance video mosaicing, video synthesis, video segmentation, video compression, video registration, and video surveillance an monitoring. This is 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 considered in the early days of vision research.

The course "Video Computing and 3D Computer Vision" will include advanced topics in video computing as well as fundamentals in stereo and motion. The topics will be divided into three parts: 


Course Syllabus

Part I. Computer  Vision Basics 

Lecture  1. Introduction: Image, Vision and 3D Vision (ppt slides)  - Feb 3
Lecture  2. Sensors (ppt slides)  - Feb 10
Lecture  3. Image Formation and Processing (ppt slides matlab tutorial, Homework 1) -Feb 17
Lecture  4. Features and Feature Extraction 
                Part 1 - Feb 24
                Part 2 ( Homework 2) March 2

Part II.  3D Computer Vision

Lecture   5.  Camera Models (ppt slides) - March 9
Lecture   6.  Camera Calibration (ppt slides, Homework 3)- March 16
Lecture   7.  Stereo Vision (Part 1, Part 2- March 23, 30
Lecture   8.  Visual Motion (Part 1,  Part 2)  - April 20, 27
  8a. Project Discussions (Project Topics) , Review for Exam  

Midterm Exam: May 4th, 2004

Part III. Video Computing

Lecture   9.    Omnidirectional Stereo (PPT slides) and Omnidirectional Cameras (PPT slides), Exam Discussion, May 11
Lecture   10.  Video Mosaicing and Image-Based Rendering  (PPT slides), May 18

Final Presentations, May 25, NAC 8/203 (please bring your laptops or CD-ROMS. I cannot read floppy disks!)

Textbook and References

    “Introductory Techniques for 3-D Computer Vision”,  Trucco and Verri, 1998.


  1.     “Computer Vision – A Modern Approach” Forsyth and Ponce, 2003.
  2.     “Three Dimensional Computer Vision: A Geometric Viewpoint” O. Faugeras
  3.     “Image Processing, Analysis and Machine Vision” Sonika, Hlavac and Boyle, 1999
  4.     Jahne B, Digital Image Processing , Concept, Algorithms and Scientific Applications, Springer-Verlag, 1991- You may find a very good description of separable convolution kernels  and how to generate 1D/2D larger kernels from smaller 1D kernels in this book.
Supplements:  Online References and additional readings when necessary.

Grading and Prerequisites

The course will accommodate both graduate and senior undergraduate students with background in computer science, electrical and computer engineering, or applied mathematics. Students who take the course for credits will be required to finish 3 assignments of paperwork (30%), one midterm exam (20%), and  one programming project with exit interview (50%, including submit a report and give a small 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.

This course will be counted for both "Intelligent Systems" and "Scientific and Statistical Computing Computer Science" Groups for graduate students, and for both "Computational Techniques for Science and Engineering" and "Net-Centric Computing"  Electives for undergraduate students.  Prereqs: Pre. CSc220 or Csc I0600

Copyright @ Zhigang Zhu (email zhu@cs.ccny.cuny.edu ), Spring 2004.