ECE-4973/5973: Computer Vision

A bit about this course

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 (Python/Numpy is required)

Disscusion forum

Please sign up Discord through the link on Canvas. Please raise any questions, comments, or concerns there. You may contact me privately through Discord as well.

Office Hours

There are no “regular” office hours. Please contact me through Discord. I typically respond within 24 hours.

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 2nd Edition. The book is available for free online for personal use 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)

    • Face detection

  • Camera model

    • Perspective geometry

    • Fundamental matrix

    • Camera calibration

    • Stereo vision

  • Misc techniques

    • Hough transform

    • Neural networks


The goal of the project is actually to get your hands dirty. There is a broad scope of valid and sound projects. At one extreme, you may do a more research-oriented project involving improving a tiny scope of computer vision. For example, you may have an idea to enhance edge detection and would like to try it out. You do not need to build a complete application for this kind of project, but you must include sufficient comparisons to prior approaches to give a fair evaluation. And of course, you have to conduct adequate literature studies to include the most representative methods for comparison. For example, if you propose a new edge detection method, you should compare it with the Canny detector for the minimum.

On the other extreme, you can also do an application-oriented project. In that case, you will bother less with the individual techniques. But try to build an interesting application to solve some problems. For example, you may build a prototype app to take student attendance. You may set the camera to a fixed location and when a student moved towards the camera. They will be automatically recognized and have their attendance recorded. In this kind of project, you will focus more on what technologies/methods are needed for your application (say, in my case, I will definitely need face recognition). Then, you may want to search if there is an open-source implementation of such a module that can use along with OpenCV (should be many). And your main job will be piecing everything together.

Of course, your project can fall in the middle of the above.

The bottom line, your final report should be able to convince the readers that you have put sufficient effort into pursuing what you planned to do. So it is crucial to keep a detailed log of what you have been doing. In case things didn't go well, you can at least document your unsuccessful attempts in the final report.

Graduate presentation

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.



  • Programming/written assignments/other activities: 60%

  • Final Project: 40%

    • Project proposal: (5 out of 40)

    • Progress report: (10 out of 40)

    • Final report: (25 out of 40)


  • Programming/written assignments/other activities: 40%

  • Final Project: 40%

    • Project proposal: (5 out of 40)

    • Progress report: (10 out of 40)

    • Final report: (25 out of 40)

  • Presentation (graduate students only): 20%

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 are several reasons why it is important to turn assignments in on time (some of them according to ChatGPT):

  • Deadlines are a part of life, and learning to meet them is an important skill that will benefit you in both your personal and professional life.

  • It is hard to catch up with course materials later once you start handing in things late.

  • If you have a habit of turning assignments in late, it can also cause stress and anxiety as you try to catch up on missed work.

To motivate you keeping on track with assignments, there is a mild penalty for late assignment as follows.

  • 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 Quizzes
1/17 Course logistics, CV overview (video) overview
1/19 Introduction to Linux and Python (video) Python getting start
1/24 Color, introduction to OpenCV (video) color, OpenCV getting start, OpenCV capture video, OpenCV color examples link
1/26 Image filters (video) filter, OpenCV filtering examples link
1/31 Fourier Transform (video) A short introduction of signal and system, frequency, resampling link
2/02 Image resampling (video) pyramids link
2/07 Hybrid image, image pyramid, Edge detection (video) edge-detection, OpenCV edge detection link
2/09 Canny edge detection, OpenCV GUI, cvui (video) link
2/14 OpenCV on Qt (video) OpenCV GUI framework link
2/16 Kivy, Harris corner detection, eigenvalues and eigenvectors (video) Harris corner detector, OpenCV corner detector demo, Linear algebra link
2/21 More linear algebra, Harris corner detection (video) link
2/23 Image warping (video) Image warping link
2/28 Homogeneous coordinate, introduction to local feature extraction (video) Local feature extraction link
3/02 SIFT and LBP (video) link
3/07 Image alignment and least square problems (video) link
3/09 SVD, optical flow, Lucas-Kanade algorithm (video) optical flow link
3/14 Spring break
3/16 Spring break
3/21 Horn-Schunk algorithm, Gunnar Farneback Optical Flow (video)
3/23 Image formation and camera models (video) camera model link
3/28 Camear models (con't) (video) link
3/30 Epipolar geometry (video) Epipolar geometry, OpenCV epipolar demo,epipoloar geometry and fundamental matrix link
4/04 Presentations (video)
4/06 Presentations (video)
4/11 Presentations, hough transform (video) Hough transform, OpenCV Hough transform examples, backprop example and weight initialization
4/13 Presentations, introduction to deep learning (video) deep learning link
4/18 CNN (video) PyTorch Autograd and linear regression link
4/20 Spatial transformation (video) slam resource link
4/25 Math behind SLAM (video) link
4/27 Bundle adjustment (video) point cloud demo

Academic Integrity

Academic honesty is incredibly important within this course. Cheating is strictly prohibited at the University of Oklahoma, because it devalues the degree you are working hard to get. As a member of the OU community, it is your responsibility to protect your educational investment by knowing and following the rules. For specific definitions on what constitutes cheating, review the Student’s Guide to Academic Integrity.

Religious Observance

It is the policy of the University to excuse the absences of students that result from religious observances and to reschedule examinations and additional required classwork that may fall on religious holidays, without penalty.

Reasonable Accommodation Policy

The Accessibility and Disability Resource Center is committed to supporting students with disabilities to ensure that they are able to enjoy equal access to all components of their education.  This includes your academics, housing, and community events.  If you are experiencing a disability, a mental/medical health condition that has a significant impact on one or more life functions, you can receive accommodations to provide equal access.  Possible disabilities include, but are not limited to, learning disabilities, AD(H)D, mental health, and chronic health.  Additionally, we support students with temporary medical conditions (broken wrist, shoulder surgery, etc.) and pregnancy.  To discuss potential accommodations, please contact the ADRC at 730 College Avenue, (ph.) 405.325.3852, or 

Title IX Resources and Reporting Requirement

Anyone who has been impacted by gender-based violence, including dating violence, domestic violence, stalking, harassment, and sexual assault, deserves access to resources so that they are supported personally and academically. The University of Oklahoma is committed to offering resources to those impacted, including: speaking with someone confidentially about your options, medical attention, counseling, reporting, academic support, and safety plans. If you would like to speak with someone confidentially, please contact OU Advocates (available 247 at 405-615-0013) or another confidential resource (see “Can I make an anonymous report?”). You may also choose to report gender-based violence and discrimination through other means, including by contacting the Institutional Equity Office (, 405-325-3546) or police (911). Because the University of Oklahoma is committed to the safety of you and other students, I, as well as other faculty, Graduate Assistants, and Teaching Assistants, are mandatory reporters. This means that we are obligated to report gender-based violence that has been disclosed to us to the Institutional Equity Office. This includes disclosures that occur in: class discussion, writing assignments, discussion boards, emails and during StudentOffice Hours. For more information, please visit the Institutional Equity Office.

Adjustments for Pregnancy/Childbirth Related Issues

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 for commonly asked questions.

Final Exam Preparation Period

Pre-finals week will be defined as the seven calendar days before the first day of finals. Faculty may cover new course material throughout this week. For specific provisions of the policy please refer to OU’s Final Exam Preparation Period policy.

Emergency Protocol

During an emergency, there are official university procedures that will maximize your safety. Severe Weather: If you receive an OU Alert to seek refuge or hear a tornado siren that signals severe weather 1. LOOK for severe weather refuge location maps located inside most OU buildings near the entrances 2. SEEK refuge inside a building. Do not leave one building to seek shelter in another building that you deem safer. If outside, get into the nearest building. 3. GO to the building’s severe weather refuge location. If you do not know where that is, go to the lowest level possible and seek refuge in an innermost room. Avoid outside doors and windows. 4. GET IN, GET DOWN, COVER UP. 5. WAIT for official notice to resume normal activities. Link to Severe Weather Refuge Areas, Severe Weather Preparedness - Video

Armed Subject/Campus Intruder

If you receive an OU Alert to shelter-in-place due to an active shooter or armed intruder situation or you hear what you perceive to be gunshots: 1. Avoid: If you believe you can get out of the area WITHOUT encountering the armed individual, move quickly towards the nearest building exit, move away from the building, and call 911. 2. Deny: If you cannot flee, move to an area that can be locked or barricaded, turn off lights, silence devices, spread out, and formulate a plan of attack if the shooter enters the room. 3. Defend: As a last resort fight to defend yourself. For more information, visit OU’s Emergency Preparedness site. Shots Fired on Campus Procedure – Video

Fire Alarm/General Emergency

If you receive an OU Alert that there is danger inside or near the building, or the fire alarm inside the building activates: 1. LEAVE the building. Do not use the elevators. 2. KNOW at least two building exits 3. ASSIST those that may need help 4. PROCEED to the emergency assembly area 5 ONCE safely outside, NOTIFY first responders of anyone that may still be inside building due to mobility issues. 6. WAIT for official notice before attempting to re-enter the building. OU Fire Safety on Campus

Mental Health Support Services

If you are experiencing any mental health issues that are impacting your academic performance, counseling is available at the University Counseling Center (UCC). The Center is located on the second floor of the Goddard Health Center, at 620 Elm Rm. 201, Norman, OK 73019. To schedule an appointment call (405) 325-2911. For more information, please visit University Counseling Center.