Welcome to CMSC426 Computer Vision class by
Prof. Yiannis Aloimonos
. The course was redesigned by
Nitin J. Sanket
and
Chahat Deep Singh
. The class has
Amir-Hossein Shahidzadeh
,
Botao He
,
Jingxi Chen
and
Jiayi Wu
as the teaching assistants for this course.
This is an introductory course on computer vision and computational photography.
This course will explore image formation, image features, image segmentation, image
stitching, image recognition, motion estimation, and SLAM. The course is redesigned
and is targeted towards getting jobs in companies like Google, Microsoft etc. as a
computer vision scientist/engineer.
The course content and projects are available here:
CMSC426
All the class announcements will be made through
Piazza
. Please use Piazza to contact TAs, rather than email.
All the projects and homeworks are to be submitted using
ELMS
.
All the projects and homeworks will be coded in Python
.
Yiannis Aloimonos
Instructor
Amir-Hossein Shahidzadeh
Teaching Assistant
Botao He
Teaching Assistant
Jingxi Chen
Teaching Assistant
Jiayi Wu
Teaching Assistant
Pre-requisites
Programming proficiency is the only hard pre-requisite. We recommend
familiarity with Matlab and basic Linear Algebra.
Office Hours
- Teaching Assistants Office Hours:
Monday: 10:00 - 11:30AM, 5 - 6:30PM
Wednesday: 10:00 - 11:30AM
Location: IRB 5137, Brendan Iribe Center. Subject to change,
notice on Piazza.
- Prof. Yiannis Aloimonos: By Appointment
Course Structure
This is a hands-on course, centered around four projects. There will be also
a homework and an in-class midterm exam, to reinforce your understanding of
underlying concepts.
The grading breakdown is as follows:
- Homework : 5%
- Project 1: 15%
- Project 2: 17.5%
- Project 3: 17.5%
- Project 4 (Optional): 20% (Bonus)
- In-Class Midterm Exam: 15%
- In-Class Final Exam: 20%
-
Piazza
participation: 10% (Help out your friends out with concepts!)
Piazza participation includes answering questions and taking part in
discussions related to concepts only, needless to say there will be no
points for "Private posts".
Assignments
All projects are intended to be done in groups of
3-4
students. However, the homework MUST be done individually.
However, we encourage you to discuss with your peers. For further
details, read the "Collaboration Policy and Honor Code" below.
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.
Software
We will use MATLAB as the programming platform throughout this
course, available to UMD students through
Terpware
.
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 docked
20% for the first day, and 10% per day after that.
But life is unpredictable; we all need a break sometimes.
So, we allow you eight "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)"
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 in-class 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 referenced.
- 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.
- For homeworks, when it comes to formulating or
writing solutions, you must work alone. For example,
if you're working with your peers on a common
whiteboard, you may not simply copy from that
whiteboard; you must write your answer separately,
based on your own understanding of what you
discussed.
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.
Resources & Accommodations
For Accessibility and Disability Services
,
Student Resources and Services and
Veteran Resources,
please check the following document:
Resources & Accommodations
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.