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 Project Due: Monday, May 16 at 1:30 PM (ET)

Lectures (Tentative Schedule)


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

Staff

Instructor: Christopher Metzler (metzler at umd.edu)

Office: IRB 4236
Office Hours: Wednesdays 3:45-5:45 pm


Teaching Assistants



Name Email Office hours
Kevin Zhang kzhang24 at umd.edu Wednesdays 1:30-3:30 pm
Mingyang Xie mingyang at umd.edu Tuesdays 3:00-5:00 pm
Sazan Mahbub smahbub at umd.edu Thursdays 3:00-5: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.

Acknowledgements

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.