Learn computer vision

Reading orders: the Fundamentals track, where each unit builds on the ones before it, and the Metrics Handbook, which explains how models are scored. Pick the line that sounds like you.

Start here

Rather start with the ideas? These six

One post from each part of the track, in the order they depend on each other. Every one has an interactive lab, so you can move the numbers and watch what changes. After the six, pick the unit that interested you most on the map below.

  1. 1 Image processing, computer vision, and computer graphics: one picture, three directions of the arrow What computer vision is, and how it differs from image processing and graphics. Beginner 14 min read
  2. 2 An Image Is an Array: Shape, dtype, and Why OpenCV Hands You BGR What a computer holds when it holds a picture: a grid of numbers with a shape and a type. Beginner 7 min read
  3. 3 How 2D Convolution Works on Images: Kernels, Filters, and the Math, Interactively The one operation behind blur, sharpening, edges and every CNN. Beginner 8 min read
  4. 4 What Is an Edge? Step, Ramp and Roof, and the Two Derivatives That Find Them The first thing worth finding in an image, and why it is harder than it looks. Beginner 9 min read
  5. 5 What Is a Homography? Mapping one view of a plane onto another: document scanners, sports graphics, panoramas. Beginner 14 min read
  6. 6 Classification Metrics, From the Ground Up: Precision, Recall, F1, ROC and AUC How to tell whether a model is any good, starting from one table of counts. Beginner 9 min read

Computer Vision Fundamentals

48 articles so far, ordered by dependency: nothing appears before the thing it depends on. Greyed units are planned and not written yet.

F2

Image processing

What you do to that array once you have it.

2.1 Spatial filtering

The one operation behind blur, sharpening, edges and every CNN.

1 lesson

Before this: An image is an array

  1. 1 How 2D convolution works Beginner 8 min
2.2 Binary images Planned Thresholding, morphology, and measuring the blobs that are left.
2.3 The frequency domain Planned The Fourier transform of an image, and why you blur before you downsample.
F3

Features

What in an image is worth pointing at, and how to describe it.

3.4 Beyond SIFT Planned Binary descriptors, and detectors and matchers that are learned.
F4

Geometry

From one camera to many, and back out to three dimensions.

4.2 Two views Planned Epipolar geometry, triangulation, and depth from a stereo pair.
4.3 Many views

Recovering structure and motion from a set of photographs.

1 lesson

Before this: SIFT, RANSAC, PnP

  1. 1 Structure from motion Advanced 16 min
4.4 Motion Planned Optical flow: brightness constancy, the aperture problem, Lucas–Kanade.
F5

3-D data and point clouds

What a depth sensor gives you, and how to work with it.

5.1 3-D basics Planned Frames, depth against disparity against range, and what each 3-D sensor returns.
5.2 Point cloud preprocessing Planned Downsampling, outliers, normals, plane removal and ICP.
5.3 Representations Planned Voxel grids, occupancy, TSDF and meshing.
5.4 Learning on point clouds Planned PointNet and permutation invariance.
F6

Recognition

From pixels to labels.

6.1 Classical segmentation Planned Clustering pixels: k-means, mean shift, graph-based.
6.2 Appearance Planned PCA, nearest neighbour, SVMs and the integral image.
6.3 Neural networks from scratch Planned From the perceptron to a CNN trained in NumPy.

Model and edge-deployment articles have no reading order in the same way, since each one is a benchmark that stands alone, so they live under Projects.