CMSC 426 - Computer Vision

Section 0101:

This course provides an introduction to computer vision and computational photography. The course will cover basic principles of image processing, image recognition using both classical methods and deep learning, and multiple view geometry for visual navigation. It will explore the topics of image formation, image features, image stitching, image and video segmentation, motion estimation, tracking, and object and scene recognition.

The course is organized around several projects. Through these projects you will learn the theory and practical skills required to obtain a computer vision engineering job.

Links to the lecture slides can be found on ELMS .

Course Information

All concepts will be covered during in class lecture. However, we also recommend the following books as good references:

  • Computer Vision: Algorithms and Applications, Richard Szeliski, Springer, 2020 Online version
  • Computer Vision: A Modern Approach: D. Forsythe and J. Ponce, Prentice-Hall, 2003 (available online)
  • Digital Image Processing, Prentice Hall, Rafael Gonzalez, and Richard Woods, 2008.
  • Multiple View Geometry in Computer Vision, Cambridge University Press, Richard Hartley, and Andrew Zisserman, 2003.

Schedule and Readings

Important Dates:

  • Final Exam: Monday, May 16, 1:30 PM (ET)

Lectures (Tentative Schedule)

Date Topic Assigned Reading
01/24 Introduction to Computer Vision David Jacobs' Preassessment Notes
01/26 Linear Algebra / Least Squares
1/31 Ridge Regression and Regularization
2/2 Singular Value Decomposition (SVD)
Principal Component Analysis (PCA)
PCA and SVD with numpy tutorial
2/7 Filtering
2/9 Canny Edge Detection Szeliski textbook, Section 3.2
2/14 Image Pyramids and Frequency Domain Szeliski textbook, Sections 3.4 and 3.5
2/16 Frequency Domain Continued, Intro to Corner Detection Szeliski textbook, Section 7.1
2/21 Corner Detection
2/23 Feature Descriptors and SIFT
2/28 Image Classification
Bag of Words
Szeliski textbook, Section 6.2.1
3/2 Image Classification
Support Vector Machines (SVM)
Szeliski textbook, Section 5.1.4
3/7 Multivariable Calc Refresher
Neural Networks
3/9 Neural Networks
3/14 Convolutional Neural Networks
3/16 Convolutional Neural Networks
3/21 Spring Break
3/23 Spring Break
3/28 2D Transformations
Projective Coordinates
Szeliski textbook, Section 3.6
Cyrill Stachniss Lecture
3/30 2D Transformations
Projective Coordinates
4/4 Homographies
4/6 Geometric Camera Models David Jacobs' 3D Geometry Notes
4/11 Geometric Camera Models
4/13 Two-view Geometry
4/18 Stereo and Structured Illumination
4/20 Structure from Motion
4/25 Segmentation
4/27 Optical Flow
5/2 Digital Photography
5/4 Computational Photography
5/9 Review and Recent Trends in Computer Vision
5/16 Final Exam


Instructor: Christopher Metzler (metzler at

Office: IRB 4236
Office Hours: Wednesdays 3:30-4:30 pm or by appointment

Teaching Assistants

Name Email Office hours
Kevin Zhang kzhang24 at Thursdays 3:00-5:00 pm
Mingyang Xie mingyang at Tuesdays 3:00-5:00 pm
Yi-Ting Chen ytchen at Fridays 1:00-3:00 pm

Office hour locations TBD.

Class Resources

Online Course Tools
  • ELMS - This is where you can find links to Zoom lectures, find recorded lectures, and see final grades.
  • Piazza - This is the place for class discussions. Please do not post homework/project solutions here.

Background Material
The following web pages provide some background and other helpful information.

  • Computer Vision Compendium CVonline
  • Fundamentals on image processing pdf
  • Recognizing and avoiding plagiarism pdf

Homeworks and Programming Assigments

Posted homeworks and programming assignments can be found on ELMS.


Thanks to Ioannis Gkioulekas, Mohammad Teli, Richard Baraniuk, Ashok Veeraraghavan, David Jacobs, and Kaushik Mitra who provided most of the slides, assignments, and material that serve as the basis for this course.