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 mathematical methods, 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 Computer Vision, (c) Become familiar with the technical approaches in computer vision such as registration, matching, and recognition, and (d) Obtain practical experience in the implementation of computer vision applications.
Readings will be assigned 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" also available here.
|Wed, January 17th||Introduction to Computer Vision [pptx] [pdf]||Szeliski Ch. 1|
|Mon, January 22th||Cameras and Image Formation [pptx] [pdf]||Szeliski Ch. 2.1, Forsyth and Ponce Ch. 1|
|Wed, January 24th||Projective Geometry and Light [pptx] [pdf]||Szeliski Ch 2.2 and Ch 2.3|
|Assignment on Image Formation, Image Processing, Image Filtering [Google Colaboratory]. Due February 11th 5pm EST.|
|Mon, January 29th||Light and Image Processing [pptx] [pdf]||Szeliski 3.2|
|Wed, January 31st||Image Filtering and Image Frequencies [pptx] [pdf]||Szeliski 3.4, 3.5.2|
|Mon, February 5th||Filtering, Edges, and Frequencies [pptx] [pdf]||Szeliski 4.2|
|Wed, February 7th||Frequencies, Edges, and Corners [pptx] [pdf]||Szeliski 4.1.1, 4.1.2|
|Assignment on Corners, Interest Points, and Hough Transform [Google Colaboratory]. Due February 25th 5pm EST.|
|Mon, February 12th||Corners and Interest Points [pptx] [pdf]||Szeliski 4.1.1, Szeliski 4.1.2|
|Wed, February 14th||Local Feature Descriptors (SIFT) [pptx] [pdf]||Szeliski 4.1.2|
|Mon, February 19th||Hough Transform and RANSAC [pptx] [pdf]||Szeliski 6.1 and 2.1|
|Wed, February 21st||Camera Calibration and Dense Stereo [pptx] [pdf]||Szeliski 6.2.1|
|Assignment on Image Stitching, Epipolar Geometry, Stereo Vision . Due March 18th 5pm EST.|
|Mon, February 26th||Dense Stereo and Epipolar Geometry||Szeliski 7|
|Wed, February 28th||Epipolar Geometry and Structure from Motion|
|Mon, March 5th||No class this day / Spring Break|
|Wed, March 7th||No class this day / Spring Break|
|Mon, March 12th||Structure from Motion and Optical Flow|
|Wed, March 14th||Quiz 1|
|Mon, March 19th||Introduction to Machine Learning|
|Wed, March 21st||Scene Classification & Global Feature Descriptors|
|Mon, March 26th||Guest Lecture: Michael Holroyd, Arqball Chief Scientist. Talk: Arqspin-to-3D|
|Wed, March 28th||Bag of Visual Features & Image Retrieval|
|Mon, April 2nd||Neural Network Basics|
|Wed, April 4th||Convolutional (Neural) Networks (CNNs)|
|Mon, April 9th||Image Classification using CNNs.|
|Wed, April 11th||Deeper Neural Network Architectures I|
|Mon, April 16th||Deeper Neural Network Architectures II|
|Wed, April 18th||Deep Learning for Object Detection|
|Mon, April 23th||Deep Learning for Image Segmentation|
|Wed, April 25th||Unsupervised Deep Learning|
|Mon, April 30th||Quiz 2|
|Wed, May 2nd||No class this day / Reading Day|
Disclaimer: The professor reserves to right to make changes to the syllabus, including project due dates and test dates. These changes will be announced as early as possible.
Prerrequisites: This course requires no specific previous background. You need to know about matrices, calculating derivatives, and probabilities (bayes rule). You will also need to be at least a moderately proficient programmer in python. There will be several small project assignments. These projects will show you the basics of modern computer vision algorithms, and will give you the tools for implementing more advanced ones. There will also be two quizzes. Being proficient in Python by completing a few projects in this language before the class starts is helpful. You should install python and jupyter.
Grading: Projects: 80% (5 programming projects: 15% + 15% + 15% + 15% + 20%), Quizzes: 20% (2 written quizzes: 10% + 10%).
Late Submission Policy: You will lose 10% for each day late for the programming projects. This means the first 24 hours after the due date count as 1 day, up to 48 hours is two and 72 for the third late day. However, you will have three late days for the whole course to address any unexpected traveling, other commitments, interviews, hackathons, etc. These three late day grace period will be accounted at the end of the semester. Please do not send the professor or the TAs emails about submitting late assignments. You can always submit late assignments, and you have a grace period of 3 days for the semester. If you don't use more than three late days, you will not be penalized in any way (but this will be accounted at the end of the semester).
"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."