Search…

A Short History of Computer Vision: 1545 to Now

In this series (30 parts)
  1. Computer Vision Roadmap: From Basics to Real Projects
  2. What is Computer Vision? From Pixels to Decisions
  3. A Short History of Computer Vision: 1545 to Now
  4. Math for CV Beginners: Vectors, Matrices, Convolutions
  5. Image Fundamentals: Color, Histograms, Noise, Filtering
  6. How Images and Video Are Stored: Colour, JPEG, Frames
  7. OpenCV Setup + First 10 Tasks in Python
  8. Vision Metrics: Accuracy, Precision, Recall, mAP, IoU
  9. CV Project Workflow: Dataset, Baseline, Error Iteration
  10. Intensity Transforms and Frequency-Domain Filtering
  11. Edge Detection and Thresholding That Actually Work
  12. Morphology, Contours, and Shape Analysis for Real Images
  13. Feature Matching (SIFT/ORB) and Image Stitching
  14. Camera Calibration and Perspective Correction
  15. Epipolar Geometry, Stereo Vision, and Depth Estimation
  16. Optical Flow and Motion Tracking in Video
  17. HOG, HOF and MBH: Descriptors Before Deep Learning
  18. Your First Image Classifier (PyTorch + Transfer Learning)
  19. Data Pipelines and Augmentation for Vision Models
  20. CNN Architectures Explained: From LeNet to ResNet
  21. YOLO Detection Pipeline: Data to Inference
  22. Semantic and Instance Segmentation: U-Net to Mask R-CNN
  23. Vision Transformers (ViT) and When to Use Them
  24. CV Explainability: Grad-CAM, Failures, Bias Checks
  25. 3D Vision Basics: SfM, Point Clouds, and Pose Estimation
  26. Multimodal Vision: CLIP, Embeddings, and Retrieval Systems
  27. Video Understanding: Flow Networks, Interpolation, Stabilisation
  28. Real-Time CV Systems: Tracking, Latency, Streaming
  29. Deploying CV Models: ONNX, TensorRT, Edge, and APIs
  30. Responsible CV: Privacy, Fairness, Security, Governance

Most history-of-a-field articles are lists of names and years, and you forget them the same day. This one is built differently. We are going to take one small task and hand it to each generation of computer vision in turn, and watch what each one could and could not do.

Prerequisites: What is computer vision. You need to be comfortable with the idea that an image is a grid of numbers.

The task we will hand to every era

Here is the photo. A city street. Stalls with awnings, stone buildings, a hill behind, and roughly a dozen people walking.

The task: draw a box around each person.

You did it in under a second without noticing you did anything. Now watch how hard it is to write down.

That middle box is the whole history of the field. Let’s fill it in.

Before computers: the image itself had to be explained

Long before anyone tried to make a machine see, people had to work out what an image is.

camera obscura A dark room or box with a small hole in one wall. Light passing through the hole projects an upside-down image of the outside world onto the opposite wall.

Gemma Frisius published a drawing of one in 1545, using it to watch a solar eclipse safely. Leonardo da Vinci sketched the geometry in the early sixteenth century: rays from every point outside cross at the hole and land in reverse on the back wall.

That is the entire idea behind every camera you have ever used. A lens only makes it brighter and sharper; the geometry is identical. The pinhole model is still the equation we use today when we calibrate a camera and convert pixels into millimetres.

The important consequence is one you should hold onto for the rest of this series:

A photo is a projection. Three dimensions are flattened into two, and the depth information is destroyed. Not compressed, not hidden — destroyed. Any method that recovers depth is inferring it from clues, not reading it.

Biology got there first, and it gave us a hint

Vision evolved independently many times — octopuses, insects with compound eyes, chameleons, humans. That alone tells you it is useful enough to be worth a lot of biological investment. Roughly half the cerebral cortex in primates is involved in processing visual information.

In the 1990s, brain imaging produced a finding that shaped how people thought about recognition. Kanwisher and colleagues (1997) found a region of the human brain that responds much more strongly to faces than to houses — the fusiform face area. Epstein and Kanwisher (1998) found a different region that responds to scenes and places rather than faces — the parahippocampal place area.

So the brain does not appear to run one general recogniser. It has specialised machinery for particular categories, sitting on top of shared early processing.

That observation pushed early computer vision toward a specific design: build general early stages that everything shares, then specialised recognisers on top. Which is exactly what Marr proposed.

1963: Roberts, and the first complete pipeline

Larry Roberts’ MIT PhD thesis, Machine Perception of Three Dimensional Solids (1963), is usually called the start of computer vision. He photographed simple blocks — a cuboid and a pyramid — and built a program that went all the way from photo to 3D structure in four stages:

# Stage Roberts' name What it produced
1 1 Original picture The photograph of the blocks
2 2 Differentiated picture An edge map — where brightness changes sharply
3 3 Line drawing Straight lines fitted to those edges, joined into shapes
4 4 Rotated view The recovered 3D model, re-rendered from a new angle

Roberts 1963: the first end-to-end image-to-3D pipeline

Step 4 is the proof. If the program can draw the blocks from an angle the camera never saw, it must have recovered actual 3D structure, not just copied pixels.

Hand it our street photo, though, and it collapses immediately. Roberts’ method assumes objects have flat faces and straight edges. A person has neither.

The 1970s: Marr, and the idea that organised everything

David Marr’s book Vision argued something that sounds obvious now and was not then: vision is computation, and it can be studied as a sequence of well-defined representations rather than as an unanalysable biological talent.

His proposal was a three-stage pipeline.

Take a basketball on a gym floor:

  1. Image — a grid of brightness values, nothing more.
  2. Primal sketch — the outline of the ball, the court lines, the edges of things.
  3. 2½-D sketch — the ball’s visible surface is curved and facing you; the floor recedes.
  4. 3-D model — it is a sphere. Full stop. Independent of where you are standing.

Why it is 2½-D and not 3-D

This is the part worth understanding properly, because the name is doing real work.

At stage 3 you know the depth and orientation of every surface you can see, from where you happen to be standing. You know the front of the ball bulges toward you. You know nothing whatsoever about its back — you have never seen it.

That is more than a flat image (you have depth) and less than a real 3D model (you have no volume). Hence the half.

Stage 4 is where it becomes viewpoint-independent: “sphere, radius 12 cm” is true no matter where you stand.

Marr’s framework was a genuine advance, and it also had a weak point that took twenty years to become obvious: it assumed the early stages could be computed reliably. In practice, edge detection on real photographs is noisy and ambiguous, so the errors compounded down the pipeline. Give the street photo to a Marr-style system and the primal sketch already contains thousands of edges from awnings, cobblestones and shadows, with no way to tell which ones bound a person.

1999: SIFT, and the shift to features that survive

David Lowe’s SIFT was a change of strategy. Instead of trying to build a full description of the scene, find a modest number of distinctive points and describe each one so precisely that you can recognise it again in another photo.

keypoint A small image location distinctive enough to be found again in a different photo of the same scene — typically a corner or a blob, not a flat region or a plain edge.

What makes a keypoint good:

  • Distinctive. A corner where three surfaces meet is unique. A patch of blank wall is not.
  • Repeatable. You must find the same physical point again from a different angle.
  • Well-localised. You can pin it to a specific pixel, not a general area.

A point in the middle of a long straight edge fails the third test: slide along the edge and everything looks the same. This is the same aperture problem that limits optical flow.

SIFT earned its two big invariances deliberately:

# Invariant to How SIFT achieves it
1 Scale Search for keypoints across a stack of progressively blurred and downsampled images (a scale space) and keep the scale at which the point responds most strongly
2 Rotation Measure the dominant gradient direction at the keypoint and rotate the descriptor to that direction before recording it
3 Brightness change Normalise the descriptor vector, so scaling all pixel values leaves it unchanged
4 Small viewpoint change Use a histogram of gradients in a grid, which tolerates a few pixels of shift

What SIFT is invariant to, and the mechanism for each

So if you photograph a building and then photograph it again from further away and rotated, SIFT finds many of the same physical points in both. That is what makes panorama stitching and Structure-from-Motion possible, and it is covered properly in feature matching.

Hand it the street photo and it works beautifully — for the buildings. For the people it does essentially nothing. SIFT recognises this exact object again. It has no concept of person as a category. Two different people share no matching keypoints at all.

2005: HOG, and the move from instances to categories

Dalal and Triggs asked a different question. Not “is this the same object?” but “does this region look like a person?”

Their insight is the one worth taking away from the classical era:

People vary enormously in colour and texture, and hardly at all in the arrangement of their edges.

Different clothes, different skin, different lighting — the brightness values change completely. But there is always a curved edge at the head, diagonals at the shoulders, verticals down the body, and a split at the legs. So throw away brightness and keep gradient direction.

For every pixel, HOG computes two things:

  • Gradient magnitude — how sharp the brightness change is
  • Gradient orientation — which way it points

Then it discards magnitude detail and builds, for each small cell, a histogram of which directions the edges point. The full method, with the arithmetic worked through, is in HOG, HOF and MBH.

Now hand it our street photo. It works. Slide a window over the image, compute HOG, ask a linear SVM “person or not”, and boxes appear around the pedestrians. This was the first method that genuinely did our task.

It has clear limits, and they follow directly from the assumption:

# HOG struggles with Why
1 Highly deformable subjects — animals in varied poses The grid of edge directions only stays consistent for a roughly rigid shape
2 Smooth objects with weak edges If there are no strong gradients, there is nothing to histogram
3 Heavy occlusion Half the cells now describe whatever is in front, and the template no longer matches
4 Cluttered backgrounds Background edges leak into cells and dilute the signal
5 Unusual viewpoints A person seen from directly above has none of the expected edge layout

The failure modes of HOG follow from its one assumption

2009: Structure-from-Motion at internet scale

Meanwhile the geometry line of work had its own breakthrough. Agarwal and colleagues took thousands of unstructured tourist photographs of the Colosseum, scraped from the internet, taken with different cameras from different places in different weather, and reconstructed a 3D point cloud of the building — recovering, at the same time, where every photo had been taken from.

The mechanism is triangulation. Find the same physical point in several photos (SIFT does this), and the rays from each camera through that point must all meet at one place in 3D. Solve for the camera positions and the point positions together. That is covered in 3D vision.

Two things are worth noticing. First, this is Marr’s stage 4 — an actual viewpoint-independent 3D model — achieved by geometry rather than by recognition. Second, it did not need any category knowledge at all. It never knew it was looking at a Colosseum.

The quiet driver: datasets

Between 2004 and 2012 the most consequential work was not an algorithm.

# Dataset Year Scale What it changed
1 Caltech 101 2004 101 categories, ~9,000 images Made category recognition a measurable task
2 PASCAL VOC 2006–2012 20 categories, ~11,500 images Annual benchmark with a fixed protocol; detection became comparable across labs
3 ImageNet 2009 22,000 categories, 15,000,000 images Three orders of magnitude more data than anyone had used
4 COCO 2014 80 categories, 330,000 images Multiple objects per image in natural context, with segmentation masks
5 LVIS 2019 1,200+ categories Long-tail vocabulary — the rare categories real products actually need

Datasets did more to move the field than most algorithms did

The ImageNet Large Scale Visual Recognition Challenge ran on a 1,000-class, 1.43-million-image subset. Show the model a photo of a child playing a steel drum; it outputs five guesses; it scores if “steel drum” is among them. Guess “giant panda” instead and it takes the hit.

That was the arrangement that produced the following chart.

2012: the year the graph bends

The two grey bars on the left are the classical approach at its best: a dense grid of HOG and LBP descriptors, coded and pooled, then a linear SVM. Years of careful engineering had brought the error from 28.2% to 25.8%.

AlexNet took it to 16.4% in one step.

Then, once everyone switched, it kept falling — past the human reference point of about 5.1% by 2015, down to 2.25% by 2017.

What actually happened in 2012

The important thing is what didn’t happen: nobody invented convolutional networks in 2012. LeCun’s LeNet was recognising digits in 1989. The architecture was over twenty years old.

What changed was the two inputs it had always needed:

LeNet, 1998AlexNet, 2012
Training data~10⁷ pixels (NIST digits)~10¹⁴ pixels (ImageNet)
Compute~10⁶ transistors, CPU~10⁹ transistors, two GPUs
Task10 digit classes, clean and centred1,000 classes, natural photos
Core ideaConvolution, pooling, backpropConvolution, pooling, backprop
The idea did not change. The scale of data and compute did.

After the breakthrough

The same machinery was then pointed at the harder tasks, roughly in order of how much labelling they need:

The distinction at the bottom of that chain is worth stating plainly, because it trips people up. In a photo of a dining room with six chairs:

  • Semantic segmentation colours all six chairs the same. It knows what is a chair, not which chair.
  • Instance segmentation gives each chair its own colour. It separates them as individual objects.

If you need a count, you need instance segmentation. Both are covered in semantic and instance segmentation.

Accuracy kept climbing well past the ILSVRC years, and the architecture family changed once more along the way:

The final point, ViT-H/14, is a vision transformer — no convolutions. Which means the field has now replaced its winning architecture twice.

2021: language arrives

CLIP changed the shape of the problem again. Instead of training on images labelled with one of 1,000 fixed classes, train on hundreds of millions of image–caption pairs from the web, and learn to put an image and its caption near each other in a shared space.

The consequence is that the set of classes is no longer fixed at training time. You define the classes by typing them. A model that has never been trained on your categories can still classify into them, because it has learned the general relationship between pictures and words. That is covered in multimodal vision.

The same period produced generative models running the other direction — DALL·E, published the same day as CLIP, generating images from text descriptions.

And quietly, alongside all of this, low-level vision changed what a phone camera can do. A night scene that an iPhone XS rendered as near-black, a Pixel 3 with Night Sight rendered as a usable photograph — by aligning and combining a burst of frames rather than by having a better sensor. That is computer vision doing the work that optics used to do.

What this history tells you to do today

Here is the practical payoff. Each era’s method is still the correct choice for some problems.

MethodEraWhat it assumesReach for it when
Threshold + contours1960s–Controlled lighting, consistent appearanceFixed camera, fixed light, simple shapes, no labels available
Pinhole model + calibration1500s / 1990sA camera is a projection with known parametersYou need real-world measurements, or to correct perspective
SIFT / ORB matching1999–The same physical surface appears in both imagesStitching, alignment, tracking a specific object, SfM
HOG + SVM2005–A rigid category with a consistent edge layoutA CPU-only device, few labels, one well-defined object class
CNN2012–Enough labelled examples to learn the appearanceThousands of labels, variable scenes, a category not a specific object
Vision transformer2020–Enough data, or a strong pretrained modelLarge datasets, or fine-tuning a pretrained backbone
CLIP-style multimodal2021–The concept is describable in wordsClasses are not known in advance, or you have almost no labels
The whole history, as a lookup table for your next project

Practice task

This takes about forty minutes and it is worth more than re-reading the article.

  1. Find a photo of a street scene with several people in it.
  2. Write down, in plain English, the rule you would give someone to find the people — no vision knowledge allowed, just instructions.
  3. Now find a counter-example in the same photo where your rule fails. There will be one. Someone sitting, someone partly behind a stall, someone in an unusual colour.
  4. Add a rule to fix that case. Find a new counter-example.
  5. Repeat until you run out of patience. Count your rules.

Most people stop somewhere between four and eight rules, with the photo still not fully handled. That number is the honest measure of why the field took fifty years, and why “learn the rules from examples” eventually won.

Then, for contrast: take two photos of the same building from different positions and think about which physical points you could identify in both. That is a task where hand-written geometry still wins outright, and always will.

Summary

The history of computer vision is a sequence of assumptions being removed.

Roberts assumed flat faces and straight edges. Marr assumed the early stages could be computed reliably. SIFT assumed you were looking for the same physical object again. HOG assumed a category with a consistent edge layout. CNNs removed the assumption that a human has to specify what the category looks like — and replaced it with a requirement for a great deal of labelled data. CLIP removed the assumption that the class list is fixed in advance.

Each step traded a piece of hand-written knowledge for a piece of learned knowledge, paid for in data. Nothing was thrown away: the geometry from the 1990s runs inside every panorama app, and a threshold on a controlled production line still outperforms a network that costs a hundred times more.

What comes next

The next post, math for CV beginners, covers the small set of mathematical ideas that appear in every method above: image shapes, what a convolution actually computes, and why normalisation matters. Marr’s primal sketch, SIFT’s scale space, HOG’s gradients and every CNN layer are all convolutions, so it is worth doing properly.

If the storage side interests you more, how images and video are stored explains what JPEG does to your pixels before your code ever sees them — which matters more than most people expect.

Test your understanding
You need to detect a specific painting whenever it appears in visitor photos of a gallery — the same physical painting, not paintings in general. You have four reference photos of it and no labelled dataset. Which approach fits best?
Test your understanding
Between 2010 and 2011, ILSVRC top-5 error improved only from 28.2% to 25.8% despite intense effort. In 2012 it dropped to 16.4%. What best explains why the classical pipelines had stalled?

Frequently asked questions

Who is considered the father of computer vision?
There is no single person, but three names come up most. Larry Roberts built the first complete image-to-3D pipeline in his 1963 MIT thesis. David Marr gave the field its organising framework in the 1970s, arguing that vision is computation that proceeds through defined stages. Fei-Fei Li led the creation of ImageNet in 2009, which supplied the data that made deep learning work. Roberts is usually credited with starting the field, Marr with structuring it, and ImageNet with unlocking the modern era.
Why is Marr's second stage called a 2½-D sketch rather than 3-D?
Because it is built entirely from where the viewer happens to be standing. At that stage the system knows the orientation and relative depth of every visible surface, so it knows the front of a basketball curves toward you. It knows nothing about the back of the ball, because that surface was never observed. That is more than a flat image and less than a true volumetric model, hence the half. The 3-D model stage is object-centred: 'a sphere' is true from any viewpoint.
Did deep learning make classical computer vision obsolete?
No, and this matters practically. Multi-view geometry was not replaced at all — camera calibration, homographies, epipolar geometry and Structure-from-Motion still use the same equations, and a modern panorama or SLAM system is largely classical. What deep learning replaced is the specific job of hand-designing what a category looks like. On a controlled production line with fixed lighting and 50 labelled images, a threshold and a contour analysis will still beat a neural network on accuracy, latency, cost and explainability.
What actually changed in 2012 if CNNs already existed?
Data and compute. LeNet was recognising handwritten digits in 1989 using convolution, pooling and backpropagation — the same core ideas AlexNet used. LeNet trained on roughly 10⁷ pixels on a CPU; AlexNet trained on roughly 10¹⁴ pixels across two GPUs. The architecture had been waiting about twenty years for its inputs. ImageNet supplied the data in 2009 and consumer GPUs supplied the compute, and the top-5 error fell from 25.8% to 16.4% in a single year.
What is the difference between semantic and instance segmentation?
Semantic segmentation labels every pixel with a class, so in a photo of a dining room all six chairs get the same colour — it knows what is a chair but not which chair. Instance segmentation separates the individual objects, so each chair gets its own colour and mask. If you need to count objects or track them separately, you need instance segmentation. If you only need to know how much of the image is road versus sky, semantic segmentation is cheaper and sufficient.
Start typing to search across all content
navigate Enter open Esc close