Overview

Computer Vision is a study in algorithms, tools and techniques that enable computers to extract information out of digital images. Computer Vision is being used extensively for driving autonomous vehicles (DARPA Grand Challenge), planetary exploration (Mars Rover), life-saving medical imaging techniques (STIR), Enhancing the Human-Computer-Interaction experience (Gesture Detection) and preservation of accumulated human wisdom by digitizing books (Tesseract). This course will offer an introduction to the core concepts, some industrial-strength tools and recent breakthroughs in Computer Vision. By the end of the course, the student should be able to analyze problems in Computer Vision, break them into simpler problems, associate these simpler problems to established solution techniques, design efficient algorithms using these established techniques and make computer programs based on these algorithms.

'Coarse' Outline

Week

Topic/s

First Term - Static image from a camera
1
Introduction, Anatomy of a pixel
2
Looking at the Forest, More about the Forest
3
Buying Sheets
4
Hough and Puff, (Huff and Puff)n
5
What shrinks know about CV
6
Pret a Template
7
Review, first term exam and other distractions
Second Term - Static images (of the same object) from 2 or more cameras
6
The Fourier perspective, Now in 2D!
7
Computational stereo, Photometric Stereo
8
Image Registration
9
3D scanning by Structure light
10
Review, second term exam and other distractions
Third term - A sequence of images (of the same object) from a single camera
11
12
13
Moving pictures and optical flow
14
Tracking with Particle Filters
15
Review, final exam and a look back at what we did

Lecture Notes



Reference Material

"Computer Vision: A Modern Approach" by Forsyth and Ponce
“Learning OpenCV - Computer Vision with the OpenCV Library” by Gary Bradski, Adrian Kaehler

Assignments (Coming up in a couple of days)


Sample Exams (Coming up in a couple of days)


Second term exam
Final exam



To best utilize this Wiki, it is recommended that you use the Notify Me feature. In engineering lingo this is akin to replacing the polling based approach for an interrupt-driven one which does wonders for the efficiency.