Welcome to CMSC733 Computer Processing of Pictorial Information (official name) a.k.a. Classical and Deep Learning Approaches for Geometric Computer Vision class by
Prof. Yiannis Aloimonos. The course was redesigned by
Nitin J. Sanket and
Chahat Deep Singh.
Zhiyuan Hua and
Chethan Parameshwara will be your friendly neighborhood TAs for this course. Don't hesitate to contact them on
Piazza. Sign up for Piazza
here, if you haven't.
This is an advanced course on graduate computer vision and computational photography. This course will explore image formation, image features, image segmentation, image stitching, image recognition, motion estimation, 3D point clouds and will touch upon basics of augmented reality. This course is heavily redesigned this time to showcase how to model classical 3D geometry problems using Deep Learning.
All the class announcements will be made through
Piazza. Please use Piazza to contact TAs. Please do
NOT contact the TA's or the Instructor via email unless it's an emergency, and do
NOT contact the TA's on any social media platform such as Facebook or WhatsApp (please respect their privacy) regarding course content. If you want to have a chat about our research, feel free to contact the TA's or Instructor on any platform.
All the student reports will be released publicly online to enable better learning experience for others. We will be also announce top three submissions for each announcement on the wesbite. All the projects and homeworks are to be submitted using ELMS.
If you find any errors/typo in the course github website, please edit the markdown '.md' file and send a 'pull request'. If you don't know how to use pull request, please check out this tutorial.
A Homework 0 will be released on Jan 25, 2022 on the first of the class. You will be notified via ELMS.
Yiannis Aloimonos
Instructor
Zhiyuan Hua
Teaching Assistant
Chethan M Parameshwara
Teaching Assistant
Pre-requisites
Programming proficiency in Python 3 is a hard pre-requisite. We assume that the students are proficient with basic Linear Algebra, calculus and machine learning to the level of an undergraduate class.
Office Hours
- Zhiyuan Hua: By Appointment
- Chethan Parameshwara: By Appointment
- Prof. Yiannis Aloimonos: By Appointment
Course Structure
This is a hands-on course, centered around four projects. There are also two homeworks and a take home midterm exam, to reinforce your understanding of underlying concepts. This is a qualifying course for Computer Science PhD students in the area Vision and Geometry. The grading breakdown is as follows:
- Project 1: 13%
- Project 2: 13%
- Project 3: 13%
- Project 4: 13%
- Midterm Exam: 25%
- Homework 0: 7%
- Homework 1: 7%
- Quiz 1: 3%
- Quiz 2: 3%
- Quiz 3: 3%
Software Environment
We will use Python 3 as the programming platform throughout this course along with packages from OpenCV, TensorFlow, Numpy, Scikit and Matplotlib. We officially support Ubuntu only. Feel free to use VirtualMachine if you have a Mac/Windows system. For most assignments, there will be a starter code released in Tensorflow. The students who wish to program in PyTorch would require to adapt and write their own starter code with the same input-output arguments.
System setup instructions are given here or here(Outdated).
Assignments
All projects are to be done in groups of 2 whereas homeworks should be done individually. However, we encourage you to discuss with your peers and not cheat. The Midterm exam is to be done ALONE and no discussion is allowed. For clarifications, post a private post on Piazza. For further details, read the Collaboration Policy and Honor Code below.
All the assignments will be released on Jan 20, 2022 with their respective due dates. You can submit anytime before the due date, however the grading will only be done after the due date.
The Assignments are as follows:
Projects listings were updated on Jan 20, 2022.
- Homework 0: Shake My Boundary (Student Outputs)
Deadline: 11:59 p.m. Thursday, Feb 3, 2022.
- Project 1: My AutoPano (Student Outputs)
Deadline: 11:59 p.m. Thursday, Feb 24, 2022.
- Project 2: FaceSwap (Student Outputs)
Deadline: 11:59 p.m. Thursday, March 17, 2022
- Homework 1: AutoCalib (Student Outputs)
Deadline: 11:59 p.m. Thursday, April 7, 2022.
- Project 3: Buildings built in minutes: An SfM Approach (Student Outputs)
Deadline: 11:59 p.m. Thursday, April 28, 2022.
- Project 4: Learning SfM, an Unsupervised Way (Student Outputs)
Deadline: 11:59 p.m. Tuesday, May 17, 2022
- Midterm Exam (Take-home)
Will be released on Piazza.
Tentative Release Date: 00:00 a.m. Thursday, April 14, 2022
Tentative Deadline: 11:59 p.m. Thursday, April 21, 2022.
Syllabus
Singular Value Decomposition, Linear Least Squares, Random Sample Consensus, Image Acquisition, Color Spaces, Gaussians, Color Segmentation, Expectation Maximization, Gaussian Mixture Model, Convolution, Filtering in images, Corner and Edge Detection, Projective Geometry, Camera Model, Feature Matching, Homography, Classifiers, Optical Flow, Fundamental and Essential Matrix, Epipolar Geometry, Perspective-n-points, Bundle Adjustment, Fiducial markers, Factor graphs, Pose Graph Optimization, Visual Odometry, Structure from Motion, RGB-D reconstruction, perceptron, backpropagation, convolutional neural networks, deep learning.
Late Policy
This course moves quickly, and concepts tend to build on top of each other. Therefore it's very important to keep up with the material. To encourage this, late assignments are penalized for 25% per day after the due date. But life is unpredictable; we all need a break sometimes. So, we allow you six late days, to spend on any assignment(s) except the final project and the midterm exam. You may submit an assignment late (after the due date) using a late day without any penalty. Think of a late day as pushing the deadline back by a day. So, to get full credit on a 2-days-late assignment, you'd need to use two late days. Late days can only be spent as full days (i.e., you can't use only half a late day for an assignment you submit 12 hrs late). If you are using a late day, mention it in the title of your submission as "USING X LATE DAY(S)" and post a comment on ELMS about the usage of a late day. We expect you to keep track of number of late days you have remaining and notify us of usage of one or more late days. We will default for penalty if we don't see the mention of late day usage as a comment on ELMS on that particular assignment.
If you are using a late day, mention it in the title of your submission as "USING X LATE DAY(S)"
Collaboration Policy and Honor Code
Collaboration is encouraged, but one should know the difference between collaboration and cheating. Cheating is prohibited and will carry serious consequences. Cheating may be defined as using or attempting to use unauthorized assistance, material, or study aids in academic work or examinations. Some examples of cheating are: collaborating on an take-home exam or homework unless explicitly allowed; copying homework; handing in someone else's work as your own; and plagiarism. You are welcome to collaborate with your peers on Piazza and in person. However it's important that the work you submit is an expression of your understanding, and not merely something you copied from a peer. So, we place strict limits on collaboration:
Firstly, you must clearly cite your collaborators by name at the top of your report. This includes Piazza posts reference. You may not share or copy each other's code. You can discuss how your code works, and the concepts it implements, but you can't just show someone your code.
You may use free and publicly available sources, such as books, journal and conference publications, and web pages, as research material for your answers. (You will not lose points for using external sources.) You may not use any service that involves payment, and you must clearly and explicitly cite all outside sources and materials that you made use of. We consider the use of uncited external sources as portraying someone else's work as your own, and as such it is a violation of the University's policies on academic dishonesty. Instances will be dealt with harshly and typically result in a failing course grade. Unless otherwise specified, you should assume that that the UMD Code of Academic Integrity applies.
Unless otherwise specified, you should assume that that the UMD Code of Academic Integrity applies.
COVID Regulations for Spring 2022
President Pines provided clear expectations to the University about the wearing of masks for students, faculty, and staff. Face coverings over the nose and mouth are required while you are indoors at all times. KN95 masks are required in all classroom settings and recommended everywhere. There are no exceptions when it comes to classrooms, laboratories, and campus offices. Students not wearing a mask will be given a warning and asked to wear one, or will be asked to leave the room immediately. Students who have additional issues with the mask expectation after a first warning will be referred to the Office of Student Conduct for failure to comply with a directive of University officials.
Reference Books
All concepts will be covered in class lecture, and in the lecture notes. However, we also recommend the following books as good references:
- Computer Vision: Algorithms and Applications, Springer, Richard Szeliski, 2010.
- Computer vision: A Modern Approach, Prentice Hall, David Forsyth, and Jean Ponce, 2002.
- Digital Image Processing, Prentice Hall, Rafael Gonzalez, and Richard Woods, 2008.
- Multiple view geometry in computer vision, Cambridge university press, Richard Hartley, and Andre Zisserman, 2003.
- Deep Learning Book, MIT Press, Ian Goodfellow, Yoshua Bengio, and Aaron Courville, 2016.
Sponsor
We thank Google for supporting this course with their Google Cloud Platform.
Powered by