Learning Computer Vision from the Pixels Up
Field notes on classical CV, and why I worked through all of it before touching a neural network.
abstract
Most people entering computer vision start at a pretrained model and work backwards, which means the first time something breaks they have no mental model to debug against. I took the opposite route: several weeks working through classical CV (convolution, edge detection, segmentation, feature matching, and projective geometry) implemented and tuned by hand in OpenCV before any network was involved. This document is the writeup of that process. It records what each technique actually does, the errors I made and what they taught me, three projects that forced the ideas together, and where the work goes from here. The central claim is simple: a convolutional network is a stack of learned kernels, and it is worth knowing exactly what a kernel does before letting gradient descent choose them for you.