04-800/G-Carnegie Mellon University Africa - Carnegie Mellon University


Applied Computer Vision

Course discipline: ICT, ECE
Units: 12
Lecture/Lab/Rep hours/week: 4 hrs Lecture
Semester/year offered : Fall / all years
Pre-requisites: Students are expected to be proficient in programming in at least one programming language, ideally C/C++. 

Course description: 

This course provides students with a solid foundation in the key elements of computer vision, emphasizing the practical application of the underlying theory. It focusses mainly on the techniques required to build robot vision applications but the algorithms can also be applied in other domains such as industrial inspection and video surveillance. A key focus of the course is on effective implementation of solutions to practical computer vision problems in a variety of environments using both bespoke software authored by the students and standard computer vision libraries.

Learning objectives:

The course covers optics, sensors, image formation, image acquisition & image representation before proceeding to the essentials of image processing and image filtering. This provides the basis for a treatment of image segmentation, including edge detection, region growing, and boundary detection, the Hough transform, and colour-based segmentation.

  • Building on this, the course then proceeds to deal with object detection and recognition in 2D, addressing template matching, interest point operators, gradient orientation histograms, the SIFT descriptor, and colour histogram intersection and back-projection.
  • The problem of recovery of 3D information is then addressed, introducing homogeneous coordinates and transformations, the perspective transformation, camera model, inverse perspective transformation, stereo vision, and epipolar geometry.
  • The interpretation of visual information in unstructured environments poses many problems. To deal with these, the course then addresses visual attention, clustering, grouping, and segmentation, building on Gestalt principles, before proceeding to deal with object detection, object recognition, and object categorization in both 2D and 3D.


After completing this course, students should be able to:

  • Apply their knowledge of image acquisition, image processing, and image analysis to extract useful information from visual images.
  • Design, implement, and document appropriate, effective, and efficient software solutions for a variety of real-world computer vision problems.
  • Exploit standard computer vision software libraries in the development of these solutions.

Content details:

The course will cover the following topics:

  • Overview of human and computer vision.
  • OpenCV.
  • Optics, sensors, and image formation.
  • Image acquisition and image representation.
  • Image processing. Segmentation.
  • Image features.
  • Object recognition.
  • Video image processing.
  • 3D vision and stereopsis.
  • Optical flow.
  • Visual attention.
  • Clustering, grouping, and segmentation.
  • Object recognition in 3D.
  • Affordances.
  • Computer vision and machine learning.

Faculty: David Vernon