What is computer vision?
At its core, computer vision asks: given one or more images, what can a machine infer about the physical world that produced them? That deceptively simple question leads to a rich set of sub-problems:- Recognition — identifying objects, faces, scenes, and text in images.
- Reconstruction — recovering the 3D structure of a scene from 2D projections.
- Detection and tracking — locating objects across space and time.
- Segmentation — partitioning an image into semantically meaningful regions.
- Generation — synthesizing new, realistic images (GANs, diffusion models).
A brief history of the field
Computer vision has evolved over roughly six decades:
The course history lectures (Classes 2–4) trace this arc in detail, from Renaissance perspective machines through the ImageNet era and beyond. The Khan Academy notes on vanishing points and the perspective machine video provide accessible visual context for why geometry was the starting point of the field.
Course philosophy and approach
The course is built on three convictions:- Geometry first. Understanding how cameras project the 3D world into 2D images — homogeneous coordinates, homographies, epipolar geometry — is prerequisite knowledge for everything else.
- Hands-on learning. Every theoretical topic is paired with a Google Colab notebook. You will implement calibration, RANSAC, CNNs, YOLO, UNet, GANs, and Transformers, not just read about them.
- Responsible practice. The final chapter of the course addresses bias, fairness, explainability, and data-protection law, because deploying vision systems in the real world carries real ethical weight.
All lecture slides, Colab notebooks, recorded classes, and practice exercises are available in the course GitHub repository at github.com/domingomery/vision.
Continue exploring
Course Overview
Full 28-class schedule, chapter structure, grading, and exam resources.
Bibliography & Resources
Core textbooks, supplementary videos, and reference materials.
