next up previous contents index
suivant: Passage au discret monter: Opérateurs différentiels précédent: Opérateurs différentiels   Table des matières   Index


Les opérateurs de convolution

Dans les cas usuels, la fonction $ f$ comporte souvent du bruit. Ce bruit peut parasiter la détection des contours de $ f$ en créant des sauts de valeurs artificiels. Un moyen simple de diminuer le bruit est de convoluer la fonction $ f$ avec un filtre passe-bas. La convolution de deux fonctions $ f$ et $ g$ de dans définit la fonction $ f*g$ :

$\displaystyle f*g(x,y) = \int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty} f(u,v...
...-u,y-v)dt= \int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty} f(x-u,x-v)g(u,v)dt
$

Le filtre passe-bas le plus connu est sans doute la gaussienne notée $ G$ et définie par :

$\displaystyle G(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{x^2}{2\sigma^2}}
$

Le paramètre $ \sigma$ contrôle l'aplatissement de la gaussienne et permet donc de contrôler la puissance du filtre. Une forte valeur de $ \sigma$ induit un fort lissage et vice-versa. La convolution d'un signal avec la gaussienne s'effectue en limitant celle-ci à un support fini $ [-M_\epsilon,M_\epsilon]$ avec :

$\displaystyle \forall x \in [-M_\epsilon,M_\epsilon]~~G(x) < \epsilon.
$

On peut remarquer que la valeur $ M_\epsilon$ est une fonction croissante de $ \sigma$, donc plus l'on voudra lisser le signal plus l'on devra agrandir le support $ [-M_\epsilon,M_\epsilon]$ de la gaussienne.

Une des principales raisons de la popularité de la gaussienne est sa séparabilité. Si $ G(x,y)$ représente une gaussiennne 2D on a :

\begin{displaymath}
\begin{array}{lll}
G(x,y) &=& \frac{1}{\sigma\sqrt{2\pi}}e^{...
...
G(x,y) &=& \frac{1}{\sigma\sqrt{2\pi}}g(x)g(y).\\
\end{array}\end{displaymath}

Donc si nous convoluons une fonction 2D $ f$ avec $ G$, on a :

\begin{displaymath}
\begin{array}{lll}
f*G(x,y) &=& \int_{-\infty}^{+\infty}\int...
...y) &=& \frac{1}{\sigma\sqrt{2\pi}}g*_xf*_yg(x,y)\\
\end{array}\end{displaymath}

$ *_x$ et $ *_y$ représentent les convolutions par rapport aux variables $ x$ et $ y$.

La convolution de $ f$ avec la gaussienne 2D $ G$ peut donc être réalisée grâce à deux convolutions de signaux 1D. Ceci permet d'utiliser deux convolutions avec des masques 1D $ [-M_\epsilon,M_\epsilon]$ plutôt qu'avec un masque 2D de taille $ [-M_\epsilon,M_\epsilon]^2$. Convoluer une image comportant $ m$ pixels avec une gaussienne dont la taille du masque est égale à $ n$ réclame donc 2mn opérations, l'utilisation d'un masque 2D réclamant quant à elle mn^2 opérations.

Une des propriétés essentielles du produit de convolution, en segmentation, est la possibilité de placer alternativement la dérivée sur un membre ou sur l'autre. Plus précisément on a :


\begin{propriete}
Soient $f$\ et $g$\ deux fonctions de \RR{} dans \RR ; si $f$\...
...ymath}
(f*g)^{(k)} = (f^{(k)})*g = f*(g^{(k)}).
\end{displaymath}\end{propriete}

Donc si $ G*f$ représente l'image filtrée par une gaussienne, le gradient de l'image filtrée peut tout simplement s'effectuer en calculant la convolution de $ f$ avec le gradient de G, G, qui peut être précalculé une fois pour toute. De même, le filtrage d'une image par une gaussienne $ G$, puis le calcul de son laplacien peuvent s'effectuer grâce à une seule convolution $ \laplac{G}*f$.


next up previous contents index
suivant: Passage au discret monter: Opérateurs différentiels précédent: Opérateurs différentiels   Table des matières   Index
Brun Luc 2004-03-25