COMP 590: Introduction to Computer Vision

Fall 2024

Instructor: Roni Sengupta
Tuesday and Thursday, 2:00-3.15pm, FB 0009

[ Overview | Course Policies | Schedule ]

Image courtesy Computer Vision: Algorithms and Applications, 2nd ed., by Richard Szelski

Overview


Course Description

This is an undergraduate level course focusing on the fundamentals of Computer Vision and a broad overview of recent research problems in Computer Vision. Recently we have noticed an explosion in Computer Vision research and real world applications, creating a huge impact in society. This revolution has been mainly powered by the advances in Deep Learning techniques and computing resources. In this course we will focus on learning the fundamentals of Computer Vision, and we will try to answer the following questions: (a) How do we capture and process an image? (b) How do we develop machine perception that recognize, detect, and segment objects? (c) (c) How do we connect the 3D world to 2D images and reconstruct 3D from images? We will also study how some Computer Vision algorithms can introduce bias and cause harm to a certain portion of the population, often underrepresented communities, and how as researchers and practitioners we can do better.

Prerequisite

Basic maths knowledge: linear algebra (matrix operations), calculus (integration and differentiation), probability (basic concepts). Basic programming skills in Python. Your assignments and exams will require solving maths questions and write simple codes.

Resources

Computer Vision: Algorithms and Applications, 2nd ed., by Richard Szelski
Multiple View Geometry in Computer Vision , by Richard Hartley and Andrew Zisserman.
Computer Vision: A Modern Approach, by David Forsyth and Jean Ponce

Personnel

Instructor Office Hours: Wednesday 3-4pm (SN 255).
TA: Andrea Dunn Beltran. email: asdunnbe@cs.unc.edu TA Office hours: Tue & Thurs 3.30-4.30pm (SN 147 near XL lab).
Assignments will be handled via Canvas..


Goal/Student Learning Outcomes

(a) Understand the fundamentals of Computer Vision. (b) Develop implementation expertise by writing codes in Python to solve various Computer Vision tasks. (c) Develop strong mathematical frameworks required for problem solving.

Course Policies

Grading:

  • Assignment 1: [pen & paper] Linear Algebra and Probability Recap: 5%
  • Assignment 2: [pen & paper + coding in python] Frequency domain image analysis: 10%
  • Assignment 3: [coding in python] Stitching images to generate panorama: 10%
  • Assignment 4: [coding in Google Colab] Deep Learning 1: 10%
  • Mid-term Exam: [pen & paper] in-class + take-home: 15%
  • Assignment 5: [pen & paper] 3D Vision 1: 10%
  • Assignment 6: [pen & + coding in python] 3D Vision 2: 10%
  • Final Exam: [pen & paper] in-class + take-home: 20%
  • Class Participation & Quizzes: 10%

All grades will be curved at the end of the semester. Based on previous years, grades > 80 has usually been considered a A.

Misc.

Final exam + Mid-term Exam: Final exam will be a mixture of in-person & take-home (until midnight of the exam day). Students are expected to finish the final exam in-person in 75 minutes. However you can choose to finish some questions by taking it home and submitting it online by the end of the day. You will be graded for only 80% of the total points assigned for each question you submit as take-home. Each exam question can only be submitted either in-person (will receive 100% grade) or take-home (will receive 80% grade).

Class Participation & Quizzes: 8-10 random quizzes throughout the course. Each quiz will have 4 questions + 1 point for attendence.

Late Submissions: Late assignments will not be accepted. You lose 5% of total points for that assignment for each late day. No exception allowed. For medical emergency doctor letter or ARA letters are required. For scientific conference travels explicit permission from the instructor is required ahead of time.

Academic Integrity & Collaboration:
  • For your assignments, you are allowed to use materials from external sources as long as it helps you to understand the topic and NOT actually solve the assignment problem.
  • You MUST NOT use homework solutions from previous years.
  • You MUST clearly acknowledge any sources used for solving the assignment.
  • You can discuss and brainstorm in groups but the programming and the solution has to be done on an individual basis.
  • No copying or replicating of other existing solutions.
  • Final and mid-term exams are in class. You can bring 1 US Letter size cheat-sheet (1-sided). But collaboration, electronic devices, browsing the web, printed materials etc. are not permitted.
  • ANY VIOLATION OF ACADEMIC INTEGRITY WILL BE REPORTED TO THE UNC OFFICE OF STUDENT CONDUCT

Schedule