Instructor: Manmohan Chandraker

Email: mkchandraker [AT] eng [DOT] ucsd [DOT] edu

Lectures: WF 5-6:20pm, at CENTR 115

Instructor office hours: Th Noon-1pm at EBU-3B 4122

TAs: Meng Song (mes050@eng.ucsd.edu), Mallikarjun Swamy (mswamy@ucsd.edu), Rishikanth Chandrasekaran (r3chandr@ucsd.edu), Vishal Vinod (vvinod@ucsd.edu)

TA office hours: TBA

Tutors: Nicholas Chua (nchua@ucsd.edu), Navya Sharma (n1sharma@ucsd.edu), Ang Li (a3li@ucsd.edu)

Tutor hours: TBA

Discussion section: M 3-3:50pm in CENTR 119

Class discussion and message board: Piazza

Computer vision is a branch of artificial intelligence that seeks to understand the world based on visual cues, primarily images. This understanding can be in the form of recovering three-dimensional scene properties, recognizing objects, labeling parts of the image into semantic categories, recognizing actions in videos or predicting behaviors. Computer vision has made tremendous progress in recent years. It is increasingly becoming a part of our daily lives, with a widespread acceptance that computer vision will play a large role in enabling technologies of the future, such as self-driving cars or augmented reality. Computer vision seeks to analyze images to draw meaningful conclusions, which often requires modeling the geometric and physical process of image formation, or drawing upon prior knowledge based on observations. Recent progress in deep learning has allowed computer vision applications to succeed even in domains considered extremely challenging just five years ago. In this class, we will explore the fundamentals of diverse topics in computer vision and understand how they are shaping the modern world of technology.

A background in linear algebra, calculus and probability is required. Programming experience in Python is required. Courses that cover these might be Math 20F, CSE 100 or Math 176, CSE 101 or Math 188. Students are encouraged to contact the instructor if unsure about meeting any criteria for enrollment.

The course will primarily involve lectures by the instructor. The goal of the course is to develop an understanding of fundamental concepts in computer vision and gain appreciation of its limits and potential. Active participation by students is encouraged for in-class discussions.

Students may take the class with a letter grade option for 4 units. Grades will be weighted as 30% for a final exam, 20% for a mid-term, 45% for homeworks and 5% for a self-study exercise. There will be four graded homework assignments and several ungraded quizzes.

- Image formation
- Feature detection and matching
- Structure from motion
- Stereo
- 3D reconstruction
- Image classification
- Object recognition
- Support Vector Machines
- Deep Neural Networks

- Sep 23: Overview and introduction
- Lecture slides: [PDF]

- Sep 28: Image formation
- Lecture slides: [PDF]

- Sep 30: Photometric stereo
- Lecture slides: [PDF]

- Oct 05: Geometric image formation
- Lecture slides: [PDF]

- Homework 1: [HW1.zip]

- Oct 07: Cameras
- Lecture slides: [PDF]

- Oct 09: Projective geometry
- Lecture slides: [PDF]

- Oct 14: Features
- Lecture slides: [PDF]

- Oct 21: Matching
- Lecture slides: [PDF]

- Oct 26: Two-view reconstruction
- Lecture slides: [PDF]

- Oct 28: Epipolar geometry
- Lecture slides: [PDF]

- Nov 04: Recognition
- Lecture slides: [PDF]

- Nov 09: Classification
- Lecture slides: [PDF]

- Nov 16: Neural networks
- Lecture slides: [PDF]

- Nov 18: Convolutional neural networks
- Lecture slides: [PDF]

- Nov 23: Optimization in neural networks
- Lecture slides: [PDF]

- Nov 30: Convolutional neural network architectures
- Lecture slides: [PDF]

- Dec 02: Review
- Lecture slides: [PDF]

- This course does not require a textbook. Some lectures will derive material from freely available online texts, such as:

Manmohan Chandraker Last modified: Sun, Sep 18, 2022