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. If you have no exposure to deep learning, you will be asked to watch an additional videolecture (deep learning I) that replaces the Memorial Day lecture.
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:
- Four two-week homework assignments (60%).
- Final (40%).
- In-Class Quizzes (Extra Credit).
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 Jan. 11.
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.
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:
- Thurs 2:00 - 2:50pm, Eng. IV 56-147J, Prof. Kadambi.
- Friday 4:00 - 4:50pm, DODD 161, Rishi.
- Wednesday 11:00 - 12:00pm, Eng. 4 Room 57-124, Rishi.
Discussion Section: We will have a discussion section Fridays 3:00-3:50pm, DODD 175
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 1
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10
Finals Week
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.