Convolution à 2 dimensions


    Les deux images que l'on désire convoluer sont toutes deux de 256*256 pixels en niveau de gris 8bits et représentent :
        • Une fonction Gaussienne (pic étalé) centrée sur le pixel de coordonnées (100,150)
        • Un ensemble de 4 pics de Dirac centrés en (0,0), (0,50), (100,0) et (75,50) et de poids respectifs 1, 0.75, 0.5 et 0.25.


Gaussienne centrée en (100,150)

Ensemble de 4 pics de Dirac
(les 4 points blancs en haut à gauche)

    La convolution de ces deux images revient à appliquer successivement les 4 pics de Dirac à l'image de la Gaussienne tout en respectant les poids relatifs de ces pics : le pic centré en (0,0) ne va pas modifier l'image de la Gaussienne : on retrouve une Gaussienne centrée en (100,150) et de même hauteur (poids = 1), comme sur l'image originale; le pic de Dirac centré en (0,50) va créer quant à lui une seconde Gaussienne qui sera centrée en (100,200) = (100,150)+(0,50) de plus faible intensité (car son poids n'est que de 0.75); le pic de Dirac centré en (100,0) crée une troisième Gaussienne centrée en (200,150)=(100,150)+(100,0) et hauteur moitié de celle présente sur l'image originale; finalement le dernier pic de Dirac produit une quatrième fonction Gaussienne centrée en (175,200)=(100,150)+(75,50) et de hauteur 0.25 fois celle de l'originale :


Convolution de la fonction Gaussienne avec l'ensemble des quatre pics de Dirac

    Si les deux images (fonctions) sont simples, leur convolution peut être effectuée à la main comme ci-dessus, en 'appliquant les deux fonctions l'une à l'autre'. On remarquera que l'ordre dans lequel on convolue les images (image 1 convoluée à l'image 2 ou inversement) n'influe pas sur le résultat : la convolution est une opération commutative.

    Mathématiquement, la convolution de deux fonctions à une dimension f(t) et g(t) est définie par :


Un exemple précis

    Le phénomène de convolution est extrêmement présent notamment lors des processus d'acquisition de signal.
Par exemple, on souhaite numériser le texte 'Hello' inscrit sur une feuille. Pour cela, on balaye la page avec un faisceau lumineux délimité par une ouverture rectangulaire et on mesure la quantité de lumière réfléchie par la feuille (on suppose que le texte noir absorbe la lumière alors que le reste de la page blanche est totalement réfléchissant) :


Pour numériser un texte on balaye la page avec un faisceau de lumière de section rectangulaire



Texte que l'on désire numériser

Fente (rectangle blanc initialement en haut à gauche) délimitant le faisceau servant à scanner le texte

L'image obtenue lors de ce procédé de numérisation ne sera pas la copie fidèle de l'objet, mais sera en quelque sorte étalée, et résulte en fait de la convolution de la forme de l'objet initial avec la forme du faisceau lumineux :


Texte numérisé : convolution du texte original avec la forme de la fente du dispositif de numérisation

    Cet exemple montre que les techniques utilisées pour effectuer une observation peuvent conduire à une image qui n'est pas exactement fidèle à l'objet et qu'il est donc important de connaître ces effets, puisque il peut être possible de déterminer l'image fidèle à partir de l'image altérée (à condition dans cet exemple de connaître la forme de la fente).

    Pour cela, on utilise le théorème de convolution : l'image non altérée sera obtenue en calculant la Transformée de Fourier Inverse du rapport entre la TF de l'image altérée et la TF de la fente :

On calcule la Transformée de Fourier du texte altéré :

   
Texte numérisé altéré par la forme de la fente du dispositif de numérisation et sa Transformée de Fourier

A partir de la forme de la fente on en déduit sa Transformée de Fourier :

    
Fente utilisée pour numériser le texte et sa Transformée de Fourier

    On détermine ensuite le rapport entre la TF du texte altéré et la TF de la fente, puis on en calcule la Transformée de Fourier inverse :

   
Rapport des TF du texte altéré et de la TF de la fente (à gauche), et sa TF inverse (à droite)

On obtient effectivement le texte original non altéré.

    Cet exemple fonctionne parfaitement car pour convoluer initialement le texte original à la fente nous avons en fait utilisé exactement la procédure inverse à celle appliquée pour déconvoluer l'image altérée. Dans la pratique, la procédure de déconvolution est rendue plus compliquée par plusieurs facteurs, notamment la présence de bruit dans l'image altérée qui est enregistrée et de plus on ne connaît pas parfaitement la forme de la fente.