Haar wavelets (DWT)
Decompose an image into LL, HL, LH and HH sub-bands over several levels, drop the small coefficients and measure what the reconstruction loses.
English interface, partly translated: navigation, lab, projects, series, about and contact are; the home page sections, the site search and the content itself (articles, tutorials, research) are still in French.
Slide a 3 × 3 kernel over an image: blur, sharpen, edge detection. Edit the weights and follow the computation of one pixel, term by term.
Computation of the observed pixel (28, 20)
A convolution slides a small grid of weights, the kernel, over the whole image. At each position, the output value is the sum of products between the kernel weights and the pixels it covers:
Nothing else: nine multiplications and one addition per pixel. The whole effect comes from the choice of weights.
Try the test pattern: thin bars vanish under blur (high frequencies are attenuated), while Sobel only responds to their borders.
A convolutional neural network (CNN) applies exactly this operation, with one decisive difference: the kernel weights are not chosen, they are learned. The first layers of a CNN trained on images rediscover edge and texture detectors close to Sobel by themselves; later layers combine these responses into increasingly abstract patterns.
Two practical details, visible here:
Decompose an image into LL, HL, LH and HH sub-bands over several levels, drop the small coefficients and measure what the reconstruction loses.
Four algorithms explore the same grid. Draw walls, add costly terrain and compare the visited cells and the cost of the path.
Pick a function, a starting point and a learning rate, then watch the point walk downhill: convergence, oscillations, divergence, local minima.