Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Computer Vision (INFR11212)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits20 ECTS Credits10
Summary**This course replaces Image and Vision Computing (INFR11140) and Advanced Vision (INFR11031)**

Computer Vision is the field of study that teaches computers how to 'see'. This means, how to go from the pixels in an image to the information that a human can describe when they see a picture, much like self-driving cars, autonomous robots, or social media apps that recommend images or videos based on your preferences. This course is an in-depth introduction to the field of Computer Vision.

The course is structured around different problems in computer vision, such as object recognition and video classification, and covers both classical and deep learning approaches.

The course can be taken without any prior knowledge of computer vision or deep learning, but it does assume some familiarity with machine learning concepts, and relevant mathematics and programming skills (see details under "Other Requirements"). The course delivers both theoretical and practical knowledge, and by the end you should be able to understand, design, and implement computer vision techniques for many real-world problems.
Course description This course teaches the principles and methodologies of computer vision, both from a theoretical and a practical perspective.

The content includes first the basics of image formation, image processing and classic computer vision principles and methods. In the second part, we will study one vision problem per week including object recognition, object segmentation, video classification, optical flow, pose estimation, learning from limited data, learning from biased data and its ethical and social implications, etc. For each of these problems we will discuss several seminal methods in the field, spanning both classical vision and deep learning methods.

The course will be taught as a live lecture. It will also have lab sessions to help with the coursework project. The coursework will be structured as a series of small non-assessed practice sessions, which will build up the skills for the assessed mini-project at the end of the course.

A tentative syllabus would be:
Week 1 -- Introduction
Week 2 -- Image formation (Camera types, projection, light)
Week 3 -- Image processing (convolution, filtering, effects)
Week 4 -- Traditional pipeline (interest points, descriptors, matching)
Week 5 -- Break
Week 6 -- Deep Learning I: MLP, ConvNets, training and testing
Week 7 -- Object Classification (1 classic approach, 1 established modern approach, 1 state-of-the-art)
Week 8 -- Object Segmentation (1 classic approach, 1 established modern approach, 1 state-of-the-art)
Week 9 -- Optical flow (1 classic approach, 1 established modern approach, 1 state-of-the-art)
Week 1 -- Depth Estimation (1 classic approach, 1 established modern approach, 1 state-of-the-art)
Week 2 -- Humans (pose and shape estimation) (1 classic approach, 1 established modern approach, 1 state-of-the-art)
Week 3 -- Video Classification (1 classic approach, 1 established modern approach, 1 state-of-the-art)
Week 4 -- Object Tracking (1 classic approach, 1 established modern approach, 1 state-of-the-art)
Week 5 -- Break
Week 6 -- Ethical and social impact (dataset bias, explainability)
Week 7 -- Learning from limited data (weak supervision, noisy data, self-supervision)
Week 8 -- Learning from limited data (few-shot, zero-shot)
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Image and Vision Computing (INFR11140) OR Advanced Vision (Level 11) (INFR11031)
Other requirements Students should check these maths and programming requirements carefully, as the course assumes and builds on these foundations. Experience has shown that students without this background can struggle with the course.

Maths requirements:
1. Linear algebra: Vectors: scalar (dot) product, transpose, unit vectors, vector length, orthogonality. Matrices: addition, matrix multiplication, matrix inversion. Eigenvectors, determinants quadratic forms
2. Special functions: properties and combination rules for logarithm and exponential
3. Calculus: Rules for differentiation of standard functions. Functions of several variables. Partial differentiation. Multivariate maxima and minima
4. Geometry: Basics of lines, planes and hyperplanes. Coordinate geometry of circle, sphere, ellipse, ellipsoid and n-dimensional generalizations
5. Probability theory: Discrete and continuous univariate random variables. Expectation, variance. Univariate Gaussian distribution. Joint and conditional distributions

Machine Learning requirements:
This course assumes students are familiar with concepts from machine learning such as supervised training, feature selection, loss functions, and optimization. It is strongly recommended that students who register for this course have either taken a machine learning course previously or are registered for one in Semester 1.

Programming requirements:
Students should be familiar with programming in a modern object-oriented language, ideally Python which is the course language.
Information for Visiting Students
Pre-requisitesAs above.
High Demand Course? Yes
Course Delivery Information
Not being delivered
Learning Outcomes
On completion of this course, the student will be able to:
  1. define and explain principles underpinning computer vision methods
  2. describe current vision problem settings and their current solutions
  3. implement, train and debug computer vision models
  4. design, explain, analyse, and compare the behaviour of computer vision models under different settings
  5. identify social and ethical implications of computer vision methods in the real world
Reading List
Computer Vision (Rick Szeliski)
Deep Learning (Yoshua Bengio)
Additional Information
Graduate Attributes and Skills Research and enquiry:
- Problem-solving, debugging and understanding the behavior of systems under different scenarios
- Critical / analytical thinking of methods, their advantages and disadvantages
- Describing partial evidence or results, and reasoning under uncertainty

Personal effectiveness:
- Planning and organizing own time, to achieve milestones at particular deadlines

Personal responsibility and autonomy:
- Learning independently, researching how others have addressed the same issue
- Develop creativity to address problems in existing methods

- Work is done in pairs, so interpersonal/teamwork skills will be developed
- The coursework involves writing a report, so verbal and written communication will be developed
KeywordsComputer Vision,Deep Learning,Image Processing
Course organiserMs Laura Sevilla-Lara
Course secretaryMrs Helen Tweedale
Tel: (0131 6)50 2692
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information