ECE-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.

Prerequistes

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.

Textbook

  • 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 are good references.

  • 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

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

Projects

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.

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.

Assigning Grades

Grading Breakdown and Components

  • 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: 20%

  • Participation and quizzes bonus: 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 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

Calendar

Topics Materials Quizzes
1/14 Course logistics, CV overview (video) overview
1/16 Color (video) color, Python getting start link
1/21 Image filters (video) OpenCV getting start, OpenCV capture video, OpenCV color examples
1/23 Image filters demo (video) filter, OpenCV filtering examples link
1/28 Fourier Transform (video) A short introduction of signal and system, frequency link
1/30 Image resampling, hybrid image, image pyramid (video) resampling, pyramids link
2/04 Edge detection, Canny edge detection (video) edge-detection, OpenCV edge detection, OpenCV GUI framework link
2/06 cvui and Qt (video) Qt example link
2/11 Corner detector, eigenvalues and eigenvectors (video) link
2/13 Harris corner detection (video) link
2/18 (video) Harris corner detector, OpenCV corner detector demo, Linear algebra
2/20 Image warping, homogeneous coordinate Image warping
2/25 Local feature extraction Local feature extraction
2/27 SIFT and LBP
3/04 Image alignment and least square problems
3/06 RANSAC, optical flow, Lucas-Kanade algorithm optical flow
3/11 Horn-Schunk algorithm, Gunnar Farneback Optical Flow
3/13 Image formation and camera models
3/18 Spring break
3/20 Spring break camera model
3/25 Camear models (con't)
3/27 Introduction to deep learning deep learning
4/01 Presentations, back propagation algorithm
4/03 Presentations, vector example for BP
4/08 Presentations, max pooling, conv layer Hough transform, OpenCV Hough transform examples, backprop example and weight initialization
4/10 Presentations, weight initialization, batch norm, dropout deep learning
4/15 Presentations PyTorch Autograd and linear regression
4/17 Presentations
4/22

University Policies

Mental Health Support Services

Support is available for any student experiencing mental health issues that are impacting their academic success. Students can either be seen at the University Counseling Center (UCC) located on the second floor of Goddard Health Center or receive 247365 crisis support from a licensed mental health provider through TELUS Health. To schedule an appointment or receive more information about mental health resources at OU, please call the UCC at 405-325-2911 or visit University Counseling Center. The UCC is located at 620 Elm Ave., Room 201, Norman, OK 73019.

Title IX Resources and Reporting Requirement

The University of Oklahoma faculty are committed to creating a safe learning environment for all members of our community, free from gender and sex-based discrimination, including sexual harassment, domestic and dating violence, sexual assault, and stalking, in accordance with Title IX. There are resources available to those impacted, including: speaking with someone confidentially about your options, medical attention, counseling, reporting, academic support, and safety plans. If you have (or someone you know has) experienced any form of sex or gender-based discrimination or violence and wish to speak with someone confidentially, please contact OU Advocates (available 24/7 at 405-615-0013) or University Counseling Center (M-F 8 a.m. to 5 p.m. at 405-325-2911).

Because the University of Oklahoma is committed to the safety of you and other students, and because of our Title IX obligations, 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 Student/Office Hours. You may also choose to report directly to the Institutional Equity Office. After a report is filed, the Title IX Coordinator will reach out to provide resources, support, and information, and the reported information will remain private. For more information regarding the University’s Title IX Grievance procedures, reporting, or support measures, please visit Institutional Equity Office at 405-325-3546.

Reasonable Accommodation Policy

The University of Oklahoma (OU) is committed to the goal of achieving equal educational opportunity and full educational participation for students with disabilities. If you have already established reasonable accommodations with the Accessibility and Disability Resource Center (ADRC), please submit your semester accommodation request through the ADRC as soon as possible and contact me privately, so that we have adequate time to arrange your approved academic accommodations.

If you have not yet established services through ADRC, but have a documented disability and require accommodations, please complete ADRC’s pre-registration form to begin the registration process. ADRC facilitates the interactive process that establishes reasonable accommodations for students at OU. For more information on ADRC registration procedures, please review their Register with the ADRC web page. You may also contact them at (405) 325-3852 or adrc@ou.edu, or visit www.ou.edu/adrc for more information.

Note: Disabilities may include, but are not limited to, mental health, chronic health, physical, vision, hearing, learning, and attention disabilities, pregnancy-related conditions. ADRC can also support students experiencing temporary medical conditions.

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.

See Faculty Handbook 3.15.2

Adjustments for Pregnancy and Related Issues

Should you need modifications or adjustments to your course requirements because of pregnancy or a pregnancy-related condition, please request modifications via the Institutional Equity Office website or call the Institutional Equity Office at 405/325-3546 as soon as possible. Also, see the Institutional Equity Office FAQ on Pregnant and Parenting Students’ Rights for answers to 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 [https:apps.hr.ou.eduFacultyHandbook

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.

Additional Weather Safety Information is available through the Department of Campus Safety.

The University of Oklahoma Active Threat Guidance

The University of Oklahoma embraces a Run, Hide, Fight strategy for active threats on campus. This strategy is well known, widely accepted, and proven to save lives. To receive emergency campus alerts, be sure to update your contact information and preferences in the account settings section at one.ou.edu.

RUN: Running away from the threat is usually the best option. If it is safe to run, run as far away from the threat as possible. Call 911 when you are in a safe location and let them know from which OU campus you’re calling and location of active threat.

HIDE: If running is not practical, the next best option is to hide. Lock and barricade all doors; turn off all lights; turn down your phone’s volume; search for improvised weapons; hide behind solid objects and walls; and hide yourself completely and stay quiet. Remain in place until law enforcement arrives. Be patient and remain hidden.

FIGHT: If you are unable to run or hide, the last best option is to fight. Have one or more improvised weapons with you and be prepared to attack. Attack them when they are least expecting it and hit them where it hurts most: the face (specifically eyes, nose, and ears), the throat, the diaphragm (solar plexus), and the groin.

’'Please save OUPD’s contact information in your phone.’’

NORMAN campus: For non-emergencies call (405) 325-1717. For emergencies call (405) 325-1911 or dial 911.

TULSA campus: For non-emergencies call (918) 660-3900. For emergencies call (918) 660-3333 or dial 911.

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 the building due to mobility issues.

  6. WAIT for official notice before attempting to re-enter the building.

OU Fire Safety on Campus