6.1.2 Opérateur de dérivée première

Par commodité, nous considérons une image caractérisée par une fonction f (x, y) bidimensionnelle et continue. Il faut, dans ce cas, indiquer dans quelle direction on calcule la dérivée. Les principaux choix sont les directions horizontale $ \overrightarrow{e_{x}}$ ou verticale $ \overrightarrow{e_{y}}$; une dérivée dans une autre direction $ \overrightarrow{\theta}$ peut se ramener à une combinaison des dérivées suivant les axes principaux -il s'agit alors de dérivée directionnelle.

Considérons la dérivée partielle de la fonction f (x, y) par rapport à x La transformée de FOURIER de cet opérateur vaut

$\displaystyle {\frac{{\partial f}}{{\partial x}}}$(x, y) $\displaystyle \rightleftharpoons$  2$\displaystyle \pi$ju $\displaystyle \mathcal {F}$(u, v) (6.1)

Dériver par rapport à x équivaut donc à multiplier la transformée de FOURIER de f (x, y) par la fonction de transfert $ \mathcal {H}$x(u, v) = 2$ \pi$ju, c'est-à-dire filtrer f (x, y) avec le filtre dont la réponse impulsionnelle est donnée par

hx(x, y) = $\displaystyle \int_{{-\infty}}^{{+\infty}}$$\displaystyle \int_{{-\infty}}^{{+\infty}}$(2$\displaystyle \pi$jue2$\scriptstyle \pi$j(xu+yv)dudv (6.2)

De même, on peut définir la réponse impulsionnelle hy(x, y) correspondant au filtrée dérivée dans la direction $ \overrightarrow{e_{y}}$. Le module de la fonction de transfert $ \mathcal {H}$x(u, v) étant égal à 2$ \pi$| u|, on voit clairement qu'il y a un effet accentuateur des hautes fréquences, d'où le caractère passe-haut de l'opérateur dérivée. C'est pareil pour hy(x, y).

En adoptant une notation vectorielle de la dérivée, on définit le gradient $ \bigtriangledown$f de l'image f par

$\displaystyle \bigtriangledown$f = $\displaystyle {\frac{{\partial f}}{{\partial x}}}$$\displaystyle \overrightarrow{e_{x}}$ + $\displaystyle {\frac{{\partial f}}{{\partial y}}}$$\displaystyle \overrightarrow{e_{y}}$ = (hx $\displaystyle \otimes$ f )$\displaystyle \overrightarrow{e_{x}}$ + (hy $\displaystyle \otimes$ f )$\displaystyle \overrightarrow{e_{y}}$ (6.3)

Le gradient d'une fonction f (x, y) est une fonction vectorielle. Mais plutôt que de recourir aux composantes en x et y, on peut caractériser un gradient par son amplitude et sa direction.

Définition 52   [Amplitude du gradient]

$\displaystyle \left\vert\vphantom{\bigtriangledown f}\right.$$\displaystyle \bigtriangledown$f$\displaystyle \left.\vphantom{\bigtriangledown f}\right\vert$ = $\displaystyle \sqrt{{(h_{x}\otimes f)^{2}+(h_{y}\otimes f)^{2}}}$ (6.4)

Remarque pratique: approximation du gradient
On approxime parfois l'amplitude du gradient (ou d'une norme) par l'expression

$\displaystyle \left\vert\vphantom{\bigtriangledown f}\right.$$\displaystyle \bigtriangledown$f$\displaystyle \left.\vphantom{\bigtriangledown f}\right\vert$ $\displaystyle \simeq$ $\displaystyle \left\vert\vphantom{h_{x}\otimes f}\right.$hx $\displaystyle \otimes$ f$\displaystyle \left.\vphantom{h_{x}\otimes f}\right\vert$ + $\displaystyle \left\vert\vphantom{h_{y}\otimes f}\right.$hy $\displaystyle \otimes$ f$\displaystyle \left.\vphantom{h_{y}\otimes f}\right\vert$ (6.5)

pour éviter le calcul de la racine carrée et les élévations au carré afin d'accélérer le calcul mais cette formule n'est qu'une approximation. Cette approximation est tout à fait raisonnable lorsqu'un terme dépasse largement l'autre. Par exemple, si hx $ \otimes$ f $ \ll$ hy $ \otimes$ f, $ \left\vert\vphantom{\bigtriangledown f}\right.$$ \bigtriangledown$f$ \left.\vphantom{\bigtriangledown f}\right\vert$ $ \simeq$ $ \left\vert\vphantom{h_{y}\otimes f}\right.$hy $ \otimes$ f$ \left.\vphantom{h_{y}\otimes f}\right\vert$. Dans le cas où les deux termes sont d'amplitude égale, on a $ \left\vert\vphantom{\bigtriangledown f}\right.$$ \bigtriangledown$f$ \left.\vphantom{\bigtriangledown f}\right\vert$ $ \simeq$ $ \sqrt{{2}}$$ \left\vert\vphantom{h_{x}\otimes f}\right.$hx $ \otimes$ f$ \left.\vphantom{h_{x}\otimes f}\right\vert$. L'erreur peut donc atteindre 41%.

Définition 53   [Direction du gradient]

$\displaystyle \varphi_{{\bigtriangledown f}}^{}$ = tan-1$\displaystyle \left(\vphantom{\frac{h_{y}\otimes f}{h_{x}\otimes f}}\right.$$\displaystyle {\frac{{h_{y}\otimes f}}{{h_{x}\otimes f}}}$$\displaystyle \left.\vphantom{\frac{h_{y}\otimes f}{h_{x}\otimes f}}\right)$ (6.6)

Étant donnée la définition du gradient d'une fonction, il est maintenant possible de définir sa dérivée directionnelle par

Définition 54   [Dérivée directionnelle]

$\displaystyle {\frac{{\partial f}}{{\partial\overrightarrow{\theta}}}}$ = $\displaystyle \overrightarrow{\theta}$.$\displaystyle \bigtriangledown$f (6.7)

Il s'agit du produit scalaire du gradient de f et d'un vecteur caractérisant la direction dans laquelle on désire calculer la dérivée. Si la direction $ \overrightarrow{\theta}$ fait un angle $ \theta$ avec l'axe x, c'est-à-dire $ \overrightarrow{\theta}$ = cos$ \theta$ $ \overrightarrow{e_{x}}$ + sin$ \theta$ $ \overrightarrow{e_{y}}$, la dérivée directionnelle peut encore s'écrire

$\displaystyle {\frac{{\partial f}}{{\partial\overrightarrow{\theta}}}}$ = cos$\displaystyle \theta$ $\displaystyle {\frac{{\partial f}}{{\partial x}}}$ + sin$\displaystyle \theta$ $\displaystyle {\frac{{\partial f}}{{\partial y}}}$ (6.8)

Pour $ \theta$ = 0, nous retrouvons la dérivée directionnelle dans la direction $ \overrightarrow{e_{x}}$. La dérivée directionnelle est utile pour mettre en évidence les contours d'une image qui ont une orientation particulière.


Marc Van Droogenbroeck. Tous droits réservés.
2003-09-30