CS4501: Introduction to Computer Vision | Spring 2021

Instructor: Vicente Ordóñez-Román (vicente at virginia.edu), Office Hours: Mondays 3 to 5pm (ET).
Teaching Assistant: Anshuman Suri (as9rw at virginia.edu), Office Hours: Weds 2pm to 3pm and Fridays 1pm to 2pm (ET).
Teaching Assistant: Md. Fazlay Rabbi Masum Billah (mb2vj at virginia.edu), Office Hours: Tuesdays 3pm to 4pm (ET).
Class Time: Tuesdays & Thursdays between 12:30PM and 1:45PM (ET).
Discussion Forum: piazza.com/virginia/spring2021/cs4501005/home
Course Description: Computer Vision is about empowering computers to visually explore and reason about the world. In this course we will study how images are represented in a computer, how to manipulate them, and how to extract information (features) from images for various applications including image matching, reconstruction, and recognition. We will particulary study basic techniques to recover geometry from images, camera calibration, automatic image alignment, boundary detection, object recognition, image classification, and image retrieval/search. We will develop the intuitions, study the foundations, techniques, methods, and underlying concepts, and learn to use these in practical computer vision systems.
Learning Objectives: (a) Develop intuitions between human vision and computer vision, (b) Understanding the basics of 2D and 3D techniques, (c) Become familiar with the techniques such as registration, matching, and recognition, and (d) Obtain practical experience in the implementation of computer vision applications.
Prerrequisites: It is recommended that students have a basic command of linear algebra, calculus, and statistics. Students are encouraged to complete this [Primer on Image Processing] and familiarize themselves with Jupyter notebooks or Google Colab. Python programming is also a requirement.
Textbook: No required textbook, but students are strongly encouraged to read chapters from: "Computer Vision: Algorithms and Applications" by Richard Szeliski. The book is available for free online or available for purchase. Also optional readings from David Forsyth & Jean Ponce's "Computer Vision: A Modern Approach".


Date Topic  
Tue, Feb 2nd Introduction to Computer Vision [pptx] [pdf]
Thu, Feb 4th Cameras and Image Formation [pptx] [pdf]
Assignment 1: Image Formation, Image Processing, and Image Filtering [Colab].
Due Sunday February 21st, 11:59pm (ET).
Tue, Feb 9th Projective Geometry and Light [pptx] [pdf]
Thu, Feb 11th Human Vision and Image Processing [pptx] [pdf]
Tue, Feb 16th Image Filtering and Image Frequencies [pptx] [pdf]
Thu, Feb 18th Frequencies and Edges [pptx] [pdf]
Assignment 2: Detecting Corners and Lines, Hough Transform. [Colab].
Due Sunday March 7th, 11:59pm (ET).
Tue, Feb 23th Interest Points: Corners and Blobs [pptx] [pdf]
Thu, Feb 25th Hough Transform and SIFT Feature [pptx] [pdf], RANSAC [pptx] [pdf]
Tue, Mar 2nd Camera Calibration and Dense Stereo [pptx] [pdf]
Thu, Mar 4th No Class -- Work on the Assignment please.
Tue, Mar 9th No Class -- Spring Break Day
Assignment 3: Dense Stereo and Depth Estimation [Colab].
Due Friday March 26th, 11:59pm (ET).
Thu, Mar 11th Feature Matching and Dense Stereo [pptx] [pdf]
Tue, Mar 16th Quiz
Thu, Mar 18th Quiz Review and Introduction to Epipolar Geometry [no slides]
Tue, Mar 23th The Essential Matrix and Multi-view Geometry [pptx] [pdf]
Thu, Mar 25th Introduction to Machine Learning [pptx] [pdf]
Assignment 4: Image Classification and Machine Learning [Colab].
Due Sunday April 11th, 11:59pm (ET).
Tue, Mar 30th Linear Classifiers (Softmax) and Stochastic Gradient Descent [pptx] [pdf]
Thu, Apr 1st Stochastic Gradient Descent, Regularization, and Optmization [pptx] [pdf]
Tue, Apr 6th Neural Networks and Backpropagation (by Guest Lecturer: Fuwen Tan) [pptx] [pdf]
Thu, Apr 8th Convolutional Neural Networks [pptx] [pdf]
Tue, Apr 13th Convolutional Neural Networks for Image Classification [pptx] [pdf]
Thu, Apr 15th No Class - Spring Break Day
Assignment 5: Visual Recognition and other more Advanced Topics [Colab]
Due Sunday May 2nd, 11:59pm (ET) [*].
Tue, Apr 20th Practical Session on using UVA's Rivanna compute cluster
Thu, Apr 22th Convolutional Neural Networks for Detection and Segmentation I [pptx] [pdf]
Tue, Apr 27th Convolutional Neural Networks for Detection and Segmentation II [see slides from previous class]
Thu, Apr 29th Generative Adversarial Networks (GANs) [pptx] [pdf]
Tue, May 4th Optical Flow and Video Recognition [pptx] [pdf]
Thu, May 6th Course Recap [pptx] [pdf]

Disclaimer: The professor reserves to right to make changes to the syllabus, including assignment due dates. These changes will be announced as early as possible.

Grading: To be announced officially on first day of class. Assignments: 100% (25% + 25% + 25% + 25%). There are a total of five assignments in the class, so the lowest grade will be dropped. Class Participation: +5% (extra) -- includes synchronous participation + Piazza + office hours participation, Quiz: +5% (extra). Grade cutoffs: A+ (95%) AND complete all assignments on time and with good grades, A (90%), A- (85%), B+ (80%), B (75%), B- (70%), C+ (65%), C (60%), C- (55%), D+ (50%), D (45%), D- (40%).

Late Submission Policy: No late assignments will be accepted in this class. Unless the student has procured special accommodations for warranted circumstances. We acknowledge the ongoing pandemic and want to be mindful of any special circumstances associated with it. We will be accommodating also due to exceptional circumstances but this is a large class so please make sure this is truly warranted and contact us as soon as possible. Please take into account that due to the ongoing pandemic the grading policies of this class have already been relaxed to drop the lowest scored assignment from the final grade computations, this includes an assignment with a grade of zero that was not submitted for whatever reason.

Recording of Lectures: I will be recording every lecture in order to accommodate students who will be learning remotely -- however there might be small discussions pre and post-lecture which might not be recorded -- if these take place they are not considered essential and they will be communicated through other means (e.g. email or UVA Collab). Because lectures include fellow students, you and they may be personally identifiable on the recordings. We might set aside some time at the end for questions that will not be recorded -- this will be announced when it takes place. These recordings may only be used for the purpose of individual or group study with other students enrolled in this class during this semester. You may not distribute them in whole or in part through any other platform or to any persons outside of this class, nor may you make your own recordings of this class unless written permission has been obtained from the Instructor and all participants in the class have been informed that recording will occur. If you want additional details on this, please see Provost Policy 008 and follow-up guidelines. If you notice that I have failed to activate the recording feature, please remind me!

Academic Integrity Statement: "The School of Engineering and Applied Science relies upon and cherishes its community of trust. We firmly endorse, uphold, and embrace the University’s Honor principle that students will not lie, cheat, or steal, nor shall they tolerate those who do. We recognize that even one honor infraction can destroy an exemplary reputation that has taken years to build. Acting in a manner consistent with the principles of honor will benefit every member of the community both while enrolled in the Engineering School and in the future. Students are expected to be familiar with the university honor code, including the section on academic fraud." In summary, if assignments are individual then no two students should submit the same source code -- any overlap in source code of sufficient similarity will be potentially flagged as failure to abide to the Honor Code. You can discuss, you can share resources, you can talk about the assignment but not share code as this would potentially incur on an honor code violation. Regardless of circumstances I will assume that any source code, text, or images submitted alongside reports or projects are of the authorship of the individual students unless otherwise explicitly stated through appropriate means. Any missing information regarding sources will be regarded potentially as a failure to abide by the academic integrity statement even if that was not the intent. Please be careful clearly stating what is your original work and what is not in all assignments.

Discrimination and power-based violence: The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. To that end, it is vital that you know two values that I and the University hold as critically important: (1) Power-based personal violence will not be tolerated. (2) Everyone has a responsibility to do their part to maintain a safe community on Grounds. If you or someone you know has been affected by power-based personal violence, more information can be found on the UVA Sexual Violence website that describes reporting options and resources available - www.virginia.edu/sexualviolence. As your professor and as a person, know that I care about you and your well-being and stand ready to provide support and resources as I can. As a faculty member, I am a responsible employee, which means that I am required by University policy to report what you tell me to the University's administration. The University has mechanisms in place to ensure that the reporting student receives the resources and support that they need, while also reviewing the information presented to determine whether further action is necessary to ensure survivor safety and the safety of the University community. If you wish to report something that you have seen, you can do so at the Just Report It portal (http://justreportit.virginia.edu/). The worst possible situation would be for you or your friend to remain silent when there are so many here willing and able to help.

Anti-racism commitment: I acknowledge that racism and white supremacy are baked into the history of UVA as an institution. I believe that my pedagogical philosophies and practices can either reinforce inequities or work to eliminate them. I am committed and actively working to be a better, more careful listener; continuing to learn about the ways systemic injustices disadvantage Black students and colleagues and other students and colleagues of color in and out of the classroom; and advocating for and implementing anti-racist educational practices. I will hold myself accountable, encourage you to help me do so, and invite you to join me in this work.

Accessibility Statement: "The University of Virginia strives to provide accessibility to all students. If you require an accommodation to fully access this course, please contact the Student Disability Access Center (SDAC) at (434) 243-5180 or sdac@virginia.edu. If you are unsure if you require an accommodation, or to learn more about their services, you may contact the SDAC at the number above or by visiting their website at https://www.studenthealth.virginia.edu/student-disability-access-center/about-sdac." If you need any specific accommodations in the format of the lectures, videos, etc, please communicate it to the instructor as soon as possible.