Course title: Introduction to Computer Vision (4 Units)

Lecture: 3 hours
Discussion: 1 hour


Yong Jae Lee (

Catalog description:

Computer vision is the study of enabling machines to “see” the visual world (i.e., understand images and videos). This upper-division undergraduate course will explore several fundamental topics in the area, including feature detection, grouping and segmentation, and recognition.

Prerequisites: (ECS 060 or ECS 032B or ECS 036C); (STA 032 or STA 131A or MAT 135A or EEC 161 or ECS 132 recommended); (MAT 022A or MAT 067 recommended).


Students will be responsible for participating in class, completing 4 problem sets, and completing a mid-term and final exam.


Richard Szeliski, Computer Vision: Algorithms and Applications, Springer, 2011.

Computer usage:

Students will implement their problem set assignments with the Matlab and/or Python programming language, using the computer systems available in the Computer Science Instructional Facility.

Programming projects:

The programming projects for this class are chosen to enhance the lecture material in the course.

Summary of course contents:

Students will acquire a general background on computer vision. Topics will include:

  1. Features and Filters
    1. Linear filters
    2. Edge detection and image gradients
    3. Edges, contours, and binary image analysis
    4. Texture
    5. Color
  2. Grouping and Fitting
    1. Gestalt properties
    2. K-means, Mean-shift, Spectral clustering
    3. Hough transform
    4. Deformable contours
    5. RANSAC
    6. Homography
  3. Recognition
    1. Local Invariant feature detection and description
    2. Indexing local features
    3. Instance recognition
    4. Generic category recognition
    5. Discriminative classifiers (Nearest Neighbors, Support Vector Machines, Boosting)
    6. Window-based models
    7. Part-based models


Goals: Students will (1) acquire fundamental knowledge of low-level image processing; image clustering, segmentation, and fitting; and object and scene recognition; and (2) learn how to design, implement, and evaluate state-of-the-art computer vision algorithms.

History: 2018.9.18 (CSUGA): Updated course prerequisites with new lower division ECS series courses.