AIMaks Playgrounds

Kernel Lab

Nine numbers are enough to blur, sharpen, or find every edge in a photograph. Edit them below and watch a 3×3 convolution rewrite a real photo live, on every keystroke — a cat, a rocket launch, a Beijing temple, or any picture you upload from your own machine. Then drag a window over one pixel to see the nine multiply-adds that produced it, or hit Scan to watch the whole output painted a dot-product at a time.

The kernel — nine numbers
sum = 0.00raw weights applied as-is
Test image
synthetic
input · loading photo…
after convolution

Photo: Stefan van der Walt, CC0 (scikit-image “chelsea”) · shown in grayscale — a real CNN slides the same kernel over each color channel

Display

Edge (Laplacian)responds wherever brightness changes in any direction — outlines everything at once.

One output pixel, from the inside

9 pixels × 9 weights = 9 signed products → Σ → one number — the whole convolution, atom by atom
input — hover, drag or arrow-key
output — target pixel
0
0
0
0
0
0
0
0
0
window @ (81, 81)
×
0
1
0
1
-4
1
0
1
0
kernel weights
=
0
0
0
0
0
0
0
0
0
9 products (iris +, red −)
Σ
0.000
sum of products
→ |·|
0.00
output (81, 81)

this is the exact number written into the highlighted output pixel: Σ of the nine products, shown as |value|. Scan repeats it for all 25,600 pixels in raster order.

A CNN doesn’t use hand-written kernels — it learns them. See the CNN X-Ray playground for the learned versions of these filters.

160×160 convolution recomputed on every keystroke — this is the exact operation inside every CNN layer. Uploads accept any image your browser can display (PNG, JPEG, BMP, WebP, GIF…) and stay on your machine.