CMPSCI 670: Computer Vision, Fall 2016

+ =
Instructor: Subhransu Maji
Instructor office hours: Tuesday 10:00-11:00am, CS 274
Lecture: Tuesday and Thursday, 1:00 - 2:15 PM, Hasbrouck 138
TA: Tsung-Yu Lin
TA office hours:Wednesday 3:00-4:00pm, CS 245
Links: Disucussions on piazza, Homeworks on moodle.


This course will explore current techniques for the analysis of visual data (primarily color images). In the first part of the course we will examine the physics and geometry of image formation, including the design of cameras and the study of color sensing in the human eye. In each case we will look at the underlying mathematical models for these phenomena. In the second part of the course we will focus on algorithms to extract useful information from images. This includes detection of reliable interest points for applications such as image alignment, stereo and instance recognition; learning representations of images for recognition; and principles for grouping and segmentation. Time permitting we will look at some additional topics at the end of the course.

Course assignments will highlight several computer vision tasks and methods. For each task you will construct a basic system, then improve it through a cycle of error analysis and model redesign. There will also be a final project, which will investigate a single topic or application in greater depth. This course assumes a good background in basic probability, linear algebra, and ability to program in MATLAB. Prior experience in signal/image processing is useful but not required.


Textbooks (recommended)

There is no required textbooks for the class. The second one is available online and I will recommend readings from this.


Schedule (tentative)

LecDate Topic Slides Reading Homework
1 Sep 06 Course introduction 1UP, 4UP MATLAB tutorial and setup
Image formation basics
2 Sep 08 Image formation: pinhole cameras, lenses, color sensors, computational photography 1UP, 4UP RS 2 hw00
3 Sep 13
4 Sep 15 Light, color, shading: radiometry, reflection, color representation, color perception, photometric stereo (also includes some slides covered on Sept. 22) 1UP, 4UPRS 2 hw01
5 Sep 20
Basic image processing
6 Sep 22 Introduction: signal quantization, color maps, constrast normalization 1UP, 4UP RS 2,3
7 Sep 27 Linear filtering: mathematical model and implementation details; applications: image denoising, sharpening, edge detection 1UP, 4UP RS 3
8 Sep 29 p1
9 Oct 04 Invariant feature detection: corners and blobs 1UP, 4UP RS 4
10 Oct 06
Oct 11 No class (Monday's schedule will be followed post Columbus day)
Oct 13 No class (Instructor travel)
Recognition and other topics
11 Oct 18 Image alignment: Image transformations, RANSAC, image warping 1UP, 4UP RS 6
12 Oct 20 Optical flow: Bightness constancy, estimating optical flow, tracking 1UP, 4UP RS 8
13 Oct 25 Recognition: Recognition tasks in computer vision, common data sets, machine learning framework, image representations (histogram of oriented gradients, bag-of-words) 1UP, 4UP RS 14
14 Oct 27 1UP, 4UP RS 14
15 Nov 1 Decision trees, bagging, random forests, examples 1UP, 4UP
16 Nov 3 Linear classifiers, learning as optimization, loss functions, regularizations 1UP, 4UP
17 Nov 8 Neural networks, shallow and deep learning, convolutional neural networks, visualizing and understanding CNNs, applications 1UP, 4UP
18 Nov 10
19 Nov 15
20 Nov 17 Grouping and segmentation 1UP, 4UP
Nov 21 Thanksgiving recess
Nov 24
21 Nov 29 Object detection: sliding-based detection, region-based detection 1UP, 4UP
22 Dec 1 Texture and materials: texture attributes and representations 1UP, 4UP
23 Dec 6 Image modeling: texture synthesis, image denoising, image deblurring 1UP, 4UP
24 Dec 8 Project presentations
25 Dec 13 Project presentations


All weekly homeworks are due on the date the homework is posted on the schdule before the class starts via moodle. You're free to use the LaTex source in any way you want, but you'll need mydefs.sty and notes.sty to build them.

Weekly homework Mini-projects Final project

Additional resources


Many of the slides and homework assigments are based on excellent computer vision courses taught elsewhere by Svetlana Lazebnik, Alyosha Efros, Alexander Berg, Steven Seitz, James Hays, Charless Flowkes, Kirsten Grauman and many others. Many thanks to Richard Szeliski for making the textbook available online for free.