# Computer Vision

https://slazebni.cs.illinois.edu/fall24/#schedule

|   
## Fall 2024 CS 543/ECE 549: Computer Vision
**Quick links:** **[schedule](https://slazebni.cs.illinois.edu/fall24/#schedule), [Campuswire](https://campuswire.com/c/GB72276EA/feed)** (announcements and discussion), **[Canvas](https://canvas.illinois.edu/)** (assignment submission and grades), **[Mediaspace](https://mediaspace.illinois.edu/channel/channelid/351110162)** (lecture recordings)  
  
![](https://slazebni.cs.illinois.edu/fall24/images/hz6.jpg) **Instructor:[Svetlana Lazebnik](http://www.cs.illinois.edu/~slazebni)** (slazebni -at- illinois.edu)  
**Lectures:** W F 11:00-12:15 1404 Siebel  
**TAs:** Shreya Gummadi (gummadi4), Hao-Yu Hsu (haoyuh3), Zixuan Huang (zixuan32), Shivansh Patel (sp58)  
  
**Instructor and TA office hours:** see Campuswire  **Contacting the course staff:** For emergencies and special circumstances, please email the instructor. For questions about lectures and assignments, use Campuswire. For questions about your scores (including regrade requests), email the responsible TAs. 
## Overview
In the simplest terms, computer vision is the discipline of "teaching machines how to see." This field dates back more than fifty years, but the recent explosive growth of digital imaging and machine learning technologies makes the problems of automated image interpretation more exciting and relevant than ever. This course will cover the foundations of computer vision, including basic image processing, feature extraction and matching, image formation, and 3D structure recovery. The focus will be largely on mathematical frameworks and "classical" problem formulations and techniques, not on state-of-the-art deep learning systems. Students primarily interested in deep learning should consider taking CS 444.   
  
**Prerequisites:** Knowledge of linear algebra, calculus, probability and statistics. Python programming experience and previous exposure to image processing and numerical optimization are highly desirable. Knowledge of deep learning is helpful, but not required.   
  
**Recommended textbooks:**
  * **[Computer Vision: A Modern Approach](http://www.amazon.com/Computer-Vision-Modern-Approach-Edition/dp/013608592X)** by David Forsyth and Jean Ponce (2nd ed.) 
  * **[Computer Vision: Algorithms and Applications](http://szeliski.org/Book)** by Richard Szeliski (2nd ed., PDF available online) 
  * **[Foundations of Computer Vision](https://mitpress.mit.edu/9780262048972/foundations-of-computer-vision/)** by Antonio Torralba, Phillip Isola, and William Freeman

**Grading scheme:**
  * **Programming assignments:** 50% 
    * Five MPs, done individually, in Python
  * **[Final project](https://slazebni.cs.illinois.edu/fall24/project.html):** 30% 
    * Groups of two to five; deliverables include proposal, intermediate progress report, final report
  * **Unit quizzes:** 20% 
    * Three or four multiple-choice online quizzes on the four units from the syllabus below
  * **Participation:** up to 3% extra credit 
    * Students can get extra credit for actively participating in class, on Piazza, or during office hours

![](https://slazebni.cs.illinois.edu/fall24/images/warning.png) ** _[Be sure to read the course policies!](https://slazebni.cs.illinois.edu/fall24/policies.html)_** Syllabus **I. Image processing and low-level vision**
  * Image sampling, interpolation, transformations 
  * Fourier analysis 
  * Linear filters and edges 
  * Feature extraction 
  * Optical flow and feature tracking 

**II. Fitting and alignment**
  * Least squares fitting, robust fitting 
  * RANSAC, Hough transform 
  * Feature matching and image alignment 

**III. Image formation**
  * Camera models 
  * Light and shading 
  * Color 
  * Camera optics, perspective projection 

**IV. 3D vision**
  * Camera calibration 
  * Epipolar geometry 
  * Two-view and multi-view stereo 
  * Structure from motion 
  * Light field modeling 
  * Dense reconstruction 

**V. Advanced topics**
  * Selection of topics depends on time, student interest, and instructor choice. Possible topics include: image generation and manipulation, deep learning for 3D vision, video processing 

  
Schedule (tentative)  
 |  **Date**  |  **Topic**  |  **Readings (F &P 2nd ed.), assignments**  |  
| --- | --- | --- |  
| August 28   | Introduction: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec01_intro.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec01_intro.pdf)**  |  **Self-study:** See [resources](https://slazebni.cs.illinois.edu/fall24/#resources) for Python and linear algebra tutorials, feel free to try [U Mich EECS442 Mastery Assignment](https://web.eecs.umich.edu/~fouhey/teaching/EECS442_F19/mastery.html) as a warmup   |  
| August 30   | Image processing: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec02_image_processing.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec02_image_processing.pdf)**  |   |  
| September 4   | Image filtering: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec03_filter.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec03_filter.pdf)**  |   |  
| September 6   | Image filtering cont.   |  **[Assignment 1 is out](https://slazebni.cs.illinois.edu/fall24/assignment1.html)**  |  
| September 11   | Fourier analysis: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec04_frequency.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec04_frequency.pdf)**  |  **Reading:** [Draft notes](http://luthuli.cs.uiuc.edu/~daf/courses/CV23/Notes/samplingaliasingft2.pdf) from D. Forsyth   |  
| September 13   | Fourier analysis cont.   |   |  
| September 18   | Edge detection: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec05_edge.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec05_edge.pdf)**  |   |  
| September 20   | Corner detection: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec06_corner.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec06_corner.pdf)**  |  **Assignment 1 due September 23**  |  
| September 25   | SIFT keypoint detection: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec07_sift.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec07_sift.pdf)**  |  **Reading:** [Distinctive image features from scale-invariant keypoints](http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf)  
**[Assignment 2 is out](https://slazebni.cs.illinois.edu/fall24/assignment2.html)**  |  
| September 27   |  **No class**  |   |  
| October 2   | Optical flow: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec08_optical_flow.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec08_optical_flow.pdf)**  |   |  
| October 4   | Fitting: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec09_fitting.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec09_fitting.pdf)**  |   |  
| October 9   | Alignment: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec10_alignment.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec10_alignment.pdf)**  |  **Assignment 2 due October 9**  |  
| October 11   | Alignment cont.   |  **Project proposals due October 14**  |  
| October 16   | Cameras: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec11_camera.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec11_camera.pdf)**  |  **[Assignment 3 is out](https://slazebni.cs.illinois.edu/fall24/assignment3.html)**  |  
| October 18   | Light and shading: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec12_light.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec12_light.pdf)**  |   |  
| October 23   | Color: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec13_color.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec13_color.pdf)**  |   |  
| October 25   | Color cont.   |   |  
| October 30   | Camera calibration: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec14_calibration.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec14_calibration.pdf)**  |  **Assignment 3 due October 31**  |  
| November 1   | Single-view metrology: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec15_single_view.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec15_single_view.pdf)**  |  **[Assignment 4 is out](https://slazebni.cs.illinois.edu/fall24/assignment4.html)**  |  
| November 6   | Single-view metrology cont.   |   |  
| November 8   | Epipolar geometry: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec16_epipolar.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec16_epipolar.pdf)**  |  **Project progress reports due November 11**  |  
| November 13   | Epipolar geometry cont.   |   |  
| November 15   | Structure from motion: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec17_sfm.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec17_sfm.pdf)**  |  **Assignment 4 due November 19**  |  
| November 20   | Two-view stereo: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec18_stereo.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec18_stereo.pdf)**  |  **[Assignment 5 is out](https://slazebni.cs.illinois.edu/fall24/assignment5.html)**  |  
| November 22   | Multi-view stereo: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec19_multiview_stereo.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec19_multiview_stereo.pdf)**  |   |  
| December 4   | Light field modeling: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec20_plenoptic.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec20_plenoptic.pdf)**  |   |  
| December 6   | Neural radiance fields: **[PPTX](https://slazebni.cs.illinois.edu/fall24/lec21_nerf.pptx)** , **[PDF](https://slazebni.cs.illinois.edu/fall24/lec21_nerf.pdf)**  |   |  
| December 11   | Selected project presentations   |  **Assignment 5 due December 11**  
**Final project reports due December 16**  |  
  
Resources
  * [Python tutorial](https://docs.python.org/3/tutorial/)
  * [Stanford CS231n Python Numpy tutorial](https://cs231n.github.io/python-numpy-tutorial/)
  * [NumPy guide for MATLAB users](http://mathesaurus.sourceforge.net/matlab-numpy.html)
  * [Stanford CS231A Python and linear algebra review](https://docs.google.com/presentation/d/1BFxOj0vBkWz9-3m8QeN0k9ORYLRkLD3bAbMk_y7vqCE/edit#slide=id.p)
  * [U Mich EECS 442 Computer Vision: Doing Well](https://web.eecs.umich.edu/~fouhey/teaching/EECS442_F19/doingwell.html)

 |
