University of Oxford Logo University of OxfordSoftware Engineering - Home
On Facebook
Follow us on twitter
Linked in
Linked in
Google plus
Google plus
Stumble Upon
Stumble Upon

Computer Vision

If you’ve ever wondered how Google earth builds 3D models of entire cities, how computers can automatically diagnose medical conditions from images, how robot vacuum cleaners can find their way around a house or how augmented reality headsets work, then this course is for you. Computer vision, through what is known as the ImageNet moment, sparked the current resurgence in AI and led to the mass adoption of Deep Learning in both industry and academia. It is also one of the fastest growing areas in computer science with exponentially increasing impact on companies across many industries. Computer vision systems are already used to solve problems in a wide range of domains such as:

  • Augmented reality
  • Smart agriculture
  • Fintech and Insurtech
  • Image and video indexing
  • Automated inspection of equipment
  • Smart retail management
  • Home robots
  • Automated quality control
  • Virtual and automated training and skill development

This course covers the essentials for getting started with developing computer vision systems from a practitioner's perspective and focuses on how computer vision can be applied to solve real-world problems. We cover the basics of how images are formed, how to deal with multiple views of the same scene, how useful features and representations can be extracted from images. We will look at tasks such as 3D reconstruction, detecting objects, estimating the pose of humans and animals, and captioning images.


This course will run twice a year.

Course dates

3rd June 2024Oxford University Department of Computer Science - Held in the Department 0 places remaining.
3rd February 2025Oxford University Department of Computer Science - Held in the Department06 places remaining.
16th June 2025Oxford University Department of Computer Science - Held in the Department11 places remaining.


At the end of the course, students will:

  • Understand the fundamentals and have working knowledge of computer vision
  • Design a computer vision system to solve real-world problems
  • Be aware of the broad range of applications of computer vision

Assessment criteria

The course assignment will determine the following:

  • Have you understood the principles of computer vision: feature extraction, matching, correspondence estimation,epipolar geometry
  • Have you demonstrated the ability to apply the fundamentals to solve common tasks such as: object detection, segmentation, and image captioning
  • Can you reason about an unseen problem and present a solution, clearly discussing its strengths and weaknesses?
  • Can you demonstrate fluency in Python, OpenCV and scikit-image?


  1. What computer vision is: introduction and overview
  2. How images are formed
    1. Projections and transformations
    2. Pixels and photometry
  3. Representation learning and feature extraction
    1. SIFT, CNNs, ResNet
  4. Matching and correspondence estimation
  5. Semantics and high-level vision:
    1. Object detection and tracking
    2. Semantic segmentation and human pose estimation
    3. Image captioning and tagging
  6. Multi-view computer vision:
    1. 3D reconstruction and stereo
    2. Basics of epipolar geometry
  7. Applications and case study


This course is related to DNN and CML, but neither is a formal prerequisite. Useful concepts to know are: convolutional neural networks and the training loop, from DNN; and loss and reward functions, and different training methods (unsupervised, supervised etc), from CML. So if taking either of DNN or CML as well as VIS, it would be better to take VIS last.