## EECS 442: Computer Vision (Winter 2019)
## OverviewThis 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 *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 ScheduleHere is: a tentative syllabus and a tentative schedule. What's my homework grade?
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.
## WaitlistI 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 materialsI 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. |