Computer Science Department

The University of Waterloo
Canada

CS 484/684 --- Computational Vision

Syllabus: January 2025

General Description

Computer Vision encompasses a variety of innovative methods and algorithms leveraged in applications such as facial recognition, image searching, augmented reality, medical image analysis, automated mapping of environments, and digital effects in movies and photography. This course provides an introduction to the computational and mathematical foundations of computer vision and covers many of its standard applications.

Lectures/Seminars: - Section 001: Tuesdays and Thursdays 10:00am-11:20am at MC2034
- Section 002: Tuesdays and Thursdays 1:00pm-2:20pm at AL 124
- In-class lectures/seminars will not be recorded, but alternative video lectures by the instructor will be posted on MS Teams as the course progresses. While the live lectures/seminars should systematically cover the required material, they will be more focused on the main points specific to computer vision and allow time for answering students' questions. In case some points in the slides are skipped in class (e.g. review of basic background in linear algebra, or if time runs out), the students could be referred to the posted video lectures.
- Video lectures posted on MS Teams ("Video Stream" tab) are closely aligned with the live lectures/seminars; they go over the same slides. The videos explain all the slides, including optional reviews of basic linear algebra, multi-variate calculus, and some (clearly marked) optional material in computer vision. Normally, the videos will be posted either in advance or within a day after the relevant lecture.
Online resources: - MS Teams will be used to post video lectures, to host online meetings (office hours, help sessions, tutorials), and for polls.
- Learn will be used for posting and collecting homework assignments, for quizzes, as well as for feedback and grades.
- iCllicker we will use iClicker for occasional in-class polling. Besides instant feedback for the instructor, it will also help to assess class participation. We will use iClicker cloud resources.
- Piazza will be used primarily as a forum for discussions between the students occasionally monitored by the TAs or prof. Your questions directly to the prof or TAs should be raised during their office hours or in class.


Instructors

Lecturer: Yuri Boykov (yboykov)
Office Hours: weekly meetings (TBA) on MS Teams ("Office Hours" channel).
TAs: Matthew Avolio (mavolio)
Nima Jamali (n3jamali)
Jeremy Yu (jccyu)
Jiahao Zhang (j2239zha)
Help: - grading
- piazza monitoring
- online programming tutorials and homework help sessions on MS Teams ("Office Hour" channel) as needed


Prerequisites

Note: Students are responsible for ensuring that they have the prerequisites for this course. If you have difficulty enrolling into the course (e.g., errors on Quest), then please review the CS Course Enrollment page or contact a CS advisor.

Comments on Linear Algebra

Understanidng computer vision methods requires certain level of confidence with linear algebra, which is actively used throughout the course. CS484 only briefly reviews some critical linear algebraic tools as they become needed, but there is absolutely no time to teach linear algebra on the same level (covering proofs and many basic examples) as it is done in the appropriate math courses. Based on observations from the previous years, students who took only one term of introductory linear algebra and do not remember much of it must be ready to commit (possibly substantial) extra time. For example, confidence with linear algebra correlates with the time required for completeing homework assignemnts.

At the same time, computer vision offers highly motivating and intuitive context for learning linear algebra. If you plan to take other courses on Data Analysis, AI, or Machine Learning, you will also appretiate stronger linear algebra skills. While CS484 covers only the absolutely necessary background in linear algebra, as well as multivariate calculus, some useful external links can be found in "Math Resources".

Course Content

This course introduces many standard computer vision problems and computational approaches for solving them. The context of image analysis also provides an intuitive and stimulating visual environment for developing and understanding numerical algorithms. A detailed list of covered topics is provided here.

Course Website

The website for the course is cs.uwaterloo.ca/~yboykov/Courses/cs484. Lecture notes, assignments, code samples, and other supplementary materials will be posted on this web site. Important announcements will be posted there. It is your responsibility to check this web site on a regular basis. LEARN will be used primarily for collecting homework assignments and projects.

Textbooks and Lecture Notes

There is no required textbook for this course. All lecture notes/slides will be available on the course web site. While the posted slides cover all the necessary material, they are supposed to be complemented by live discussion and blackboard scribbles. Note that class attensdance is very important since the posted slides are not designed for independent reading. Lecture notes could be complemented by readings from recommended text-books on computer vision and standard CS algorithms given below. You will be referred to specific relevant sections of these books in class.

Programming

We will use python within Jupiter notebook envronment. Python's linear algebra library "numpy" will be widely used in all assignments. Later assignemnts will also use "pytorch". On-line tutorials will be organized via Microsoft Teams to help with the basics of these libraries. More details and code samples are posted here.

Assignments, Quizzes, Participation (iClicker), Final Project

Final/Midterm Exams

There will be no exams in this course. Instead, there will be a final project due during the exam period.

Grading Scheme

UNDERGRADS GRADS
Assignment 0 5% 5%
Assignments 1-5 40% (4 best our of 5) 40% (all 5)
Quizzes 20% 20%
Participation-iClilcker 5% 5%
Final project 30% 30%

Academic Integrity

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check www.uwaterloo.ca/academicintegrity/ for more information.]

MOSS (Measure of Software Similarities) is used in this course as a means of comparing students' assignments to ensure academic integrity. We will report suspicious activity, and penalties for plagiarism/cheating are severe. Please read the available information about academic integrity very carefully.

Grievance

A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4, www.adm.uwaterloo.ca/infosec/Policies/policy70.htm. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.

Appeals:

A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals) www.adm.uwaterloo.ca/infosec/Policies/policy72.htm.

Note for Students with Disabilities:

The AccessAbility Services Office (AAS), located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the AAS at the beginning of each academic term.