CMPSCI 370: Introduction to Computer Vision, Spring 2016

Instructor Subhransu Maji
Office hours Monday 3:00-5:00pm (CS 274)
Schedule Tu/Th 11:30am-12:45pm (Hasbrouck 113)
Schedule HH Tu 4:00-5:00pm (CS 142)
Homework Moodle
Discussions Piazza


This introductory computer vision class will address fundamental questions about getting computers to "see" like humans. We investigate questions such as -- What is the role of vision in intelligence? How are images represented in a computer? How can we write algorithms to recognize an object? How can humans and computers "learn to see better" from experience? We will write a number of basic computer programs to do things like recognize handwritten characters, track objects in video, and understand the structure of images.

The course will introduce a number of key concepts, techniques and algorithms. The focus will be on the mathematical foundations rather than the use of software packages as black box. The course requires appropriate mathematical background in probability and statistics, calculus, linear algebra. Prior familiarity with Matlab will be helpful, but not required. Students will be taught basic programming using Matlab during the course. The course has the following official prerequisites: CMPSCI 240 or CMPSCI 383 with a 'C' or better.

Honors Colloquium (370HH): The colloquium will focus on advanced topics and recent research topics related to computer vision. Students will participate in group discussions and carry out a group or individual project which will be an extension to the project work in CMPSCI 370. Students will be graded based on their active participation during meetings, written summaries of assigned readings, and project work.

Textbook: There is no required textbook for this class. The book below is a useful reference. You may purchase it if you want a hard copy. It is also available online as a pdf.

Grading: We will use the following grading scheme:



WeekLecDate Topic Slides Resources Homework
1 1 Jan 19 Introduction to computer vision pdf RS 1
2 Jan 21 Matlab tutorial in class Matlab resources hw01
Image formation
2 3 Jan 26 The pinhole camera model pdf RS 2.1, Vector geometry by Denis Sevee
4 Jan 28 Lenses, sensors pdf RS 2.2
3 5 Feb 02 Color spectrum, perception, trichromatic theory, spaces, constancy pdf RS 2.3
6 Feb 04
Image processing and modeling
4 7 Feb 09 Signal quantization, color maps, image enhancement pdf RS 2.3, 3.1
8 Feb 11 Image filtering, convolution, blurring, denoising, sharpening pdf RS 3.2 hw02
5 Feb 16 No class (Monday class shedule)
9 Feb 18 Derivative filters, edge detection pdf RS 3.2, 4.2
6 10 Feb 23 Local features, corner detection pdf RS 4.1, 4.2
11 Feb 25 hw03
7 Mar 01 No class (Instructor out-of-town)
12 Mar 03 Scale invariant feature transform (SIFT) pdf RS 4.1, 4.2
8 13 Mar 08 Midterm review in class Review notes
14 Mar 10 Midterm in class
9 Mar 15 Spring break
Mar 17 Spring break
10 15 Mar 22 SIFT continued, feature matching, robust matching using RANSAC, transformation families pdf RS 4.1, 4.2, 6.1
16 Mar 24 hw04
Image recognition and other topics
11 17 Mar 29 Introduction to recognition pdf RS 14
Mar 31 No class (Instructor out-of-town)
12 18 Apr 05 The machine learning framework, datasets in computer vision, descision tree classifiers pdf Link to cv datasets
Decision trees in CIML book
19 Apr 07
13 20 Apr 12 Image representations, e.g. histogram-of-oriented-gradients and bag-of-visual-words pdf RS 14 hw05
21 Apr 14
14 22 Apr 19 Deep learning: shallow vs. deep architectures, neurons and neural networks, CNNs for computer vision -- learning, visualization, software pdf List of deep learning resources:
23 Apr 21
15 24 Apr 26 Optical flow pdf RS 8

Topics discussed in the honors section