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.