Laboratoire interactif

Convolution et filtres

Faites glisser un noyau 3 × 3 sur une image : flou, netteté, détection d’arêtes. Modifiez les poids et suivez le calcul d’un pixel, terme à terme.

Niveau
Débutant
Notions
Noyau · Sobel · CNN
Figure 1 — Entrée (image de synthèse, 96 × 96). Cliquez pour choisir le pixel observé ; le cadre orange est la fenêtre 3 × 3.
Figure 2 — Sortie signée, affichée en valeur absolue.

Calcul du pixel observé (28, 20)

Voisinage
0,90,920,90,90,890,920,920,910,94
Noyau
−101−202−101
Produits
−0,90300,9−1,80401,831−0,9200,943
Somme = 0,0479
Image
Noyau

Poids du noyau (modifiables)

Pixel observé
28
20

La convolution, opération de base de la vision

Une convolution fait glisser une petite grille de poids, le noyau, sur toute l'image. À chaque position, la valeur de sortie est la somme des produits entre les poids du noyau et les pixels qu'il recouvre :

S(x,y)=∑i=−11∑j=−11K(i,j)  I(x+i, y+j)S(x, y) = \sum_{i=-1}^{1} \sum_{j=-1}^{1} K(i, j)\; I(x + i,\, y + j)

Rien d'autre : neuf multiplications et une addition par pixel. Tout l'effet vient du choix des poids.

Lire un noyau

  • Poids tous positifs, de somme 1 : une moyenne pondérée. L'image est lissée (flou). Le flou gaussien donne plus de poids au centre et lisse sans créer d'artefacts en blocs.
  • Poids de somme 0, positifs d'un côté et négatifs de l'autre : une différence. La sortie est nulle sur une zone unie et forte là où l'intensité change : c'est un détecteur d'arêtes. Sobel horizontal répond aux arêtes verticales, et inversement.
  • Centre fort, voisins négatifs : l'image plus ses propres arêtes, donc une image plus nette.

Essayez la mire : les barres fines disparaissent sous le flou (les hautes fréquences sont atténuées), alors que Sobel ne répond qu'à leurs bords.

Le lien avec les réseaux convolutifs

Un réseau de neurones convolutif (CNN) applique exactement cette opération, avec une différence décisive : les poids des noyaux ne sont pas choisis, ils sont appris. Les premières couches d'un CNN entraîné sur des images retrouvent d'elles-mêmes des détecteurs d'arêtes et de textures proches de Sobel ; les couches suivantes combinent ces réponses en motifs de plus en plus abstraits.

Deux détails pratiques, visibles ici :

  • les bords : le noyau déborde de l'image sur le pourtour. Cette démonstration répète le pixel du bord ; un CNN ajoute souvent des zéros (padding) ;
  • la « convolution » des bibliothèques d'apprentissage profond est une corrélation croisée : le noyau n'est pas retourné. C'est aussi le cas ici. Pour un noyau appris, la distinction n'a pas d'importance.

Autres démonstrations

  • Ondelettes de Haar (DWT)

    Vision par ordinateur, Intermédiaire

    Décomposez une image en sous-bandes LL, HL, LH et HH sur plusieurs niveaux, supprimez les petits coefficients et mesurez ce que la reconstruction perd.

  • Descente de gradient

    Intelligence artificielle, Débutant

    Choisissez une fonction, un point de départ et un taux d’apprentissage, puis regardez le point descendre la pente : convergence, oscillations, divergence, minimums locaux.