CSE 152: Computer Vision (original) (raw)
CSE 152, Winter 2019
Instructor: Manmohan Chandraker
Email: mkchandraker [AT] eng [DOT] ucsd [DOT] edu
Lectures: WF 6:30-7:50pm in CENTR 113
Instructor office hours: Th 4-5pm in CSE 4122
TAs: Shashank Shastry (scshastr@eng.ucsd.edu), Bekhzod Soliev (bsoliev@eng.ucsd.edu), Yu-Ying Yeh (yuyeh@eng.ucsd.edu)
TA office hours: M 6-7pm in CSE B275, Th 9-10am in CSE B240A
Discussion section: Tu 8-8:50pm in HSS 1330
Class discussion and message board: Piazza
Overview
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 applications such as image search, social media or surveillance. There is also 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 drawing upon prior knowledge based on past observations. This makes machine learning a useful tool for computer vision. Indeed, the advent of deep learning frameworks has led to significant gains, allowing computer vision applications to succeed even in domains considered 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.
Prerequisites
A background in linear algebra and calculus 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.
Course Format and Requirements
The course will primarily involve lectures by the instructor. The goal of the course is to develop an understanding of the current state of 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 40% for a final exam, 30% for homeworks, 25% for a mid-term and 5% for participation. There will be three homework assignments.
Topics
The course will cover a diverse range of topics in computer vision and machine learning. An inexhaustive list includes:
- Feature detection and matching
- Structure from motion
- Stereo
- 3D reconstruction
- Image classification
- Object recognition
- Object detection
- Semantic segmentation
- Support Vector Machines
- Boosting
- Deep Neural Networks
Outline
Jan 09: Course overview: introduction to computer vision
- Lecture slides: [PDF]
Jan 11: Feature detection, description and correspondence
Jan 16: SIFT
Jan 18: Cameras
Jan 23: Projection and RANSAC
- Lecture slides: [PDF]
Quiz 2 (with answers) : [PDF]
Jan 25: Fundamental matrix
- Lecture slides: [PDF]
- Further reading: [CSE 252B lecture notes]
Jan 30: Epipolar geometry
- Lecture slides: [PDF]
- Advanced reading on camera calibration: [CSE 252B lecture notes]
Quiz 3 (with answers) : [PDF]
Feb 01: Stereo
- Lecture slides: [PDF]
Feb 06: Stereo
- Lecture slides: [PDF]
Feb 08: Stereo and MVS
- Lecture slides: [PDF]
Feb 13: Mid-term [Solutions]
Feb 15: Recognition
- Lecture slides: [PDF]
Feb 20: Image retrieval
- Lecture slides: [PDF]
Feb 22: Image classification
- Lecture slides: [PDF]
Feb 27: Feature learning
- Lecture slides: [PDF]
Mar 01: Convolutional Neural Networks
- Lecture slides: [PDF]
- Additional reading: [Stanford CS 231n notes]
Homework 3 : [PDF] [Jupyter Notebook]
- Solutions: [Problem 1, PDF] [Problems 2 and 3, Jupyter Notebook]
Mar 06: Optimization in Convolutional Neural Networks
Mar 08: Training Convolutional Neural Networks
Mar 13: Convolutional Neural Network Architectures
- Lecture slides: [PDF]
Mar 15: Review
- Lecture slides: [PDF]
Resources
- This course does not require a textbook. Some lectures will derive material from freely available online texts, such as:
- We might refer to some papers, which will be provided as PDFs or made available for download through provided links.
Last modified: Fri, Mar 08, 2019