AIMS Cameroon · Structured Master's in Data Science · 2026–2027

Introduction to Computer Vision

A three-week course on how computers interpret images, from pixels and filters to modern detection, segmentation and generative models.

  1. Pixels
  2. Edges
  3. Objects
  4. Regions

Canny edges, YOLOv12 detections and instance masks computed on a photograph of Shibuya Crossing, Tokyo. Photo: Benh LIEU SONG, CC BY-SA 2.0.

Welcome to Introduction to Computer Vision. Lecture slides appear here before each lecture; notebooks are for the tutorials with the tutors.

Overview

The course follows one question from start to finish: how does a machine turn light into an understanding of a scene? We begin with human vision and the digital image, work through classical image processing and hand-designed features, and then cover the deep networks used today for classification, detection and segmentation.

The final week turns to generative models, vision–language models such as CLIP, applications across domains, and the questions of robustness and fairness that come with deployment. Results in the lectures come from code run for the course on real photographs and public datasets.

Format
15 lectures of two hours, one each weekday
Tutorials
With the tutors, outside lecture hours
Prerequisites
Python, linear algebra, calculus, basic probability
Computing
A laptop with 8 GB of RAM; Colab or Kaggle for GPU work
Textbook
R. Szeliski, Computer Vision: Algorithms and Applications, 2nd ed.
Documents
Course outline and setup PDF, 166 KB
Course notes PDF, 542 KB

Schedule

Week 1: Foundations

Lecture 1 · Week 1, Day 1

Motivation and human vision

Course logistics and how to get help; what computer vision is and how it relates to image processing, graphics, AI and psychology; why seeing is hard; tasks and applications; history to today's foundation models; the human visual system.

Lecture 2 · Week 1, Day 2

Visual data representation

Light and cameras, sensors and demosaicing; sampling, aliasing and resizing; quantisation, gamma and file formats; colour spaces from RGB to Lab and NDVI; images in code.

Lecture 3 · Week 1, Day 3

Image processing fundamentals

Noise and PSNR; convolution, padding and stride; Gaussian, median and bilateral filters; the Fourier view; histograms, equalisation and CLAHE; thresholding and morphology.

Coursework

Week 2: The deep learning era

Lecture 6 · Week 2, Day 1

CNN building blocks and training

Convolutional layers, activations and pooling; softmax and cross-entropy; backpropagation; optimisers and learning rates; overfitting, regularisation and batch norm, all shown with networks trained for the course.

Lecture 7 · Week 2, Day 2

Architectures and transfer learning

From LeNet and AlexNet to ResNet, MobileNet and ConvNeXt; receptive fields; Grad-CAM; transfer learning, with a bean-disease case study from Uganda.

Lecture 8 · Week 2, Day 3

Object detection

IoU and non-maximum suppression; the R-CNN family; YOLO and one-stage detectors; DETR; precision, recall and average precision; a real evaluation of three detectors on street pedestrians.

Lecture 9 · Week 2, Day 4

Segmentation

Semantic, instance and panoptic segmentation; FCN, U-Net and DeepLab; Mask R-CNN; Segment Anything; metrics, losses and practical pipelines.

Lecture 10 · Week 2, Day 5

Transformers, localisation and captioning

Attention and the Vision Transformer; self-supervised features (MAE, DINO); open-vocabulary detection; image captioning and its failures; capstone project briefing.

Coursework

Week 3: Generative vision and the road ahead

Lecture 11 · Week 3, Day 1

Autoencoders and VAEs

Generative modelling; autoencoders, denoising and anomaly detection; variational autoencoders, the KL term and the reparameterisation trick; a glimpse of GANs.

Lecture 12 · Week 3, Day 2

Diffusion models

Adding and removing noise step by step; training and sampling; a diffusion model trained on a laptop; classifier-free guidance; Stable Diffusion, editing, uses and risks.

Lecture 13 · Week 3, Day 3

Vision–language models and applications

CLIP and contrastive learning; zero-shot classification tested on real crop images; search and failure modes; multimodal assistants; applications in health, agriculture, earth observation, industry, robotics and conservation.

Lecture 14 · Week 3, Day 4

Responsible vision and the road ahead

Distribution shift and robustness; adversarial examples; calibration and uncertainty; fairness; privacy, surveillance and deepfakes; model cards and regulation; open problems.

Lecture 15 · Week 3, Day 5

Capstone presentations

Team presentations of the capstone projects, assessment criteria, and course wrap-up.

Coursework

Assessment

ComponentDetailsWhen
QuizzesOne per week; 60 minutes, closed book; one handwritten A4 sheet and a non-programmable calculator allowedTutorial slot, each week
AssignmentsIndividual, typed in LaTeX; theory and practiceDue start of Week 2, Day 3 (Assignment 1) and start of Week 3, Day 3 (Assignment 2)
Capstone projectTeams of 2–3 apply the course to a real problem; topics in the project brief, or your own with a one-page synopsisTopics released Week 2, Day 5; presentations on the last day of Week 3

Frequently asked questions

What do I need to know before the course?

Python, basic linear algebra (vectors, matrices, dot products), calculus up to the chain rule, and basic probability. Week 1 builds everything about images from scratch.

Do I need a GPU?

No. Every lecture example was run on an ordinary laptop CPU. For heavier tutorial work, use a free Google Colab or Kaggle Notebooks account.

Where do the labs happen?

Lectures are two hours each day. Tutorials and labs run separately with the tutors; that is where you work through the notebooks and get help with code.

How am I assessed?

A one-hour quiz each week, individual LaTeX-typed assignments in Weeks 1 and 2, and a team capstone project presented on the last day of Week 3.

How does the capstone work?

Teams of 2–3 choose one of twelve topics (or propose their own with a one-page synopsis) at the end of Week 2, build and evaluate a system in Week 3, and present it on the final day. See the capstone brief in Week 2.

Can I use AI tools?

Yes, as a tutor to help you understand, not as a ghost-writer. If you cannot explain your submission without the tool, it is not yet your work.

I'm stuck. Who do I ask?

Stuck on a bug for 30 minutes: ask a tutor or a classmate. Stuck on a concept for a day: ask the instructor after class or by email.

Contact

Yusuf Brima, Ph.D.

Lecturer · ybrima@uos.de

Questions after class, by email, and in project consultations during Week 3.

Tutors

Run the tutorials and labs and help with code. Introduced in the first lecture.