Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Georgia Institute of Technology

Introduction to Computer Vision

Georgia Institute of Technology via Udacity


This course provides an introduction to computer vision including fundamentals of image formation, camera imaging geometry, feature detection and matching, multiview geometry including stereo, motion estimation and tracking, and classification. We’ll develop basic methods for applications that include finding known models in images, depth recovery from stereo, camera calibration, image stabilization, automated alignment (e.g. panoramas), tracking, and action recognition. We focus less on the machine learning aspect of CV as that is really classification theory best learned in an ML course.

The focus of the course is to develop the intuitions and mathematics of the methods in lecture, and then to learn about the difference between theory and practice in the problem sets. All algorithms work perfectly in the slides. But remember what Yogi Berra said: In theory there is no difference between theory and practice. In practice there is. (Einstein said something similar but who knows more about real life?) In this course you do not, for the most part, apply high-level library functions but use low to mid level algorithms to analyze images and extract structural information.

Why Take This Course?

Images have become ubiquitous in computing. Sometimes we forget that images often capture the light reflected from a physical scene. This course gives you both insight into the fundamentals of image formation and analysis, as well as the ability to extract information much above the pixel level. These skills are useful for anyone interested in operating on images in a context-aware manner or where images from multiple scenarios need to be combined or organized in an appropriate way.


A brief outline of units is given below, grouped into 10 parts:

1 Introduction

  • 1A Introduction

2 Image Processing for Computer Vision

  • 2A Linear image processing
  • 2B Model fitting
  • 2C Frequency domain analysis

3 Camera Models and Views

  • 3A Camera models
  • 3B Stereo geometry
  • 3C Camera calibration
  • 3D Multiple views

4 Image Features

  • 4A Feature detection
  • 4B Feature descriptors
  • 4C Model fitting

5 Lighting

  • 5A Photometry
  • 5B Lightness
  • 5C Shape from shading

6 Image Motion

  • 6A Overview
  • 6B Optical flow

7 Tracking

  • 7A Introduction to tracking
  • 7B Parametric models
  • 7C Non-parametric models
  • 7D Tracking considerations

8 Classification and Recognition

  • 8A Introduction to recognition
  • 8B Classification: Generative models
  • 8C Classification: Discriminative models
  • 8D Action recognition

9 Useful Methods

  • 9A Color spaces and segmentation
  • 9B Binary morphology
  • 9C 3D perception

10 Human Visual System

  • 10A The retina
  • 10B Vision in the brain

GT OMSCS Students

Note: Please refer to your course website/schedule for further details, assignments, etc.

Spring 2015 resources (old):

  • Schedule: Suggested pace, assignments, deadlines, references.
  • Course website: Course information, problem sets, academic policies, grading scheme.
  • Piazza forum: Discussions, announcements, clarifications.
  • T-Square site: Problem set submissions.

Note: This course was previously offered as CS 4495.

Taught by

Irfan Essa and Aaron Bobick


Related Courses


4.7 rating, based on 7 reviews

Start your review of Introduction to Computer Vision

  • SoonYau Cheong is taking this course right now, spending 8 hours a week on it and found the course difficulty to be very hard.

    I think this is the best computer vision MOOC as it covers almost all the traditional computer vision techniques (as opposed to deep learning). This is a proper graduate-level course with rigorous mathematics and the instructor has good sense of humour too. My advice for or students planning to take this course is, after the first few lessons, you don't need necessarily need to follow the course order, just jump the the topics you're interested in or you might not finish the whole thing. I have been following this course on and off for 3 months but still yet to finish half of it.
  • Anonymous

    Anonymous completed this course.

    Simply the best course I have ever taken. The content is interesting, the presenter is engaging and the concepts are explained clearly and intuitively. Mixed through the lectures are matlab/octave exercises which are really great for checking understanding of the lecture material and give a good amount of practice in the practical application of the knowledge you are getting. Really wish some of my engineering lectures at university could compare to the quality of this course.
  • Anonymous

    Anonymous is taking this course right now.

    Its the best quality content available free for computer vision. Some tips are: if you need some reference then only download the pdf of the coursebook it is not worth buying. I purchased Forsyth and ponce and it was a total waste of money. The book is wayyy too hard. So do it . In the initial lectures( module 2- 3) do it at a slightly fast pace because if you do it slowly you might lose interest in the course.
  • Sridhar Gunnam completed this course.

    Prof. Aaron Bobick makes the class interesting with his humor. He generates interest for people by covering the topics at a faster pace yet in a way understandable for newbies.
  • Soares Chen completed this course.

  • Alexander Lysenko completed this course.

  • Indranil Sinharoy

    Indranil Sinharoy completed this course.

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free