Computer Vision (CMU 16-385)
CMU 16-385, Spring 2021
(Remote)
Instructor: Matthew O'Toole
Course Description

This course provides a comprehensive introduction to computer vision. Major topics include image processing, detection and recognition, geometry-based and physics-based vision and video analysis. Students will learn basic concepts of computer vision as well as hands on experience to solve real-life vision problems.

Instructor
[motoole2 at andrew]
Office: Smith Hall 215
Office hours: Sundays, 5pm-7pm (or by appointment)
 
 
Your fun and helpful TAs:
[chaoyanw at andrew]
Office hours: Thursdays, 5pm-7pm
 
 
[aroutray at andrew]
Office hours: Tuesdays, 5pm-7pm
 
 
Prerequisites

This course requires familiarity with linear algebra, calculus, basic probability, as well as programming. In particular, the following courses serve as prerequisite:

  • "Mathematical Foundations of Electrical Engineering" (18-202) and "Principles of Imperative Computation" (15-122)

OR

  • "Matrix Algebra with Applications" (21-240) and "Matrices and Linear Transformations" (21-241) and "Calculus in Three Dimensions" (21-259) and "Principles of Imperative Computation" (15-122)
Textbook

Readings will be assigned from the following textbook (available online for free):

Additional readings will be assigned from relevant papers. Readings will be posted on the website.

The following textbooks can also be useful references for different parts of the class, but are not required:

  • Multiple View Geometry in Computer Vision, by Richard Hartley and Andrew Zisserman.
  • Computer Vision: A Modern Approach, by David Forsyth and Jean Ponce.
  • Digital Image Processing, by Rafael Gonzalez and Richard Woods.
Evaluation

Your final grade will be made up from:

  • Six programming assignments (70%).
  • Eleven take-home quizzes (27%).
  • Class participation (3%).

Programming assignments: Programming assignments (PAs) will require implementing a significant computer vision algorithm. Some of them will also have a small theory component relevant to the implementation. Programming will be done in Python (PA2-7).

Take-home quizzes: Take-home quizzes (TQs) will require solving two-three theory questions related to the corresponding week's two lectures. Answers will need to be typed in LaTeX (e.g., see Overleaf). Quizzes will be graded on the following quantized scale:

  • 10 points — correct idea, details are correct
  • 8 points — correct idea, some details are wrong
  • 6 points — rough idea, missing major pieces
  • 4 points — good faith attempt but clearly wrong
  • 2 points — no answer, but you state what you didn't understand
  • 0 points — nothing handed in

Late days: For the programming assignments, students will be allowed a total of six free late days. Any additional late days will each incur a 10% penalty. Assignments submitted one week after the initial due date will receive a grade of zero.

Missed quizzes: For the take-home quizzes, students will be allowed to completely skip a total of three quizzes without penalty. For students that submit more than eight quizzes, only the best eight will be counted towards their grade. There are no free late days for quizzes, and any late quiz will receive zero credit.

Submitting homework: We use the Gradescope menu link in Canvas for submitting and grading homeworks.

Accommodations for Students with Disabilities: If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.

Discussion

We use Piazza for class discussion and announcements.

Collaboration Policy

Students in 16-385 are absolutely encouraged to talk to each other, to the TAs, to the instructors, or to anyone else about course assignments. Any assistance, though, must be limited to discussion of the problems and sketching general approaches to a solution. Each student must write their own code and produce their own writeup. Consulting another student's solution, or solutions from the internet, is prohibited on assignments. These and any other form of collaboration constitute cheating. If you have any question about whether some activity would constitute cheating, just be cautious and ask the instructor before proceeding!

You may not supply code, assignment writeups, or quizzes you complete during 16-385 to other students in future instances of this course or make these items available (e.g., on the web) for use in future instances of this course (just as you may not use work completed by students who've taken the course previously). We encourage you to use public source control hosts like Github for your assignments, however please be sure to make your programming assignment repositories private.

Diversity Statement

We must treat every individual with respect. We are diverse in many ways, and this diversity is fundamental to building and maintaining an equitable and inclusive campus community. Diversity can refer to multiple ways that we identify ourselves, including but not limited to race, color, national origin, language, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information. Each of these diverse identities, along with many others not mentioned here, shape the perspectives our students, faculty, and staff bring to our campus. We, at CMU, will work to promote diversity, equity and inclusion not only because diversity fuels excellence and innovation, but because we want to pursue justice. We acknowledge our imperfections while we also fully commit to the work, inside and outside of our classrooms, of building and sustaining a campus community that increasingly embraces these core values.

Each of us is responsible for creating a safer, more inclusive environment.

Unfortunately, incidents of bias or discrimination do occur, whether intentional or unintentional. They contribute to creating an unwelcoming environment for individuals and groups at the university. Therefore, the university encourages anyone who experiences or observes unfair or hostile treatment on the basis of identity to speak out for justice and support, within the moment of the incident or after the incident has passed. Anyone can share these experiences using the following resources:

  • Center for Student Diversity and Inclusion: csdi@andrew.cmu.edu, (412) 268-2150
  • Report-It online anonymous reporting platform: reportit.net, username: tartans, password: plaid

All reports will be documented and deliberated to determine if there should be any following actions. Regardless of incident type, the university will use all shared experiences to transform our campus climate to be more equitable and just.