What is a Convolutional Neural Network?
A CNN is a type of neural network specifically designed to process grid-like data such as images. It learns to recognise visual patterns automatically from training data.
What is a CNN?
A Convolutional Neural Network (CNN) is a deep learning model designed to process images by learning spatial hierarchies of features.
Regular neural networks treat each pixel as an independent input — they ignore the spatial relationship between pixels. A 224×224 colour image has 224×224×3 = 150,528 inputs — far too many for a fully-connected network to handle efficiently.
CNNs solve this by sharing weights: the same filter is applied across the entire image, dramatically reducing parameters.
A CNN automatically learns a hierarchy of features:
- Early layers: detect simple edges and corners
- Middle layers: detect shapes, textures, and patterns
- Deep layers: detect object parts and full objects
This hierarchical learning is what makes CNNs so powerful for visual tasks — they learn what features to look for from the data itself, without requiring manual feature engineering.
Machine Learning follows a structured pipeline from data to deployment
CNN vs Classical CV
- Classical CV: you manually design features (Sobel edges, Haar features, SIFT keypoints)
- CNN: automatically learns the best features for the task from training data
- Classical CV: faster, needs less data, interpretable
- CNN: more accurate on complex tasks, generalises better, needs thousands of labelled images
- Classical CV: still used for simple, well-defined tasks where CNNs are overkill
- CNN: used when classical methods fail (complex backgrounds, many categories, varied conditions)
- Modern CV: often combines both — classical preprocessing feeds into CNN models
Key Takeaways
- A CNN is a type of neural network specifically designed to process grid-like data such as images.
- Classical CV: you manually design features (Sobel edges, Haar features, SIFT keypoints)
- CNN: automatically learns the best features for the task from training data
- Classical CV: faster, needs less data, interpretable