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 required)


Please sign up Piazza here

Office Hours and TA

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

TA is Zhihao Zhao ( And you may want to check out the Matlab TA as well. The Matlab TA this semester is Zachary Potts (

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.


  • 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

Course Syllabus (Tentative)

  • Overview of computer vision

  • Low-level processing

    • Filtering techniques

    • Edge detectors

    • Image resampling and image pyramids

    • Interest point and corner detectors

  • Object recognition and tracking

    • Optical flow

    • Local and global motion models

    • Lucas-Kanade Tracker (KLT)

    • Mean shift algorithm

    • Face detection

  • Camera model

    • Perspective geometry

    • Fundamental matrix

    • Camera calibration

    • Stereo vision

  • 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 project. For the presentation, it is sufficient as far as you understand the technique completely. You may also try to borrow idea from the list below.

Please check out presentation and project guidelines here also.


  • Programming/written assignments/other activities: 70%

  • Final Project: 30%

    • Presentation: (10 out of 30)

      • clarity, structure, references

      • background literature survey, good understanding of the problem

      • good insights and discussions of methodology, analysis, results, etc.

    • Technical: (10 out of 30)

      • correctness

      • depth

      • innovation

    • Evaluation and results: (10 out of 30)

      • sound evaluation metric

      • thoroughness in analysis and experimentation

      • results and performance

  • Presentation: graduate students only (20% of final grade, other components adjusted accordingly)

  • Participation bonus (attendance): maximum 10%

  • Final grade:

    • A: above 90%

    • B: above 80% but not more than 90%

    • C: above 70% but not more than 80%

    • D: above 60% but not more than 70%

    • F: not more than 60%

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

Reasonable Accommodation Policy

Any student in this course who has a disability that may prevent the full demonstration of his or her abilities should contact me personally as soon as possible so we can discuss accommodations necessary to ensure full participation and facilitate your educational opportunities.

Should you need modifications or adjustments to your course requirements because of documented pregnancy-related or childbirth-related issues, please contact me as soon as possible to discuss. Generally, modifications will be made where medically necessary and similar in scope to accommodations based on temporary disability. Please see this for commonly asked questions.

Title IX Resources

For any concerns regarding gender-based discrimination, sexual harassment, sexual misconduct, stalking, or intimate partner violence, the University offers a variety of resources, including advocates on-call 24.7, counseling services, mutual no contact orders, scheduling adjustments and disciplinary sanctions against the perpetrator. Please contact the Sexual Misconduct Office 405-325-2215 (8-5, M-F) or OU Advocates 405-615-0013 (24.7) to learn more or to report an incident.


Topics Materials
1/14 Introduction to Computer Vision (video) overview
1/16 Introduction to Python and OpenCV OpenCV getting start, OpenCV capture video
1/21 Introduction to this course (video)
1/23 Pixels, color (video) color, OpenCV color examples
1/28 Image filtering (video) filter
1/30 Frequency in images (video) frequency, OpenCV filtering examples
2/4 Fourier Transform (video)
2/6 Image resampling and image pyramids (video) resampling, pyramids
2/11 Edge detection (video) edge-detection, OpenCV edge detection
2/13 Harris corner detection (video) Harris corner detector, OpenCV corner detector demo
2/18 Local feature extractor, SIFT, LBP (video) Local feature extraction
2/20 Feature matching, image alignment (video) Image alignment
2/25 Finding homography (video)
2/27 RANSAC, optical flow, Lucas-Kanade algorithm (video) Optical flow
3/3 Horn-Schunck and Gunnar Farneback Algorithms (video)
3/5 Object Tracking, KLT (video) Object tracking, KLT tracker
3/10 Computer vision in weather, the Different Uses of Computer Vision in Medicine
3/12 Analysing Lake Ice Images for Climate Change, Generative Adversarial Networks to synthesize images and videos
3/17 spring break
3/19 spring break
3/24 Object Pose Estimation, GANs for medical image analysis
3/26 Video deblurring, Hough transform (video) OpenCV Hough transform examples
3/31 3D Scene Reconstruction from Multiple Views, Aerial 3D Mapping
4/2 Computer Vision Applications in Virtual Reality, 3D Face Recognition System
4/7 Introduction to deep learning video) deep learning
4/9 Backpropagation algorithm (video)
4/14 More backpropagation, weight initialization (video) backprop example and weight initialization
4/16 Convolutional neural networks (video) CNN applications
4/21 Camera models, camera calibration (video) camera model, point cloud demo, OpenCV calibration demo
4/23 Introduction to Epipolar geometry (video) Epipolar geometry, OpenCV epipolar demo