CSE 40535 is an upper-level Computer Science and Engineering course at the University of Notre Dame that introduces students to the field of computer vision. The aim of computer vision is to give computers the ability to "understand" what they "see" in images and videos taken by one or more sensors (most often visible-light cameras). The goal of this course is to introduce and discuss methods for interpreting the visual information captured by machines to give them this ability. The course is divided into four parts.
Defines the notion of computer vision, the progress made in this discipline in recent decades, current challenges, successful applications, and its limitations. We also discuss selected biological vision mechanisms as an inspiration to create better computer vision solutions.
Explains the basics of signal processing from a computer vision perspective. This part includes image formation, image acquisition, understanding and effective use of color (and in general multi-wavelength) information, and image processing (filtering and segmentation).
Focuses on the automatic recognition of patterns. It covers feature extraction and selection, texture descriptors, Bayesian inference, classification, and decision making. In this part, we will also discuss how these tasks can be solved using deep learning techniques, analysing convolutional neural networks and selected modern neural network-based architectures. Finally, we will discuss the reliability of modern deep learning-based, generative, and image-to-image translation models.
Considers multiple-view and geometry topics in vision: motion analysis, including object tracking, projective geometry, camera geometric model, camera calibration, and 3D reconstruction.
After completing this course, students will be able to understand the computer vision literature, recognize the frontiers of state-of-the-art computer vision systems, and select appropriate mathematical and software tools to develop algorithms that solve the most important computer vision problems. Practical classes will utilize high-level programming languages (Python will be our main coding language) and popular computer vision tools and machine learning packages, such as OpenCV, Keras, Tensorflow, or Pytorch, to illustrate in practice selected topics discussed in class. The goal of the semester project is to exercise the entire computer vision pipeline on a selected vision problem. Special thanks go to Prof. Walter Scheirer and Prof. Adam Czajka. This version of the course was adapted from CSE 40535 Spring 2025, taught by Prof. Walter Scheirer, in turn adapted from the one originally developed by Prof. Adam Czajka.

Click on the next to a topic for additional resources.
| Unit | Date | Topics | Assignments |
|---|---|---|---|
| Course Introduction | 01/12 | Course Organization | Homework 00 Project 00 |
| Introduction to Computer Vision | |||
| Field of Computer Vision | 01/14 | Introduction to Computer Vision | Homework 01 |
| 01/16 | Applications: CV for Emergency Response Scenarios | ||
| Biological Vision | 01/19 | Martin Luther King Jr. Day (No Class) | |
| 01/21 | Biological Inspirations in CV | Homework 02 | |
| Digital Image Processing | |||
| Image Acquisition and Formation | 01/23 | Image Acquisition | Project 01 |
| 01/26 | Color and Multispectral Imaging (Part 1) | Practical 01 (Before-Class) | |
| 01/28 | Color and Multispectral Imaging (Part 2) | Bonus | |
| Image Processing | 01/30 | Point Operators (Part 1) | Homework 03 |
| 02/02 | Practical 01 (In-Class) | ||
| 02/04 | Point Operators (Part 2) | ||
| 02/06 | Neighborhood Operators (Part 1) | Project 02 | |
| 02/09 | Neighborhood Operators (Part 2) | Bonus | |
| 02/11 | Neighborhood Operators (Part 3) | Homework 04 | |
| 02/13 | Edge Detection and Linking (Part 1) | Bonus | |
| 02/16 | Edge Detection and Linking (Part 2) | Practical 02 (Before-Class) | |
| 02/18 | Image Segmentation | Homework 05 | |
| Visual Recognition | |||
| Feature Extraction | 02/20 | Extraction of Visual Features (Part 1) | Project 03 |
| 02/23 | Practical 02 (In-Class) | ||
| 02/25 | Extraction of Visual Features (Part 2) | ||
| 02/27 | Extraction of Visual Features (Part 3) | Practical 03 (Before-Class) | |
| Geometric Transformations | 03/02 | Geometric Transformations | Homework 06 |
| 03/04 | Special Talk: A History of Fake Things on the Internet | ||
| 03/06 | Practical 03 (In-Class) | ||
| 03/09 | Spring Break (No Class) | ||
| 03/11 | Spring Break (No Class) | ||
| 03/13 | Spring Break (No Class) | ||
| Feature Classification | 03/16 | Feature Classification (Part 1) | |
| 03/18 | Feature Classification (Part 2) | Homework 07 | |
| 03/20 | Feature Classification (Part 3) | ||
| Deep Learning | 03/23 | Deep Learning in Computer Vision (Part 1) | Practical 04 (Before-Class) |
| 03/25 | Deep Learning in Computer Vision (Part 2) | Homework 08 | |
| 03/27 | Deep Learning in Computer Vision (Part 3) | Project 04 | |
| 03/30 | Practical 04 (In-Class) | ||
| 04/01 | Generative Models | Practical 05 (Before-Class) | |
| 04/03 | Easter Break (No Class) | ||
| 04/06 | Easter Break (No Class) | ||
| 04/08 | Vision-Language Models | ||
| 04/10 | Reliability of Deep Learning-Based Models | Homework 09 | |
| 04/13 | Practical 05 (In-Class) | ||
| Multiple-View Analysis | |||
| Multiple-View | 04/15 | Camera Calibration | |
| 04/17 | 3D Reconstruction (Part 1) | Project 05 | |
| 04/20 | 3D Reconstruction (Part 2) | ||
| 04/22 | Object Tracking | Homework 10 | |
| 04/24 | Applications: Computer Vision for Ecology | ||
| Review & Evaluation | |||
| Review | 04/27 | Review for Final Exam | |
| 04/29 | Final Exam (optional) | ||
| Final Project | 05/01 | Final Delivery | |
| Final Exam | 05/05 10:30-12:30 | Fitzpatrick Hall of Engineering 356A | |
| Component | Points |
|---|---|
| Participation Participation in class, office hours, and slack chats. | 15 × 12 + 20 |
| Homeworks Homework assignments. | 10 × 100 |
| Practicals In-class programming projects. | 5 × 200 |
| Project Final group project. | 500 |
| Exam Final Exam. | 300 |
| Total | 3000 |
| Grade | Points | Grade | Points | Grade | Points |
|---|---|---|---|---|---|
| A | 2790-3000 | A- | 2700-2789 | ||
| B+ | 2601-2699 | B | 2499-2600 | B- | 2400-2498 |
| C+ | 2301-2399 | C | 2199-2300 | C- | 2100-2198 |
| D | 1950-2099 | F | 0-1949 |
Any student who has a documented disability and is registered with Sara Bea Accessibility Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact Sara Bea Accessibility Services.
Any academic misconduct in this course is considered a serious offense, and the strongest possible academic penalties will be pursued for such behavior. Students may discuss high-level ideas with other students, but at the time of implementation (i.e., programming), each person must do his/her own work. Use of the Internet as a reference is allowed but directly copying code or other information is cheating. It is cheating to copy, to allow another person to copy, all or part of an exam or a assignment, or to fake program output. It is also a violation of the Undergraduate Academic Code of Honor to observe and then fail to report academic dishonesty. You are responsible for the security and integrity of your own work.
We are big advocates of the responsible use of modern AI tools, including generative AI models that are in the headlines (this is a computer vision course, after all). We will have opportunities to use the output of these systems in assignments, and we will discuss their usefulness for solving computer vision problems in class. But you must not use generative AI to simply "do your work for you" (e.g., generate ready-to-submit homework answers, or code snippets). This is not what we would call "responsible use" and it is harmful to your long-term learning goals. The prose generated by ChatGPT is spelled and punctuated correctly and has proper grammar, but it frequently concocts false information, and supports its arguments with very shallow reasoning that relies on description rather than inference. Use it as a "brainstorming buddy" (ChatGPT's confabulations can be very inspirational as they may take you to ideas you have never thought about). Or use it to simply correct your grammar / language. But do not cheat (see the the Academic Honesty section of this page).
Notre Dame has implemented a classroom recording system. This system allows us to record and distribute lectures to you in a secure environment. You can watch these recordings on your computer, tablet, or smartphone. The recordings can be accessed via a request made to the instructor.
Because the instructor reserves the right to record in the classroom on select occasions, your questions and comments may be recorded. (Video recordings typically only capture the front of the classroom.) If you have any concerns about your voice or image being recorded, please speak to me to determine an alternative means of participating. No content will be shared with individuals outside of your course without your permission except for faculty and staff that need access for support or specific academic purposes.
These recordings are jointly copyrighted by the University of Notre Dame and your instructor. Posting them to other websites, including YouTube, Facebook, Vimeo, or elsewhere without express, written permission may result in disciplinary action and possible civil prosecution.
In-person attendance is mandatory. Students are expected to attend and contribute regularly in class. This means answering questions in class, participating in discussions, and helping other students. Foreseeable absences should be discussed with the instructor ahead of time.
In the case of a serious illness or other excused absence, as defined by university policies, coursework submissions will be accepted late by the same number of days as the excused absence.
For the assignments in this class, you may discuss with other students and consult printed and online resources. You may quote from books and online sources as long as you cite them properly. However, you may not look at another student's solution, and you may not copy solutions.
| Resources | Solutions | |
|---|---|---|
| Consulting | Allowed | Not Allowed |
| Copying | Cite | Not Allowed |
For further guidance please refer to the CSE Honor Code or ask the instructor.