Introduction to Computer Vision
This course focuses on fundamental topics in computer vision. We begin with the image formation process and discuss the role of camera models and intrinsic calibration in perspective projection. Basic image processing techniques (i.e. filtering) is introduced. After which, we discuss techniques to describe an image, from edges to feature descriptors and methods to establish correspondences between different images of the same scene. The course additionally covers topics in recognition (i.e. image classification, segmentation, detection, etc.) and reconstruction (i.e. stereo, structure-from-motion, optical flow). Machine learning and deep learning based methods in a subset of the topics covered are also introduced. Students get hands-on experience in implementing the techniques covered in the class and applying them to real world datasets and applications. Students taking this course must have successfully passed courses in data structures and object-oriented programming (e.g. CPSC 223a or equivalent courses) and foundational mathematical tools such as discrete math and linear algebra (e.g. CPSC 202 or equivalent courses). It is recommended that students have taken or successfully passed calculus (e.g. MATH 112, MATH 115, MATH 120, or equivalent courses) and linear algebra (e.g. MATH 225, or equivalent courses). A background in statistics, machine learning and deep learning is useful but not required. Experience in programming with Python is preferable, as we use it for assignments and projects. Familiarity with Google Colab and numerical and image processing packages (i.e. NumPy, SciPy, and Sci-kit Image) is helpful throughout the course. TTh 1:05pm-2:20pm
Sources
- Course catalogue ↗2026–2027
- Catalogue entry ↗
Catalogue variants
- Introduction to Computer Vision · Graduate / Professional