COMP0137 Machine Vision

This database contains the 2018-19 versions of syllabuses. These are still being finalised and changes may occur before the start of the session.

Syllabuses from the 2017-18 session are available here.

Academic session



Machine Vision



Module delivery

1819/A7U/T1/COMP0137 Masters (MEng)

Related deliveries

1819/A7P/T1/COMP0137 Postgraduate

Prior deliveries



Master (MEng)

FHEQ Level


FHEQ credits



Term 1

Module leader

Brostow, Gabriel


Brostow, Gabriel

Module administrator

Ball, Louisa

Levit, Gertrud


The module addresses algorithms for automated computer vision. It focuses on building mathematical models of images and objects and using these to perform inference. Students will learn how to use these models to automatically find, segment and track objects in scenes, perform object recognition and build three-dimensional models from images.

Learning outcomes

On successful completion of the module, a student will be able to:

  1. understand and apply a series of probabilistic models of images and objects in machine vision systems.
  2. understand the principles behind object recognition, segmentation, super-resolution, scene analysis, tracking, and 3D model building.

Availability and prerequisites

This module delivery is available for selection on the below-listed programmes. The relevant programme structure will specify whether the module is core, optional, or elective.

In order to be eligible to select this module as optional or elective, where available, students must meet all prerequisite conditions. Places for students taking the module as optional or elective are limited and will be allocated according to the department’s module selection policy.

Programmes on which available:

  • MEng Computer Science (International Programme) (year 4)
  • MEng Computer Science (year 4)
  • MEng Mathematical Computation (International Programme) (year 4)
  • MEng Mathematical Computation (year 4)


To be eligible for this module, students must have:

  • passed BSc/ MEng Computer Science (Years 1 and 2) at UCL; or
  • passed MEng Mathematical Computation (years 1 and 2) at UCL; or
  • passed Years 1 and 2 of another physical sciences and engineering programme with sufficient mathematical and programming content.


Two-dimensional visual geometry

2-D transformation family. The homography. Estimating 2-D transformations. Image panoramas.

Three dimensional image geometry

The projective camera. Camera calibration. Recovering pose to a plane.

More than one camera

The fundamental and essential matrices. Sparse stereo methods. Rectification. Building 3D models. Shape from silhouettes.

Vision at a single pixel

Background subtraction and colour segmentations problems. Parametric, non-parametric and semi-parametric techniques. Fitting models with hidden variables.

Connecting pixels

Dynamic programming for stereo vision. Markov random fields. MCMC methods. Graph cuts.


Texture synthesis, super-resolution and denoising, image inpainting. The epitome of an image.

Dense Object Recognition

Modelling covariances of pixel regions. Factor analysis and principle components analysis.

Sparse Object Recognition/Regression

Convolutional Neural Networks, Auto-encoders, Adversarial training, Equivariance.

Shape Analysis

Point distribution models, active shape models, active appearance models.


The Kalman filter, the Condensation algorithm.

An indicative reading list is available via


The module is delivered through a combination of 30 one-hour lectures, and 10 three-hour labs consisting of written and programming exercises (in Python).


This module delivery is assessed as below:



Weight (%)



Written examination (2hrs 30mins)




Coursework 1




Coursework 2



In order to pass this module delivery, students must:

  • achieve an overall weighted module mark of at least 50%; and
  • achieve a mark of at least 40% in any components of assessment weighed ≥ 30% of the module.

Where a component comprises multiple assessments, the minimum mark applies to the overall component.