next up previous contents index
suivant: Conclusion monter: Opérateurs différentiels précédent: Mise en oeuvre   Table des matières   Index


La couleur et les algorithmes de détection de contours

Nous avons vu dans la section 6.1 qu'une méthode classique de segmentation d'image consiste à considérer une image en niveau de gris comme la discrétisation d'une fonction $ f$ de dans . À ce moment là les contours de l'image sont définis comme les maxima de la différentielle première $ D f$ ou les zéros de la différentielle seconde $ D_2 f$.

Si nous appliquons la même démarche à l'analyse d'images couleurs, une image $ I$ est considérée comme la discrétisation d'une fonction $ f$ de dans . Nous avons alors :

$\displaystyle \fonction{f}{\RRd}{\RRt}{(x,y)}{(f_1(x,y),f_2(x,y),f_3(x,y))}
$

La différentielle première de $ f$ en $ p$ dans la direction $ n$ s'écrit alors :

\begin{displaymath}
D f(p).(n_x,n_y) = \left (
\begin{array}{l}
\deriv{f_1}{x}(p...
...iv{f_3}{x}(p).nx +\deriv{f_3}{y}(p).n_y\\
\end{array}\right )
\end{displaymath}

Comme dans le cas mono-dimensionnel, nous recherchons les fortes valeurs de la différentielle première. Cette différentielle étant cette fois-ci un vecteur de , nous calculons le carré de sa norme :

$\displaystyle S(p,n)=\Vert D f(p).(n_x,n_y)\Vert^2 = E{n_x}^2 +2Fn_xn_y + G{n_y }^2$ (6.4)

avec :

$\displaystyle E = \sum_{i=1}^{3} \left (\deriv{f_i}{x} \right )^2~~
F = \sum_{i...
...v{f_i}{x}\deriv{f_i}{y}~~
G = \sum_{i=1}^{3} \left (\deriv{f_i}{y} \right )^2.
$

L'équation 6.4 nous donne la norme de la différentielle première dans la direction $ n$. Cette mesure nous indique s'il existe ou non un contour au point $ p$ dans la direction $ n$. L'existence d'un contour en $ p$ indépendamment de $ n$ s'évalue en cherchant le maximum de l'équation 6.4 pour $ n$ appartenant à la boule unité (seule la direction de $ n$ nous intéresse). Si nous posons $ n= (cos(\theta),sin(\theta) )$ les extrema de l'équation 6.4 sont atteints pour :

$\displaystyle \theta_0 = \frac{1}{2}arctan\left (\frac{2F}{E-G}\right ).
$

Le maximum correspondant est égal à :

$\displaystyle \lambda(x,y) = \frac{E+G+\sqrt{(E-G)^2+4F^2}}{2}
= S(p,(cos(\theta_0),sin(\theta_0))).
$

La valeur $ \lambda$ peut être vue comme l'extension du concept de gradient aux images couleurs. En effet, on constate facilement que dans le cas mono-dimensionnel, $ \lambda$ est égal au carré de la norme du gradient. Il est donc naturel de considérer les passages par zéro de la différentielle de la fonctions $ S$, au point $ p$, dans la direction $ n$. Cette dernière valeur est donnée par l'expression suivante :

$\displaystyle D_S(p).n = E_x(p){n_x}^3 +(2F_x(p)+E_y(p))n_x^2n_y + (G_x(p)+2F_y(p))n_xn_y^2 + G_y(p)n_y^3
$

$ E_x$, $ E_y$,$ F_x$, $ F_y$ et $ G_x$, $ G_y$ représentent les dérivées partielles de $ E$, $ F$ et $ G$ par rapport à $ x$ et $ y$.

La valeur $ D_S(p).n$ représente l'extension de l'opérateur laplacien aux images multi-dimensionnelles.

L'ensemble des techniques que nous venons de présenter semblent avoir été découvertes en parallèle par Zenzo [Zen86] et Cumani [Cum89,Cum91,CGG91]. Zenzo approxime l'image en chaque pixel par trois fonctions linéaires (une pour chaque composante). Ces approximations lui permettent de calculer les dérivées partielles et d'en déduire la valeur de $ \lambda$ et l'angle pour lequel le maximum est réalisé. Chapron [Cha92] utilise les filtres de Deriche [Der87] pour calculer les dérivées partielles de l'image. Il combine ensuite ces dérivées pour obtenir la fonction $ \lambda$. Cumani [Cum89,Cum91,CGG91] donne un ensemble d'outils théoriques permettant d'exploiter les passages par zéros de la fonction $ D_S(p)$.


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