CS 566: Introduction to Computer Vision

Fall 2026

Mode: Online. Lectures and administrative news will be shared on Canvas.
Lecture hours: (Synchronous) 9:30 AM — 10:45 AM, Tuesdays and Thursdays. Access via Canvas Zoom Page
Discussion: Piazza. A discussion thread will be created for each homework assignment. Please post all of your questions on the discussion board so that others may learn from your questions as well. Do not email the professor or TA directly with homework questions.
Mohit Gupta

Mohit Gupta

Instructor

mohitg@cs.wisc.edu

Aniket Rege

Aniket Rege

Teaching Assistant

aniketr@cs.wisc.edu

Sungjin Cheong

Sungjin Cheong

Teaching Assistant

sungjin.cheong@wisc.edu

Office hours

Mohit Gupta Tuesdays, 11 am — 12 pm (Central), via Canvas Zoom Page
Aniket Rege Wednesdays and Fridays, 9 am — 10 am. Remote via Canvas Zoom Page until September 23; in-person in Morgridge B2532 thereafter.
Sungjin Cheong Wednesdays, 1 pm — 2 pm and Fridays, 2 pm — 3 pm, via Canvas Zoom Page


Course description

SIFT keypoint visualization from an image of a rose
SIFT keypoints from an image of a rose
(image taken from the DIV2K dataset, processed using OpenCV)

The goal of computer vision is to compute properties of the three-dimensional world from digital images. Problems in this field include reconstructing the 3D shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos.

This course will provide an introduction to computer vision, including such topics as image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, and automatic vehicle navigation. This is a project-based course, in which you will implement several computer vision algorithms and do a final project on a research topic of your choice.

Pre-requisites

The course assumes a reasonable knowledge of linear algebra, calculus, and statistics, as a prerequisite. The programming assignments will be in Python, so a familiarity with it is essential. Please speak to the instructor if you are unsure of whether you can take the course.

Syllabus and schedule

Class Date Topic Homeworks and project
Introduction
R, Sep 3 Introduction and Fun with Optical Illusions HW-1 Out
Image Formation and Filtering
T, Sep 8 Image Formation and Sensing
R, Sep 10 Image Filtering
T, Sep 15 Thinking about Images in the Fourier Domain HW-1 Due
Feature Detection and Matching
R, Sep 17 Edge and Corner Detection
T, Sep 22 Boundary Detection and Hough Transforms HW-2 out
R, Sep 24 Video Boundary Detection using Active Contours
T, Sep 29 2D Object Recognition using SIFT Project proposal due
R, Oct 1 Image Alignment: Image Transformations
Basics of Machine Learning
T, Oct 6 Image Alignment: RANSAC HW-2 due, HW-3 out
R, Oct 8 Face Detection with Support Vector Machines
T, Oct 13 Image Segmentation with k-Means Clustering and Mean-Shift
R, Oct 15 Introduction to Neural Networks and Convolutional Neural Networks
3D Vision
T, Oct 20 Radiometry and Surface Appearance
R, Oct 22 3D Shape from Photometric Stereo HW-3 Due
T, Oct 27 Shape from Focus/Defocus
R, Oct 29 Camera Calibration and Shape from Stereo Project mid-term report due, HW-4 out
T, Nov 3 Internet-Scale 3D Reconstruction
Motion
R, Nov 5 Optical Flow and Motion Measurement
T, Nov 10 Background Subtraction and Image Tracking
Modern Cameras
R, Nov 12 NO CLASS HW-4 due, HW-5 out
T, Nov 17 Modern 3D Cameras: Structured Light and Time-of-Flight
R, Nov 19 Advanced Topics: Computational Cameras
T, Nov 24 Advanced Topics: Quanta Computer Imaging
R, Nov 26 NO CLASS (Thanksgiving)
 
T, Dec 1 Project Presentations HW-5 Due
R, Dec 3 Project Presentations
T, Dec 8 Project Presentations
R, Dec 10 Project Presentations Project webpage due

Coursework and grading

Grading will be based on a 100 point system. There are three main components:

Programming Assignments (55%)

The course will consist of 5 Python programming assignments.

The first homework is introduction to image manipulation in Python.

The homework assignments will be:

Title Out on Due Total points
HW 1 September 3 September 15 5
HW 2 September 22 October 6 16
HW 3 October 6 October 22 13
HW 4 October 29 November 12 7
HW 5 November 12 December 1 14

Guidelines for completing home-work assignments are given here. Please read these carefully.

Homework structure

There will be two types of problems in homeworks: walkthroughs and challenges. Below is a brief description of each problem type:

Late days

You can use up to 7 late days over the whole semester without any grade penalty. Any further delays in any homework submission after your late days are up, will result in a penalty of 20% per late day.

You do not need to notify us when you use late days; we will count them ourselves at the end of the semester. Also note that late days are not rounded up, meaning that if you are only 20 minutes late for a deadline, you still have 6 days, 23 hours, and 40 minutes remaining (Canvas does this tracking automatically).

Project (35%)

The final project is research-oriented. It can be a pure vision project or an application of vision technique in the student's own research area. Some example projects.

You should work on the project in groups of 2-3. You are expected to implement one (or more) related research papers, or think of some interesting novel ideas and implement them using the techniques discussed in class. Students are encouraged to propose their own project topics, subject to the instructor's approval.

Timeline and what to submit

There will be three checkpoints: a proposal, a mid-term report, and a final project webpage. Create a webpage for the project from the beginning. This page will include the proposal, the mid-term report, interesting implementation details, some results (e.g., images, videos, etc.), and so on. Your website should also include downloadable source and executable code. Do not modify the website after the due date of the "Project Webpage" assignment on Canvas.

Class participation (10%)

This is calculated based on answers to the multiple-choice quizzes on Canvas. Grades depend only on participation, not on correctness.

Readings

The material covered in the course will be available in the presentation slides which will be fairly self-contained. The slides will be available on Canvas. An optional text-book reading is "Computer Vision: Algorithms and Applications", by Richard Szeliski.

Academic integrity

This course follows the University of Wisconsin-Madison Code of Academic Integrity. Unless specifically authorized by the instructor, all coursework is to be done by the student working alone. Violations of the rules will not be tolerated.