Computer Laboratory

Course pages 2014–15

Computer Vision

Principal lecturer: Prof John Daugman
Taken by: Part II
Past exam questions
Information for supervisors (contact lecturer for access permission)

No. of lectures: 16
Suggested hours of supervisions: 4
Prerequisite courses: Probability, Mathematical Methods for Computer Science


The aims of this course are to introduce the principles, models and applications of computer vision, as well as some mechanisms used in biological visual systems that may inspire design of artificial ones. The course will cover: image formation, structure, and coding; edge and feature detection; neural operators for image analysis; texture, colour, stereo, and motion; wavelet methods for visual coding and analysis; interpretation of surfaces, solids, and shapes; data fusion; probabilistic classifiers; visual inference and learning. Issues will be illustrated using the examples of pattern recognition, image retrieval, and face recognition.


  • Goals of computer vision; why they are so difficult. How images are formed, and the ill-posed problem of making 3D inferences from them about objects and their properties.

  • Image sensing, pixel arrays, CCD cameras. Image coding and information measures. Elementary operations on image arrays.

  • Biological visual mechanisms, from retina to cortex. Photoreceptor sampling; receptive field profiles; stochastic impulse codes; channels and pathways. Neural image encoding operators.

  • Mathematical operations for extracting image structure. Finite differences and directional derivatives. Filters; convolution; correlation. 2D Fourier domain theorems.

  • Edge detection operators; the information revealed by edges. The Laplacian operator and its zero-crossings. Logan’s theorem.

  • Multi-scale feature detection and matching. SIFT (scale-invariant feature transform); pyramids. 2D wavelets as visual primitives. Energy-minimising snakes; active contours.

  • Higher visual operations in brain cortical areas. Multiple parallel mappings; streaming and divisions of labour; reciprocal feedback through the visual system.

  • Texture, colour, stereo, and motion descriptors. Disambiguation and the achievement of invariances. Image and motion segmentation.

  • Lambertian and specular surfaces; reflectance maps. Geometric analysis of image formation from surfaces. Discounting the illuminant when inferring 3D structure and surface properties.

  • Shape representation. Inferring 3D shape from shading; surface geometry. Boundary descriptors; codons. Object-centred coordinates and the “2.5-Dimensional" sketch.

  • Perceptual organisation and cognition. Vision as model-building and graphics in the brain. Learning to see.

  • Lessons from neurological trauma and visual deficits. Visual agnosias and illusions, and what they may imply about how vision works.

  • Bayesian inference in vision; knowledge-driven interpretations. Classifiers, decision-making, and pattern recognition.

  • Model estimation. Machine learning and statistical methods in vision.

  • Applications of machine learning in computer vision. Discriminative and generative methods. Content based image retrieval.

  • Approaches to face detection, face recognition, and facial interpretation. Cascaded detectors. Appearance versus model-based methods (2D and 3D approaches).


At the end of the course students should

  • understand visual processing from both “bottom-up” (data oriented) and “top-down” (goals oriented) perspectives;

  • be able to decompose visual tasks into sequences of image analysis operations, representations, specific algorithms, and inference principles;

  • understand the roles of image transformations and their invariances in pattern recognition and classification;

  • be able to describe and contrast techniques for extracting and representing features, edges, shapes, and textures;

  • be able to describe key aspects of how biological visual systems work; and be able to think of ways in which biological visual strategies might be implemented in machine vision, despite the enormous differences in hardware;

  • be able to analyse the robustness, brittleness, generalizability, and performance of different approaches in computer vision;

  • understand the roles of machine learning in computer vision today, including probabilistic inference, discriminative and generative methods;

  • understand in depth at least one major practical application problem, such as face recognition, detection, or interpretation.

Recommended reading

* Forsyth, D. A. & Ponce, J. (2003). Computer Vision: A Modern Approach. Prentice Hall.

Shapiro, L. & Stockman, G. (2001). Computer vision. Prentice Hall.