ECE-5973: Computer Vision

Vision is the most important sense organ of humans and many other animals. We rely on our vision systems to explore the surrounding, recognize objects, and perform complex task such as driving our cars and manipulating tools. There have been drastic advancements in the field computer vision for the last decade. Many vision tasks, such as face recognition, that were very difficult a couple decades ago have become routine components even in our cellphone applications. However, other vision tasks, such as scene understanding and image captioning, are still rather difficult and existing computer vision algorithms perform poorly comparing to humans. Therefore, computer vision is still a very active research area.

The goal of this course is multiple folds: to provide students the core foundation so that they can understand the existing CV algorithms behind those systems, to involve them with hands-on experience in implementing existing algorithms so that they can build basic CV systems on their owns, and to prepare them with sufficient technical depth so that they can contribute to CV research after the course.


Calculus (MATH 1914 or equivalent), linear algebra (MATH 3333 or equivalent), basic probability (MATH 4733 or equivalent), and intermediate programming skill (MATLAB or Python/Numpy is preferred)


  • Computer Vision: Algorithms and Applications by Richard Szeliski. The book is available for free online or available for purchase. It is not required but is a very good reference.

  • Computer Vision: Models, Learning, and Inference by Smon J.D. Prince. The book is also available for free here

  • Fundamental of Computer Vision by Mubarak Shah

Read more

Some nice talks

Office Hours

There are no “regular” office hours. And you are welcome to come catch me anytime or contact me through emails.

Graduate Credit

If you are enrolled in the graduate section, I will have a bit higher expectation on your final project. Moreover, you are expected to give a short presentation in class for a current topic. The presentation will contribute 20% of your final grade and other components (as shown below) will be scaled down accordingly.

Course Syllabus (Tentative)

  • Overview of computer vision

  • Low-level processing

    • Filtering techniques

    • Image resampling

    • Edge detectors

    • Interest point detectors and corners

  • Object recognition and tracking

    • Optical flow

    • Local and global motion models

    • Lucas-Kanade Tracker (KLT)

    • Mean shift algorithm

    • Face detection

  • Camera model

    • Perspective geometry

    • Camera calibration

    • Stereo vision

    • Structure from motion

  • Misc techniques

    • Bag of words

    • Hough transform

    • Deformable part models

Projects and presentation ideas

For presentations, please only pick more recent works (2010 and beyond). For projects, it is okay to work on older topics. And you are expected to try to test and implement the methods for the projecct. For the presentation, it is sufficient as far as you understand the tecnique completely.


  • Programming/written assignments: 70%

  • Final Project: 30%

  • Presentation: graduate students only

Late Policy

  • There will be 5% deduction per each late day for all submissions

  • The deduction will be saturated after 10 days. So you will get half of your marks even if you are super late


Topics Materials
1/16 Introduction to Computer Vision overview
1/18 Pixels, color, white balancing color
1/23 Filter filter