Lecture Date Topic Materials Assignments
Lec. 1 Thu, Jan. 9 Introduction
About this course
A simple visual world
ps1 (filtering) out
Lec. 2 Tue, Jan. 14Image filters
Lec. 3 Thu, Jan. 16Signal processing
Fourier analysis
Template matching
Lec. 4 Tue, Jan. 21Multi-scale pyramids
Gaussian and Laplacian pyramids
Image blending
Texture analysis
ps1 due
ps2 (signal processing) out
Lec. 5 Thu, Jan. 23Statistical models of images
Image priors
Example-based texture synthesis
Lec. 6 Tue, Jan. 28Temporal filters ps2 due
ps3 out (texture)
Lec. 7 Thu, Jan. 30Machine learning
Lec. 8 Tue, Feb. 4 Neural networks
Lecturer: Haozhu Wang
ps3 due
ps4 out (backprop)
Lec. 9 Thu, Feb. 6 Optimization
Lec. 10 Tue, Feb. 11Convolutional networks ps4 due
ps5 out (scene recognition)
TutorialTue, Feb. 11PyTorch tutorial
Lec. 11 Thu, Feb. 13Scene understanding
Lec. 12 Tue, Feb. 18Object detection ps5 due
ps6 (object detection)
Lec. 13 Thu, Feb. 20Action recognition
Lec. 14 Tue, Feb. 25GANs ps6 due
project proposal info out
Lec. 15 Thu, Feb. 27Image synthesis
Spring break
Lec. 16 Tue, Mar. 10Representation learning project proposal due
ps7 out (image translation)
Lec. 17 Thu, Mar. 12Sight, sound, and touch
Lec. 18 Tue, Mar. 17Optical flow ps7 due
ps8 out (representation learning)
Lec. 19 Thu, Mar. 19Multi-view geometry
Lec. 20 Tue, Mar. 24Structure from motion ps8 due
ps9 out (panorama stitching)
Lec. 21 Thu, Mar. 26Depth estimation
Lec. 22 Tue, Mar. 31Graphical models ps9 due
ps10 out
Lec. 23 Thu, Apr. 2 Color
Lec. 24 Tue, Apr. 7 Embodied vision ps10 due
Lec. 25 Thu, Apr. 9 Modern CNNs
Lec. 26 Tue, Apr. 14Image forensics
Lec. 27 Thu, Apr. 16Language and vision
Lec. 28 Tue, Apr. 21Datasets and bias
Final project presentations, Mon. April 27 - Thurs. April 30
Please note that this is a tentative schedule. It is very likely to change!

Staff & Office Hours

Graduate student (GSI)
Anthony Liang
Instructional aide (IA)
Instructional aide (IA)

Name Office hour times Location
Andrew OwensFri. 3:00pm - 4:00pmEECS 4231
Haozhu WangThu. 7:30pm - 8:30pmEECS 3312
Bingqi SunMon. 12:00 - 1:00EECS 3312
Anthony LiangMon. 1:00 - 2:00pmEECS 3312

Course information

EECS 504 is a graduate-level computer vision class. Class topics include low-level vision, object recognition, motion, 3D reconstruction, and basic signal processing and deep learning. We'll also touch on very recent advances, including those in image synthesis, unsupervised learning, and multimodal perception.

Prerequisites: Please note that this is an advanced, graduate-level computer vision course. There are no exams, but there will be a fairly heavy workload, with programming projects due almost every week.

  • This course puts a strong emphasis on mathematical methods. We'll cover a wide range of techniques in a short amount of time: e.g., projective geometry, backpropagation, graphical models, signal processing, etc. We'll assume that you have strong linear algebra, multivariable calculus, and probability skills. Basic knowledge of machine learning is encouraged, but not required.
  • All programming will be completed in Python, using numerical libraries such as numpy, scipy, and PyTorch. We'll assume that you have extensive programming experience.

Q&A: This course has a Piazza forum, where you can ask public questions. If you cannot make your post public (e.g., due to revealing problem set solutions), please mark your post private, or come to office hours. Please note, however, that the course staff cannot provide help debugging code, and there is no guarantee that they'll be able to answer last-minute homework questions before the deadline. We also appreciate it when you respond to questions from other students!

Homework: There will be homework assignments approximately every week. All programming assignments are to be completed in Python, using the starter code that we provide. Assignments will always be due at midnight (11:59pm) on the due date. The assignments will all be worth approximately equal amounts. Written problems will usually be submitted to Gradescope. You may be asked to annotate your pdf (e.g. by selecting your solution to each problem).

Final project: In lieu of a final exam, we'll have final project. This project will be completed in small groups during the last weeks of the class. The direction for this project is open-ended: you can either choose from a list of project ideas that we distribute, or you can propose a topic of your own. A short project proposal will be due approximately halfway through the course. During the final exam period, you'll turn in a final report and give a short presentation. You may use an ongoing research work for your final project, as long it meets the requirements.

Grading: Class grades will be weighted:

  • Homework: 70%
  • Final project: 30%

Textbook: There is no required textbook. Instead, we'll post online readings for each lecture. Optional reference textbooks:

  • Szeliski. Computer Vision: Algorithms and Applications. (available for free online)
  • Goodfellow, Bengio, Courville. Deep Learning. (available for free online)
  • Forsyth and Ponce. Computer Vision: A Modern Approach.
  • Hartley and Zisserman. Multiple View Geometry in Computer Vision.

Acknowledgements: This course draws heavily from MIT's 6.869: Advances in Computer Vision by Antonio Torralba, William Freeman, and Phillip Isola. It also includes lecture slides from other researchers, including Svetlana Lazebnik, Alexei Efros, and Noah Snavely (please see acknowledgments in the lecture slides).

Late policy: You'll have 5 late days to use over the course of the semester. Each time you use one, you may submit a homework assignment one day late without penalty. You do not need to notify us when you use a late day; we'll deduct it automatically. If you run out of late days and still submit late, your assignment will be penalized at a rate of 30% per day. If you edit your assignment after the deadline, this will count as a late submission, and we'll use the revision time as the date of submission (after a short grace period of a few minutes). We will not provide additional late time, except under exceptional circumstances, and for these we'll require documentation (e.g., a doctor's note). Please note that the late days are provided to help you deal with minor setbacks, such as routine illness or injury, paper deadlines, interviews, and computer problems; these do not generally qualify for an additional extension.

Academic integrity: While you are (highly!) encouraged to discuss homework assignments with other students, your programming work must be completed individually. You must also write up your solution on your own. You may not search for solutions online, or to use existing implementations of the algorithms in the assignments. Please see the Michigan engineering honor code for more information.

Support: The counseling and psychological services center (CAPS) provides support for a variety of issues.