Time: Monday and Wednesday, 3:30 - 4:50 PM
Location: Tepper 1403
Instructor David Held (to contact the instructor, please use Piazza - see below)
TAs (to contact the TAs, please use Piazza - see below):
Vaidehi Prakash Wagh <vwagh@andrew.cmu.edu>
Tanisha Gupta <tanishag@andrew.cmu.edu>
Michelle Liu <mmliu@andrew.cmu.edu>
Tim Wang <twang3@andrew.cmu.edu>
Anirudh Mani <anirudhm@andrew.cmu.edu>
TA Office hours: See the OFFICE HOURS SPREADSHEET
Instructor Office hours: Available upon request
Course Discussion / Announcements: https://piazza.com/cmu/fall2025/16385 (make sure to sign up to receive announcements)
We encourage you to ask questions on Piazza if you have any questions about a concept taught in class; you can even do so anonymously.
This course provides a comprehensive introduction to computer vision. Major topics include image processing, geometry-based vision, object recognition, video analysis, deep 3D vision, and image generation. Students will learn basic concepts of computer vision as well as hands on experience to solve vision problems.
At the end of the course, students should be able to take advanced courses on visual learning and geometry-based vision. Specifically,
Students should be able to derive core technical results on image processing (convolution and nonlinear operations for color and grayscale processing), image formation (pinhole optics for camera models including perspective and affine), and gradient-based learning (for architectures including perceptrons and convolutional neural networks).
Students should be able to read current research papers in the general field of computer vision.
Students should be able to build practical systems for computer vision including those for image classification, video tracking, reconstruction, and data-driven visual learning.
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
"Matrices and Linear Transformations" (21-241) and "Calculus in Three Dimensions" (21-259) and "Principles of Imperative Computation" (15-122)
A great reference for linear algebra can be found here.
Your final grade will be made up from:
Six programming assignments (16 1/3% each, 98% total).
Participation (2%) - includes class or Piazza participation.
Programming assignments: Programming assignments 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.
Participation: The 2% class participation grade can be achieved by asking questions in class, or by asking/answering questions on Piazza.
Late days:
For the homework assignments, students will be allowed a total of six free late days to use throughout the semester.
You can submit any assignment up to 3 days late. You can do this either by:
Using up to 3 late days (you can use up to 3 free late on any assignment)
If your late days are used up, you can submit it late (up to 3 days) for a 10% penalty per day.
If you submit the assignment more than 3 days late then you will get a 0 (regardless of late days).
If you have a medical situation, please make a private post on Piazza to ask for an extension. Please tell us that you have a medical situation and need an extension, but you do not need to explain the details of your medical situation.
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.
Regrade Requests: If you believe an error was made during grading, you will be able to submit a regrade request on Gradescope. For each homework, regrade requests will be open for only 1 week after the grades have been published. This is to encourage you to check the feedback you’ve received early! TAs reserve the right to regrade any part of an assignment that is submitted for regrading. Your score may go up, down, or may not change based on the TAs discretion.
Information about the assignments are described in the "assignments" tab at the top of this page.
The following can be useful references for different parts of the class, but are not required:
Computer Vision: Algorithms and Applications, by Richard Szeliski (available online for free).
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.
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, (or asking an LLM to write code for you) is prohibited on assignments.
These and any other form of collaboration constitute cheating.
You are allowed to ask an LLM to help you clarify a concept from class!
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 or assignment writeups 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.
If you work with someone on an assignment, please include their name in your write up and inside any code that has been discussed. If we find highly identical write-ups or code without proper accreditation of collaborators, we will take action according to university policies.
If you have a disability and are registered with the Office of Disability Resources, I encourage you to use their online system to notify me of your accommodations and discuss your 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.
If you need extra help for the course beyond what the instructor and TAs can provide, you can also use the Student Academic Success Center (SASC).
Academic Coaching--This program provides holistic, one-on-one peer support and group workshops to help undergraduate and graduate students implement habits for success. Academic Coaching assists students with time management, productive learning and study habits, organization, stress management, and other skills. Request an initial consultation here.
Peer Tutoring--Peer Tutoring is offered in two formats for students seeking support related to their coursework. Drop-In tutoring targets our highest demand courses through regularly scheduled open tutoring sessions during the fall and spring semesters. Tutoring by appointment consists of ongoing individualized and small group sessions.You can utilize tutoring to discuss course related content, clarify and ask questions, and work through practice problems. Visit the webpage to see courses currently being supported by Peer Tutoring.
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.
We can all benefit from support in times of stress. Studies have shown that your mental health can benefit by maintaining a healthy lifestyle by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. These practices can help you achieve your goals and cope with stress.
Even with these practices, it is natural to struggle with mental health challenges. All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful. If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.
All people have the right to be addressed and referred to in accordance with their personal identity. Students are encouraged to use Canvas's NameCoach to indicate the name that they prefer to be called and to identify pronouns with which they would like to be addressed. I will do my best to address and refer to all students accordingly and encourage everyone in the class to do so as well.
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, pregnancy, or genetic information. Each of these diverse identities shape the perspectives our students, faculty, and staff bring to our campus. We at CMU will work to promote diversity, equity and inclusion. 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: www.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.
The course instructors also encourage anyone who experiences or observes unfair or hostile treatment to report such incidences to the course instructors so that we can address such situations.
It is my intent that students from all diverse backgrounds and perspectives be well served by this course, that students’ learning needs be addressed both in and out of class. It is my intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, age, socioeconomic status, ethnicity, race, and culture. Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally or for other students or student groups. In addition, if any of our class meetings conflict with your religious events, please let me know so that we can make arrangements for you.
If you are worried about affording food or feeling insecure about food, there are resources on campus who can help. Email the CMU Food Pantry Coordinator to schedule an appointment:
Pantry Coordinator
412-268-8704 (SLICE office)