Computer Vision (CSCI 5520G)
Fall 2026
Faisal Qureshi
faisal.qureshi@ontariotechu.net

News

August 7, 2026
Website is now online.

Course Info

Lectures

Communication

We'll use Canvas' discussion and messaging features for course-related communication.

Office hours

Syllabus

Canvas (requires login)

Course work — project documents and paper presentation slides — is submitted through the course Canvas site.

Course notes

The course draws on the following sets of notes. We cover a selection of topics from each; the weekly calendar below links the relevant sections.

Description

This graduate-level course offers an introduction to computer vision, with emphasis on both theoretical foundations and real-world applications.

At its core, computer vision is concerned with processing and analyzing digital images to extract meaningful information about the physical world. Applications range from reconstructing 3D scene structure from photographs, to recognizing people in images, to identifying actions in video sequences. Beyond these general tasks, computer vision plays a vital role in specialized domains such as medical imaging (e.g., analyzing CT or MRI scans), remote sensing (e.g., monitoring ecosystems through satellite imagery), and the entertainment and gaming industries.

Despite its successes, computer vision remains a challenging field. Digital images are essentially arrays of pixels, and inferring structure, semantics, or dynamics from them is non-trivial. Recent advances in machine learning—particularly deep learning—have transformed the field by enabling algorithms that can effectively “learn to see” from large collections of example images and videos. To reflect this, the course also introduces the modern machine learning methods that have become central to contemporary computer vision research.

This course blends short lectures with interactive paper readings and discussions. The lectures give you the background you need to dive into research papers, understand their methods, and try out key ideas yourself. In most classes, the first 45 minutes focus on a core topic, and the rest of the time is spent presenting papers and exploring them together in discussion.

The lectures are deliberately compact. They exist to give you enough footing to read the literature; the depth comes from the papers we read together and from your project.

Pre-requisites

The course assumes that students are comfortable with statistics, basic linear algebra, and programming.

We will be using Python for the programming part of this course. I recommend that you become comfortable with numpy, scipy, matplotlib, PyTorch and jupyter notebook.

The course also assumes that students are willing to read and comprehend large volumes of technical papers. Furthermore, that students have some experience with technical report writing.

Grading

There is one exam in this course, written in class. There is no final examination during the December examination period.

Important dates

Ontario Tech University’s academic calendar that lists important dates (and deadlines) is available here.

Paper Selection

Find paper selection form here. You’ll need your .net account to access this form.

Course calendar

Each class runs for three hours. From Week 6 onwards a class is typically a short lecture followed by student paper presentations and discussion.

Readings link to the course notes listed above. Lecture slides are posted as we progress.

Week 1 — Thursday, September 10

Introduction; image formation and the camera; how to read a paper.

Week 2 — Thursday, September 17

Images as functions: linear filtering, image pyramids, sampling.

Week 3 — Thursday, September 24

Learning from data: linear regression, maximum likelihood, logistic regression, softmax.

Week 4 — Thursday, October 1

Neural networks, backpropagation, and optimization.

Week 5 — Thursday, October 8

Convolutional networks.

Fall study break — Thursday, October 15

No class.

Week 6 — Thursday, October 22

Modern convolutional architectures; transfer learning. Paper presentations begin.

Week 7 — Thursday, October 29

Attention and vision transformers.

Week 8 — Thursday, November 5

Self-supervised and representation learning.

Week 9 — Thursday, November 12

Exam. Closed book, in class. Covers the lecture material from Weeks 1–8.

Week 10 — Thursday, November 19

Generative models: autoencoders, variational autoencoders, diffusion.

Week 11 — Thursday, November 26

Foundation models and vision–language models; bias, ethics, and deployment.

Week 12 — Thursday, December 3

Project presentations.

The list of assigned papers will be available after the first week of classes. Please check this page for details.

This calendar is a plan, not a contract. Topics may shift by a week depending on how the discussions go.

Exam preparation

The exam covers the topics discussed in the lectures during Weeks 1–8. In addition to the lecture slides, the course notes linked above are the best preparation.

Computer vision papers

Find a collection of computer vision papers at https://github.com/jbhuang0604/awesome-computer-vision. The list is organized by topic. Please find papers in topics that interest you — at least five papers in two different areas, of which at least three should be recent.

Papers should come from top-tier venues — CVPR, ICCV, ECCV, NeurIPS, ICLR, ICML, TPAMI and the like — and should relate to computer vision. Where possible, choose papers that connect to your own research.

See course Canvas for more instructions.

Course work

Exam

Presentation

Each student will be assigned recent papers to read and present. The student will be responsible for leading the discussion for this paper. Each student may be assigned to present multiple papers.

We will follow the role playing paper-reading seminar format. This means that each of us will be expected to read the paper and assume a role. The roles will shift from paper to paper. Check out advice on how to read a paper by S. Keshav.

Instructions for the presenter

Instructions for the participants

Project

The course project is an independent exploration of a specific problem within the context of this course. A project can be implementation oriented—where a student implements a computer vision system—or application oriented—where a student attempts to solve a problem (of suitable difficulty) by applying machine learning techniques. The project topic will be selected 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.

Course project is typically an individual effort.

Project topics

Projects must be related to computer vision theory, methods, and systems. A project that simply uses a pre-trained deep learning model, say YOLO or ImageNet, to solve some larger “task” is not appropriate. Such a project simply applies a pre-built system to the task at hand. I want us to have an opportunity to implement computer vision systems that underpin all these different applications.

Possible topics are:

In many cases it is difficult to deal with real cameras and hardware. In these situations it is possible to implement and evaluate your algorithms using simulated data. E.g., you can use a game engine to simulate traffic images captured at a road intersection.

Project proposal

Progress report

Final in-class presentation

Final report

For your final project write-up you must use the ACM SIG Proceedings Template (available at the ACM website). The project report is at most 12 pages long, plus extra pages for references. Your report must be of “publishable quality,” i.e., no typos, no grammar errors.

The final deadline for project report submission is Friday, December 11, 11:59 pm EST. This is a firm deadline. You will incur a penalty of 40% if you do not meet this deadline. These strict rules mimic the conference submission process:

Reading material

You will find the following computer vision books useful.

The following books are good resources for machine learning, especially deep learning.

These resources will not only help you understand the assigned papers, they may prove invaluable for your course project.