In a nutshell
A convolutional neural network reads images by sliding a small grid of weights — a filter — across the picture instead of wiring every pixel separately. At each spot it multiplies filter against pixels and sums, a step called convolution; the result is a feature map showing where that filter's pattern (say a vertical edge) appears. Pooling then shrinks the map, keeping the strongest responses and adding tolerance to small shifts. Reusing one filter everywhere means far fewer weights, and stacking these layers builds edges into textures into whole objects.