CMSC 426 - Computer Vision



Section 0201:

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 lectures 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: Wednesday, May 19, 11:59 PM (ET)

Lectures (Tentative Schedule)


Recorded lectures and slides can be found on ELMS.
Date Topic Assigned Reading
01/25 Introduction to Computer Vision David Jacobs' Preassessment Notes
01/27 Linear Algebra / Least Squares
(Normal Equations)
2/1 Ridge Regression and Regularization
2/3 Singular Value Decomposition (SVD)
Principal Component Analysis (PCA)
PCA and SVD with numpy tutorial
2/8 Filtering
2/10 Canny Edge Detection Szeliski textbook, Section 3.2
2/15 Image Pyramids and Frequency Domain Szeliski textbook, Sections 3.4 and 3.5
2/17 Frequency Domain Continued, Intro to Corner Detection Szeliski textbook, Section 7.1
2/22 Corner Detection
2/24 Feature Descriptors and SIFT
3/1 Image Classification
Bag of Words
Szeliski textbook, Section 6.2.1
3/3 Image Classification
Support Vector Machines (SVM)
Szeliski textbook, Section 5.1.4
3/8 Neural Networks
3/10 Neural Networks
3/15 Spring Break
3/17 Spring Break
3/22 Convolutional Neural Networks
3/24 Convolutional Neural Networks
3/29 2D Transformations
Projective Coordinates
Szeliski textbook, Section 3.6
Cyrill Stachniss Lecture
3/31 2D Transformations
Projective Coordinates
4/5 Homographies
RANSAC
4/7 Geometric Camera Models David Jacobs' 3D Geometry Notes
4/12 Geometric Camera Models
4/14 Two-view Geometry
4/19 Stereo and Structured Illumination
4/21 Structure from Motion
4/26 Segmentation
4/28 Optical Flow
5/3 Digital Photography
5/5 Computational Photography
5/10 Recent Trends in Computer Vision
5/19 Final Project Due

Staff

Instructor: Christopher Metzler (metzler at umd.edu)

Office: Online
Office Hours: Fridays 11:00-noon or by appointment


Teaching Assistants



Name Email Office hours
Kanishka Ganguly kganguly at terpmail.umd.edu Tuesdays and Thursday 5:00-6:00
Jiaye Wu jiayewuw at gmail.com Mondays 3:15-5:15
Shantam Bajpai sbajpai at terpmail.umd.edu Thursdays 2:30-4:30


All office hours take place online. Zoom links can be found on ELMS.

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

Click the name of an assignment below to see its specifications. Homework should be turned in via ELMS. Assignments are due before class time.


Note: Sections 0101 and 0201 have different assignments and due dates. The below information is applicable to Section 0201 only.

Homework Name
Due Date
Homework 1: Vision Startups Feb. 3, 2021
Homework 2: Least Squares, Ridge Regression, and PCA Feb. 17, 2021
Project 1: Filtering and Edge Detection March 3, 2021
Project 2: Bag of Words Classification March 24, 2021
Project 3: Classification with Neural Networks April 14, 2021
Project 4: Homographies and RANSAC April 28, 2021
Homework 3: 3D Geometry May 5, 2021 (optional)
Final Project: Visual Odometry May 19, 2021

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.