EECS 442: Computer Vision (Winter 2019)

Instructor: David Fouhey (fouhey)

GSI: Richard Higgins (relh)

IAs: Linyi Jin (jinlinyi), Shengyi Qian (syqian), Yi Wen (wennyi)

Lecture: Tuesday/Thursday 10:30AM – 12:00 Noon, 1571 GGBL

Monday 12:30PM - 1:30PM, 2246 SRB (previously 1200 EECS)
Wednesday 5PM – 6PM, 1571 GGBL

Office Hours:
Tuesday 3:00-4:30pm, BBB Learning Center
Thursday 2:30-4:00pm, BBB Learning Center
Friday 10:30-12:00 Noon, BBB 3777


This is an introduction to computer vision. Topics include: camera models, multi-view geometry, reconstruction, some low-level image processing, and high-level vision problems like object and scene recognition.

This course will be taught assuming

  • computer science knowledge at the level of EECS 281 (data structures) and corresponding programming ability;

  • the ability to program in Python, or if not, the ability to learn to program in a new language quickly.

It would be extremely helpful to know the following topics (i.e., we will provide a brief refresher when introducing it, but will not explain the details):

  • Programming: Some knowledge of numpy would be useful.

  • Math: Knowledge of basic linear algebra, calculus. Learning and geometry depend on both. If you are unfamiliar with linear algebra or basic calculus, please consider taking both: without these tools, you will likely be lost for large parts of the course. If you are rusty, do not worry but do make an effort to refresh your memory of both at the start of the course. In particular, in addition to knowing basic matrix operations, it would be good to know least-squares, Eigen- and singular-value decompositions, some notion of basic continuous optimization, partial derivatives, the chain rule.

Syllabus and Schedule

Here is: a tentative syllabus and a tentative schedule.

What's my homework grade?

After a little thinking, we'll have the late days count as fractional as well, since this makes the calculation more clear and hopefully reduces any confusion

Here is a calculator for doing the math. The late penalties can be applied in any order since it's linear, so the calculator just does it greedily.

Hours Late


I will make every effort to ensure that as many people as possible are moved off of the waitlist and into the course. I cannot re-order the waitlist or ensure that particular people get moved off the waitlist.

Credit for materials

I am extremely grateful to the many researchers who have made their slides and course materials available. Please feel to re-use any of my materials while crediting appropriately and making sure original attributions to these generous researchers is preserved.