We'll use Canvas' discussion and messaging features for course-related communication.
Lab times and locations are available here.
Labs and inclass exercises will be submitted through course canvas site.
Computer vision is the study of how machines can extract meaning from images and video. This is an introductory course, aimed at third-year undergraduates taking their first course on the subject. Students who wish to pursue advanced topics in computer vision, machine learning, or computer graphics will find it a useful foundation.
The course begins with image formation and the geometry of the pinhole camera, covering how a camera maps the three-dimensional world onto a two-dimensional image. From there we study the core tools of image processing: linear filtering, image derivatives, multiscale representations, and interest point detection. We then take up model fitting and robust estimation—least squares, RANSAC, and the Hough transform—and apply them to multi-view geometry: homographies, epipolar geometry, and stereo. Classical optical flow introduces motion estimation. The course closes with a gentle introduction to learning-based vision—neural networks, convolutional neural networks, and the use of pretrained CNN features—and with a look at where classical methods reach their limits and why learned methods took over. Object recognition and structure from motion are covered as time permits. Ethical and social implications of computer vision are discussed throughout.
Advanced learning-based methods—including vision transformers, foundation models, and generative image models—are the subject of the follow-on course, Computer Vision II, offered in the winter term.
The course assumes a working knowledge of programming in a high-level language such as Python, and second-year university-level mathematics (linear algebra, calculus, and discrete mathematics). Prior exposure to machine learning is helpful but not required.
Attendance is mandatory. In order to achieve success in this course, students are required to attend lectures and participate fully in the class activities.
A student must get 50% on the midterms combined to pass the course. Additionally, a student must get 50% in the course project to pass the course.
Each midterm covers only the weeks listed above. Material taught during the same week as a midterm is not examinable on that midterm; it will be assessed through in-class quizzes instead.
Ontario Tech University’s academic calendar that lists important dates (and deadlines) is available here.
Required: Computer Vision: Algorithms and Applications (2nd ed.), Richard Szeliski, Springer, 2022. A free PDF is available from the author at https://szeliski.org/Book/. Section numbers in the schedule below refer to this book.
Supplementary: Foundations of Computer Vision, Antonio Torralba, Phillip Isola, and William T. Freeman, MIT Press, 2024. Available online at https://visionbook.mit.edu/. This is also the required text for Computer Vision II.
Section numbers refer to Computer Vision: Algorithms and Applications (2nd ed.), Szeliski.
Labs are available here. Several labs use the KITTI Road benchmark, a set of driving scenes with camera calibration and hand-labelled road regions. You do not need a KITTI account. See Getting the KITTI data for a download script, manual instructions, and troubleshooting. Each lab handout lists the required reading, the data you need, the tasks, and the deliverables your notebook must contain. Labs are submitted through Canvas as executed Jupyter notebooks.
In class exercises are available here.
Sep 8, 10: Introduction and pinhole camera model—Sec. 1.1, 2.1
Lab 1—Python Setup and Image I/O
Sep 15, 17: Camera matrices—Sec. 2.1.4, 2.1.5, 11.1
Sep 22, 24: Linear filtering (convolution and cross-correlation) and Gaussian filters—Sec. 3.2
Sep 29, Oct 1: Image derivatives, edge detection, and image pyramids—Sec. 3.2.3, 7.2.1, 3.5
Lab 4—Image Gradients and Road Edges
Oct 6, 8: Bilateral filtering (Oct 6) and Midterm 1 (Oct 8)—Sec. 3.3.1, 3.3.2
Oct 20, 22: Model fitting, least squares and total least squares—Sec. 8.1.1, App. A.2
Lab 5—Image Pyramids and Scale
Oct 27, 29: Robust least squares, RANSAC, and Hough transform—Sec. 8.1.3, 8.1.4, 7.4.2
Lab 6—Model Fitting, RANSAC and the Hough Transform
Nov 3, 5: Interest points, corner detection, and classical optical flow as an introduction to motion estimation—Sec. 7.1.1–7.1.3, 7.1.5, 9.3
Lab 7—Interest Points, Tracking and Local Descriptors
Nov 10, 12: Homography and epipolar geometry—Sec. 8.1, 8.2.1, 12.1
Lab 8—Homography and Image Stitching
Nov 17, 19: Stereo analysis (Nov 17) and Midterm 2 (Nov 19)—Sec. 12.2–12.5
Nov 24, 26: Neural networks, perceptrons, and logistic regression—Sec. 5.1.3, 5.3
Lab 9—Stereo and Epipolar Geometry
Dec 1, 3: Convolutional neural networks—convolution as a learned filter, and using pretrained CNN features; where classical methods reach their limits (a bridge to Computer Vision II)—Sec. 5.4, 6.2.2
Lab 10—Convolutional Networks and Pretrained Features
The course project is an independent exploration of a specific problem within the context of this course. The topic of the project will be decided in consultation with the instructor.
Project grade will depend on the ideas, how well you present them in the report, how well you position your work in the related literature, how thorough are your experiments and how thoughtful are your conclusions.
Teams of up to four students are allowed.
You may optionally prepare a three-minute video that provides an overview of your project. You may frame these videos as pitch videos to investors—having a broad understanding of the computer science, information technology, and artificial intelligence landscape—who are considering investing in your business that is built around the technology that you have developed in your project.
For your final project write-up you must use ACM SIG Proceedings Template (available at the ACM website). Project report is at most 12 pages long, plus extra pages for references.
Alternately, you can use the following template (from “Tech Report ala MIT AI Lab (1981):
The required and supplementary textbooks are listed above. Both are available online at no cost.
Students are strongly encouraged to take their own notes during lectures.