Quand le passage par zéro du laplacien est-il différent du maximum du gradient dans la direction du gradient ?
option IS module MBAI
Il existe en traitement des images différentes approches pour effectuer de la détection de contours. Les méthodes classiques actuelles sont des méthodes dérivatives qui détectent les variations locales d'intensité des pixels d'une image. Les contours sont alors détectés soit par extraction des maxima locaux de la dérivée première, soit par extraction des passages par zéro de la dérivée seconde directionnelle. On verra que moyennant quelques approximations, cette deuxième approche revient à extraire les passages par zéro du laplacien.
Cette étude propose de comparer ces deux méthodes afin de voir en quoi elles diffèrent. La première partie sera consacrée à l'exposé théorique de la détection de contours, en décrivant ces deux méthodes. La deuxième partie illustrera leurs différences.
En traitement des images, il est difficile de définir ce qu'est exactement un contour. Cependant, on peut le modeliser comme étant une ligne autour de laquelle sont situées des fortes variations de l'intensité. Par l'intermédiaire de la dérivée première de l'intensité et donc du gradient, il est possible de localiser les contours : il suffit de trouver le lieu des maxima du gradient dans la direction du gradient. Malheureusement, la méthode conduit à une équation complexe et non linéaire qui n'a pas en général de solution explicite.
1. Les détecteurs de gradient
Dans la pratique, il est possible d'utiliser des détecteurs de gradient pour repérer les contours d'une image. Ces méthodes sont réalisées par un filtrage linéaire, dont les filtres sont obtenus à l'aide de masques appliqués sur des fenêtres de 2x2 ou 3x3 pixels. Parmi les filtres les plus utilisés, on peut citer ceux de Sobel, Roberts, Prewitt ou de Gradient. Ces méthodes, combinées à un post-traitement adéquat (seuillage, fermeture des contours, etc...) sont encore d'actualité, en raison de leur efficacité.
2. Les détecteurs de passage par zéro du laplacien
Extraire les maxima locaux du gradient revient également à chercher les zéros de la dérivée seconde directionnelle. C'est-à-dire :

Si l'on se place dans le repère local défini par la tangente et la normale à la surface, le laplacien de i s'écrit sous la forme:

Si le terme relatif a la dérivée seconde de i par rapport à la tangente est négligeable, c'est-à-dire si le contour a une faible courbure, nous voyons qu'annuler la dérivée seconde directionnelle est équivalent à rechercher les zéros du laplacien.

Ces méthodes ont été développées par Marr et Hildret (Marr et Hildret, 1980). Les zéros de la dérivée seconde constituent un réseau de lignes fermées, ce qui permet d'eviter en théorie une fermeture des contours ultérieure. Le calcul de la dérivée seconde étant très sensible au bruit, il est bon de filtrer l'image avant l'estimation du laplacien. En pratique, on utilise des filtres gaussiens qui constituent de bons passe-bas (la convolution du laplacien et d'une gaussienne est appelée filtre LOG).
3. Position du problème
Ces deux méthodes reposent sur le même principe qui est de rechercher les maxima locaux de la dérivée première. Pourtant, elles ne sont rigoureusement équivalentes que dans le cas où les contours à détecter ont une faible courbure. Dans la partie suivante, nous allons illustrer, avec des images où se situent des contours pointus, de quelle manière les deux méthodes diffèrent.
Afin de mettre en valeur les différences entre les deux méthodes, nous avons choisi de travailler avec une image binaire relativement simple. En effet, les objets sont bien séparés les uns des autres et les contours ne présentent aucune ambiguité. De plus, l'image n'est pas bruitée, ce qui évite d'avoir à effectuer des pré-traitements avant la détection de contours.

Comparaison des résultats : maxima du gradient/zéros du laplacien
Pour traiter l'image tools.gif, nous nous sommes servi du logiciel Khoros, en utilisant le filtre bidimensionnel GEF edge extract qui recherche les maxima locaux du gradient (dérivée première). Pour calculer le laplacien en chaque pixel de l'image, nous avons filtré l'image avec le filtre linéaire suivant qui en donne une bonne approximation discrète :
| 0 | -1 | 0 |
| -1 | 4 | -1 |
| 0 | -1 | 0 |
Nous obtenons les résultats suivants :
|
|
Les deux méthodes donnent de très bons résultats, pourtant nous pouvons observer des différences remarquables en les analysant plus en détail. Il s'agit pour cela de s'intéresser aux parties des contours qui présentent les courbures les plus fortes.
Par exemple, le trou au centre de la tête de la pince coupante est détecté de facon bien plus fine par la méthode du gradient. Il en est de même pour la pointe la plus à droite de la clef a molette, ou encore pour la jonction des poignées de la pince, où la méthode du laplacien a tendance à "déraper".
Si nous nous intéressons au cercle, dont la courbure est constante, les deux méthodes donnent des résultats satisfaisants, ce qui prouve que l'approximation faite (c'est-à-dire de négliger la dérivée seconde suivant la tangente) était légitime, même pour une courbure relativement importante. Par ailleurs, la méthode du gradient pose le problème de la fermeture du contour du cercle, alors que celle du laplacien évite ce problème.
On peut aussi remarquer (cela se voit en particulier au niveau du crayon) que les contours sont un peu déplacés d'une image à l'autre. La méthode du laplacien détecte des contours plus à l'exterieur que ceux du gradient.
Enfin, on remarque que les angles droits du contour gauche du crayon sont respectés par la méthode du gradient, alors que la méthode du laplacien a tendance à les arrondir, c'est-à-dire, à en réduire la courbure.
Nous avons essayé de montrer à partir de la théorie qu'il arrive que les maxima du gradient ne correspondent pas exactement avec les zéros du laplacien, même si une étude pratique nous prouve que les deux méthodes donnent des résultats comparables. Par ailleurs, il faudrait pour complèter cette étude se pencher sur des images plus complexes, tirées de scènes naturelles, sur lesquelles les méthodes divergent de facon plus notable et auxquelles il faut naturellement ajouter des pré-traitements et des post-traitements adéquats.