External Info

Computer Vision deals with the automated extraction of information from image and video data. At the low level, techniques such as histogram processing, spatial and frequency-domain filtering, motion segmentation edge extraction, and corner operators are applied as a first step. Follow this, higher level techniques such as geometric primitive extraction, and ultimately object recognition (both model-based and appearance-based) can be applied to determine the identity and accurate location of objects in images. Underlying all of these methods are underlying mathematical concepts such as Principle Component Analysis, Robust Statistics (e.g. RANSAC), and Singular Value Decomposition, as well as optimization methods, such as can be applied to determine least squares solutions to transformations following the Correspondence Problem. Applications of Computer Vision are explored in industrial settings such as automated inspection and recognition. The mathematical basis of stereovision and range vision are presented.

Course Learning Outcomes (CLOs)

The objective of the course is to present the basic algorithms, representations, and methods of modern Computer Vision. In addition to the theoretical and mathematical underpinnings, there is a very practical aspect to the course, and many of the concepts covered in the lecture are followed with concrete programming assignments in the six laboratory modules. At the end of the course, the student will have an appreciation for and knowledge of the basis of Computer Vision technologies, and how this can be applied to solve real and practical problems in industry. Further, the student will have gained the skills to implement Computer Vision methods using current software tools, such as OpenCV.

By the end of the course, the students will:

  • Have an understanding of the basis of Computer Vision, and its applicability at solving a range of pertinent problems;
  • Understand the uses of histogram processing to enhance and segment an image;
  • Understand the basis and uses of motion segmentation;
  • Know how to apply spatial filtering to smooth and sharpen an image;
  • Appreciate edge extraction, and know the basic steps and rationale behind the Canny Edge detector;
  • Understand the basis of Corner detection, and the rationale behind the Harris corner operator;
  • Know the Hough Transform and RANSAC methods for line and circle extraction;
  • Understand how Principle Component Analysis can be used to identify trends in data;
  • Appreciate The Correspondence Problem as a fundamental and difficult problem, and know how to apply Zhang's relaxation method;
  • Know the main steps of the SIFT feature detector;
  • Understand how to model and solve from a set of correspondences isometric, similarity, and affine transformations;
  • Understand a variety of approaches to the model-based Object Recognition problem, including RANSAC, the Generalized Hough Transform, and Geometric Hashing;
  • Appreciate the basis of Singular Value Decomposition;
  • Understand the appearance-based approach to Object Recognition, and Eigenface methods;
  • Understand the basic pinhole and thin lens camera models;
  • Know the uses of homographies in images;
  • Understand how to calibrate a camera's intrinsic parameters;
  • Understand the underlying epipolar geometry of a stereovision system, and how to reconstruct a 3D scene from stereo correspondences;
  • Have knowledge of and experience with the OpenCV software library, and have the skill set to analyze and implement Machine Vision methods in OpenCV.
Credit Breakdown

Lecture: 3
Lab: 0.5
Tutorial: 0
Total: 3.5

Academic Unit Breakdown

Mathematics 0
Natural Sciences 0
Complementary Studies 0
Engineering Science 31
Engineering Design 11