EE/CMPEN 454 (was EE/CSE 486) – Fundamentals of Computer Vision

Designation:

Senior/Grad-level technical elective for Electrical Engineering students

Catalog Data:

Introduction to topics such as image formation, segmentation, feature extraction, shape recovery, object recognition, and dynamic scene analysis. Prerequisite: MATH 230 or MATH 231; CMPSC 201 or CMPSC 121 or CSE 103

Prerequisites by topic:

  1. Understanding and the ability to use three-dimensional analytical geometry and vectors in space.
  2. Understanding and the ability to use partial differentiation.
  3. Good programming experience in C/C++ or Matlab, working knowledge of Unix.

Course Objectives:

This course provides the foundational education in computer vision analysis. Through lectures, homeworks, programming assignments, and interactive material available in the class web site (http://www.cse.psu.edu/~cg486), students are provided learning experiences that enable them to:

  1. Capture digital images, and master low-level, mid-level and high-level computer vision techniques, such as noise cleaning, feature extraction, template matching, depth recovery from stereo and face recognition.
  2. Become proficient with computer skills for the analysis of digital images.
  3. Develop technical writing skills important for effective communication.
  4. Acquire teamwork skills for working effectively in groups.

Topics:

  1. Course overview and introduction (1 class)
  2. Image formation, sampling and quantization, camera parameters, geometric transformations (4 classes)
  3. Image noise, noise filtering (3 classes)
  4. Feature extraction: edge and corner detection (3 classes)
  5. Line and curve detection, Hough transform, snakes. (3 classes)
  6. Region segmentation: regions and contours, region growing, split and merge, (2 classes)
  7. Color and color based segmentation (2 classes)
  8. Object representation: global and local representations (2 classes)
  9. Object recognition: template matching, appearance-based approaches (3 classes)
  10. Stereopsis: the correspondence problem, epipolar geometry, 3D reconstruction (3 classes)
  11. Motion: motion field and optical flow, estimation of motion field, feature-based tracking (3 classes)

Class/laboratory schedule:

Two 75-minutes lectures per week.

Computer Usage:

  1. Four computer assignments and a term project implemented using C/C++, Matlab and the image processing package Khoros. Technical writing skills, working in teams, development of well-documented code and good programming practices are emphasized.
  2. Formal technical reports for the computer projects require the use of word processing and graphics software for presentation.
  3. All computer projects must be run in a demonstration session.

Term project:

In addition to regular computer assignments a term project integrating several topics from the course is required. The project designs and implements a begin-to-end computer vision system involving capture, pre-process and analysis of digital images.

Contribution to meeting the professional component:

This course provides a design emphasis in the area of computer systems. It is a senior-level elective course.

Relationship to program outcome:

  1. Graduates will understand how to design and implement simple computer vision systems. [Ref: Outcome O.2.1.]
  2. Graduates will have attained computer proficiency. [Ref: Outcome O.1.3.]
  3. Graduates will have teamwork skills. [Ref: Outcome O.5.1.]
  4. Graduates will possess oral and written communication skills. [Ref: Outcome O.5.2.]