EE149: Foundations of Computer Vision, Fall 2024

Student Mode

Instructor Mode

EE149: Foundations of Computer Vision
Fall 2024

Course description

This course covers the foundations of computer vision from both a theoretical and practical perspective. A particular emphasis is on “Classical” Computer Vision, which after taking this course, should be seen as complementary to deep learning. In fact, the pioneers of classical computer vision are the same community that developed convolutional neural networks (CNNs). The course should be relevant for CS majors specializing in AI, ECE majors specializing in cyberphysical systems and information engineering, ME majors specializing in robotics, Statistics majors specializing in machine learning, CogSci and Psych majors specializing in perception, and Math majors looking for applications.

Prerequisites

Familiarity with Python programming, and command of Linear Algebra, Calculus, Signal Processing, and Probability. Familiarity with LaTeX (or willingness to spend 1-2 hours learning it). Familiarity with deep learning (DL) can be helpful, because many classmates would already have exposure, and therefore be advantaged, and it is your decision to either take this class after DL,

Textbooks

There is no required textbook, although the following textbooks can be seen as a helpful resource. These are all freely available.

Evaluation

Your final grade will be made up of:

The grading scale will be as follows:

A+ at discretion A 93-max A- 90-93
B+ 87-90 B 83-87 B- 80-83
C+ 77-79 C 73-76 C- 70-72

Homework assignments: There will be 4 problem sets, each 2 weeks long. The release and due dates are shown on the class calendar. Homework submission will be through Gradescope.

Late days: Everyone has 4 late days to be applied to any assignment. After these late days, there will be a 10% penalty per late day.

In class quizzes: There will be short (10 min) quizzes at the beginning of each lecture. The questions on these quizzes will be designed to be built on top of the prior lectures material and will be similar to final exam problems. Each quiz will be out of 10 points. For every quiz you receive 8+ points, you will receive 1 point of extra credit on the final. The first quiz will be on Thursday Oct. 3.

Collaboration policy: With the obvious exception of exams, we encourage you to discuss course activities with your friends and classmates as you are working on them. You will learn more in this class if you work with others than if you do not. Ask questions, answer questions, and share ideas liberally.

Learning cooperatively is different from sharing answers. You shouldn't be showing your code to other students or looking at others' code, except if you've finished a problem already, you can look at others' code to help them finish.

If you are helping another student, don't just tell them the answer; they will learn very little and run into trouble on exams. Instead, try to guide them toward discovering the solution on their own. Problem solving practice is the key to progress in computer science.

Submitting homework: We will use Gradescope, available through Bruinlearn, for submitting and grading homework.

Final Exam: The final exam will be on Dec. 10 from 3-6pm. The location is still TBD. You will be allowed a 1 page two-sided cheatsheet.

Email, office hours, and discussion

Email: Please direct all email inquiries to: vmgteaching@gmail.com. Instructors will monitor this email and direct it appropriately. Please do not use the instructors private emails as it is easy for the email to get lost.

Office hours: Teaching staff will have regular office hours at the following times:

  • Thursday 3:00 - 3:50pm, Engr IV, 56-147J.** , Prof. Kadambi.
  • Wednesdays 10:00-10:50am, Engr IV, 18-135, Rishi.

** A sign will be posted if we had to overflow beyond Kadambi’s office size.

Discussion Sections:

  • Thursday 2:00-2:50pm, Rolfe 3116
  • Friday 12:00-12:50pm, Public Affairs 1337
  • Friday 1:00-1:50pm, Royce 150

Discussion and Office Hours will start from the week of 10/1

Schedule

Dates and topics are likely to change during the semester. Blank slides are subject to updates, so download the latest version at the start of lecture. We will try, but it is not gaurenteed that there will be a lecture recording for all lectures.

Week 0

Sep. 26
No Lecture

Week 1

Oct. 1
Introduction, The 3 R's
Oct. 3
Image Processing I

Week 2

Oct. 8
Image Processing II: 2D Convolution
Oct. 10
2D Fourier Transform, Intro to Deconvolution
HW 1 Released, Due 10/29

Week 3

Oct. 15
Deconvolution and Blind Deconvolution
Oct. 17
No Lecture

Week 4

Oct. 22
Edges to Corners/Representing Local Correspondence I: Descriptors + Detectors
Oct. 24
Representing Local Correspondence II: Matching
HW 2 Released, Due 11/7

Week 5

Oct. 29
The Second R: Reconstruction
HW 1 Due
Oct. 31
Reconstruction on the Planar Domain (RPD) I: 2D-2D Transformations, Projection

Week 6

Nov. 5
RPD II: Homographies, Perspective Projection
Nov. 7
RPD III: Image Matching
HW 3 Released, Due 11/21.

Week 7

Nov. 12
Reconstruction in 3D Space (R3D): Camera Models
HW 2 Due
Nov. 14
R3D II: Two-View Geometry

Week 8

Nov. 19
Stereo 3D Reconstruction
Nov. 21
Third R: Recognition. Deep Learning I
HW4 Released, Due 12/5

Week 9

Nov. 26
Deep Learning II: CNNs
HW 3 Due
Nov. 28
No Class: Happy Thanksgiving!

Week 10

Dec. 3
Deep Learning III: Big-4 Recognition Tasks
Dec. 5
Deep Learning IV: Implicit Scene Representations
HW 4 Due

Finals Week

Dec. 10
Final Exam, 3-6PM, Location TBD

Acknowledgments

Lecture notes, homework assignments, and quizzes have been drawn from material from colleagues: Ioannis Gkioulekas, Kris Kitani, Bob Collins, Ramesh Raskar, Ayush Bhandari, Gordon Wetzstein, Srinivasa Narashiman, Stefano Soatto, Marc Levoy, Martial Hebert, Matthew O'Toole, Alyosha Efros, Ali Faharadi, Deva Ramanan, Yaser Sheikh, Todd Zickler. More specific acknowledgments can be found in the corresponding material. If you use any material, please apply credits recursively.

Credit to Ioannis Gkioulekas for the website structure and design.