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:
|1||1||Jan 19||Introduction to computer vision||RS 1|
|2||Jan 21||Matlab tutorial in class||Matlab resources||hw01|
|2||3||Jan 26||The pinhole camera model||RS 2.1, Vector geometry by Denis Sevee|
|4||Jan 28||Lenses, sensors||RS 2.2|
|3||5||Feb 02||Color spectrum, perception, trichromatic theory, spaces, constancy||RS 2.3|
|Image processing and modeling|
|4||7||Feb 09||Signal quantization, color maps, image enhancement||RS 2.3, 3.1|
|8||Feb 11||Image filtering, convolution, blurring, denoising, sharpening||RS 3.2||hw02|
|5||No class (Monday class shedule)|
|9||Feb 18||Derivative filters, edge detection||RS 3.2, 4.2|
|6||10||Feb 23||Local features, corner detection||RS 4.1, 4.2|
|7||No class (Instructor out-of-town)|
|12||Mar 03||Scale invariant feature transform (SIFT)||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||RS 4.1, 4.2, 6.1|
|Image recognition and other topics|
|11||17||Mar 29||Introduction to recognition||RS 14|
|No class (Instructor out-of-town)|
|12||18||Apr 05||The machine learning framework, datasets in computer vision, descision tree classifiers||Link to cv
Decision trees in CIML book
|13||20||Apr 12||Image representations, e.g. histogram-of-oriented-gradients and bag-of-visual-words||RS 14||hw05|
|14||22||Apr 19||Deep learning: shallow vs. deep architectures, neurons and neural networks, CNNs for computer vision -- learning, visualization, software||List of deep learning resources: http://deeplearning.net|
|15||24||Apr 26||Optical flow||RS 8|